[ARM] CPU 캐시(Cache)란
By Guillermo Austin Kim | 2020년 10월 3일 |
이번 포스트에서는 캐시의 기본 개념에 대해 소개하고 ARM 프로세서에 적용된 캐시의 개념에 대해 설명하겠습니다. CPU 캐시(Cache)란 캐시란 컴퓨터 용어로 캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 의미합니다. 캐시는 자주 사용되는 데이터를 임시 저장해 데이터에 접근하는 속도를 최적화하기 위해 사용됩니다. 다양한 소프트웨어 분야에서 캐시가 사용되는데 CPU를 설계할 때도 캐시를 사용해 CPU의 실행 속도를 최적화합니다. 그렇다면 CPU에서 캐시는 어떤 방식으로 사용이 될까요? 캐시는 어떤 형태일까요? 의문이 계속 생깁니다. 먼저 CPU에서 사용되는 캐시에 대해 알아봅시다. 사실 처음 CPU를 연구했던 과학자들은 처음부터 캐시를 CPU에 적용한 것은 아니었습니다. 오랫동안 CPU를 설계하는
특정 CPU를 끄는 패치(특정 CPU에서 커널 크래시)
By Guillermo Austin Kim | 2017년 12월 24일 |
가끔 타겟 보드에서 특정 CPU에서만 커널 패닉으로 시스템이 리셋되는 경우가 있어요.이럴 때 테스트할 수 있는 유용한 디버깅 패치를 소개하고자 해요. 아래 패치는 부팅 할 때 CPU3을 sys node에서 아예 제거시키거든요. 아예 CPU3가 안 돌게 되는거죠.diff --git a/kernel/cpu.c b/kernel/cpu.cindex 5b4440d..14cce91 100644--- a/kernel/cpu.c+++ b/kernel/cpu.c@@ -510,7 +510,7 @@ static int _cpu_up(unsigned int cpu, int tasks_frozen) cpu_hotplug_begin(); - if (cpu_online(cpu) || !cpu_presen
[ARM프로세서] ARMv7: 소프트웨어 인터럽트 익셉션의 실행 흐름
By Guillermo Austin Kim | 2020년 11월 24일 |
[ARM프로세서] ARMv7: SW 인터럽트 익셉션의 실행 흐름 ‘svc’ 명령어를 실행하면 ARM 코어는 소프트웨어적으로 익셉션을 유발합니다. ARM 코어가 'svc' 명령어를 디코딩하면 이를 익셉션의 한 종류로 감지하는데, ARM 스팩 문서에서는 이를 슈퍼바이저 콜(Supervisor Call)이라고 부릅니다. 'svc' 명령어를 실행하면, 외부 하드웨어에서 발생하는 것이 아닌, 소프트웨어적으로 인터럽트 익셉션이 유발되므로 흔히 소프트웨어 인터럽트라고도 합니다. 또한, SW 인터럽트는 운영체제의 시스템 콜 기능과 연관이 깊은 기능입니다. 시스템 콜은 SW 인터럽트를 활용해 구현됐기 때문입니다. 다음 그림을 보면서 ‘svc’ 명령어를 실행하면 ARM 코어는 소프트웨어적으로 익셉션을 유발하는 흐름을 살
동물보물섬(どうぶつ宝島.1971)
By 뿌리의 이글루스 | 2017년 2월 13일 |
![동물보물섬(どうぶつ宝島.1971)](https://img.zoomtrend.com/2017/02/13/b0007603_58a1cf744b602.jpg)
1883년에 영국의 작가 로버트 루이스 스티븐슨이 집필한 해양 모험 소설 ‘보물섬’을 원작으로 삼아, 1971년에 토에이 동화에서 이케다 히로시 감독이 만든 해양 모험 애니메이션. 토에이 창립 20주년 기념작이다. 내용은 안경 낀 쥐인 그란과 갓난아기인 남동생 버블을 데리고 부모님이 부재중인 벤보 여관의 카운터를 맡고 있던 짐 앞에 나타난 정체불명의 투숙객이 누군가에게 추격을 당해 짐에게 작은 상자를 맡겼는데, 그 상자 안에 든 게 플린트 선장의 보물섬 지도라서 모험심에 불타오르는 짐이 손수 제작한 파이오니아 호를 타고 그랑, 버블과 함께 바다로 떠났다가 실버 선장이 이끄는 해적선 포크소테호(한국명: 돼지고기찜호)에 붙잡히면서 벌어지는 이야기다. 이 작품은 보물섬을 원작으로 삼고 있지만