728x90
반응형
컴퓨터 시스템 구성
- 하드웨어
- 중앙처리장치(CPU)
- 기억장치(RAM, SSD, CACHE, REGISTER)
- 입출력장치(마우스, 키보드, 프린터, 화면)
- 소프트웨어
- 시스템 소프트웨어(응용체제, 컴파일러)
- 응용 소프트웨어(워드프로세서, 스프레드시트)
하드웨어
1. 중앙처리장치(CPU)
컴퓨터에서 두뇌 역할을 담당하며 연산장치, 제어장치, 레지스터로 구성되어 있으며, 이 세 가지는 시스템버스로 서로 연결되어 있음.
- 연산장치(=산술논리장치)
- 연산에 필요한 데이터를 누산기 레지스터에서 가져옴
- 산술연산과 논리연산 수행
- 최종 연산 결과는 메모리 버퍼 레지스터를 통해 다시 주기억장치(메모리)로 전송
- 제어장치
- 명령어 레지스터에 있는 명령어를 받아 해석하고 그에 따라 실행할 시스템(기억장치, 연산장치, 입출력장치)에 제어신호를 보내어 다음 수행할 동작 결정(명령어를 순서대로 실행할 수 있도록 제어)
- 레지스터
- CPU내부에서 데이터를 일시적으로 저장하는 저장소이며 속도가 빠름
- 레지스터 구분 및 사이클
- 프로그램 카운터(PC): 다음에 수행할 메모리(주기억장치) 주소
- 메모리 주소 레지스터(MAR): 프로그램 카운터에서 수행할 주소를 받은 후, 그 주소를 찾아가 데이터 가져와 메모리 버퍼 레지스터에 저장(메모리의 데이터를 CPU로 가져옴=인출)
- 메모리 버퍼 레지스터(MBR): 메모리 주소 레지스터가 가져온 데이터 및 명령을 일시적으로 저장하며, 연산에 사용되는 데이터는 누산기 레지스터로 전송하고 명령어 관련 데이터는 명령어 레지스터로 전송. 다음 명령어 인출을 위해 프로그램 카운터값 증가(비트에 따라 +2 또는 +4 또는 +8). 최종 연산 결과를 받아 메모리에 저장
- 명령어 레지스터(IR): 메모리 버퍼 레지스터에 저장되는 것 중 명령어 관련 데이터를 받고 제어장치로 전송(=해석)
- 누산기 레지스터(AC): 메모리 버퍼 레지스터에 저장되는 것 중 연산 관련 데이터를 받음. 제어장치의 신호에 따라 연산장치로 데이터 전송. 즉, 연산장치로 보내기 전의 중간 값을 저장하거나 연산장치에서 계산된 결과를 다시 받아 일시적으로 저장(최종 결과는 메모리 버퍼 레지스터를 통해 메모리로 전송)
※ 명령어 + 데이터
- 명령어는 1과 0의 개수가 6개인 6비트로 이루어짐
- 데이터는 10비트로 이루어짐
- 명령어와 데이터를 한 줄로 나열하면 16비트가 됨
- RAM은 8비트씩 저장되므로 명령어+데이터를 두 줄로 나누어 저장(두 줄이 프로세서가 한 번에 처리할 수 있는 하나의 언어)
- 명령어+데이터가 32비트이면 RAM에 4줄로 저장되고, 64비트이면 8줄로 저장됨
CPU 동작 과정 요약 (read → process →write)
1. 주기억장치는 입력장치에서 받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어옴
2. CPU는 프로그램을 실행하기 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽어와 처리한 후 결과를 다시 주기억장치에 저장
3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냄
4. 제어장치는 1~3과정에서 명령이 순차적으로 수행되도록 각 장치에 지시보냄
2. 기억장치
프로그램의 명령어와 데이터 및 연산 결과 저장
- 주기억장치: CPU가 직접 데이터를 읽고 저장할 수 있는 장치. 캐시메모리나 레지스터보다 용량이 큼
- 보조기억장치: 주기억장치에 비해 속도가 느리지만 많은 데이터를 영구적으로 보관할 수 있음
- 캐시메모리: CPU가 주기억장치에서 데이터를 가져오는 속도를 줄이기 위해 사용하는 장치. 속도는 빠르나 용량이 적으므로 자주 쓰이는 중요한 데이터만 저장
- 레지스터: CPU내부에서 데이터를 일시적으로 저장하는 장치
※ 속도: [빠름] 레지스터 > 캐시 메모리 > 주기억장치(RAM) >>>> 보조기억장치(SSD) [느림]
3. 입출력장치
- 입력장치: 컴퓨터 내부로 자료 입력 (마우스, 키보드 등)
- 출력장치: 컴퓨터에서 외부로 자료 출력 (프린터, 화면 등)
※ 시스템버스
하드웨어 구성요소를 물리적으로 연결하는 선
- 데이터버스: 기억장치 및 입출력장치의 명령어+데이터를 CPU로 보내거나, 처리 결과를 다시 기억장치 및 입출력장치로 보내는 양방향 버스
- 주소버스
- 제어버스
[reference]
- https://www.youtube.com/watch?v=Fg00LN30Ezg
- https://gyoogle.dev/blog/computer-science/computer-architecture/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%20%EA%B5%AC%EC%84%B1.html
728x90
반응형
'CS > 컴퓨터구조' 카테고리의 다른 글
[Computer Architecture] 캐시 메모리 (Cache Memory) (0) | 2022.03.24 |
---|---|
[Computer Architecture] 패리티 코드 , 해밍 코드 (0) | 2022.01.14 |
[Computer Architecture] 고정 소수점 , 부동 소수점 (0) | 2022.01.14 |
댓글