여기서는 컴퓨터의 기본적인 동작인 데이터 입력, 출력, 처리, 저장을 수행하는 컴퓨터의 주요 구성요소에 대해 알아봅니다.
Components of a Computer
컴퓨터의 주요 구성요소에는 5가지가 있습니다.
- Datapath : 데이터에 대한 연산 수행
- Control : Datapath, Memory, I/O device 등의 동작을 제어
- Memory : 데이터 저장
- Cache Memory : 즉각적으로 데이터에 접근하기 위한 작고 빠른 SRAM 메모리
SRAM은 빠르지만 비싸기 때문에 보통 많은 용량을 가지고 있지 않다.
- Input & Output : 아래 기기들과 컴퓨터 사이에 발생하는 입출력
- User-Interface Devices : 디스플레이, 키보드, 마우스 등 사용자와 상호작용하는 기기
- Storage Devices : 하드디스크, CD/DVD, Flash
- Network Adapters : 다른 컴퓨터와의 통신
Datapath, Control, Cache Memory는 Processor에 포함되어 있다.
Abstractions and ISA
Abstraction
- 세세한 부분을 숨기고 핵심적인 것만 드러내는 것
- 추상화의 예로 ATM을 들 수 있다.
- 직접 은행 업무를 볼 때 : 은행 직원에게 "이 통장에 100만원 입금하고 싶은데요"로 시작해서 질문 - 답을 몇 차례한 다음 직원이 처리를 하면 입금이 완료된다.
- ATM 이용 : 입금 -> 통장 넣기 -> 돈 넣기 -> 완료
- ATM은 "이 통장에 100만원 입금하고 싶은데요"에서 입금, 통장, 100만원이라는 핵심적인 정보만 입력하면 되도록 추상화한 것이다. 이 때 ATM의 입금 버튼, 통장 넣는 곳, 돈 넣는 곳은 사람이 기계에서 데이터를 줄 수 있도록 추상화 과정에서 추가된 인터페이스라 할 수 있다.
Instruction Set Architecture(ISA)
- 하드웨어와 Low-Level 소프트웨어(Ex - OS) 간의 인터페이스
- 중요한 추상화
- 프로세서가 실행할 수 있는 명령어를 정의
- 제대로 동작하는 바이너리 기계어 프로그램을 만들기 위해서는 알아야 함
- 같은 아키텍쳐에 대해 다른 하드웨어로 구현할 수 있음
댓글 영역