Important Concepts In Computer Architecture
- 무어의 법칙을 고려한 디자인
- 디자인을 단순히 하기위해서 추상화(abstraction) 사용
- 일반적인, 흔한 경우에 빠르게 만드는 것 (Ahmdal's Law)
- 병렬성, 파이프라이닝, 프레딕션을 통한 성능 향상
- 메모리 계층 구조 (Memory Hierarchy)
- Dependability via Redundancy
Abstraction
- 추상화는 low-level의 detail을 숨겨줘서, complxeity를 해결해줌
- Instruction set architecture (ISA) - 하드웨어와 소프트웨어 사이의 인터페이스
High-level Language -> Instructions
- Instructions (명령어): 하드웨어가 이해할 수 있는 low-level language
- Information representation
1. bits: 0 or 1
2. instruction: 100011001010100000000000010000110000
- 이진수로 쓰여진 건 사람이 이해하기 어려움
- Assembler: symbolic version의 언어를 binary version으로 바꿔주는 프로그램
1. ADD A, B
2.. 1000110010100000
Defining Performance
- Execution Time (=Response Time): 태스크를 수행하는데 얼마나 걸리냐?
- Throughput: 단위 시간당 한 일의 양
- Performance = 1/Execution Time
- X가 Y보다 n배 빠르다. Performance_X/Performance_Y = Execution time_Y/Execution time_X = n
Measuring Execution Time
- Elapsed time
1. 모든 측면을 고려한 총 실행 시간
2. 시스템의 성능을 측정하기 위해 사용
- CPU time (CPU execution time)
1. 주어진 태스크를 수행하는데 드는 시간
2. I/O를 위해 대기한 시간은 포함하지 않음
3. CPU의 성능을 측정하기 위해 사용
CPU Clocking
- Clock period (Clock cycle time): clock cycle의 기간
- Clock frequency (rate): 초당 사이클 수
CPU Time
CPU Time = CPU Clock Cycles x Clock Cycle Time = CPU Clock Cycles / Clock Rate
- CPU의 성능 향상은 clock cycle 수를 줄이거나, clock rate를 높일 때 일어난다.
CPI (Clock cycles Per Instruction)
- Instruction Count (IC) for a program
1. 프로그램에서 실행된 명령어의 갯수
2. 프로그램, ISA, 컴파일러에 따라 다르다.
- Clock cycles Per Instruction (CPI)
. 1. 명령어를 실행하는 데 드는 평균 clock cycles
2. CPI = Clock Cycles / Instruction Coint
CPU Time = Insturction Count x CPI x Clock Cycle Time = Instruction Count x CPI / Clock Rate
Ahmdal's Law
'컴퓨터 > 컴퓨터구조' 카테고리의 다른 글
[CA] Processor (1) (0) | 2020.04.20 |
---|---|
[CA] Arithmetic for Computer (0) | 2020.04.19 |
[CA] Instructions: Language of Computer (0) | 2020.04.18 |