제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식

Slides:



Advertisements
Similar presentations
1 8 장 대형 순차회로 문제의 해법 1) 시프트 레지스터 2) 카운터 3)ASM 도를 이용한 설계 4)One Hot encoding 5) 복잡한 예제.
Advertisements

음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Understanding of Ubiquitous & Computers Plus
소규모 합병 공고 주식회사 포스코는 주식회사 포스하이메탈과 2015년 12월23일 합병계약을
성결 어린이 영등포교회 유년부 정답은 뒷면에 제 11-31호 2011월 8월 14일 어디로 가세요?
Ⅵ. 빛(단원학습목표).
마이크로프로그램된 제어 (Microprogrammed Control)
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
제4장 명령어 처리.
암 보다 더 무서운 당뇨 2010년 [아시아경제 강경훈 기자 ].
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
프로그램 제어 분기(branch)와 점프(jump) 명령어 PC의 값의 변경 순차적인 프로그램의 진행순서가
통로이미지㈜ 마케팅실 신입/경력 모집 ◎ 모집부분 및 자격요건 ◎ 채용인원 ◎ 전형절차 ◎ 제출서류 ◎ 연봉 ◎ 사전인터뷰
기본 컴퓨터의 구조와 설계 Lecture #5.
소규모 합병 공고 주식회사 포스코는 포스코그린가스텍 주식회사와 2016년 2월26일 합병계약을
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
10장 주변장치 (PIO) Slide 1 (of 28).
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
제 1 장 마이크로프로세서의 기본동작.
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
연습문제풀이/도움말.
제4장. 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식
제11강 중앙처리장치 2.
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
컴퓨터 구조.
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
영덕풍력발전단지 준공 기념식 행사(안) 경영기획실.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 7. Pentium Processor
Chapter 08 제어장치와 마이크로 오퍼레이션.
4장 컴퓨터의 중앙 처리 장치 하 효 순.
Computer Architecture
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
3주 컴퓨터구조.
4족 로봇 삼식이팀 박명대.
4장. 컴퓨터 구조에 대한 두 번째 이야기 작성자: 윤성우.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
Computer System Architecture
CHAPTER 03. 컴퓨터 구조 컴퓨터 시스템의 구성과 동작 원리_컴퓨터 시스템에 대한 근본적 이해
Chapter 4 The Von Neumann Model.
7장: 빛의 간섭과 회절 빛의 간섭 단일슬릿과 회절 회절격자 – 더 선명해진 간섭무늬.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Computer System Architecture
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
기술가정 2학년 1학기 2.재료의 이용>1) 목재,플라스틱,금속재료의 특성>11/15제품의 구상
Lecture #5 제4장. 제어 유니트.
인터럽트 발생원인 정전 혹은 데이터 전송 과정에서 오류 발생 등 컴퓨터 자체의 기계적인 문제 발생
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
10장. 컴퓨터 구조에 대한 세 번째 이야기 작성자: 윤성우.
임베디드 하드웨어 Lecture #6.
제 10 장  코드 생성.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
4-1. 명령어 형식.
Presentation transcript:

제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식 4.4 마이크로프로그래밍 4.5 마이크로프로그램의 순서 제어

마이크로프로그램(microprogram): 마이크로명령어들의 집합 제어 유니트의 기능 명령어 코드의 해독 명령어 실행에 필요한 제어 신호들의 발생 마이크로명령어(micro-instruction): 명령어 사이클의 각 주기에서 실행되는 마이크로-연산들에 대응되는 비트들로 이루어진 단어로서, 제어 단어(control word)라고도 함. 마이크로프로그램(microprogram): 마이크로명령어들의 집합 루틴(routine): CPU의 특정 기능을 수행하기 위한 마이크로명령어들의 그룹. [예] 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴.

제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식 4.4 마이크로프로그래밍 4.5 마이크로프로그램의 순서 제어

주요 구성요소 명령어 해독기(instruction decoder): 명령어 레지스터(IR)로부터 들어오는 명령어의 연산 코드를 해독하여 해당 연산을 수행하기 위한 루틴의 시작 주소를 결정. 제어 주소 레지스터(control address register: CAR): 다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터. 이 주소는 제어 기억장치의 특정 위치를 가리킨다. 제어 기억장치(control memory): 마이크로명령어들로 이루어진 마이크로프로그램을 저장하는 내부 기억장치. 제어 버퍼 레지스터(control buffer register: CBR): 제어 기억장치로부터 읽혀진 마이크로명령어 비트들을 일시적으로 저장하는 레지스터. 서브루틴 레지스터(subroutine register: SBR): 마이크로프로그램에서 서브루틴이 호출되는 경우에 현재의 CAR 내용을 일시적으로 저장하는 레지스터. 순서제어 모듈(sequencing module): 마이크로명령어의 실행 순서를 결정하는 회로들의 집합.

