컴퓨터 구조(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

Posted by Hello_World_2016
,


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24