개발스토리
프로세서_1 본문
컴퓨터 시스템을 구성하는 주요 하드웨어에 대하여 알아보자.
저번 포스팅에 하드웨어를 간단히 언급하였는데 더 자세히 언급하겠다.
기본적이지만 핵심적인 컴퓨터 하드웨어 구성은 cpu(프로세서), 메모리, 입출력장치이다.
오늘은 프로세서에 대해 자세히 언급하겠다.
------------------------------------------------------------------------------------------------------------------------
* 프로세서
- 중앙처리장치 ( Central Processing Unit , cpu ) 라고도 한다.
- 전원이 켜지면, 제일 처음 동작한다. 메모리의 첫 부분(0번지) 또는 끝부분(0xffffffff) 내용을 읽어 실행한다.
cpu마다 다르기 때문에 첫 부분 또는 끝부분이라고 설명하였다
- 메모리 내용 -> 기계어(이진수) -> cpu가 읽어서 실행 순서이다.
- 위 사진에서 보듯이 프로세서의 기본 구조에는 control unit, ALU, register, bus가 있다.
------------------------------------------------------------------------------------------------------------------------
* Control Unit ( controller, PC, IR 내장 )
- 명령어를 해석하는 명령어 해석기(instruction decoder), 제어 로직으로 구성된다.
- 명령어를 읽고 실행을 위한 로직을 수행한다. ex) mov, jmp, add etc.. ,실행은 ALU에서 한다.
* ALU (Arithmetic ad Logic Unit )
- 산술 연산 : 덧셈, 뺄셈, 곱셈, 쉬프트 연상 등을 수행
- 논리 연산 : 논리 AND, OR, XOR, NOT, 보수 연산 등을 수행
- 연산 처리 후의 상태를 상태 레지스터에 저장한다. ex) overflow, positive 등
* BUS
- 여러 장치들의 데이터 흐름을 연결하는 데이터 경로 (프로세스와 메모리 간의)
* Register
- 프로세서 내에 일시적으로 데이터를 보관하고 ALU의 산술, 논리 연산을 위한 데이터 저장 장소
- 범용 레지스터 (general register) : 프로그램, 데이터 처리를 위한 레지스터
- 제어 레지스터 (control register) : 프로그램 제어, 프로세서의 제어를 위해 사용하는 레지스터 ( PC, SP 레지스터 )
- 상태 레지스터 (status register) : 프로세서의 산술 연산의 결과, 동작 모드 들을 나타내는 레지스터
- 인덱스 레지스터 (index register) : 데이터 어드레싱(데이터가 메모리 어디에 있는 지) , 데이터 처리를 위해 사용되는 레지스터
-> 레지스터를 사용하는 목적은 cpu의 연산 속도 향상을 위해서이다.
------------------------------------------------------------------------------------------------------------------------
프로세서의 기본 구조를 살펴보았다. 프로세서의 기능에 대해서 알아보자.
6가지 기본 기능
- 메모리에서 명령어를 읽기
- 메모리에 데이터를 쓰기
- 메모리에서 데이터를 읽기
- 입출력 장치에 데이터를 쓰기 ( 출력 장치 )
- 입출력 장치에 데이터를 읽기 ( 입력 장치 )
- 연산 ( 산술, 논리 등 )
* 명령어 수행 단계
- Fetch : get next instruction into IR
- Decode : determine what the instruction means
- Fetch operands : move data from memory to data-path register
- Execute : move data through the ALU
- Store results : Write data from register to memory
( 참고로 봐두기만 하자 )
'Computer Science > 운영체제' 카테고리의 다른 글
메모리 (0) | 2020.06.30 |
---|---|
버스(Bus) (0) | 2020.06.30 |
프로세서_2 (0) | 2020.06.30 |
운영체제의 주요 기능 (0) | 2020.06.30 |
운영체제란 무엇일까? (0) | 2020.06.30 |