컴퓨터 구조 훑어보기
정보는 비트와 맥락으로 구성된다.
맥락: 같은 비트 패턴이라도 정수, 부동소수점, 기계어 명령 등 다양하게 해석 가능
프로그램 번역 과정(C언어)
- 전처리 단계: 헤더파일 포함하기, 매크로 처리 등 (앞에 #붙는거 처리 (#include, #define...)) (hello.c -> hello.i)
- 컴파일 단계: C컴파일러가 어셈블러로 바꿈 (hello.i -> hello.s)
- 어셈블리 단계: 어셈블러가 기계어로 번역 (hello.s -> hello.o)
- 링크 단계: 목적파일들 통합해 실행 파일 만듬 (hello.o -> hello(윈도우라면 exe))
컴퓨터의 하드웨어 조직
- CPU(프로세서): 해독, 실행, 연산, 저장 등의 작업 수행
- 프로그램 카운터: 작업이 수행되는 메모리의 주소를 가리킨다. (카운터가 가리킴 -> 그 주소에 있는 명령 읽기, 해석 -> 실행 -> 카운터는 다음 명령 가리킴)
- 레지스터 파일: 워드 크기의 프로세서 레지스터 집합. (프로세서 레지스터: CPU의 프로세서 안에 자료를 보관하는 매우 빠른 저장소)
- 수식 논리 처리기(ALU)
- 캐시 메모리: 프로세서가 단기간에 필요로 할 가능성이 높은 데이터를 미리 임시 저장
- Bus: 데이터 이동하는 도로. 워드 크기로 데이터 전송
- 주기억장치: 프로그램을 실행하는 동안 데이터와 프로그램을 저장하는 "임시" 저장장치 (끄면 날아감)
- 보조기억장치: 주기억장치의 확장으로, 데이터가 영구적으로 저장
(컴퓨터 사용 중엔 램에서 프로그램 돌리다가 저장하면 보조기억장치로 넘어감) - 외부 장치: 입출력장치, USB 등등
하드웨어 메모리 성능 (작고, 빠르고, 비싸다 <-> 크고, 느리고, 싸다)
- 레지스터 (젤 빠름)
- 캐시
- 주기억장치
- 보조기억장치
- 기타 저장장치 (웹하드 등)
728x90
반응형
'CS > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조](9)[운영체제의 추상화] (0) | 2025.01.17 |
---|---|
[컴퓨터 구조](8)[하드웨어의 동작 + 암달의 법칙] (0) | 2025.01.16 |
[컴퓨터 구조](6)[부동 소수점의 연산] (2) | 2025.01.14 |
[컴퓨터 구조](5)[부동 소수점] (4) | 2025.01.13 |
[컴퓨터 구조](4)[정수의 연산] (0) | 2025.01.10 |