• 검색 결과가 없습니다.

컴퓨터구조

N/A
N/A
Protected

Academic year: 2022

Share "컴퓨터구조"

Copied!
17
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

컴퓨터구조

* 본 교안에 참고한 일부의 그림은 생능출판사 컴퓨터 구조를 참조하였음.

컴퓨터공학과 이 상 관

(2)

8주 제4장 CPU의 구조와 기능

4.1 CPU의 기본 구조

4.2 CPU의 내부 구성요소 4.3 명령어 실행

4.4 CPU Register

4.5 BUS연결 CPU내부구조 4.6 CPU의 Major사이클

4.7 기본 명령어 형식의 구성 4.8 명령어 세트

4.9 오퍼랜드 수에 따른 명령어의 분류

4.10 주소지정방식의 종류

(3)

4.1 CPU의 기본구조

• 명령어 인출(Instruction Fetch) : 기억장치로부터 명령어를 읽어온다

• 명령어 해독(Instruction Decode) : 수행해야 할 동작을 결정하기 위하여 명 령어를 해독한다

•  모든 명령어들에 대하여 공통적으로 수행데이터 인출(Data Fetch) : 명령 어 실행을 위하여 데이터가 필요한 경우에는 기억장치 혹은 I/O 장치로부터 그 데이터를 읽어온다

• 데이터 처리(Data Process) : 데이터에 대한 산술적 혹은 논리적 연산을 수행

• 데이터 쓰기(Data Store) : 수행한 결과를 저장

 명령어에 따라 필요한 경우에만 수행

(4)

4.2 CPU내부 구성요소

1. ALU(산술논리연산장치)

 각종 산술 연산들과 논리 연산들을 수행하는 회로들로 이루어진 하드웨어 모듈

 산술 연산 : +, -, ×, ÷

 논리 연산 : AND, OR, NOT, XOR 등

2.

레지스터(register)

 액세스 속도가 가장 빠른 기억장치

 CPU 내부에 포함할 수 있는 레지스터들의 수가 제한됨

(특수 목적용 레지스터들과 적은 수의 일반 목적용 레지스터들)

(5)

CPU 내부구성요소

● 상태레지스터

• 조건분기 명령어가 사용할 조건 플래그(condition flag)들 저장

• 부호(S) 플래그 : 직전에 수행된 산술연산 결과값의 부호 비트를 저장

• 영(Z) 플래그 : 연산 결과값이 0 이면, 1

• 올림수(C) 플래그 : 덧셈이나 뺄셈에서 올림수(carry)나 빌림수

(borrow)가 발생한 경우에 1로 세트

(6)

CPU내부구성요소

3. 제어 장치

 프로그램 코드(명령어)를 해석하고, 그것을 실행하기 위한 제어 신호들 (control signals)을 순차적으로 발생하는 하드웨어 모듈

• CPU 내부 버스(CPU internal bus)

 ALU와 레지스터들 간의 데이터 이동을 위한 데이터 선들과 제어장치로부 터 발생되는 제어 신호 선들로 구성된 내부 버스

 외부의 시스템 버스들과는 직접 연결되지 않으며, 반드시 버퍼 레지스터 들 혹은 시스템 버스 인터페이스 회로를 통하여 시스템 버스와 접속

(7)

4.3 명령어 실행

●명령어 사이클 (instruction cycle)

1. CPU가 한 개의 명령어를 실행하는 데 필요한 전체 처리 과정으로서, CPU가 프 로그램 실행을 시작한 순간부터 전원을 끄거나 회복 불가능한 오류가 발생하여 중단될 때까지 반복

2. 두 개의 부사이클(subcycle)들로 분리

 인출 사이클(fetch cycle) : CPU가 기억장치로부터 명령어를 읽어오는 단계

 실행 사이클(execution cycle) : 명령어를 실행하는 단계

(8)

기본 명령어 사이클

(9)

4.4 CPU Register

1. 프로그램 카운터(Program Counter: PC)

 다음에 인출할 명령어의 주소를 가지고 있는 레지스터

 각 명령어가 인출된 후에는 자동적으로 일정 크기(한 명령어 길이)만큼 증 가

 분기(branch) 명령어가 실행되는 경우에는 목적지 주소로 갱신 2. 누산기(Accumulator: AC)

 데이터를 일시적으로 저장하는 레지스터.

 레지스터의 길이는 CPU가 한 번에 처리할 수 있는 데이터 비트 수(단어 길이)와 동일

3. 명령어 레지스터(Instruction Register: IR)

 가장 최근에 인출된 명령어 코드가 저장되어 있는 레지스터

(10)

CPU Register

4. 기억장치 주소 레지스터(Memory Address Register: MAR)

 PC에 저장된 명령어 주소가 시스템 주소 버스로 출력되기 전에 일시적으 로 저장되는 주소 레지스터

5. 기억장치 버퍼 레지스터(Memory Buffer Register: MBR)

 기억장치에 쓰여질 데이터 혹은 기억장치로부터 읽혀진 데이터를 일시적 으로 저장하는 버퍼 레지스터

(11)

4.5 BUS 연결 CPU 내부 구조

(12)

4.6 CPU Major Cycle

4.6.1 인출사이클

● 인출 사이클의 마이크로 동작(micro-operation) t0 : MAR  PC

