컴퓨터 구조

컴퓨터 구조(Computer Architecture) - 컴퓨터 역사와 성능 (Computer Evolution and Performance)

Hello_World_2016 2015. 3. 4. 20:15

컴퓨터 구조(Computer Architecture) - 컴퓨터 역사와 성능 (Computer Evolution and Performance)

1. 컴퓨터의 역사

< First Generation > - built with vaccum tube

1세대 컴퓨터의 가장 큰 특징은 진공관을 이용해 만들었다는 것이다.

애니악(ENIAC) : 2차대전 당시 미사일의 궤적을 계산하기 위해 만들어진 컴퓨터

존 폰 노이만(John von Neumann)의 IAS컴퓨터

IAS컴퓨터의 구성은 다음 그림과 같다.

 

IAS컴퓨터의 word size는 40bits이다.

흔히 말하는 64bit 컴퓨터의 word size는 64bits이고, 32bit 컴퓨터는 32bits이다.

※ BIT   : b -> ex) 512Mb
    BITE : B
-> ex) 64MB
    1byte = 8bits

< Second Generation > - built with transistors

2세대 컴퓨터의 가장 큰 특징은 트랜지스터를 이용해 만들었다는 것이다.

IBM 7094

2세대 컴퓨터인 IBM 7094는 다음과 같이 구성되어 있다.

IBM 7094에는 Multi plexor가 사용되었는데 Multi plexor는 2개의 Select signals를 이용해 I/O device들중

하나를 선택해주는 역할을 한다. (오늘날의 컴퓨터에는 Multi plexor 대신 BUS를 사용함)

 

< Second Generation > - built with Integrated Circuits

- Wafer, Chip, Gate


            -> Wafer와 Chip, Gate사이의 관계를 간단히 나타낸 그림

- Moore's Law (무어의 법칙)

1965년 인텔의 설립자인 Gordon Moore가 발표한 것으로 반도체의 집적회로 성능이 1년 반에

2배씩 증가한다는 법칙이다.

- Hwang's Law (황의 법칙)

2002년 삼성전자 사장 황창규가 발표한 것으로 메모리 집적도가 1년에 2배씩 증가한다는

법칙이다. 2008년에 NAND플래시 메모리가 나와 법칙이 깨졌다.

- PDP-8 Bus

- Typical I/O Device Data Rates


-> bps : bit per sec

Keyboard가 가장 느리며 이더넷이 가장 빠르다.

2. 컴퓨터의 성능

- Embedded System

designed to perform a dedicated function. ex) Automotive, Consumer electronics, 

 Industrial control, Medical, Office automation

- ARM (Acorn RISC Machine)

- System Clock

Frequency : f

Cycle time : τ(타우) = 1/f

예제) Frequency f = 5Mhz이고 Instruction I1 = 4 cycle, I2 = 6 cycle, I3 = 3 cycle, I4 = 7 cycle

   일 때 IPS(Instruction per a second)는?

풀이) 4번의 Instruction들을 통해 CPI(Cycle per a Instruction)을 계산하면 (4+6+3+7)/4 = 5cycle

   이다. f = 5Mhz이므로 IPS는 5M/5 = 1MIPS이다.

- CISC

Complex Instruction Set Computer (Old Computer, 명령어 종류가 많다.)

A = B + C를 표현하는 방식(assembly level instruction) : add mem(B), mem(C), mem(A)

- RISC

Reduced Instruction Set Computer (Recently Computer, 명령어 종류가 적다.)

A = B + C를 표현하는 방식(assembly level instruction) : load mem(B), reg(1);
                                                                                 load mem(c), reg(2);
                                                                                 add reg(1), reg(2), reg(3);
                                                                                 store reg(3), mem(A)

※ A = B + C를 수행하는 과정
    1) cpu ---> memory로 address B 전송
    2) memory ---> cpu로 B의 data 전송
    3) 전송받은 data를 register1로 load
    4) cpu ---> memory로 address C 전송
    5) memory ---> cpu로 C의 data 전송
    6) 전송받은 data를 register2로 load
    7) 두 register의 값을 add 한 뒤 AC(accumulator) 또는 register3 저장
    8) cpu ---> memory로 address A와 더한 값의 data를 전송한 후 A위치에 store
    * memory access : 3 times
                                 -> Read operation(Load) : 2 times
                                      Write operation(Stroe) : 1 times
    * Load : 3 cycles
    * Store : 3 cycles
    * Add : 1 cycle
    * total : 3x2 + 3x1 + 1x1 = 10 cycles

- Amdahl's Law (암달의 법칙)


-> f : parallel operations
    1-f : serial operations

parallel task가 많을수록 speed up이 커진다.

serial task가 많을수록 speed up은 작아진다.

출처 : William Stallings - Computer Organization and Architecture 9th Edition