1. 중앙처리장치의 개요
- 컴퓨터에서 명령어를 수행하고 데이터를 처리하는 장치
- 프로그램이 수행되는 전반적인 과정을 제어
- 처리장치와 제어장치로 구성
- 산술논리연산장치 , 레지스터세트, 제어장치, 내부버스로 구성
2. 중앙처리장치의 내부 구조
- 산술논리연산장치(ALU)
- 구성요소 : 산술연산장치, 논리연산장치, 시프터, 상태 레지스터, 보수기
- 상태레지스터 : 연산결과의 상태를 나타내는 플래그를 저장하는 레지스터
- 보수기 : ALU 내의 데이터에 대해 보수연산을 수행
- 레지스터 세트
- CUP내의 레지스터 집합
- 기억장치 중 속도가 가장 빠름 > CUP 내에서의 빠른 처리속도를 지원
- 빠른 속도를 갖지만 가격이 비쌈 > CPU 내의 레지스터 수 제한
- 제어장치
- 프로그램에 의한 연산의 순서대로 기억장치, 연산장치, 입출력장치에 제어신호 발생
- 동작
- 1단계 : 명령어를 해독하고 , 명령어 레지스터에 저장
- 2단계 : 명령어 레지스터에 저장된 명령어 실행
- 내부버스
- ALU와 레지스터 간의 데이터 전송을 위한 통로
- 데이터 버스와 제어 버스로 구성
- 외부장치와 데이터 전송
- 시스템 버스와 연결
- 시스템 버스 : 데이터, 주소, 제어 버스로 구성
3. 레지스터
- 레지스터의 종류
- 범용 레지스터(general)
- 데이터를 일시적으로 저장 > R1, R2 로 표현
- 특수 레지스터(special)
- 특수한 기능을 수행 >PC, SP, IR, XR 등
<범용 레지스터>
- 데이터 저장과 같은 일반적인 목적
- CPU 내부에 있는 소규모의 일시적인 기억장치, 프로그램의 진행 도중 가까운 시간 내에 사용할 데이터나 연산 결과를 일시적으로 기억시키는데 사용
- 데이터를 연산할 떄 메모리로부터 데이터를 인출할 경우 호출시간이 많이 걸리기 때문에 CPU 내부의 레지스터에 데이터를 기억시켜두고 연산
- 형태 : 일반적인 구조 / 스크래치패드 메모리 구조
<특수 레지스터>
- 프로그램 카운터(PC : Program Counter)
- 다음에 수행되어질 명령어가 있는 주소를 갖고 있음 > 즉, 데이터가 저장되어 있는 기억장치의 주소를 지정
- 현재 처리하려고 하는 데이터를 인출한 후에는 자동적으로 1 증가(다음 주소)
- 프로그램 카운터의 비트 수는 기억장치의 용량에 따라 결정
- 명령어 레지스터(IR : Instruction Register)
- 프로그램의 수행 중 가장 최근에 기억장치로부터 인출되어진 명령어를 갖고 있음
- 명령어 레지스터의 비트 수는 명령어의 연산코드의 비트 수와 같다.
- 누산지(AC : Accumulator)
- 데이터를 일시적으로 저장하는 레지스터
- 입력장치로부터 데이터를 받아들이거나, 출력장치로 데이터를 전송하는데 사용
- 산술 및 논리연산이 이루어질 경우에는 오퍼랜드나 연산 결과를 일시적으로 기억하는 레지스터
- CPU가 연산을 수행 한 후 그 결과는 반드시 누산기에 저장
-기억장치 주소 레지스터(MAR : Memory Address Register)
- 기억장치 주소를 임시 저장하는 레지스터
- 기억장치 버퍼 레지스터(MBR : MEmory Buffer Register)
- 기억장치로 쓰여질 데이터나 혹은 기억장치로부터 읽혀질 데이터를 임시로 저장
- 스택 포인터(SP : Stack Pointer)
- 스택 주소 지정방식에서 사용
- 스택 영역의 번지를 지정해주는 포인터
- 스택 영역은 실제로 데이터가 피신되는 기억장소로써 기억장치에 위치
- 프로그램 카운터와 같은 크기의 비트수를 가짐
4. 명령어 사이클의 개념
- 컴퓨터의 기본적인 기능을 기억장치에 기억되어 있는 프로그램을 실행하는 것
> 실행되는 프로그램은 명령어로 구성
- 중앙처리장치는 기억장치에 저장되어 있는 명령어를 인출하여 실행함으로써 프로그램을 수행
> 이러한 명령어의 수행과정을 명령어 사이클이라 함
> 중앙처리장치에서의 명령어 수행과정은
- 기억장치와 중앙처리장치의 레지스터들의 동작을 통해 살펴볼 수 있음
>> 한 개의 명령어를 CPU에서 수행하는데 필요한 전체 수행과정
명렁어 사이클의 종류
- 인출 사이클 / 실행 사이클 / 간접 사이클 / 인터럽트 사이클
'프로그래밍 > TIL(Today I Learned)' 카테고리의 다른 글
9강 중앙처리장치(3) (0) | 2018.11.08 |
---|---|
8강 중앙처리장치(2) (0) | 2018.11.08 |
13강 표준 태그 라이브러리(1) (0) | 2018.11.08 |
12강 표현언어 (0) | 2018.11.06 |
15강 예외처리 (0) | 2018.11.06 |