그림 4-1. 제어 유니트의 내부 구성도

마이크로프로그램 루틴들을 제어 기억장치에 저장한 예(그림 4-2) CPU의 명령어 세트 설계 과정 (1) 명령어들의 종류와 비트 패턴 정의 (2) 명령어들의 실행에 필요한 하드웨어 설계 (3) 각 명령어를 위한 실행 사이클 루틴 작성 (4) 마이크로프로그램 코드들을 제어 기억장치에 저장 마이크로프로그램 루틴들을 제어 기억장치에 저장한 예(그림 4-2) 제어 기억장치 용량 = 512 단어 전반부: 공통 루틴들 저장 후반부: 각 명령어의 실행 사이클 루틴들 저장

그림 4-2. 제어 기억장치의 내부 구성

명령어 해독: 명령어의 연산 코드가 지정하는 연산을 위한 실행 사이클 루틴의 시작 주소 결정하는 동작. 사상(mapping)을 이용한 해독 방법: 명령어의 연산 코드를 특정 비트 패턴과 조합하는 방법. [예] 16-비트 길이의 명령어가 4 비트의 연산 코드, 1 비트의 간접 주소지정(I) 비트 및 7 비트의 주소로 구성된 경우, 그림 4-3. 연산 코드을 이용한 루틴 주소의 사상 [예] 연산 코드 = 0001 → 실행 사이클 루틴의 시작 주소 = 1000100 (6810) 연산 코드 = 0110 → 실행 사이클 루틴의 시작 주소 = 1011000 (8810)

제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식 4.4 마이크로프로그래밍 4.5 마이크로프로그램의 순서 제어

제어 기억장치에 저장되는 마이크로명령어 형식의 예 그림 4-4. 마이크로명령어 형식의 예 연산 필드가 두 개이므로, 두 개의 마이크로-연산들을 동시에 수행 가능 조건 필드는 분기에 사용될 조건 플래그를 지정 분기 필드는 분기의 종류와 다음에 실행할 마이크로명령어의 주소를 결정하는 방법을 명시 주소 필드의 내용은 분기가 발생하는 경우에 목적지 마이크로명령어 주소로 사용

마이크로프로그램 작성 [표 4-1] 마이크로-연산들에 대한 2진 코드 및 기호의 예

조건 필드: 두 비트로 구성되며, 분기의 조건으로 사용. U : 무조건 분기 I : 만약 I = 1이면, 간접 사이클 루틴을 호출. S : 누산기에 저장된 데이터의 부호가 1이면, 분기. Z : 누산기에 저장된 데이터가 0이면, 분기. [표 4-2] 조건 필드의 코드 지정

분기 필드: 두 비트로 구성되며, 분기 동작을 지정. 조건 필드의 조건이 만족되면, ADF 필드의 내용을 CAR로 적재 → 그 주소로 분기 (JUMP 혹은 CALL) RET : 서브루틴으로부터 복귀 (SBR에 저장된 내용을 CAR로 적재) MAP : 사상 방식에 의하여 분기 목적지 주소 결정. [표 4-3] 분기 필드의 코드 지정

제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식 4.4 마이크로프로그래밍 4.5 마이크로프로그램의 순서 제어

2진 비트 패턴: [표4-2], [표4-3], [표4-4]를 이용하여 변환 주 소 μ-ops CD BR ADF 4.4.1 인출 사이클 루틴 인출 사이클의 마이크로명령어 루틴 ORG 0 FETCH: PCTAR U JMP NEXT ; MAR ← PC, 다음 μ-op 실행. READ, INCPC U JMP NEXT ; MBR ← M[MAR], PC = PC + 1, 다음 μ-op 실행. BRTIR U MAP ; IR ← MBR, 해당 실행 사이클 루틴으로 분기. 2진 비트 패턴: [표4-2], [표4-3], [표4-4]를 이용하여 변환 주 소 μ-ops CD BR ADF 0000000 001 000 00 00 0000001 0000001 100 001 00 00 0000010 0000010 110 000 00 11 0000000 단, 주소 : 각 마이크로명령어가 저장될 제어 기억장치내의 주소 μ-ops : 두 개의 마이크로-연산들 CD : 조건 필드 BR : 분기 필드 ADF : 주소 필드

4.4.2 간접 사이클 루틴 간접 사이클의 마이크로명령어 루틴 2진 비트 패턴으로 변환: 주 소 μ-ops CD BR ADF ORG 4 INDRT: IRTAR U JMP NEXT ; MAR ← IR(addr), 다음 μ-op 실행. READ U JMP NEXT ; MBR← M[MAR], 다음 μ-op 실행. BRTIR U RET ; IR(addr)← MBR, 실행 사이클 루틴 으로 복귀. 2진 비트 패턴으로 변환: 주 소 μ-ops CD BR ADF 0000100 010 000 00 00 0000101 0000101 100 000 00 00 0000110 0000110 110 000 00 10 0000000

