1) 중앙처리장치 (CPU)
- 컴퓨터의 두뇌로, 컴퓨터 시스템 전체를 제어하는 장치
- 입력장치에서 받은 데이터를 처리해 출력장치와 기억장치로 보내는 과정을 수행
- CPU 내에 여러 레지스터가 있음
(1) 산술 연산 장지 (ALU)
- 산술 및 부울 논리 연산기 (Arithmetic and Boolean Logic)
- 덧셈, 뺄셈과 같은 사칙연산을 수행
- AND, OR, NOT과 같은 논리연산을 수행해 참 거짓 판단
- 상태 플러그 (Status Flags)
- 장치 내의 데이터 상태를 표시함
- 음수, 0, 오버플로우 표시
- 이동기 (Shiffer)
- 데이터 비트를 좌우로 비트 별로 이동
- 비트의 이동은 2로 곱셈하거나 나눗셈하는 것으로 해석함
- 보수기 (Complmenter)
- 연산장치 내의 보수 연산을 수행
- 덧셈이나 뺄셈을 사용할 때 사용하는 보수를 만들어줌
(2) 제어장치 (Control Device)
- CPU 내부에서 일어나는 작업들을 통제하고 관리
- 명령어를 해독하고 제어 신호를 제어 해당 장치에 전달해줌
- 명령어 형식은 “연산 코드 + 기억장치 주소”로 전달이 됨
(3) 레지스터 (Resister)
- CPU 내에서 데이터를 저장하는 장치
- CPU로부터 읽어온 명령어와 데이터를 임시 보관
- ALU 처리 결과 데이터 임시 보관
- 기억장치들 중 속도가 가장 빠름
- 레지스터 종류
- 기억장치 버퍼 레지스터 : 주기억장치에서 읽은 명령어를 임시적으로 저장
- 명령어 레지스터 : 기억 장치 버퍼 레지스터의 명령어를 저장
- 기억장치 주소 레지스터 : 명령어 레지스터에 저장된 명령어 주소 번지 저장
- 명령어 해독기 : 명령어 레지스터에 저장된 명령어 연산 코드의 필드를 전달받음.
연산 코드 필드를 해독하고 수행할 연산을 결정해 연산장치에 전달해줌 - 프로그램 카운터 : 다음에 수행할 명령어의 주소 번지를 저장
2) 기억장치
- 프로그램을 수행하는 데 필요한 데이터를 저장하기 위해 사용
- 내부 기억장치와 외부 기억장치로 나뉨
(1) 주기억장치
- 내부 기억장치에 속함
- 컴퓨터 시스템에서 수행되는 프로그램과 수행에 필요한 데이터를 기억
- CPU에 접근하는 속도가 빠름, 많은 양의 데이터를 기억
- RAM (Random Access Memory)를 현재 사용
(2) 보조기억장치
- 외부 기억장치에 속함
- 반 영구적으로 데이터를 저장하고 보존함
- 중앙처리장치와 직접 정보 교환이 불가능해 주기억장치로 옮겨진 후에 처리됨
- 가격이 저렴하고 저장 용량이 크지만 속도가 느려 빠른 중앙처리장치와 직접적으로 정보 교환이 불가능한 것임
- 자기 디스크, 하드 디스크, CD-ROM 등이 여기에 속함
(3) 캐시 메모리
- 속도가 빠른 장치와 느린 장치 사이에서 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리
3) 기억장치의 계층 구조
- 위에 있을수록 속도가 빠르지만 비싸고, 아래에 있을수록 속도가 느리지만 값이 쌈
- CPU와 주기억장치가 서로 통신으로 하며 프로그램을 진행하는데 주기억장치에 비해 CPU가 너무 빨라 생기는 병목 현상을 줄이기 위해 중간에 캐시기억장치를 두어 속도차를 줄여준다
- 캐시기억장치는 가까운 시일내에 실행해야 하는 것들을 주기억장치에서 받아 갖고 있다가 바로바로 CPU에게 넘겨주어 업무 효율을 높여준다
4) 명령 수행과정 – 머신 사이클
- 프로그램을 구성하는 명령어는 4단계의 과정을 통해 수행됨
- 인출 Fetch : 필요한 명령어를 주기억장치에서 불러옴
- 해독 Decode : 호출된 명령어를 해석함
- 실행 Execute : 해석된 명령어를 산술/논리 연산장치를 통해 실행함
- 저장 Store : 수행결과를 주기억장치에 저장함
5) 제어장치의 기본 동작 과정
< 순서 >
- 명령이 들어오면 기억장치 버퍼 레지스터에 명령이 임시 저장됨
- 기억장치 버퍼 레지스터에 저장 되어있는 명령어를 명령어 레지스터에 저장함
- 명령어 레지스터에 저장된 명령어에서 연산 코드는 명령어 해독기로 이동해 그에 맞는 연산자로 해석되고 기억장치 주소는 기억장치 주소 레지스터에 저장됨. 그와 동시에 프로그램 카운터는 다음 주소를 가리킨다
- 그리고 기억장치 주소 레지스터에 있는 데이터들과 명령어 해독기에 있는 명령어 코드가 누산기로 들어가 계산의 결과를 저장한다
6) 버스
- CPU 내의 산술 논리 연산 장치와 레지스터들 간의 데이터 이동을 위한 통로
- 컴퓨터 메인보드 내 프로세서, 메모리, 주변 장치들을 서로 연결해 시스템이 원활하게 돌아갈 수 있도록 데이터 전송 역하을 하는 통로이다
- 데이터 버스 : 실질적인 데이터를 전달하는 버스
- 제어 버스 : 제어장치에서 발생되는 제어 신호를 전달하는 버스. 데이터 버스를 제어하기 위해 사용
7) 1주차 퀴즈
'Study > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터 구조 - 분기 명령어와 서브루틴 (0) | 2020.05.29 |
---|---|
컴퓨터 구조 - 메모리 구조와 레지스터 (0) | 2020.05.23 |
컴퓨터 구조 - 명령어를 효과적으로 실행하기 위한 기법 (0) | 2020.05.23 |
컴퓨터 구조 - 어셈블리 언어 (0) | 2020.04.18 |
컴퓨터 구조 - 데이터의 표현과 컴퓨터 연산 (0) | 2020.04.18 |
댓글