CPU ( Central Processing Unit, 중앙 처리 장치 )의 구조적 이해
CPU의 개념
입력 장치 -> 자료 입력 -> CPU 연산 -> 결과 출력
위 일련의 과정을 제어하는 핵심 장치
CPU 구성요소
- ALU ( Arithmetic Logic Unit, 산술 논리 장치 )
산술 및 논리 연산 수행
산술연산 : +, -, ×, ÷
논리연산 : AND, OR, NOT, XOR
- Register
CPU 내부 소규모 데이터, 중간 결과를 일시적으로 기억해 두는 고속의 전용 영역
- Control Unit ( 제어장치 )
프로그램 코드를 해석, 실행을 위한 제어신호 발생
- 내부 CPU 버스
ALU 와 레지스터 간의 데이터 이동 경로
내부 레지스터의 종류
PC ( Program Counter )
- 다음에 수행할 명령어가 저장된 주기억장치의 번지를 지정
MAR ( Memory Address Register )
- 주기억장치에 접근하기 위한 주기억장치의 번지를 기억
MBR ( Memory Buffer Register )
- 주기억장치에 입/출력할 자료를 기억
IR ( Instruction Register )
- 주기억장치에서 인출한 명령코드를 기억
버스 시스템 ( Bus System )
버스(Bus) 의 정의
시스템에 많은 장치를 공유하여 데이터, 주소, 제어 정보를 전달하는 전송라인
버스를 획득하기 위한 경합이 발생 - 사용방식에 따라 입출력 성능에 영향
버스(Bus) 종류
데이터버스
시스템 컴포넌트간 처리 데이터를 전송
주소버스
기억장소의 위치, 장치 식별 지정
라인의 비트 수에 따라 접속 될 수 있는 장치의 용량이 결정
제어버스
CPU와 기억장치 또는 I/O 장치 사이의 제어 신호 전송
CPU의 명령 실행주기 ( Instruction Cycle )
하나의 명령어 실행이 끝난 후부터
다음 명령어의 수행이 시작되어 끝날때까지 걸리는 시간
인스트럭션 사이클 ( Instruction Cycle )
인출 ( Fetch )
메모리 ( Memory ) 에서
데이터를 로드 ( Load ) 하여
CPU에 있는 레지스터 ( Register )에 적재
간접 ( Indirect )
메모리를 참조할 때 간접 주소 방식을 사용하는 경우
간접주소 : 해당 주소의 메모리에 데이터가 바로 있는 것이 아니라, 데이터의 주소가 있을 때.
그 주소를 참조하여 데이터를 획득
실행 ( Execution )
명령과 데이터로 CPU가 산술 및 논리연산 수행
인터럽트 ( Interrupt )
작동중 예기치 못한 문제 발생시, 업무 처리가 계속 될수 있도록 하는 컴퓨터 운영체제의 기능
하드웨어 인터럽트
- 기계착오 인터럽트, 외부 인터럽트, 입출력 인터럽트, 프로그램 검사 인터럽트
소프트웨어 인터럽트
- CPU 내부에서 자신이 실행한 명령이나, CPU의 명령 실행에 관련된 모듈이 변화하는 경우 발생