728x90
0.7 CPU의 기본 구조
- 보조 기억 장치에 있는 프로그램을 주 기억 장치(메모리) 로 복사시킨 후 (프로그램이 메모리에 올라감) 그 복사된 프로그램을 CPU가 실행시킴
- 보통 빠른 속도를 위해 OS는 SSD에 저장
- SSD가 가격대비 용량이 적어 자료는 HDD에 저장
- 프로그램 : 실행시켜야 할 명령들이 나열된 것
- CPU 명령어 집합(Instruction Set)
- 니모닉 (Mnemonic. 기계어로 된 명령어들을 인간이 이해할 수 있는 단어로 대치한 것) 들이 모여있는 집합
- ADD, STORE등 CPU가 수행하는 최소 단위의 작업들이 모여있음
- 이러한 기본적인 작업들을 조합해 복잡한 기능을 수행함 (프로그래머가 하는 일)
- 제어 장치 : 일을 할 때 관리를 하는 부분
- 산술 논리 장치(Arithmetic Logic Unit) : 실제로 연산/계산을 하는 부분
- 레지스터 : CPU가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 공간. 계산 할 때 작업 공간 역할을 함. 메모리와 가깝게 일을 함
* 레지스터와 메모리는 다름
0.8 CPU가 일하는 방법
1. OS가 하드디스크로부터 프로그램을 읽어와서 CPU한테 프로그램의 시작점(100)이 어딘지 알려줌
2. 프로그램 카운터에 그 시작점의 주소(100)를 저장
3. 메모리 주소 레지스터에 그 주소값(100)을 저장
4. 메모리 주소 레지스터에 있는 주소에 접근해서 그곳의 데이터(LOAD 10)를 메모리 데이터 레지스터에 넣음
5-1. 그 데이터가 명령어(instruction)이면 명령어 레지스터로 가고, 그 명령어가 제어 장치로 가서 제어 장치가 그 명령어를 Decode(해독-명령을 해석함) 하여 그 명령어를 실행함 - 위의 경우에는 LOAD 10을 실행
5-2. 메모리 데이터 레지스터의 데이터가 연산에 사용되는 데이터이면 어큐뮬레이터로 감 -> ALU에서 계산할 때 사용하고, 그곳에서의 계산 결과도 어큐뮬레이터로 감
6. 위의 과정이 끝나면 프로그램 카운터의 주소가 하나 증가함 (프로그램 카운터는 다음에 읽어올 데이터의 주소를 가지고 있어야 하므로)
- 어큐뮬레이터는 ALU와 밀접하게 작동 함
강의 출처 : https://www.inflearn.com/course/following-c/dashboard
'Study_C, C++ > 홍정모의 따라하며 배우는 C언어' 카테고리의 다른 글
[홍정모의 따라하며 배우는 C언어] 1.5 통합개발환경 소개 ~ 1.7 비주얼 스튜디오 2019의 기본적인 사용법 (0) | 2021.07.02 |
---|---|
[홍정모의 따라하며 배우는 C언어] 1.1 C언어의 탄생 ~ 1.4 소프트웨어 개발의 7가지 단계 (0) | 2021.07.01 |
[홍정모의 따라하며 배우는 C언어] 0.9 정보의 단위 ~ 1.0 C언어를 제대로 배우는 방법 (0) | 2021.06.30 |
[홍정모의 따라하며 배우는 C언어] 0.4-컴퓨터는 왜 2진수를 사용할까? ~ 0.6-컴퓨터 메모리의 기본 구조 (0) | 2021.06.29 |
[홍정모의 따라하며 배우는 C언어] 0.1-컴퓨터의 구성 요소들 ~ 0.3 운영체제가 해주는 일들 (0) | 2021.06.29 |