1. 컴퓨터의 3대 구성요소
* 컴퓨터 시스템
하드웨어 | CPU, 메모리, I/O장치 |
소프트웨어 | OS, 시스템 소프트웨어, 응용 소프트웨어 |
* 컴퓨터의 3대 요소
1) CPU(중앙 처리 장치) : 두뇌 역할,명령 해석하고 실행하기 까지..
연산 논리 장치(ALU) | 실제 산술/논리 연산 수행하는 장치 |
레지스터 | CPU 내부에서 처리할 명령어/연산결과/주소 일시적으로 기억하는 기억장치 |
제어장치(CU) | 모든 장치 동작을 지시하고 제어 |
2) 메모리(기억 장치) : 데이터 저장하고 접근하는 역할, 컴퓨터 프로그램/데이터를 일시 또는 영구로 저장하는 공간
주기억장치 | 램(RAM) | 빠른 데이터 접근 속도. 데이터 일시저장, 전원 끄면 내용 사라짐(휘발성). |
롬(ROM) | 데이터 영구 저장. 내용 변경 불가 | |
보조기억장치 | 하드디스크드라이브(HDD) | 대용량 데이터 영구 저장 |
솔리드 스테이트 드라이브(SSD) | 빠른 데이터 접근 속도, 비휘발성 메모리 장치 | |
플래시 드라이브, CD, 블루레이 .. | 이동식 저장장치 |
3) I/O장치(입출력 장치) : 컴퓨터와 외부 환경간의 데이터 교환 담당
입력 장치 | 데이터 -> 컴퓨터 | ex) 키보드, 마우스. 스캐너, 마이크 ... |
출력장치 | 컴퓨터 처리결과 -> 사용자 | ex) 모니터, 프린터, 스피커 |
2. CPU의 동작 원리
* CPU 란?
컴퓨터 시스템의 핵심적인 구성요소로 컴퓨터의 뇌 역할을 함.
입력장치로부터 자료를 입력받아 연산 후, 결과를 출력 장치로 보내 과정을 제어하는 역할을 함.
* CPU의 역할
- 연산 : 연산장치는 레지스터에서 데이터를 가져오고 결과를 다시 레지스터로 보냄
- 제어 : 명령어 순서대로 실행하도록 하는 제어장치, 명령어 꺼내 해석하고 결과에 따라 실행에 필요한 제어 신호를 기억/연산/입출력 장치로 보냄
- 저장 : 연산에 필요한 것들을 임시저장(범용 레지스터/특수 목적 레지스터)
* CPU의 구성 요소
- 제어장치(CU) : 모든 장치 동작을 지시하고 제어함.
명령 레지스터에서 읽어들인 명령어 해석 후, 해당하는 장치에 신호 보내 실행을 지시함.
- 연산장치(ALU) : 제어장치로부터 받은 명령에 따라 실제 연산 수행하는 장치, CPU의 핵심 요소로 다양한 산술 논리연산 처리.
- 레지스터 : CPU 내부에서 처리할 명령어/연산결과/주소 일시적으로 기억하는 기억장치
CPU에서 사용하는 특수 목적 레지스터의 종류는 매우 다양함.
1) PC(Program Counter) : 다음번에 수행할 메모리 주소 지정
2) MAR(Memory Address Register) : 그 주소의 메모리 위치를 지정
3) MBR(Memory Buffer Register) : 그 위치의 데이터를 임시 저장
4) IR(Instruction Register) : 명령어 레지스터, 명령어를 저장하고 해독
5) Accumulator(누산기) : 데이터를 연산하고 그 결과를 일시적으로 저장
- 각 구성요소 연결하는 CPU 내부 버스 : ALU와 레지스터간 데이터 이동을 위한 데이터, 주소 선들, 제어장치로부터 발생되는 제어 신호를 전송하는 선들로 구성
* CPU의 동작 과정
1) fetch (명령어 인출) : 메모리상의 PC가 가리키는 명령어를 프로세스로 가져오는 단계
2) decode(명령어 해독) : 명령어 해석해서 명령어 종류/타겟 판단 후, 처리할 컨트롤 신호 생성하는 단계, IR에 있는 명령어 해석
3) execute(실행) : 해석된 명령어에 따라 ALU가 데이터 연산 수행, 필요 데이터는 레지스터/메모리에서 가져오고 결과는 다시 누산기/범용 레지스터에 저장
4) writeback(쓰기) : 명령어대로 처리된 데이터를 기록하는 단계, 주로 범용 레지스터/메모리 에 저장되고 필요에 따라 메모리에 저장
-> 각 단계는 클럭 사이클 동안 반복적으로 수행
(* 클럭 : CPU 속도를 나타내는 단위, 각 클럭 사이클 동안 CPU는 위의 단계 중 하나를 수행)
* CPU와 기억장치 상호작용
CPU에 비하면 하드디스크는 너무 느림 -> CPU는 하드디스크와 소통 X, RAM과 소통
하드디스크/SSD 데이터를 RAM으로 옮기고 그 데이터를 가져옴.
하지만, RAM도 CPU에 비하면 느림.
-> CPU 내부나 근처에 캐시 메모리 만들어 그 곳에 저장
캐시 메모리는 용량이 RAM보다 매우 작아서, 중요 판단되는 데이터만 저장.
캐시 메모리 레벨으로는 1,2,3이 있는데 레벨 높을수록 속도 느리고 용량이 큼.
속도) SSD -> RAM -> CACHE -> REGISTER
(느림) (빠름)
'스터디 > CS 스터디 (24.06-24.11)' 카테고리의 다른 글
알고리즘 : 시간/공간 복잡도 (0) | 2024.06.28 |
---|---|
알고리즘 : 그래프 탐색, DFS/BFS, DP (0) | 2024.06.28 |
알고리즘 : 정렬(선택, 삽입, 거품, 힙, 병합, 퀵, 팀 정렬) (0) | 2024.06.17 |
자료구조 : 트리(편향, 균형, 레드블랙, 다양한 이진트리..) (1) | 2024.06.11 |
자료구조 : 배열, 연결리스트, 해시 (1) | 2024.06.11 |