컴퓨터 구조(Computer Architecutre)란?
- 컴퓨터 시스템의 전체적인 구조와 동작 방식으로, 하드웨어의 다양한 측면을 다룬다.
컴퓨터 구조를 배워야 하는 이유?
- 컴퓨터 구조를 이해하면 하드웨어의 작동 원리를 파악할 수 있고, 하드웨어에 최적화된 코드를 작성할 수 있다.
- 하드웨어와 소프트웨어 간의 관계를 이해하여, 코드 디버깅 시 용이하다.
- 운영체제, 드라이버, 네트워크 같은 시스템 수준에서 개발에 필수적인 지식을 이해할 수 있다.
명령어 집합 구조(Instruction Set Architecture)란?
- 프로세서와 소프트웨어 간의 인터페이스이다.
- 명령어의 종류, 명령어의 형식, 레지스터 등을 규정한다.
- MIPs, ARM, x86 family 등이 있으나 해당 블로그에서는 MIPs를 기준으로 한다.
프로세서(CPU)의 구성 요소
- 제어장치(Control): 명령어를 해석한 뒤, 하드웨어 구성 요소의 동작을 조정 및 제어한다.
- 레지스터: 작고 빠른 메모리로 데이터를 일시적으로 저장하고 처리하는 구성 요소이다.
- 산술논리장치(ALU): 산술 및 논리 연산을 수행한다.
- 프로그램카운터(PC): 현재 실행 중인 명령어의 주소를 가리키는 레지스터(혹은 다음에 실행할 명령어의 주소를 가리킨다.)
- 캐시 메모리(Cach Memory): 메인 메모리에서 데이터를 미리 읽어 저장하여, 수행 속도를 높인다.
- 예시) 메모리의 12번지에 있는 명령어를 읽어(fetch)와 수행한 뒤, 결과를 메모리의 15번지에 저장한다.
MIPs
- 어셈블리 언어를 기반으로 하여 기계(0 - 1)에 가까운 낮은 수준의 언어로, 프로그래머는 저수준 작업을 수행할 수 있다.
- RICS(Reduced Instruction Set Computing) 아키텍처를 기반으로 한다.
- 네트워크 장비나 임베디드 시스템 등에서 사용된다.
MIPs의 레지스터
- 32-bit의 레지스터가 32개 있는 형태이다.
- 레지스터 파일: 레지스터의 값을 읽거나 써서 CPU의 레지스터를 관리함. MIPs의 레지스터 파일은 32개의 32비트 레지스터를 가진다.
MIPs의 명령어 유형
- 연산 명령어(Arithmetic / Logic Instruction): ALU operations
- 메모리 접근 명령어(Data transfer instruction): Load / Store instruction
- 분기 명령어(Branch instruction): Control transfer instruction
'수업 정리 > 컴퓨터 구조' 카테고리의 다른 글
#03_signed/unsigned number, overflow, out-of-range (2) | 2024.01.03 |
---|---|
#02_2진수, 16진수, 10진수, 변환 예제 (3) | 2024.01.03 |