컴퓨터는 0과 1로 표현된 정보만을 이해하며, 이는 데이터와 명령어로 되어 있다.
ex)
데이터 : 안녕하세요.
명령어 : '안녕하세요'를 화면에 출력하라.
현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
즉, 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다.
메모리는 주소(address)를 가진다.
메모리의 종류에는 여러 가지 종류와 쓰임새가 있다. 이를 표현한 계층도를 메모리 계층 구조(Memory Hierarchy)라고 한다.
- 캐시(Cache) 메모리는 주/보조기억장치에 접근하는 시간을 줄이기 위한 임시장치
메모리에 저장된 명령어를 읽고 해석하며 처리하는 부품
x86 아키텍처의 영령어 개수는 많고 복잡
- CISC(Complex Instruction Set Computer) : 명령어가 많고 복잡한 컴퓨터
- RISC(Reduced Instruction Set Computer) : CISC에서 주로 사용되는 명령어만 남긴 컴퓨터 (예 : 모바일 칩셋에 들어가는 ARM 아키텍처)
: RISC는 Load-Store 아키텍처라고도 불린다.
레지스터(register)
: 프로그램을 실행하는 데 필요한 값들을 임시 저장
: CPU안에 존재하는 메모리이며, CPU에는 여러 개의 레지스터가 존재
: ALU가 사용할 데이터, 명령코드, 결과 데이터 등 모두 레지스터에 저장 = 메모리에 있는 데이터를 사용 및 저장하기 위해 레지스터를 걸쳐야 한다.
제어장치(CU : Control Unit)
: 제어신호(Control Signal)라는 전기 신호로 명령어를 해석하는 장치
: 제어 신호는 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호
: 메모리에서 명령코드와 피연산자를 가져와 ALU에게 어떤 연산을 수행할지 알려주고, 결과를 메모리에 돌려준다.
- CPU가 메모리에 저장된 값을 읽고 싶을 때 'Read'라는 제어신호를 전달
- CPU가 메모리에 값을 저장하고 싶을 때 'Write'라는 제어신호를 전달
메모리를 보조할 저장 장치
종류 : 하드 디스크, SSD, USB 메모리, DVD, CD-ROM 등
컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
- 컴퓨터로 데이터를 주는 것 = 입력 (키보드 및 마우스 등)
- 컴퓨터로 데이터를 받는 것 = 출력 (모니터 및 프린터 등)
폴링 레이트(Polling Rate)
: 마우스 및 키보드 버튼 등의 입력 감지
: 폴링(Polling)이란 주기적으로 무언가를 처리하는 기법
: 폴링 레이트 1000Hz = 1000분의 1초마다 입력을 감지
리프레시 레이트(Refresh Rate)
: 모니터 화면을 그리는 것
: 특정 주기마다 새로운 화면을 그리는 것
: 리프레시 레이트 75Jz = 1초에 75번 화면을 그려주는 것
: 게임 프레임과 모니터 리프레시 레이트가 일치하지 않는다면 문제가 발생
1) 테이링(Tearing)
2) 스터터링(Stuttering)
이 두가지를 해결하기 위해 수직 동기화(Vertical Synchronization)
메인보드 = 마더보드(Mother Board)
CPU / Memory / I/O / 보조기억장치는 모두 메인보드라는 판에 연결된다.
메인보드 내 버스(Bus)를 통해 연결된 부품들은 서로 정보를 주고받을 수 있다. 컴퓨터 내부에는 다양한 종류의 Bus가 있다.
시스템 버스(System Bus) : 컴퓨터 핵심 부품 4가지를 연결하는 가장 중요한 Bus이다.
시스템 버스
- 주소 버스(address bus) : 주소를 주고받는 통로
- 데이터 버스(data bus) : 명령어와 데이터를 주고받는 통로
- 제어 버스(control bus) : 제어신호를 주고받는 통로
혼자 공부하는 컴퓨터구조 + 운영체제
01. 컴퓨터 구조 시작하기 (30p - 51p)