Embedded Recipes 1.2. HW - IC, 메모리
HW적인 기본 개념 알아보기 2
IC, Register, Clock
Integrated Circuit: 직접회로. (통합회로 아님?)
Register
Clock
Bus Transfer Mechanism
Bus
아비터
- Arbiter라는 신호등이 CPU내 CU에 있음
- 해당 버스의 행선지(디바이스)를 정해줌
XIP 과 메모리
XIP
- eXecute In Place
- 그 메모리에서 바로 동작하는 행위
메모리 RAM ROM으로 나뉨
ROM은 보통 Flash Memory를 사용하는데 NOR 메모리, NAND 메모리로 나뉨
- NOR
- 병렬구조-> Address,Data 라인 존재 -> Random Access 가능
- XIP 가능
- R이 빠르고 WE는 느림
- 코드저장용
- NAND보단 비쌈
- NAND
- 직렬구조-> 한번에 page 단위로 만 읽기 가능
- XIP 불가능
- R이 느리고 WE가 빠름.
- (예전엔) 데이터 저장용, (요즘은) 다됨
- 젤 쌈
Erase 할때
- NAND, NOR 전부 블럭단위로 0xFF로 채우며 지움
- 0xFF외에 것으로 지운다면 그 메모리는 맛탱이간거
NOR, NAND 각자 부트로드를 어떻게 해??
- NOR
- XIP가 가능해서 그자리에서 부트로딩 다하고 main 까지 다불러옴
- NAND
- CPU 내에 internal RAM으로 NAND에 있는 부트로드를 알아서 가져와서 실행.
- 그리고 그걸 RAM 에 얹어서 RAM으로 실행
CPU 동작과 Pipeline
이 내용은 ARM 동작에서 아주 자세히 다루지만 간략히 요약하자면 이럼.
명령어 동작시 3가지 동작으로 함
- FETCH: 메모리에서 코드를 읽어옴
- DECODE: 해석함
- EXCUTE: 동작
CPU FETCH, DECODE, EXCUTE를 동시에 할 수 있음 (싱글프로세스여도)
명령어 동작을 병렬로 처리하면 마치 파이프 라인처럼 동작한다해서 이걸 파이프 라인 이라 함.