Lecture Notes in Introduction to Computers Chpater 3: Central Processing Unit 중앙 처리 장치 Computers: Tools for an Information Age 제 3 장 (C)1998 SNU Dept. of Computer Engineering
학습 목표 중앙 처리 장치의 구조와 동작 원리를 이해한다. 프로그램의 수행 방식을 이해한다. 컴퓨터에서 사용되는 데이터 표현 방식을 이해한다. 컴퓨터가 필요한 명령이나 데이터를 찾는 방식을 이해한다. 개인용 컴퓨터 칩에 대해 이해한다. 컴퓨터의 속도 단위와 속도 증가를 위한 방법을 이해한다.
중앙 처리 장치 중앙 처리 장치(CPU: Central Processing Unit)의 기능 CPU의 구성 저장된 프로그램 명령들을 실행 CPU의 구성 제어부 (Control Unit) 산술 논리부 (ALU: Arithmetic/Logic Unit) 레지스터 (Register)
CPU 구성도 그림 3-1: CPU의 구성 요소
제어부 프로그램의 명령을 실행하기 위한 제어 담당 실제 명령어 수행은 하지 않음 산술 논리부와 메모리와의 통신이 필요
산술 논리부 산술 명령 수행 논리 명령 수행 덧셈, 뺄셈, 곱셈, 나눗셈 등 조건 검사를 수행 같은가 (=), 작은가 (<), 큰가 (>)를 판단
레지스터 CPU내에 있는 임시 기억 장소 누산기 (Accumulator): 계산 결과 축적 주소 레지스터 (Address register): 명령이나 데이터가 있는 메모리의 번지 저장 저장 레지스터 (Storage register): 메모리에 읽거나 쓸 데이터를 임시로 보관 범용 레지스터 (General-purpose register): 산술 연산 등 여러 가지 연산을 위해 필요
메모리 데이터와 명령어들이 처리를 위해 저장되는 곳 CPU와 분리 되어 있음 별칭 Primary storage Primary memory Main storage Internal storage Main memory
CPU의 프로그램 실행 과정 I-time: Fetch와 decode 수행 단계 - 제어부에 의해 명령어 해독(의미 파악)하고 - 필요한 데이터를 메모리로부터 가져옴 3. Execute: 산술 논리부에서 실제적인 연산 수행 4. Store: 연산 된 결과를 메모리나 레지스터에 저장 I-time: Fetch와 decode 수행 단계 E-time: Execute와 store 수행 단계
CPU의 명령어 수행 구성도 Procedure Step 1. Fetch 2. Decode 3. Execute 4. Store 그림 3-2: Machine cycle
CPU의 명령어 수행 예 그림3-3: The machine cycle in action
내장 발진자(Internal Clock) 펄스를 발생시켜 컴퓨터의 각 부분을 동기화 한 명령의 실행을 위해서는 한 machine cycle을 거침 한 명령은 여러 개의 하위 명령으로 이루어짐 각 하위명령의 실행에는 최소한 1 clock이 필요
명령어 집합 (Instruction Set) 프로세서가 처리 가능한 명령어의 집합 예) ADD, SUB, STORE, MOVE, JUMP, etc.. CPU에서 지원하는 기본적인 명령어 CPU 제작 시 결정됨 CPU에 의존적 기계어와 1:1 대응 예) MOV AX, CX ADD AX, DX
저장 위치와 주소 데이터나 명령의 저장 위치는 메모리 주소에 의해 지정 물리적인 주소(physical address)는 사용자에게 알려질 필요 없음 사용자는 물리적인 주소를 사용하는 대신 논리적인 주소(logical address), 상징적인 주소(symbolic address)를 사용
주소의 개념 (그림 3-4) 기억장소의 주소와 내용을 구분 그림 3-4: 우편함 번호와 우편함에 있는 내용물에 해당 Memory location 3 (주소): $8 (임금률) Memory location 2: 40 hours (근무한 시간) Memory location 4: $320 (임금)
데이터의 표현: 비트 컴퓨터의 내부 표현 비트 (bit) 그림 3-6: Bit as light bulb. 이진수 체계 0 = OFF, 1 = ON 비트 (bit) binary digit 이진수의 0 또는 1 그림 3-6: Bit as light bulb.
데이터의 표현: 바이트와 워드 바이트(byte) 워드(word) 메모리에 저장되는 최소 단위 1 byte = 8 bits 1바이트로 1문자를 표현 (‘A’, ‘7’, ‘$’ 등) 워드(word) 데이터 구성의 기본 단위 (8~64 bits) 대개 레지스터의 크기와 동일
예: PC의 성능 및 용량 정보처리 성능 기억용량의 표현 8-비트 Machine: 동시에 1바이트(8비트) 처리 KB: 1 kilobytes = 210 bytes = 1024 bytes 640KB = 640 x 1024 = 655360 bytes. MB: 1 megabytes = 1024 x 1024 bytes GB: 1 gigabytes = 1024 MB
부호화 방식 문자 표현을 위해 특정 비트들을 할당하는 방법 ASCII 코드 ASCII: American Standard Code for Information Interchange 각 문자마다 7 비트를 할당 함으로서 문자 표현 총 128개의 문자 표현 가능 ASCII-8: ASCII 코드의 확장 판 8비트를 이용하여 하나의 문자 표현
Binary & Decimal & ASCII 그림 3-5: Decimal and binary 그림3-7: ASCII-8 code
개인용 컴퓨터 칩 마더보드 (Motherboard) 마이크로 프로세서 (Microprocessor) 메모리 부분 반도체 저장 장치 (Semiconductor Storage) RAM (Random Access Memory) ROM (Read Only Memory)
마더보드(Motherboard) 칩들이 부착되어 있는 보드 그림 3-8: Motherboard
마이크로 프로세서 소형의 중앙 처리 장치 제어부, 산술 논리부, 레지스터, 발진자 등을 포함 메모리와는 별도의 칩으로 존재 그림 3-9: Microprocessor chip
반도체 저장 장치 수천개의 작은 회로들로 구성 장점: 신뢰성, 소형, 저가, 절전형 CMOS Complementary metal oxide semiconductor 전력 소모가 적은 반도체 설계 방식 소형 컴퓨터에서 많이 사용
RAM (Random Access Memory) 읽고(read) 쓰는(write) 것이 가능한 메모리 휘발성 (volatile) 프로그램과 데이터가 실행되기 위해 저장 됨 RAM의 크기는 프로그램의 수행 속도에 영향을 줌 CPU에서 직접 접근이 가능한 유일한 저장 장치 (cf. 하드 디스크)
RAM의 종류 SRAM DRAM SIMM Static RAM 리프레쉬(refresh)가 필요 없음 Dynamic RAM Single In-line Memory Module 메모리 칩을 꽂는 보드 그림 3-10: DRAM
ROM (Read Only Memory) 데이터가 영구적으로 보관됨 읽는(read) 것만 가능 비휘발성 메모리 (non-volatile) PROM Programmable ROM ROM burner를 이용해서 쓰기가 가능
컴퓨터의 처리 속도 단위 MHz MIPS MFLOPS 초당 처리되는 machine cycle의 수 Million Instruction Per Second 초당 처리되는 명령어의 수 MFLOPS Million Floating-point Operation Per Second 초당 처리 가능한 실수 연산의 수
버스 라인 버스(Bus): 컴퓨터 내에서 데이터가 이동하는 경로 버스 폭(Bus width) 한꺼번에 버스를 통하여 이동 할 수 있는 데이터의 양 폭이 크면 속도 향상 486SX 이하: 16 비트 버스 486DX 이상: 32 비트 버스
캐쉬 (Cache) 매우 빠른 소량의 메모리 빈번히 참조되는 데이터나 명령어들이 저장되어 있음 메모리 참조 속도 향상
플래쉬 메모리 (Flash memory) 비휘발성 메모리 노트북, PDA 등 휴대용 컴퓨터에 많이 사용 디스크 드라이브보다 작고 전력 소모 적음 앞으로의 중요한 컴퓨터 요소로 등장 가능
RISC Vs. CISC CISC RISC Complex Instruction Set Computer 잘 쓰이지 않는 복잡한 명령어 까지 지원 RISC Reduced Instruction Set Computer 프로세서의 명령 집합을 간단한 명령으로 한정 처리 속도의 향상 CISC에 비해 평균 4-10배 속도 향상
병렬 처리 직렬 처리 병렬 처리 Serial Processing 하나의 프로세서만 사용 한번에 하나의 명령 처리 여러 개의 프로세서가 동시에 서로 다른 명령 처리 현재 대규모 컴퓨터에 한정 예: Pipelining
요약 및 정리 중앙 처리 장치 레지스터 메모리 RAM / ROM / SIMM Machine Cycle 주소 RISC / CISC 병렬 처리