[Arm프로세서] GIC의 기본 기능
By Guillermo Austin Kim | 2022년 8월 16일 |
GIC는 Arm 사에서 디자인한 인터럽트 콘트롤러입니다. 다음 그림을 보면서 GIC의 구조를 배워봅시다. 그림 16.2 간략화한 GIC의 전체 구조 그림을 보면 가운데 박스에 GIC가 있습니다. 그림 왼쪽에 있는 ‘peripheral 1 ~ peripheral n’은 시스템을 구성하고 있는 외부 I/O 디바이스입니다. 예를 들어 peripheral이 3개인 경우 다음과 같은 peripheral로 구성될 수 있습니다. ● peripheral 1: 마우스 ● peripheral 2: 키보드 ● peripheral 3: 캠코더 센서 peripheral와 GIC 사이에 있는 화살표는 peripheral에서 GIC에게 전달되는 인터럽트를 나타냅니다. 그림 가장 오
[라즈베리파이][리눅스커널] 인터럽트 소개(0)
By Guillermo Austin Kim | 2018년 3월 2일 |
인터럽트란인터럽트란 단어가 여러분들은 생소하신가요? 낯설게 들리는 분도 있고 귀에 익은 분도 있을 텐데요. 평소 인터럽트를 뭐라고 하죠? 일상생활에서 인터럽트는 보통 갑자기 생긴 일이나 하던 일을 멈춘다는 의미죠. 예를 들면 책을 읽다가 전화가 와서 읽던 책을 덮어 놓고 전화를 받는 상황이죠. 임베디드 시스템 관점으로 인터럽트는 뭘 의미하죠? 우선 하드웨어 관점으로는 하드웨어 변화를 감지해서 외부 입력으로 전달되는 전기 신호로 볼 수 있습니다. 예를 들면 키보드를 손으로 입력하면 하드웨어적으로 키보드 하드웨어의 변화를 감지하고 신호를 유발하죠. 보통 하드웨어 개발자들은 종종 오실로스코프란 장비로 인터럽트가 제대로 올라오는지 측정을 하죠. 인터럽트 신호를 측정하면 아래와 같은 파형을 볼 수 있는데요. 참고
[Arm프로세서][트러스트존] Armv8: 시큐어 월드에서 Trusted OS는 어떻게 구동할까?
By Guillermo Austin Kim | 2022년 1월 9일 |
논 시큐어 월드에는 우리가 알고 있는 운영체제의 커널이 구동됩니다. 예를 들어 리눅스 커널이나 윈도우 커널이 논 시큐어 월드에서 실행됩니다. 그렇다면 시큐어 월드에는 어떤 소프트웨어가 구동될까요? 바로 RTOS가 실행됩니다. 여기서 기억해야 할 사실은 트러스트 존의 RTOS는 독자적으로 스케줄링하면서 시스템을 제어하는게 아니라, 논 시큐어 월드에 의존적으로 동작한다는 점입니다. 대부분의 경우 논 시큐어 월드에서 실행 중인 커널에서 smc(Secure Monitor Call) 명령어를 실행하면, 이에 반응해 시큐어 월드의 RTOS는 동작하게 됩니다. 쉽게 설명드리면 시큐어 월드의 RTOS는 마치 시스템 콜 핸들러와 유사하게 동작한다고 보면 됩니다. 시스템 콜 핸들러는 스스로 실행하지 않습니다. 유저 공간
[Arm프로세서] 하이퍼바이저를 왜 알아야 할까?
By Guillermo Austin Kim | 2022년 1월 19일 |
하이퍼바이저가 무엇인지 알고 나면 "하이퍼바이저를 왜 배워야 할까?"라는 의문이 생길 가능성이 높습니다. 사실 하이퍼바이저는 x86 기반 CPU에서 Vmware나 IBM과 같은 업체에서 50년전 부터 꾸준히 개발돼 왔습니다. 그래서 x86 CPU에서 데스트 탑이나 서버에서 개발됐던 기술인데, Armv8 아키텍처에서 하이퍼바이저를 왜 알아야 하는지 궁금할 것입니다. 하이퍼바이저를 배워야 하는 가장 큰 이유는 시스템 소프트웨어에서 하이퍼바이저 기법을 많이 활용하는 추세이기 때문입니다. 2020년 이후 소프트웨어 업계를 이끄는 기술은 AI와 Big Data와 클라우드인데, 3가지 기술들이 다양한 제품군의 생태계에 영향을 끼치고 있습니다. 하이퍼바이저는 클라우드 분야에서 활발히 적용되고 있는 아키텍처 중 하나입니