개발모음집

컴퓨터 과학 총론, 휴먼싸이언스, 이광수 외 3명 공역 Chapter 02 데이터 조작 본문

Theory

컴퓨터 과학 총론, 휴먼싸이언스, 이광수 외 3명 공역 Chapter 02 데이터 조작

void 2016. 6. 27. 17:02

컴퓨터과학개론은 학교수업으로 들었는데, 제대로 이론을 공부하기위하여 복습 겸 헷깔리거나 기억해야할 만한 것만 정리한다.


Chapter 02 데이터 조작


1) 중앙처리장치(cpu, central processing unit) 

: 데이터 조작을 제어하는 컴퓨터안의 회로

-> = 프로세서, 우표크기 절반크기의 cpu를 마이크로프로세서라고 부른다.


중앙처리장치는 연산잔치, 제어장치, 레지스터장치등의 세 부분으로 구성된다.


(1) 연산잔치: 데이터에 대한 덧셈이나 뺄셈과 같은 연산

(2) 제어장치: 컴퓨터의 동작을 조정하는 회로를 포함

(3) 레지스터장치: cpu 내에서 정보를 임시로 저장하기 위해 사용되며 개념상 주기억장치 셀들과 비슷하다.

이 레지스터는 범용 레지스터와 용도 지정 레지스터로 나눠진다.

(3.1) 범용 레지스터: cpu에서 조작되는 데이터를 위한 임시 저장 공간

(3.2) 용도 지정 레지스터 : 명령 레지스터 + 프로그램 카운터

(3.2.1) 명령 레지스터: 실행될 명령을 보관하기 위해 사용된다.

(3.2.2) 프로그램 카운터: 컴퓨터가 현재 프로그램의 어느 부분에 와있는지 추적하는 수단으로 사용되고, 다음에 실행될 명령의 주소를 갖고 있다.


2) 기계주기 인출 --> 해석 --> 실행

(2-1) 인출 단계에서 cpu는 프로그램 카운터가 가리키는 주소에 저장된 명령을 달라고 주기억장치에 요청한다. (메모리 셀의 내용을 읽어오는 것 포함)

(2-2) cpu는 메모리에서 받아온 명령을 명령 레지스터 안에 넣은 다음 프로그램 카운터를 (메모리크기인) 2byte만큼 증가시켜 메모리에 저장된 다음 명령의 주소를 갖게 만든다.

(2-3)이제 명령은 명령 레지스터 안에 있고, cpu가 명령을 해석( 명령코드 필드와 피연산자 필드를 나누는 작업)

(2-4) 명령 실행, 

(2-5) 다시 인출단계에서 기계 주기 시작



3) 버스:  cpu와 주기억장치(RAM)라 불리는 전선 묶음으로 연결되어 있다.

cpu가 주기억장치에 데이터를 저장할 때에도 목적지 셀의 주소, 저장될 데이터, 적절한 전자 신호 등을 주기억장치 회로에 보낸다.


4) 기계어 :

인코딩된 기계 명령은 명령코드 필드(4bit) 와 피연산자 필드(12bit), 두 부분으로 구성된다. 16진법(4자리)


5) 제어기: 컴퓨터와 다른 장치 사이의 통신은 보통 제어기라고 불리는 중개 장치를 통해 처리한다.


각 제어기는 컴퓨터의 cpu와 주기억장치를 연결하는 버스에 연결을 만들어 켬퓨터를 통신한다.

각 제어기는 주기억장치에서는 무시하도록 되어 있는 특정 주소들에 반응하도록 설계한다. 따라서 cpu가 어떤 제어기에 지정된 메모리 주소에 비트 패턴을 저장하기 위해 버스 상에 메시지를 보내면, 이 비트 패턴은 실제로 주기억장치가 아니라 해당 제어기 안에 저장된다.

마찬가지로 cpu가 그러한 메모리 주소에서 데이터를 읽을 시도하면, cpu는 메모리가 아니라 제어기로부터 비트 패턴을 받게 될 것이다. 이 것을 메모리-사상(memory-mapped  I/O)라고 부른다.


(5.1) 직접 메모리 접근

cpu가 버스를 사용하지 않는 사이 제어기가 ram에 접근할 수 있는 기능

(5.2) 폰노이만 병목 현상

각자 통신을 하다보니 정체현상이 일어날 수 있다.


6) 통신속도

전송되는 속도는 초 당 비트 수(bits per second, bps)라 한다.

Kbps(1000 bps)

Mbps(100만 bps)

Gbps(10억 bps)


* 참고

8Kbps = 초 당 1KB


대역폭: 통신 경로의 최대 전송속도