목록Computer Science/Embedded System (9)
용's
정말 간단하게 정리해보자 10.1 Cache- 프로세서는 메모리보다 훨씬 빠르므로 속도차 극복을 위해 캐시라는 것을 사용하게 됨- 캐시가 재대로 이용되면서 높은 성능을 보일 수있는 이유는 프로그램들이 보통 locality의 특징을 가지기 때문- 단일화 된 캐시(명령어 캐시와 데이터 캐시가 하나로 단일화)- 분리된 데이터&명령어 캐시(하버드 아키텍처).단일 클락 사이클 안에 load/store 명령이 execute stage에서 되도록 허락 - Mapping(사상 방법).Direct Mapped Cache: 단순하고 가장 빠르다. 같은 인덱스 값을 가지는 다수의 메모리주소들을 가짐.Set Associative Cache: 특정 메모리를 경쟁하는 문제를 줄이기 위해 특정 메모리 주소를 캐시 영역에 한 군데 ..
이번 챕터에서는 각 ARM 버전의 프로세서 코어를 비교해보자 9.1 ARM7TDMI- ARM7은 가장 유명하게 쓰였던 코어로서, TDMI은 다음과 같은 뜻을 지닌다..T: Thumb 16bit 명령어를 지원.D: On-Chip 디버그를 지원.M: 향상된 Multiplier를 지원.I: 임베디드 ICE(In Circuit Emulator)가 내장되어 있다. - 3단계 파이프 라인을 채택함- 임베디드 시스템 디버깅을 지원하기 위해 임베디드 ICE를 내장함.scan chain0은 이동하면서 프로세서 코어에 나오고 들어가는 신호들을 모두 스캔.scan chain2는 버스들을 관통하지 않고 밑으로 지나가므로 버스와는 상관 없이 임베디드 ICE가 필요로하는 정보를 주고 받을 수 있음- ARM7 코어의 인터페이스 신..
8.2 The Advanced microcontroller bus architecture(AMBA)- 다른 마이크로 셀들과의 On chip 연결을 표준화함 - AHB(Advanced High-performance Bus).버스트 모드 데이터 전송과 transaction 분리를 지원함..모든 타이밍이 단일 클락 엣지에서 레퍼런스 됨 - ASB(Advanced System Bus).버스트 모드 데이터 전송을 지원 - APB(Advanced Peripheral Bus).낮은 성능의 주변장치들을 위한 단순한 인터페이스 - Arbitration(중재).Bus transaction가 중앙중재기로 부터의 접근을 요청한 버스 마스터로 인해 초기화가 됨.중재기가 버스안의 우선순위를 결정함- Bus transfer(버스 ..
5.1 Introduction- 데이터 타입은 signed/unsigned 8-bit(Byte)signed/unsigned 16-bit(Half Word) -> 2 byte boundaries 로 할당됨(0x0, 0x2, 0x4, ...)signed/unsigned 32-bit(Words) -> 4 byte boundaries로 할당됨(0x0, 0x4, 0x8, ...)- ARM의 명령어들은 모두 32 bit(Word)로 할당- 메모리 구조는 내부 데이터의 정렬 방식에 따라 빅 엔디안, 리틀 엔디안으로 두가지가 존재한다.=> Little endian: 메모리의 하위 어드레스(바이트 어드레스 '0')에 LSB가 위치하고 있는 메모리 구조(Intel)=> Big endian: 메모리의 하위 어드레스(바이트 ..
4.1 3-stage pipeline ARM organization- ARM의 초기 버전이 선택한 3단계 파이프라인- Register Bank, Barrel shifter, ALU, Address reg and incrementer, Data reg, Instruction decoder & Control Logic 등으로 구성됨.- Register bank의 경우 2개의 Read port와 1개의 Write port에다가 추가적으로 1개의 read port, 1개의 write port가 더 있다. 추가적인 포트들은 r15(PC)에 접근하기 위함이다. - 3단계 파이프라인은 ARM7에서 채택되었으며 Fetch - Decode - Execute 로 3단계로 이루어짐Fetch: 명령어를 메모리로부터 인출함.D..
3.1 Data processing instructions- 데이터 처리 명령이란, 레지스터에 저장되어 있는 값을 이용하여 산술 및 논리연산, 레지스터 간 데이터 이동, 비교 및 비트 단위 연산을 수행하고 그 결과를 다시 레지스터에 저장하는 명령.- ARM의 명령어들은 3 address format 이며 그 구조는 다음 그림과 같다. Cond[31:28]00[27:26] #[25]OpCode[24:21] S[20] Rn[19:16]Rd[15:12]Operand2[11:0] 명령의 구분은 비트 [24:21]에 4비트로 구성되어, 어떤 명령인지를 나타낸다. Rd는 연산 결과가 저장되는 레지스터, Rn은 연산에 사용되는 첫 번째 오퍼랜드, Operand2는 두 번째 오퍼랜드를 나타낸다. - 산술연산 명령은 다..
2.1 The Acorn RISE Machine- [Before]글 참조..* 2.2 Architectural Inheritance- ARM은 앞서 말했듯이, Berkeley RISC의 개념들을 가져와 설계되었는데 그중 채택된 특징은 => Load-Store arch => Fixed-Length 32-bit insts => 3 address inst format - 반면 채택되지 않은 특징들도 있다. 대표적으로는 Register windows, Delayed branches, Single-Cycle execution- 채택되지 않은 이유를 알아보면, =>Resgister window : 이 특징은 기본적으로 레지스터 사용률이 높아지게 됨으로써 채택되지 않음. 이로 인해 더 많은 레지스터가 사용된다면 비용..
1.1 Processor Architecture & Organization- 모든 현대의 일반목적의 컴퓨터들은 "Stored Program Concept"을 따른다.- 프로세서는 50년이라는 시간이 지남에 따라 성능은 향상되고, 가격은 하락해오고 있음. - 가장 큰 변화 및 발견으로는 Vacuum tubes -> Transistors -> ICs -> VLSI - 새로운 변화 및 발견으로는 Virtual Memory, Cache Memory, Pipeline, RISC 1.2 Abstraction in Hardware Design- 컴퓨터의 시작이라 함은 Transistor들이 모여서(4개) 만들어진 NAND가 가장 큰 부분인데, 이 NAND와 같은 Gate들은 Gate Abstraction이라는 것으로..
이번 학기(3학년 2학기) 수업 중에 Embedded System이라는 과목을 수강한다. 그리고, 이 수업에서 'ARM System-on-Chip Architecture' 라는 교재를 다루게 된다. 사실 이 과목은 '컴퓨터 구조' 라는 수업이 선수과목으로 지정되어 있는 과목인데, 컴퓨터 구조 과목은 그리 잘했던 과목도 아니었고, 또 하드웨어라는 것이 참으로 나에게 어렵게 느껴지다보니, 이번엔 Embedded System 이라는 이 과목을 좀 확실히 해둘 필요가 있다는 생각이 든다. 그리하여, 블로그도 시작했으니 여기에 나만의 정리노트를 만들고자 한다. 물론 내용은 수업내용과 기타 여러 블로그를 짜깁기하여 작성할 계획이다. 딱 수업 내용만 들어가지도 않을 계획이고, 이해를 도울 수 있다면 교재외의 내용도 ..