이 문서는 2022년 11월 04일에 @sumin-dev에 의해서 작성되었습니다.
1. 컴퓨터 시스템 구성요소
1.1. 프로세서(CPU)
1.2. 버스
1.3. 레지스터
1.4. 메모리
1.5. 주변 장치
2. 컴퓨터 시스템의 동작
2.1. 컴퓨터 시스템의 동작 과정
2.2. 명령어의 구성
2.3. 명령어 실행
- 컴퓨터 시스템은 데이터를 처리하는 물리적인 기계장치인
하드웨어
+ 특별한 작업을 지시하려고 명령어로 작성한 프로그램인소프트웨어
로 구성 - 운영체제는 컴퓨터 하드웨어와 사용자 사이에 위치해 하드웨어와 소프트웨어 자원을 관리하는 프로그램
▶ 컴퓨터 하드웨어 장치가 세부적으로 어떻게 구성되고 동작하는지 알아보자!
- 컴퓨터의 두뇌
- 초당 수십억 회 연산을 하고 데이터를 여기저기 옮기며 다른 구성 요소의 작업을 제어
- 레지스터, 산술 논리 연산장치, 제어장치 등으로 구성
- 컴퓨터는 주기억장치를 제외한 레지스터, 산술 논리 연산장치, 제어장치를 칩 하나로 구성한 마이크로프로세서를 이용
- 프로세서를 비롯한 각 장치 또는 서브 시스템을 서로 연결하여 정보(데이터)를 주고 받을 수 있게 해주는 통로
- 컴퓨터 내부의 다양한 신호(ex. 데이터 입출력 신호, 프로세서 상태 신호, 인터럽트 요구와 허가 신호 등)는 버스를 통해 전달
- 프로세서에 위치한 고속 메모리
- 프로세서가 바로 사용할 수 있는 데이터를 담는다
- 메인 메모리
- 가상 메모리
- 메인 메모리의 유효 크기를 늘리는 기법
- 디스크 같은 보조기억장치에 프로그램이나 데이터를 저장했다가 필요할 때 다시 메인 메로리로 이동시키는 기술
- 캐시
- 컴퓨터의 기능을 향상하기 위한 추가 장비
- 입출력 장치, 보조기억장치, 스캐너 등
- 컴퓨터 시스템은 정보를 디지털 형태로 입력받아 메모리에 저장된 명령어 목록(프로그램)에 따라 처리하고, 결과를 출력하는 일종의 고속 전자계산기
- 다음과 같은 순서로 동작하고 모든 동작은 제어장치가 제어
1. 입력장치를 통해 정보를 입력받아 메모리에 저장
2. 메모리에 저장한 정보를 프로그램의 제어에 따라 인출해 산술 장치나 논리 장치에서 처리
3. 처리한 정보를 출력장치에 표시하거나 디스크(보조기억장치)에 저장
- 여기서 정보는 명령어와 데이터로 구분
- 명령어는 실행할 산술 논리 연산 동작을 명시하는 문장
- 프로그램은 어떤 작업 하나를 수행하기 위한 명령어의 집합
- 프로그램은 실행 시 메모리에 저장되고, 프로세서는 프로그램을 구성하는 명령어를 메모리에서 한 번에 하나씩 꺼내 원하는 동작을 수행
- 명령어(Instruction) :
연산 코드
+오퍼랜드
- 연산 코드(Operation Code) : 프로세서가 실행할 연산을 나타냄
- 오퍼랜드(Operand) : 명령어가 처리할 데이터나 데이터가 저장된 주소(레지스터, 메모리)에 관한 정보를 기술
- 명령어는 0과 1의 이진 코드화 되어 있음
- 연산코드가 n비트라면 최대 2^n가지의 연산이 가능
Y = x + b # Y : 목적 오퍼랜드 # x, b: 원시 오퍼랜드 # + : 연산 종류(오퍼레이터)
-
위 과정은 프로세서의 제어장치가 수행
-
프로세서는 메모리에서 명령어를 한 번에 한 개씩 인출하고 해석하여 연산
-
명령어를 인출하여 연산 완료 시점까지를 인출-해석-실행 사이클(명령어 실행 사이클)