컴퓨터 구조(Computer Architecture) - 컴퓨터 역사와 성능 (Computer Evolution and Performance)
컴퓨터 구조(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