컴퓨터 구조
- 컴퓨터가 이해하는 정보
- 데이터
- 명령어
- 컴퓨터의 네 가지 핵심 부품
- CPU
- 수행자의 명령에 대한 작업을 수행하는 처리장치
- 산술논리 연산장치(ALU) : 비교, 판단, 연산 담당
- 제어부(CU)와 내부 버스 : 명령어의 해석과 올바른 실행을 위해 CPU를 내부적으로 제어
- 메모리 유닛 - 레지스터 : 처리할 명령어 저장, 범용 레지스터와 특수목적 레지스터로 나뉨
- 범용 레지스터 - 연산에 필요한 데이터나 연산결과를 임시로 저장
- 특수목적 레지스터
- 메모리 주소 레지스터: (MAR) : 읽고 쓰기 위한 주기억장치의 주소를 저장한다.
- 프로그램 카운터 (PC) : 다음에 수행할 명령어의 주소를 저장
- 명령어 레지스터 (IR) : 현재 실행 중인 명령어를 저장
- 메모리 버퍼 레지스터 (MBR) : 주기억장치에서 읽어온 데이터나 저장할 테이터를 임시로 저장
- 누산기 (AC, ACCUMULATOR) : 연산 결과를 임시로 저장
- 메모리 유닛 - 캐시 메모리 : 처리속도를 높여줌
- 동작 순서
- 명령어 인출
- 명령어 해독
- 실행
- 반영
- 성능 - 클럭과 코어
- 클럭 - 1HZ = 1초에 한 번의 주기 > 1GHz = 1초에 1기가 만큼(대략 10억)
- 코어 - 중앙처리 장치 역할을 하는 블록, 멀티코어는 여러개의 작업을 병렬로 처리해 더 빠르게 작업 가능
- 메모리
- 캐시 메모리(SRAM)
- CPU의 캐시 메모리는 L(레이어)1, 여기서 말하는 캐시 메모리는 L2,L3이며 L1은 연산하기 위한 데이터를 저장하는 곳이고 L2, L3은 메인 메모리와 CPU의 속도차이를 극복하기 위한 곳
- 메인 메모리(DRAM)
- 메인 메모리 = 주기억장치 = RAM(DRAM)
- CPU가 처리중인 데이터나 명령만을 일시적으로 저장하는 휘발성 메모리
- 따라서 컴퓨터가 꺼지면 데이터도 사라지며, 컴퓨터가 꺼진 후에도 데이터를 유지하고 싶다면 하드디스크에 저장해야 한다.
- 대신 하드 디스크보다 접근 속도가 빠름
- 캐시 메모리(SRAM)
- 입출력장치
- 입력장치의 종류는 키보드, 마우스, 터치스크린 등이 있다.
- 출력장치는 모니터, 스피커, 프린터 등이 있다.
- 보조기억장치
- 사용자가 저장하고자 하는 데이터와 프로그램을 반영구적으로 저장
- 비휘발성 메모리
- CPU
CPU와 메모리 구조
- 하버드 구조
- 메모리가 명령어 메모리와 데이터 메모리로 나뉜다.
- 명령어 메모리 = 프로그램에서 사용할 명령어를 모아둔 메모리
- 데이터 메모리 = 명령어들로 사용될 메모리
- 장점 : 메모리가 두개이기 때문에 역할이 나누어져 있으며 속도가 빠르다.
- 단점 : 구성이 많기 때문에 비싸며, 복잡한 구성으로 고장이 날 확률이 높다.
- 폰노이만 구조
- 보조기억장치에서 데이터들이 CPU에서 연산되기 위해서 하나의 메모리에 올라갑니다.
- 제어장치는 산술논리장치에 데이터가 메모리 어디에 위치한지 알려주는 역할을 합니다.
- 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있습니다. 이로인해서 병목현상이 일어납니다.
- 그 외 개선된 구조
- 하버드 + 폰노이만
- CPU 내부 - 하버드 : CPU 내부에 캐시를 둬서 RAM과 CPU 간의 속도 차이를 줄이려고 노력
- CPU 외부 - 폰노이만 : 메모리 하나에 하나의 버스를 가지는 구조이기 때문에 병목현상이 아직까지는 존재
'TIL > CS' 카테고리의 다른 글
디자인 패턴 (0) | 2023.10.11 |
---|---|
DBMS의 기능과 종류 (0) | 2023.08.30 |
쓰레드와 쓰레드 풀 (0) | 2023.08.24 |
프로그램과 프로세스 (0) | 2023.08.22 |
CPU와 메모리 예상 문답 (0) | 2023.08.22 |