사상 방식을 사용하여 각 연산 코드에 대한 실행 사이클 루틴의 시작 주소를 결정하고, 4.4.3 실행 사이클 루틴 사상 방식을 사용하여 각 연산 코드에 대한 실행 사이클 루틴의 시작 주소를 결정하고, 각 명령어 실행을 위한 루틴을 작성. [표 4-4] 연산 코드들에 대한 사상의 결과 ------------------------------------------------ 명령어 연산 코드 루틴의 시작 주소 NOP 0000 1000000 = 6410 LOAD(I) 0001 1000100 = 6810 STORE(I) 0010 1001000 = 7210 ADD 0011 1001100 = 7610 SUB 0100 1010000 = 8010 JUMP 0101 1010100 = 8410 -------------------------------------------------

각 명령어에 대한 실행 사이클 루틴들: 그림 4-5. 그림 4-5. 실행 사이클 루틴들 ORG64 그림 4-5. 실행 사이클 루틴들 ORG64 NOP: INCPC U JMP NEXT ; PCPC + 1 ORG68 LOAD: NOP I CALL INDRT ; I=1이면, 간접 사이클 루틴 호출 IRTAR U JMP NEXT ; MAR IR(addr) READ U JMP NEXT ; MBR M[MAR] BRTAC U JMP FETCH ; AC MBR ORG72 STORE: NOP I CALL INDRT ; I=1이면, 간접 사이클 루틴 호출 ACTBR U JMP NEXT ; MBR AC WRITE U JMP FETCH ; M[MAR] MBR ORG76 ADD: IRTAR U JMP NEXT ; MAR IR(addr) ADD U JMP FETCH ; AC AC+MBR ORG80 SUB: IRTAR U JMP NEXT ; MAR IR(addr) SUB U JMP FETCH ; AC AC-MBR ORG84 JUMP: IRTPC U JMP FETCH ; PC IR(addr)

제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식 4.4 마이크로프로그래밍 4.5 마이크로프로그램의 순서 제어

순서제어(sequencing): 다음에 실행할 마이크로명령어의 주소 결정 CAR의 초기값 = 0 (인출 사이클 루틴의 첫 번째 마이크로명령어의 주소) MUX1 : 다음에 실행할 마이크로명령어의 주소 선택 MUX2 : 조건 플래그를 선택하여 주소선택 회로로 전송

그림 4-6. 순서제어를 위한 세부 회로가 포함된 제어 유니트의 구성도

주소 선택 방법 BR = 00 (JUMP) 혹은 01 (CALL)일 때, C = 0, 다음 위치의 마이크로명령어 선택 C = 1, 주소 필드(ADF)가 지정하는 위치로 점프(jump) 혹은 호출(call). 호출시에는 CAR 내용을 SBR에 저장. BR = 10 (RET)일 때는 SBR 내용을 CAR로 적재 : 복귀 BR = 11 (MAP)일 때는 사상 결과를 CAR에 적재

제어 기억장치로부터 읽혀진 마이크로명령어의 연산 필드의 비트들이 제어 유니트의 외부로 나가서 제어 신호들이 된다. [표 4-5] 주소 선택 회로의 입력 및 출력 신호들 제어 기억장치로부터 읽혀진 마이크로명령어의 연산 필드의 비트들이 제어 유니트의 외부로 나가서 제어 신호들이 된다.

마이크로프로그래밍의 종류 ① 수직적 마이크로프로그래밍(vertical microprogramming): 마이크로명령어의 연산 필드에 적은 수의 코드화된(encoded) 비트들을 포함시킴으로써 제어 기억장치의 용량을 줄이고, 해독기를 이용하여 그 코드를 필요한 수 만큼의 제어 신호들로 확장하는 방식. [장점] 마이크로명령어의 비트 수가 줄어든다. [단점] 해독 시간만큼의 지연 시간이 발생한다. 그림 4-7. 수직적 마이크로명령어로부터 제어 신호들을 발생하는 방법

② 수평적 마이크로명령어(horizontal microprogramming) : 연산 필드의 각 비트와 제어 신호를 일대일로 대응시켜서, 그 수만큼의 비트들로 이루어진 마이크로명령어들을 사용하는 방식. [장점] 하드웨어가 간단하고, 해독에 따른 지연 시간이 없다. [단점] 마이크로명령어 비트 수가 길기 때문에 더 큰 용량의 제어 기억장치가 필요하다.