컴퓨터구조 3

[Computer Architecture] Pipelined Design for Processor Implementation

Pipelining은 여러 instruction이 중첩되어 실행되는 구현 기술이다. 오늘날의 pipelining은 아주 보편적인 기술이다. 세탁을 많이 하는 사람은 무의식적으로 pipelining을 사용해왔다. 그렇지 못한 세탁 방법은 1. 세탁기에 한 묶음의 더러운 옷을 넣는다. 2. 세탁기가 끝나면 젖은 옷을 건조기에 넣는다. 3. 건조기가 끝나면 건조된 옷을 탁자 위에 놓고 갠다. 4. 개는 일이 끝나면 같은 방 친구에게 옷을 보관 장소에 넣어 달라고 부탁한다. 방 친구가 일을 끝내면, 그 다음의 더러운 옷 한 묶음에 대해 다시 시작한다. 첫 번째 묶음의 세탁이 끝나서 건조기에 넣은 후에, 두 번째 더러운 옷 묶음을 세탁기에 넣는다. 첫 번째 묶음이 건조되면 탁자 위에 놓고 개기 시작하고, 젖은 옷..

[Computer Architecture] DataPath and Simplified design for Processor Implementation

프로세서 구현에 사용되는 원리 및 기술 을 알아보자. Simplified design(단순화된 설계), Pipelined design(파이프라인 설계)가 있다. 핵심 instruction에 대한 구현의 subset이 있다. 일단 먼저 메모리를 참조하는 instruction(Memory-reference instructions)은 ld, sd가 있다. 산술적, 논리적 instruction(Arithmetic-logical instructions)은 add, sub, and, or이 있다. 마지막으로 조건부 branch instruction(Conditional branch instructions)은 beq가 있다. instruction set architecter가 구현의 여러 측면을 결정하는 방법을 배우..

[Computer Architecture] About Cache

Memory(메모리) 란, data를 저장할 수 있는 모든 장치를 의미한다. 세상에 존재하는 메모리들은 속도와 크게 따라 여러 레벨로 구분할 수 있다. 우리는 이를 Memory Hierarchy(메모리 계층)으로 나눈다. 우리가 중점적으로 다룰 Cache는 register 보다는 하위, Main Memory(이하 MM)는 상위 레벨이다. 메모리 계층은 영원하지 않다. 새로운 기술이 나오면 언제든지 변할 수 있다. (작고 크다는 것은 "같은 가격 대비 살 수 있는 메모리의 양"을 의미한다.) Cache Memory 은 느린 메모리의 access time을 향상시키 위해 일시적으로 data를 저장해두는 빠르지만 작은 memory이다. Transparent의 특성을 지니는데, CPU는 Cache가 존재하는지에..