t1 : MBR  M[MAR], PC  PC + 1 t2 : IR  MBR

단, t0, t1 및 t2 는 CPU 클록(clock)의 주기

[첫번째 주기] 현재의 PC 내용을 CPU 내부 버스를 통하여 MAR로 전송

[두번째 주기] 그 주소가 지정하는 기억장치 위치로부터 읽혀진 명령어가 데이터 버스를 통하여 MBR로 적재되며, PC의 내용에 1을 더한다

[세번째 주기] MBR에 있는 명령어 코드가 명령어 레지스터인 IR로 이동 [예] CPU 클록 = 1GHz (클럭 주기 = 1)

 인출 사이클 : 1 x 3 = 3 소요

(13)

CPU Major Cycle

4.6.2 실행사이클

1. CPU는 실행 사이클 동안에 명령어 코드를 해독(decode)하고, 그 결과에 따라 필요한 연산들을 수행

2. CPU가 수행하는 연산들의 종류

 데이터 이동 : CPU와 기억장치 간 혹은 I/O장치 간에 데이터를 이동

 데이터 처리 : 데이터에 대하여 산술 혹은 논리 연산을 수행

 데이터 저장 : 연산 결과 데이터 혹은 입력장치로부터 읽어 들인 데이터를 기억장치에 저장

 프로그램 제어 : 프로그램의 실행 순서를 결정

3. 실행 사이클에서 수행되는 마이크로-연산들은 명령어의 연산 코드(op code) 에 따라 결정됨

(14)

CPU Major Cycle

4.6.3 간접사이클

1. 명령어에 포함되어 있는 주소를 이용하여, 그 명령어 실행에 필요한 데이터의 주소를 인출하는 사이클

 간접 주소지정 방식(indirect addressing mode)에서 사용 2. 인출 사이클과 실행 사이클 사이에 위치

3. 간접 사이클에서 수행될 마이크로-연산 1. t0 : MAR  IR(addr)

2. t1 : MBR  M[MAR]

3. t2 : IR(addr)  MBR

• 인출된 명령어의 주소 필드 내용을 이용하여 기억장치로부터 데이터의 실 제 주소를 인출하여 IR의 주소 필드에 저장

(15)

CPU Major Cycle

4.6.4 인터럽트 사이클

● 인터럽트

프로그램 실행 중에 CPU의 현재 처리 순서를 중단시키고 다른 동작을 수행 하도록 요구하는 시스템 동작

• 외부로부터 인터럽트 요구가 들어오면,

 CPU는 원래의 프로그램 수행을 중단하고,

 요구된 인터럽트를 위한 서비스 프로그램을 먼저 수행

• 인터럽트 서비스 루틴(interrupt service routine: ISR) : 인터럽트를 처리하기 위하여 수행되는 프로그램 루틴

(16)

인터럽트 사이클

 인터럽트가 들어왔을 때 CPU는

 어떤 장치가 인터럽트를 요구했는지 확인하고, 해당 ISR을 호출

 서비스가 종료된 다음에는 중단되었던 원래 프로그램의 수행 계속

 CPU 인터럽트 처리의 세부 동작

① 현재의 명령어 실행을 끝낸 즉시, 다음에 실행할 명령어의 주소(PC의 내 용)를 스택(stack)에 저장  일반적으로 스택은 주기억장치의 특정 부분

② ISR을 호출하기 위하여 그 루틴의 시작 주소를 PC에 적재. 이때 시작 주 소는 인터럽트를 요구한 장치로부터 전송되거나 미리 정해진 값으로 결정

(17)

 인터럽트 처리과정

 인터럽트가 들어왔을 때 CPU는

 어떤 장치가 인터럽트를 요구했는지 확인하고, 해당 ISR을 호출

 서비스가 종료된 다음에는 중단되었던 원래 프로그램의 수행 계속

 CPU 인터럽트 처리의 세부 동작

① 현재의 명령어 실행을 끝낸 즉시, 다음에 실행할 명령어의 주소(PC의 내 용)를 스택(stack)에 저장  일반적으로 스택은 주기억장치의 특정 부분

② ISR을 호출하기 위하여 그 루틴의 시작 주소를 PC에 적재. 이때 시작 주 소는 인터럽트를 요구한 장치로부터 전송되거나 미리 정해진 값으로 결정

참조

관련 문서

또한 동양척식주식회사를 통해 조선으로 이주한 일본 인들을 그린 작품 , 개량면화, 회사가 소유한 토지 등을 상세히 기록하고 있다.. 이왕직 박물

웅장 하지는 않지만 아기자기한 골짜기와 기암괴석이 단풍과 어우러지고 곳곳에 폭포와 암자가 있어 더욱 절경을 이루는 산..

이때

✓ 종특이적 인식 : 정자의 유인 단계 정자 활성화 단계 난자의 난황막과.. 정자 접촉

다 채택국가 미국의 일부 주 스위스의 일부 주 독일의 일부 주 영국의 대도시지역과 북. 기초단체가 수행하기 어려운 대규모 사업이나 광역사무의 원활한 수행.

향후

그러나 예외적으로 모음으로 시작 하는 실질형태소 앞에서

스칸디나비아 고고학자들이 하지 않았던 것은 성경의 편년에 대한 문제제기였다.. 성경에 따 르면 인류사는 전체적으로 기껏 수천