-
Logic Design컴퓨터 아키텍쳐 2022. 4. 18. 20:45728x90
Overview of Logic Design
Fundamental Hardware Requirements (하드웨어의 기본 요건)
1. Communication (어떻게 다른곳으로 값을 얻는지)
2. Computation (계산)
3. Storage (저장소)
Bits are Our Friends (bit들은 우리의 친구입니다.)
모든 것은 0과 1로 표현됩니다.
Digital Signals
전압값은 0에 해당하는 영역, 1에 해당하는 영역, Guard range(보호영역) 총 3개의 영역으로 구분됩니다.
즉, 보호범위에 있지 않은 전압들은 0 또는 1로 해석됩니다.
이러한 원리로 신호에 가해지는 작은 noise들은 데이터의 표현에 거의 영향을 주지 않으며
CPU 내부 회로를 더욱 단순하게 design 할 수 있습니다.
Combinational Circuits
논리 게이트의 acyclic(비순환) 네트워크입니다.
기본 입력의 변화에 지속적으로 응답합니다.
기본 출력은 (일부 지연 후) 기본 입력의 bool function이 됩니다.
Bit Equality
a와 b가 서로 같으면 1을 return합니다.
Word Equality
word size는 32 bit 입니다.
32개의 bit equal을 이용해 처리합니다.
Bit-Level Multiplexor
control 신호는 s입니다.
s = 0 이면 b를 출력하고 s = 1이면 a를 출력합니다.
Word Multiplexer
입력이 2개인 멀티플렉서를 나타낸것이며 여러개 합쳐 word 단위의 멀티플렉서를 만들 수 있습니다.
위의 그림은 3개의 입력값 중에서 최솟값을 찾아서 출력하는 CLC(combinational logic circuit)와
입력이 4개인 멀티플렉서를 HCL의 Expression으로 표현한것입니다.
Arithmetic Logic Unit
ALU는 각종 산술 및 논리 연산을 수행하는 CLC를 의미합니다.
ALU에 입력되는 control 신호에 의해 결정이 되며, 이러한 control 신호는 명령어 bit 배열의 함수 코드에
의해 결정됩니다.
Registers
word size의 데이터를 저장하는 임시 저장 장치를 의미합니다. 주기적으로 변하는 clock의 신호가 1이 되는 순간에
입력에 해당하는 값이 register에 저장이 되어 출력이 변합니다.
edge-triggered latch의 집합입니다.
Register Operation
데이터 bit를 저장합니다.
대부분의 시간동안 입력과 출력 사이의 장벽역할을 합니다.
clock이 올라가면 입력이 loading 됩니다.
State Machine Example
레지스터를 활용해 다음과 같은 state machine 회로를 구상할 수 있습니다.
Load 신호가 0이면 입력에 해당하는 값을 레지스터에 계속해서 더하게 되고(accumulate),
Load 신호가 1이면 입력에 해당하는 값을 레지스터에 저장(Load)합니다.
Random-Access Memory
다수의 word들을 저장하는 곳입니다. 주소 input은 어떤 word를 read, write할것인지 가리킵니다.
Register file은 %eax, %esp등 프로그램 레지스터들이 존재하는 장치를 의미합니다.
다수의 read 포트와 1개의 write 포트가 존재하며 각 포트에는 read 또는 write 대상이 되는
레지스터 번호(주소)가 입력됩니다.
read 포트와 write 포트가 따로 있고 심지어 read 포트는 여러개 존재하기 때문에, 한 cycle 내에 여러 word를
읽고 한 개의 word를 쓰는 작업이 동시에 가능합니다.
read의 경우, 포트에 주소를 입력하면 약간의 delay 후에 값이 바로 출력되기 때문에 일반적인 CLC와 동일합니다.
반먄 write의 경우, 입력된 값이 다음 cycle의 Rising-edge 때 가서야 레지스터에 반영이 됩니다.
'컴퓨터 아키텍쳐' 카테고리의 다른 글
Chapter 5 : Memory Hierarchy (0) 2022.06.15 Chapter 4 : Processor (0) 2022.06.10 Chapter 3 : Arithmetic for Computers (0) 2022.04.11 Chapter 2 : Instructions : Language of the Computer (0) 2022.03.24 Chapter 1 (0) 2022.03.06