컴퓨터 내부 구성
컴퓨터 내부를 단순하게 들여다보면 크게 4가지로 구성된다.
1. CPU
2. 메모리
3. 디스트
4. I/O
폰 노이만 구조
- 중앙처리장치를 통해서 연산을 수행하게 되는 구조
CPU의 구성도
- 산술/논리 연산 장치(ALU)
- 제어장치
- 레지스터
산술/논리 연산 장지
- 산술적인 연산과 논리적인 연산을 담당하는 장치
- 가산기, 보수기, 누산기, 기억 레지스터, 데이터 레지스터등으로 구성
- 캐시나 메모리로부터 읽어온 데이터는 레지스터라는 CPU전용 기억장소에 저장
- ALU는 레지스터에 저장딘 데이터를 이요아여 덧셈, 곱셈 등과 같은 산술 연산을 수행
- 부동소숫연산장치, 정수연산장치, 논리연산장치등이 있다.
제어장치
- CPU가 자기 자신 및 주변기기들을 컨트롤하는 장치
- 프로그램의 수행 순서를 제어하는 프로그램 계수기, 현재 수행중인 명령어의 내용을 임시 기억하는 명령 레지스터, 명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어신호를 보내는 명령 해독기로 이루어져 있다.
레지스터
- CPU 내부에 있는 기억장치
- 주로 산술 연산 논리장치에 의해 사용되는 범용 레지스터와 PC등 특수 목적에 사용되는 전용 레지스터로 구분
레지스터 종류
1. IR
2. PC
3. AC
IR
- 현재 수행중에 있는 명령어 부호를 저장하고 있는 레지스터
PC
- 명령이 저장된 메모리의 주소를 가리키는 레지스터
AC
- 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터
명령어 구조
- 명령어는 시스템이 특정 동작을 수행시키는 작은 단위
- 명령어는 코드(동작코드 + 오퍼랜드) 로 되어있다.
동작코드
- 각 명령어의 실행 동작을 구분하여 표현
오퍼랜드
- 명령어의 실행에 필요한 자료나 실제 자료의 저장 위치
명령어 수행 과정
1. 읽기 - 메모리에서 명령을 가져온다
2. 해석 - 명령을 해석한다.
3. 실행 - 명령을 수행한다.
4. 기록 - 수행한 결과를 기록한다.
명령어를 수행하기 위해서 명령어를 가져오는데 이를 Fetch라 한다.
Fetch 사이클
- PC는 Fetch할 다음 명령어 주소를 갖고 있다 -> 프로세스는 PC가 가리키는 주소위치에서 명령어를 가져오면서 PC를 증가시키고 명령문은 IR에 Load된다. -> Load된 명령어는 수행(실행)과정이 진행되는데 명령어를 수행하는 Execute Cycle Fetch과정에서 가져온 명령어를 실제 ALU에서 처리하게 된다.
명령어 처리 방식
1. RISC
2. CISC
RISC
- 컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜서 처리하는 형태의 구조
- 단순한 명령을 조합해서 하나의 기능을 수행하게 된다
- 파이프라인화 하여 명령어를 동시 수행할 수 있는 장점이 있다.
CISC
- 하나의 기능에 해당하는 하나의 명령이 있는 개념
- 복잡하고 많은 명령어를 자체적으로 포함하는 내장 방식으로써 각 명령어 마다 여러 Cycle에서 수행한다.
- 명령어 집합이 다양해짐에 따라서 프로세서 구조의 복잡도는 증가
RISC와 CISC 비교
RISC - 하나의 사이클로 명령어 수행, 메모리 Load/Store 명령만 처리, 파이프라이닝, 슈퍼스칼라 가능
CISC - 여러 사이클로 명령어 처리, 많은 명령어가 메모리 참조, 복잡한 마리크로 프로그램
참조
1.1.1 CPU의 구성 및 종류
CPU 개요 컴퓨터의 핵심 CPU(Central Processing Unit)와 폰노이만 구조 컴퓨터 시스템을 이루는 3대 구성이 있다면 CPU, 메모리 그리고 디스크이다 ...
wikidocs.net