본문 바로가기

All122

LEGv8 ISA (1) - 특징과 명령어 포맷 Introduction LEGv8 ISA는 Computer Organization And Design: ARM Edition에서 소개하는 ISA (Instruction Set Architecture)이다. 이 책이 Computer Organization And Design의 ARM 버전이지만 ARMv8의 전체 명령어 집합을 교육용으로 다루기에는 복잡하다. 그래서 책에서 LEGv8이라고 하는 ARMv8 ISA의 부분 집합을 정의한다. 부분 집합이라고는 하지만 일부 명령어는 ARMv8와 다르다. 일부 ARMv8 스펙은 불필요하게 프로세서를 복잡하게 만들기 때문에 LEGv8은 이런 명령어들을 좀더 단순화한다. 이 글에서는 LEGv8의 특징과 명령어 포맷에 대해 다룬다. 이 글의 모든 사진은 Computer O.. 2021. 12. 2.
Instruction Set Architecture vs Microarchitecture PPT 출처 Computer Architecture 컴퓨터의 목적은 사람이 원하는 것을 기계에게 전달하는 것이다. 아래의 이미지에서 Application은 우리가 사용하는 프로그램 (브라우저, 게임, ... 등등)이고, 전자가 움직이는 것처럼 물리적인 부분이다. 브라우저와 물리 현상 사이에는 엄청난 갭이 있기 때문에 여러 개의 계층을 거쳐야 컴퓨터가 우리가 원하는 것을 실행하도록 할 수 있다. 그래서 컴퓨터 아키텍처는 넓은 의미로 보면 Application과 Phyics 사이의 갭을 해결하는 것이라고 할 수 있다. 하지만 현실적으로는 Application과 Physics의 갭이 매우 크기 때문에 이 사이를 여러 개의 계층으로 나눌 수 있다. 프로그래밍 언어, 운영체제, 명령어 집합, 명령어 집합의 구현체.. 2021. 12. 1.
Grafana에서 bpftrace 사용하기 (feat. Performance Co-Pilot) 최근에 BPF 스크립트, Flame Graph를 Grafana 같은 모니터링 시스템에서 실행하는건 어떤가 생각했는데 이미 있었다. 와 이게 된다니!! 이 글에서는 Ubuntu 21.04 (hirsute)에서 Performance Co-Pilot 플러그인으로 Grafana에서 bpftrace를 사용하는 방법을 다룬다. bpftrace 설치 당연하게도 bpftrace를 Grafana에서 사용하려면 bpftrace를 먼저 설치해야한다. $ sudo apt-get install -y bpftrace bpftrace 설치는 간단한데 bpftrace를 사용하려면 커널이 BPF 관련 일부 config가 활성화된 상태로 빌드되어야 한다. 요즘 배포판에선 대부분 기본적으로 켜져있는 것 같다. CONFIG_BPF=y CO.. 2021. 11. 28.
Grafana로 모니터링 시스템 구축하기 저번에 구축한 오드로이드 홈서버에 Grafana로 모니터링 시스템을 구축해보려고 한다. 배포판은 Armbian (데비안)이다. 구성 Grafana: 모니터링 시스템 Prometheus: Grafana의 데이터 소스로 사용할 시스템으로 node_exporter로부터 모니터링 데이터를 수집 node_exporter: 각종 모니터링 데이터를 보여준다. node_exporter 설치 # node_exporter 다운로드 # 여기선 오드로이드에 설치할거라 ARM이지만 아니라면 따로 받아야함 # 링크 : https://prometheus.io/download/#node_exporter $ wget https://github.com/prometheus/node_exporter/releases/download/v1.2.. 2021. 11. 18.