'CPU'에 해당되는 글 1건

01 하드웨어 구성

 

1) 중앙처리장치(cpu)

 

제어장치 연산장치 레지스터로 구성

 

제어장치 - 명령어 해석, 동작 지시

연산장치 - 산술연산, 논리연산 ALU

레지스터 - 명령어, 데이터, 연산결과 저장

 

 

명령어 처리 3단계

 

fetch - decode - execute

 

2) 레지스터

 

범용 레지스터 - 연산 관련 데이터 저장

특수 목적 레지스터 1. 프로그램 카운터 - 다음 실행 명령어 주기억장치 주소 저장

                             2. 명령어 레지스터 - 현재 실행 중인 명령어를 저장한다.

                             3. 스택 포인터 - 스택의 주소

 

 

3) 주기억장치

 

 

중앙처리 장치와 사이의 버스

 

1. 주소버스 - 주기억장치의 어느 위치에서 데이터를 읽을지 쓸지

2. 데이터버스 - 주기억장치로 부터 읽거나 쓸 데이터

3. 제어버스 - 읽을지 쓸지

 

 

02 프로그램 명령어

 

명령어 종류 - 1.데이터 전송 명령어 2. 연산 명령어 3. 분기 명령어

 

1) 데이터 전송 명령어

mov A B - b의 값을 a로 전송

push ax - 레지스터 ax에 저장된 값을 스택에 삽입

pop bx - 스택 포인터 값을 1감소시키고 스택의 데이터를 bㅌ에 저장

 

 

2) 연산 명령어

 

add ax bx - ax bx 레지스터 값 더해 ax에 저장

and ax bx - ax bx 를 and 논리연산 후 ax에 저장

cir ax 2 - ax를 오른쪽으로 2비트 순환 시프트(오른쪽에서 빠져나간 비트를 왼쪽에 위치시킴) 하고 ax에 저장

shr ax b - ax를 오른쪽으로 b이동 하고 왼쪽의 비는 곳에 0 저장

 

 

3) 분기 명령어

 

jump 100 - 주기억 장치 주소 100으로 분기하는 명령어

call 100 - pc에 저장되있는 주소를 스택에 저장하고 다른 위치로 분기하는 명령어 다른 위치로 분기하여 실행이 끝나 Return 값을 만나면 스택에 있는 주소를 다시 불러와 그곳부터 실행한다.

 

 

 

03 프로그램 실행동작

 

요약

1) 주소버스에 프로그램 카운터에 저장된 값을 보내고 제어버스에 읽기 제어 신호를 보낸다.

2) 프로그램 카운터 값을 증가 시킨다 (fetch)단계

3) 제어 장치는 IR레지스터를 해독하여 (decode)

4) 해당 명령어 동작을 제어버스 데이터버스 주소버스를 이용해 실행한다.

 

 

주기억장치는 저장된 정보를 관리하기 편하고 각 위치를 구분하기 위해 바이트 또는 워드 단위로 분할해 주소를 할당한다.

 

프로그램 명령어는 명령코드와 피연산자 부분으로 이루어진다.

 

 

 

 

 

 

 

 

 

 

 

 

'이론 > 컴퓨터개론' 카테고리의 다른 글

프로그래밍 언어  (0) 2015.09.26
운영체제  (0) 2015.09.26
컴퓨터 구조  (0) 2015.09.26
부울대수 논리회로  (0) 2015.09.26
수의체계  (0) 2015.09.26
블로그 이미지

종환 Revolutionist-JongHwan

github.com/alciakng 항상 겸손하자.

댓글을 달아 주세요