이 카테고리에서는 컴퓨터 구조수업을 듣고 그 내용들을 정리하여 기록 할 예정이다. 오늘의 수업분량은 간단하게 컴퓨터 구조를 설명하고 기본 개념들을 이해하는 시간이다.
건물을 지으려면 건물의 설계도를 알아야하고 각 건물 구성물들의 역할을 정확히 알고있어야한다. 그렇지 못하면 물렁한 땅 위에 고층건물을 지어서 건물이 흔들릴 수 도 있고, 부실시공이 될 수도 있다. 혹은 이러한 지식들 없이 건물을 짓는 일에 뛰어들게 되면, 핵심업무는 하지 못하고 벽돌만 나르다가 끝나게 된다. 과연 그걸 내가 지은 건물이라고 말할 수 있는가?
이러한 관점에서 컴퓨터 프로그래밍, 흔히들 코딩이라고 부르는것을 할 때 컴퓨터 구조를 아는것은 중요하다 생각된다. 컴퓨터 구조를 모른체 프로그래밍을 하면 부실하고 불안정한 프로그램이 나오거나, 프로그래밍이 아닌 단순한 코더로 남게 될 것이다.
교수님은 이걸 기본중의 기본이니 알아가라고 하셨다.
DRAM, Pipelining, Cache, Hierarchies, I/O, Virtual Memory 등 컴퓨터 구조에는 다양한 용어와 개념이 등장한다. DRAM, Cache, VM같은 단어들은 평소에 컴퓨터에 익숙하거나 관심이 있는 사람이라면, 혹은 자기손으로 컴퓨터를 구매하고 조립해본 사람이라면 알고 있을법한 개념이다. 다만 파이프라이닝같은 개념은 배워야만 알 수 있다.
이러한 지식들을 바탕으로 Memory_Management를 통해 Algorithm에서 어떤 연산이 일어나고, 어떤 데이터를 가지고 오고 이 데이터들에 대한 배치와 사용법을 익힐 수 있다고 한다.
다른 중요 개념으로는 Abstraction (추상)이 있다.
여기서 추상이라는건 회로를 설계하는 하드웨어를 말하는 것이 아니라, 논리적으로 CPU를 구성하기 위해선 어떤 구조가 필요한지에 대한 학습을 말한다.
Computre Architecture 에서의 Abstraction
Instruction set architecture (ISA) 명령어 집합체
Instruction 이란 무엇일까?
간단한 그림으로 표현하면 이러한 느낌이다.
SW – applicaton, library, os, compiler, assembler
------------------------------------ <- ISA
HW – cpu, pci, etc
MIPS Architecture ISA를 배우게 된다.
왜 MIPS인지 찾아보니 MIPS의 ISA가 직관적이고 이해하기 쉬워서 많은 수업에서 입문할 떄 배운다고 한다.
Register – CPU안에 있는 임시적 저장 공간
계산을 위해선 두개의 대상이 되는 데이터가 있어야함
그 데이터들을 보관하는 공간이 register
그 결과를 계산하여 다시 register에 저장
궁극적으로는 그 결과를 가지고 우리가 보기 위해 그 결과를 memory로 배달함 (Load, Save)
PC - Program Convertor
Classic 5 Components
데이터 관련 모든 작업을 수행하는 경로들을 말한다
Control
Cpu clock
Cpu clock cycle * clock cycle time
= cpu clock cycles / clock rate
[문제]
CPU execution time
= CPU clock cycles x clock cycle time
= CPU clock cycles / clock rate
Example:
Same instruction sets
Computer A : 4 GHz, 10 seconds
Computer B : ? GHz, 6 second
B requires 1.2 times as many clock cycles as A.
[정답]
CPU timeA
= CPU clock cyclesA / clock rateA
10 seconds = CPU clock cyclesA / (4 X 109 cycles/sec)
CPU clock cyclesA = 10 sec. X 4 X 109 cycles/sec
= 40 X 109 cycles
CPU timeB
= CPU clock cyclesB / clock rateB
= 1.2 X CPU clock cyclesA / clock rateB
6 seconds = 1.2 X 40 X 109 cycles / clock rateB
clock rateB
= 1.2 X 40 X 109
cycles / 6 seconds = 8 GHz
이런식으로 계산하면 된다.
Cmos ic technology
Power = capacitive load volatage^2 frequency