중앙처리장치는 컴퓨터의 기억*해석*연산*제어라는 4대 기능을 수행하며 컴퓨터의 두뇌에 해당
제어장치, 연산장치, 레지스터로 구성
CPU 내부에서 처리할 명령어나 연산의 중간값 등을 일시적으로 수행하는 소규모의 임시기억장치
레지스터는 일반적으로 Flip-Flop이나 Latch 등을 직렬 또는 병렬 연결해 구성
메모리 중에서 액세스 속도가 가장 빠름
레지스터 크기는 컴퓨터가 한번에 처리할 수 있는 데이터의 크기를 나타냄
# Flip-Flop
두 개의 안정 상태를 각각 0 또는 1에 대응시켜 1비트의 정보를 저장하는 회로
한쪽 안정 상태를 정하는 입력이 인가될 때, 다른 쪽 안정상태를 정하는 입력이 인가되기까지 그 상태를 유지하는 회로
# Latch
하나 이상의 비트들을 저장하기 위한 디지털 논리회로
Latch는 하나의 데이터 입력, 하나의 클럭 입력, 하나의 출력을 갖는다.
제어장치의 명령에 따라 실제로 연산을 수행하는 장치
연산장치가 수행하는 연산에는 산술연산, 논리연산, 관계연산, 이동 등이 있다.
# 연산장치에서 사용되는 레지스터
가산기 [Adder] |
2진수의 덧셈을 수행 누산기와 데이터베이스에 보관된 자료를 더해 누산기에 보관 |
보수기 [Complementor] |
뺄셈을 위해 입력된 갑을 보수로 변환하는 회로 ex> 10-9 = 10+(-9) |
누산기 [AC. Accumulator] |
연산 결과를 일시적으로 저장하는 레지스터 |
데이터 레지스터 [Data Registor] |
연산에 사용될 데이터를 기억하는 레지스터 |
상태 레지스터 [Status Registor] |
PSW라고도 하며 연산 수행시 발생되는 여러가지 상태정보를 기억하는 레지스터 |
인덱스 레지스터 [Index Registor] |
주소 계산에 사용되는 레지스터 |
기억장치에 있는 명령을 차례로 해독하고 그 결과에 따른 제어신호를 각 장치들에게 전달하는 장치
입력, 출력, 기억, 연산의 장치들을 효율적으로 관리하고 감독하는 역할 수행
# 제어장치에서 사용되는 레지스터
프로그램 카운터 [PC, Program Counter] |
다음번에 실행할 명령어의 번지(주소)를 기억하는 레지스터 |
명령어 레지스터 [IR, Instruction Resistor] |
현재 실행중인 명령의 내용을 기억하는 레지스터 |
명령 해독기 [Decoder] |
명령 레지스터에 있는 명령어를 해독하는 회로 제어 신호를 발생시키는 장치 |
부호기 [Encoder] |
해독된 명령에 따라 각 장치로 보낼 제어신호를 생성하는 회로 명령어를 부호화시켜준다. |
메모리 주소 레지스터 [MAR, Memory Address Registor] |
기억 장치의 주소를 기억하는 레지스터 |
메모리 버퍼 레지스터 [MBR, Memory Buffer Registor] |
기억 장소의 내용을 기억하는 레지스터 |
CPU와 비슷한 개념으로 CPU에 해당하는 부분을 반도체에 내장시킨 장치
크기가 작아 일반적으로 개인용 컴퓨터에서 중앙처리장치[CPU]로 사용
설계 방식에 따라 RISC와 CISC로 구분
구 분 | RISC | CISC |
명 령 어 | 적음 | 많음 |
주 소 지 정 | 간단 | 복잡 |
레 지 스 터 | 많음[16~24개] | 적음 |
전 력 소 모 | 적음 | 많음 |
처 리 속 도 | 빠름 | 느림 |
가 격 | 저가 | 고가 |
프로그래밍 | 복잡함[명령어가 적으므로] | 간단함 |
용 도 | 서버, 워크스테이션 | 개인용 컴퓨터 |
MIPS[Million Instructions Per Second] | 1초당 100만개 단위의 명령어를 실행하는 프로세서의 처리 속도 1초당 명령 실행 수 ÷ 100만 |
FLOPS[Floating-Point Operations Per Second] | 1초당 실행할 수 있는 부동 소수점 연산 명령의 수 컴퓨터의 연산 속도를 나타내는 단위 |
CLOCK Rate[클럭속도] | CPU 동작 클럭 주파수 1Hz는 1초에 1번 주기가 반복됨을 의미 |
# 클럭 주파수
컴퓨터는 전류가 흐르는 상태와 흐르지 않는 상태가 반복되어 작동
PC클럭속도 단위는 보통 GHz [1,000,000,000Hz]를 사용
컴퓨터 메인보드에 공급되는 클럭은 CPU의 속도에 맞춰 적절히 작동되어야 컴퓨터가 안정적으로 구동
클럭 값이 클수록 연산속도가 빠르다.
클럭 Pulse가 일어날 때 명령이 실행되므로 클럭 Pulse가 높아야 한다.
명령어의 구성
연산자[Operation Code]부분과 주소[Operand]부분으로 구성
명령어의 형식
0주소 형식 | 주소가 없고 연산자만 존재 Stack[스택]을 이용 |
1주소 형식 | 연산자와 1개의 주소 부분으로 구성 누산기[AC, Accumulator]을 이용 |
2주소 형식 | 연산자와 2개의 주소 부분으로 구성 가장 일반적인 주소 형식으로 여러 개의 범용 레지스터에서 사용 |
3주소 형식 | 연산자와 3개의 주소 부분으로 구성 연산 후에 자료가 보존되며 여러 개의 범용 레지스터에서 사용 |
명령어 처리과정[인출 → 해독 → 실행]
프로그램 계수기[PC]에 저자오딘 명령어의 주소를 읽는다.
명령어를 기억장치로부터 가져온다.
명령어의 해독과 실행을 위해 명령어 레지스터로 보낸다.
제어장치에 의해 해독 과정을 거친 후 실행한다.
[개미의 걸음 1과목 컴퓨터 일반] 주변장치①. 보조기억장치 (0) | 2020.06.19 |
---|---|
[개미의 걸음 1과목 컴퓨터 일반] 기억장치(캐시기억장치, 주기억장치, 가상기억장치) (0) | 2020.06.18 |
[개미의 걸음 1과목 컴퓨터 일반] 자료의 구성단위 및 표현방식 & 오류검출코드 (0) | 2020.06.16 |
[개미의 걸음 1과목 컴퓨터 일반] 컴퓨터의 기본 개념 (0) | 2020.06.15 |
[개미의 걸음 1과목 컴퓨터 일반] 컴퓨터의 역사 (0) | 2020.06.14 |
댓글 영역