컴퓨터 구조(Computer Architecture) - A Top-Level View of Computer Function and Interconnection
컴퓨터 구조 2015. 3. 14. 00:32컴퓨터 구조(Computer Architecture) - A Top-Level View of Computer Function and Interconnection
1. Register
- Memory address register (MAR)
Specifies the address in memory for the next read or write.
- Memory buffer register (MBR)
Contains the data to be written into memory or receives the data read from memory.
- I/O address register (I/OAR)
- I/O buffer register (I/OBR)
2. Computer Components : Top Level View
3. Basic Instruction Cycle
Fetch cycle : Memory ---> Instruction register
Execute Cycle : In cpu
4. Fetch Cycle
- instruction cycle이 시작되면 processor는 instruction을 memory로부터 fetch한다.
- Program Counter (PC)는 다음 fetch될 instruction의 address를 갖고있다.
- processor는 Fetch Cycle후에 순차적으로 다음 instruction이 실행되도록 PC를 증가시킨다.
- Fetch된 instruction은 Instruction Register (IR)에 load된다.
- processor는 instruction을 해석하고 요구받은 명령을 실행한다. (Execute)
5.
Opcode : 어떤 명령을 수행할지의 정보를 저장 (4bits -> 2^4개의 명령 가능)
- Example of Program Execution
-> 300, 301, … , 940, 941 : address
-> 1940, 5941, … : data
-> step1의 화살표 : Instruction Fetch (instruction을 IR로 가져오는것)
-> step2의 화살표 : Execute (Acuumulater로 가져가는것)
-> step3의 화살표 : Instruction Fetch
-> step4의 화살표 : Execute
-> step5의 화살표 : Instruction Fetch
-> step6의 화살표 : Execute
* PC는 Execute단계에서 1씩 증가함
- Instruction Cycle State Diagram
6. Interrupt
- Interrupt의 종류
※ Interrupt가 발생하면 Interrupt간에 priority에 따라 진행됨
Program
Generated by some condition that occurs as a result of an instruction execution.
ex) arthmetic overflow, division by zero,
attempt to execute an illegal machine instruction
(Opcode가 정의되지 않는 instruction이 발생할 때),
reference outside a user's allowed memry space
Timer
Generated by a timer within the processor.
I/O
Generated by an I/O controller, to signal normal completion of an operation, request service from the processor, or to signal a variety of error conditions.
Hardware failure
Generated by a failure such as power failure or memory parity error.
※ memry parity error란?
memory에서 데이터를 Read할 때, 데이터가 원래 Parity-odd(1이 홀수개)였으나
Read하는 과정에 오류가 발생해 Parity-even(1이 짝수개)이 되는 에러
- interrupt가 발생했을 때 과정
7. Direct Momry Access (DMA)
CPU를 거치지 않고 I/O와 Memory간에 데이터를 교환하는것으로 더 효율적이며 속도가 빠르다.
8. Data Bus
- 정의
System Module간에 데이터가 이동하는 통로를 제공해주는 라인
- width
라인의 수를 뜻하며 32, 64, 128bit 등이 있고, 클수록 성능이 좋다.
Data Bus의 width가 32, 64, 128bit이면 word size는 각각 4, 8, 16byte이며, 이는 Memory로부터 한번에 가져올 수 있는 데이터량을 뜻한다.
data bus의 width는 시스템 퍼포먼스에 있어서 핵심 요소이다.
9. Address Bus
- 정의
Data Bus를 통해 전송 될 데이터의 위치 또는 목적지를 지정하는 데에 사용되는 Bus이다.
프로세서가 데이터를 read하려 할 때 Address Bus를 통해 address가 전송된다.
- width
Address Bus width는 시스템의 최대 메모리용량을 결정한다.
ex) Address Bus width = 34bits이면 메모리용량은 2^34 = 16Gbytes이다.
※ 2^10 = K
2^20 = M
2^30 = G
10. Controll Bus
- 정의
access와 Data, Address line의 사용을 컨트롤할때 사용된다.
11. 3가지 Bus의 schema
※ Bus Arbiter (Bus Arbitration) : 어떤 Bus에게 권한을 줄지 중재, 관리하는 역할(교과서 112p)
한번에 하나의 유닛만 Bus를 통해 교환될 수 있다.
12. Timing of Synchronous Bus Operations
* Address lines : T1에서 CPU에서 Memory로 address 전송
* Adress enable : T1에 CPU에서 address가 나간다는것을 알려주는 신호를 보냄
* Data lines : CPU -> Memory 으로 데이터 전송(T3)
* Read : Control Bus를 통해 CPU -> Memory 으로 Control Signal(Read) 전송(T2)
-> Data lines + Read = Read cycle = 3 cycles
* Data lines : CPU -> Memory 으로 데이터 전송(T2), T1에 전송해도 되지만 전원 절약을 위해 T2
* Write : Control Bus를 통해 CPU -> Memory 으로 Control Signal(Write) 전송(T2)
-> Data lines + Write = Write cycle = 3 cycles
출처 : William Stallings - Computer Organization and Architecture 9th Edition
'컴퓨터 구조' 카테고리의 다른 글
컴퓨터 구조(Computer Architecture) - Input/Output (0) | 2015.05.25 |
---|---|
컴퓨터 구조(Computer Architecture) - External Memory (0) | 2015.05.24 |
컴퓨터 구조(Computer Architecture) - Internal Memory (0) | 2015.05.24 |
컴퓨터 구조(Computer Architecture) - 컴퓨터 역사와 성능 (Computer Evolution and Performance) (0) | 2015.03.04 |
컴퓨터 구조(Computer Architecture) - 소개(Introduction) (0) | 2015.03.04 |