【공부/정리】 시스템 소프트웨어 개발을 위한 ARM 아키텍처 구조와 원리 ④ 메모리 모델, 캐시, MMU
·
Embedded
https://developer.arm.com/documentation/102376/latest/https://developer.arm.com/documentation/101811/latest책은 ARMv7과 ARMv8 양쪽 모두를 다루고 있습니다.이미 이전 포스트들에서 ARMv7에 대해서 충분히 공부했기 때문에, 이번 포스트에서는 ARMv8에 집중해서 다룹니다.ARMv7 관련 내용 중 일부는 해당 내용을 자세히 다룬 포스트를 주석으로 링크 달고 생략하도록 하겠습니다10. 메모리 모델10.1. 노멀 메모리와 디바이스 메모리ARM 아키텍처에서는 메모리를 두 가지 종류로 분류합니다.Memory mapped I/O를 위해 할당하는 메모리 영역을 '디바이스 메모리', 그외 모든 영역을 '노멀 메모리'라고 합니다..
【공부/정리】 시스템 소프트웨어 개발을 위한 ARM 아키텍처 구조와 원리 ③ GIC, 트러스트존, 하이퍼바이저
·
Embedded
https://developer.arm.com/documentation/198123/latest/책은 ARMv7과 ARMv8 양쪽 모두를 다루고 있습니다.이미 이전 포스트들에서 ARMv7에 대해서 충분히 공부했기 때문에, 이번 포스트에서는 ARMv8에 집중해서 다룹니다.ARMv7 관련 내용 중 일부는 해당 내용을 자세히 다룬 포스트를 주석으로 링크 달고 생략하도록 하겠습니다7. GIC - 인터럽트7.1. 인터럽트 컨트롤러?외부 I/O 디바이스 (이하 페리퍼럴)는 프로세서와 인터럽트를 통해 통신합니다.SoC 업체는 고객들이 다양한 페리퍼럴과 연결해 사용할 수 있도록 인터럽트 컨트롤러를 설계해 탑재합니다.인터럽트 컨트롤러는 수많은 인터럽트를 통합하고 관리하고 분배하는 역할을 합니다.각 인터럽트의 활성/비활성..
【공부/정리】 시스템 소프트웨어 개발을 위한 ARM 아키텍처 구조와 원리 ② 익셉션과 익셉션레벨
·
Embedded
책은 ARMv7과 ARMv8 양쪽 모두를 다루고 있습니다.이미 이전 포스트들에서 ARMv7에 대해서 충분히 공부했기 때문에, 이번 포스트에서는 ARMv8에 집중해서 다룹니다.ARMv7 관련 내용 중 일부는 해당 내용을 자세히 다룬 포스트를 주석으로 링크 달고 생략하도록 하겠습니다.4. ARMv7의 동작모드다른 포스트들(링크1, 링크2)에서 자세히 공부했던 내용이므로 중요한 내용만 집고 넘어갑니다. 4.1. 동작모드들 설명ARMv7은 크게 특권모드와 비특권모드 2가지로 나뉩니다.모드심볼동작모드CPSR[4:0]설명비특권모드USR유저모드0x10일반 유저 애플리케이션이 실행되는 동작모드특권모드FIQFast인터럽트0x11요청받은 인터럽트를 NVIC가 관리하고 처리하는 동작모드IRQ인터럽트0x12SVC슈퍼바이저0x..
【공부/정리】 시스템 소프트웨어 개발을 위한 ARM 아키텍처 구조와 원리 ① 레지스터와 명령어
·
Embedded
책은 ARMv7과 ARMv8 양쪽 모두를 다루고 있습니다.이미 이전 포스트들에서 ARMv7에 대해서 충분히 공부했기 때문에, 이번 포스트에서는 ARMv8에 집중해서 다룹니다.ARMv7 관련 내용 중 일부는 해당 내용을 자세히 다룬 포스트를 주석으로 링크 달고 생략하도록 하겠습니다.1. 소개1.1. ARM 역사에이콘 설립1978년: 영국 케임브릿지, 크리스 커리 & 헤르만 하우저, 에이콘 컴퓨터 회사 설립1984년: 영국 학교 80%에 BBC Micro 컴퓨터 보급1985년: RISC 기반 ARM1 프로세서 탄생, 소형 임베디드 디바이스에서 활용 시작1990년 ARM 설립, 뉴턴 프로젝트(PDA 개발), 저전력 마이크로프로세서 시장에서 성공2005년, 각 제품군에 차별화된 Cortex 라인업 발표2011년..