본문 바로가기
컴퓨터 일반

1. 컴퓨터 구조 - 중앙처리장치

by 쬑께께 2026. 1. 21.

(26)

중앙처리장치 구성요소

- 연산장치(ALU, Arithmetic and Logic Unit): 산술연산, 제어 연산 기능 수행

- 제어장치(CU, Control Unit): 제어 기능 수행

- 레지스터(Register): 기억기능 수행

- 내부버스(Internal Bus): 전달 기능 수행 (CPU내부)

(28)

*버스: 레지스터와 ALU 간 데이터 전송 위해 필요

*내부버스: 중앙처리장치(CPU) 내부에서의 데이터 전송과 논리 제어를 담당하는 경로

*외부버스: 중앙처리장치(CPU)와 메모리, 주변장치를 연결하는 데이터 통로

 

(29) 

명령어의 종류

1. 데이터 전송 명령(data transter instruction)

- 데이터를 내용의 변경 없이 한 장소에서 다른 장소로 이동시킴

- 메모리와 레지스터 사이의 전송, 레지스터 상호 간의 전송, 레지스터의 입촐력장치 사이의 전송 등의 명령 해당

Load 메모리 -> 레지스터 전달 명령
Store 레지스터 -> 메모리 전달 명령
Move 레지스터 - 레지스터 간의 전달 명령
Input 레지스터 - 입력장치 간의 전달 명령
Output 레지스터 - 출력장치 간의 전달 명령
Push 레지스터 -> 스택 전달 명령
Pop 스택 -> 레지스터 전달 명령

 

2. 데이터 처리 명령(data manipulation instruction)

- 데이터에 대해 산술연산, 논리연산 및 시프트 연산 수행하는 명령어

산술연산 명령 - ADD, SUB, MUL, DIV: 사칙연산
- INC: 메모리나 레지스터의 내용을 1 증가시키는 명령어
- DEC: 메모리나 레지스터의 내용을 1 감소시키는 명령어
논리연산 명령 - Clear, Complement, AND, OR, Exclusive-OR
시프트 명령 - 오퍼랜드의 내용을 오른쪽 또는 왼쪽으로 한 칸씩 이동시키는 명령
논리 시프트 - 왼쪽이나 오른쪽 시프트에 관계 없이 패딩되는 값이 항상 0
산술 시프트 - 부호절대치 표현방법, 1의 보수에 의한 표현방법, 2의 보수에 의한 표현 방법에 따라 패딩되는 값이 다름
순환 시프트 - 원형 시프트 형태
- 시프트되어 나가는 비트는 그 값을 잃어버리지 않고 다른 한쪽 끝으로 들어가게 됨

 

3. 프로그램 제거명령(program control instruction)

- 프로그램의 수행순서 제어하는 명령

- 조건분기, 무저건 분기, 비교 명령, 테스트 명령 등

 

 

마이크로 오퍼레이션(Micro Operation)

- 명령어 하나를 수행하기 위한 여러 동작의 과정을 하나하나 세분화한 것

- 한 클럭 펄스(Clock Pulse) 동안 실행되는 기본동작

- 여러 개의 마티크로 오퍼레이션이 모여 하나의 명령 처리

- 명령 수행하기 위해 CPU 내의 레지스터와 플래그가 의미 있는 상태로 바뀌게 하는 동작, 레지스터에 저장된 데이터에 의해 수행됨

 

마이크로 오퍼레이션 종류

(1) 전송 마이크로 오퍼레이션

- 레지스터와 메모리 사이 혹은 레지스터 상호 간 이진 정보를 전송

레지스터 전송 - 하드웨어 논리회로가 어떤 주어진 마이크로 오퍼레이션을 수행, 결과를 동일 레지스터 혹은 다른 레지스터에 전송하는 것
- 직렬 전송, 병렬 전송, 버스 전송
메모리 전송 - 메모리로부터 데이터를 읽거나 쓰기 위해 동작하는 것

 

(2) 산술 마이크로 오퍼레이션

- 레지스터에 저장된 수치 데이터에 대해 산술연산 수행하는 것

- 가산, 감산, 증가, 감소, 보수 등

 

(3) 논리 마이크로 오퍼레이션

- 레지스터에 저장된 비수치 데이터에 대한 비트 조작 수행하는 것

- AND논리, OR논리, 배타적 OR논리 등

 

(4) 시프트 마이크로 오퍼레이션

- 레지스터에 저장된 데이터에 대한 시프트 연산 수행하는 것

- 좌측 시프트, 우측 시프트

 

마이크로 사이클 타임

- 하나의 마이크로 오퍼레이션을 수행하는 데 걸리는 시간을 말함

- CPU의 속도를 나타내는 단위로 이용

- 클럭 펄스 발생 주기 동안 수행되도록 설계되어 있음

- CPU 클럭 주기 및 마이크로 사이클 타임의 관계에 따라 동기 고정식, 동기 가변식, 비동기식으로 구분

동기고정식(Synchronous Fixed) - 마이크로 오퍼레이션 중에서 작업시간이 가장 긺
- 마이크로 오퍼레이션 동작 시간을 마이크로 사이클 타임으로 정하는 방식
- 기준: 1개(가장 긴 것 기준)
동기가변식(Synchronous Variable) - 유사한 기준시간 갖는 것을 그룹화
- 수행시간이 유사한 오퍼레이션을 그룹으로 묶어 각 그룹별로 서로 다른 마이크로 사이클 타임을 지정하는 방식
- 마이크로 오퍼레이션의 수행시간이 차이가 날 때 유리
비동기식(Asynchronous) - 모든 마이크로 오퍼레이셔넹 대하여 각각의 마이크로 사이클 타임을 지정하는 방식
- CPU의 시간낭비가 없어지지만, 제어기 구현이 복잡해 실제 사용하기는 어려움

 

기억장치의 성능

- 기억장치에서 고려해야 할 주요 성능: 액세스 속도와 용량(capacity)

(1) 액세스 속도: 단위 시간 당 얼마나 많은 데이터를 기억장치로부터 읽고 쓸 수 있는가를 나타냄

액세스 시간 CPU가 주소 내용을 주고, 내용을 읽어오는 데 걸리는 시간
메모리 사이클 시간 액세스 시간과 다음 액세스를 시작하기 위해 필요한 동작에 걸리는 추가적인 시간을 합한 시간
전송률(bandwidth) CPU의 기억장치 액세스에 의해 단위시간당 전송되는 문자 혹은 워드의 수

(2) 기억용량

- 기억장치가 저장할 수 있는 최대의 데이터량을 말함

- 단위: 주기억장치 - 바이트 혹은 워드, 보조기억장치 - 바이트  로 표현

- CPU가 한 번의 기억장치 액세스에 의해 읽거나 쓸 수 있는 비트 수