학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

Similar documents
Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

Computer Architecture

PowerPoint 프레젠테이션

Computer Architecture

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - hy2-12.pptx

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

PowerPoint 프레젠테이션

마이크로프로세서 개요

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

PowerPoint Presentation

PowerPoint 프레젠테이션

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

3차시.ppt

정보보안 개론과 실습:네트워크

슬라이드 1

슬라이드 1

Chapter ...

슬라이드 1

Microsoft PowerPoint - M07_RTL.ppt [호환 모드]

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

Microsoft PowerPoint - 30.ppt [호환 모드]

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - hw8.ppt [호환 모드]

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint Presentation

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 CPU 명령어

Microsoft Word - PLC제어응용-2차시.doc

OCW_C언어 기초

Computer Architecture

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

Microsoft PowerPoint - 15-MARS

슬라이드 1

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - 09-컴구조-5-프로세서

Microsoft PowerPoint os2.ppt [호환 모드]

슬라이드 1

Microsoft PowerPoint - M08_CPUcontrol.ppt [호환 모드]

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기

Microsoft PowerPoint - polling.pptx

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Computer Architecture

[CA-09강] 특수기억장치와 입,출력장치.hwp

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역

1부. 임베디드시스템

PowerPoint 프레젠테이션

T100MD+

Microsoft PowerPoint - 강의자료2_Chap2,3 [호환 모드]

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft Word - FunctionCall

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems

ATmega128

Microsoft PowerPoint - o8.pptx

API 매뉴얼

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도

Microsoft PowerPoint - hy1.pptx

Microsoft Word - ExecutionStack

untitled

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

PowerPoint 프레젠테이션

Microsoft Word - logic2005.doc

API 매뉴얼

JVM 메모리구조

AVR Atmega128

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

Microsoft PowerPoint - DSD06b_Cont.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - M09_CPUarchi.ppt [호환 모드]

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

hwp

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

논리회로설계 6 장 성공회대학교 IT 융합학부 1

DE1-SoC Board

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Transcription:

컴퓨터구조 제 12 강제어장치

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 2 12. 제어장치

학습목표 r 프로세스내의제어장치의기능과역할을공부한다. r 마이크로연산의표현을공부하다. r제어장치의구성과마이크로연산을공부한다. r제어장치의구현방법을알아본다. r 마이크로프로그램을이용한제어장치의구조와동작을공부한다. r 마이크로명령어순서제어기법과실행을알아본다 컴퓨터구조 3 12. 제어장치

개념으로살펴보는 CPU 속의제어장치 r 중앙처리장치 r 산술논리연산장치 (ALU) r 레지스터집합 r 제어장치 r 내부버스 r 제어장치 r 명령어를수행하는데필요한제어신호를만들어내는장치 r 제어장치내의구성 r 순서제어논리장치 (sequencing logic), r 제어장치레지스터들 (control unit registers), r 명령어해독기 (decoder), r 제어메모리 (control memory) r 제어장치레지스터 r 제어주소레지스터 (control address register) r 제어버퍼레지스터 (control buffer register) r 서브루틴레지스터 (subroutine register) 컴퓨터구조 4 12. 제어장치

제어장치의구성 컴퓨터구조 5 12. 제어장치

마이크로연산 r 마이크로- 연산 (Micro-Operations) r 명령어인출및실행사이클내의여러개의단계 (step) 에서실제수행되는동작 r 프로그램수행에서가장기본단위의수행 r 프로세서의기능적연산 r 원자연산 (atomic operation) r 완전한명령어의사이클 r 인출사이클 r기억장치로부터명령어를 CPU로읽어오는과정 r 간접사이클 r 간접주소지정방법을사용하는경우, 유효주소를찾는사이클 r 실행되는사이클 r 해당명령어에맞게동작 r 인터럽트사이클 r인터럽트발생여부를파악, 인터럽트가발생했으면인터럽트서브루틴이수행될수있도록해주는사이클 컴퓨터구조 6 12. 제어장치

프로그램실행의계층구성 프로그램실행 명령어사이클 명령어사이클 명령어사이클 명령어사이클 인출간접실행인터럽트 mop mop mop mop mop 컴퓨터구조 7 12. 제어장치

인출사이클의마이크로연산 r 명령어인출에필요한레지스터 r 기억장치주소레지스터 (Memory Address Register : MAR) r 기억장치버퍼레지스터 (Memory Buffer Register : MBR) r 프로그램카운터 (Program Counter : PC) r 명령어레지스터 (Instruction Register : IR) 컴퓨터구조 8 12. 제어장치

인출사이클의마이크로연산 t1 : MAR (PC) t2 : MBR memory PC (PC) + 1 t3 : IR (MBR) r r r r 첫번째클럭 r 다음명령어의주소가저장된 PC 내용을 MAR로이동 두번째클럭 r r MAR에저장된주소에근거, 기억장치에저장되어있는명령어를 MBR로이동 PC를명령어바이트수만큼증가시켜서다음명령어의주소를표시 세번째클럭 r MBR에저장된명령어내용을실행하기위해서 IR로이동, 명령어인출단계를완료 인출단계에서 PC의증가단계가세번째클럭에서수행될수도있음 t1 : MAR (PC) t2 : MBR memory t3 : PC (PC) + 1 IR (MBR) 컴퓨터구조 9 12. 제어장치

간접사이클의마이크로연산 r 간접사이클 r 간접주소지정방식을사용하는명령어에서오퍼랜드부분의유효주소를결정하는데사용 연산코드 A 기억장치 연산코드 R 주소 레지스터세트 기억장치 EA 데이터 주소 EA 데이터 간접주소지정방식 레지스터간접주소지정방식 컴퓨터구조 10 12. 제어장치

간접사이클의마이크로연산 t1 : MAR (IR(addr)) t2 : MBR (memory or register) t3 : IR(addr) (MBR(addr)) r 첫번째클럭 r 명령어레지스터에저장되어있는명령어의오퍼랜드부분즉, 주소부분을 MAR 로이동 r 유효주소가아니면, 유효주소가저장되어있는곳의주소 r 두번째클럭 r 유효주소가저장된기억장치또는레지스터의내용을 MBR에저장 r 세번째클럭 r MBR에저장되어있는유효주소를명령어레지스터의주소부분으로이동 r 명령어레지스터의명령어오퍼랜드부분에유효주소저장 r 실행사이클로이동 컴퓨터구조 11 12. 제어장치

실행사이클의마이크로연산-ADD r ADD 명령어의어셈블리언어 r 기억장치 X 번지의내용을레지스터 R과덧셈연산을수행한후, 다시레지스터 R에저장 ADD R,X ; R R + Memory(X) r 마이크로 - 연산표현 t1 : MAR (IR(addr)) t2 : MBR memory t3 : R1 R1 + (MBR) r 첫번째클럭 r 인출과정에서읽혀진명령어가저장된명령어레지스터의주소부분을 MAR로이동 r 두번째클럭 r 해당주소의기억장치내용을 MBR로이동 r 세번째클럭 r 기억장치에서부터이동된데이터가저장된 MBR의내용과 R1을덧셈, 그결과값을 R1 에저장 컴퓨터구조 12 12. 제어장치

실행사이클의마이크로연산-ISZ(Increment and Skip-if-zero) r 오퍼랜드의값을하나증가시키고그결과값이 0 이면다음명령어를실행하지않고건너뛰는명령어 r 어셈블리표현 ISZ X ; if X+1 = 0, Skip r X번지의내용을 1 증가, 그결과가 0 이면다음명령어를실행하지않고건너뛰는명령어실행 컴퓨터구조 13 12. 제어장치

실행사이클의마이크로연산-ISZ(Increment and Skip-if-zero) r 마이크로 - 연산 t1 : MAR (IR(addr)) t2 : MBR memory t3 : MBR (MBR)+1 t4 : memory (MBR) If ((MBR) = 0) then (PC PC + I) r 첫번째사이클 r 명령어레지스터내의주소부분내용 ( 어셈블리표현에서 X) 을 MAR에적재 r 두번째사이클 r MAR 에서제시된기억장치주소에의거, 기억장치에저장된데이터를 MBR로적재 r 세번째클럭 r MBR의내용을하나증가시킨다. r 네번째클럭 r 증가된 MBR 의내용을원래의기억장치에저장 r MBR의내용을검사하여서그값이 0 이면프로그램카운터를증가시켜서다음의명령어를하나건너뛰고그다음명령어수행 컴퓨터구조 14 12. 제어장치

실행사이클의마이크로연산-BSA( BSA(Branch Branch and Save return address) r 분기하고복귀할주소를저장하는명령어로서브루틴프로그램으로분기하기위하여사용되는명령 r 어셈블리표현 BSA X r BSA 명령어다음에있는명령어를 X 번지에저장 r X+1 번지부터실행을계속하는명령어 r X번지에저장된데이터는복귀주소 r 서브루틴의시작주소는 X+1 번지 컴퓨터구조 15 12. 제어장치

실행사이클의마이크로연산-BSA( BSA(Branch Branch and Save return address) r 마이크로- 연산 t1 : MAR (IR(addr)) MBR (PC) t2 : PC (IR(addr)) memory (MBR) t3 : PC PC + 1 r 첫번째클럭 r 명령어레지스터의주소부분내용 ( 어셈블리표현에서 X) 을 MAR에적재 r 동시에프로그램카운터의내용, 다음명령어주소를 MBR에적재 r 두번째클럭 r 명령어레지스터의주소부분내용을프로그램카운터에적재 r X번지에 MBR의내용저장. 복귀주소가저장 r 세번째클럭 r 서브루틴을시작하기위해서 X+1 번지가되도록프로그램카운터를증가 컴퓨터구조 16 12. 제어장치

인터럽트사이클의마이크로연산 r 마이크로연산 t1 : MBR (PC) t2 : MAR SP( 스택포인터 ) PC Routine-address t3 : Memory (MBR) r 첫번째클럭 r 복귀주소를저장하기위해서프로그램카운터내용을 MBR로이동 r 두번째클럭 r 스택포인터를 MAR로이동, 인터럽트처리루틴시작주소를 PC에적재 r 스택포인터는 MBR에저장되어있는내용을스택에저장하기위해저장할위치를지정하기위해사용 r 세번째클럭 r MBR의내용을 MAR에근거하여해당스택포인터의스택에저장 컴퓨터구조 17 12. 제어장치

명령어사이클코드 r 명령어사이클코드 (Instruction Cycle Code : ICC) r 프로세서가프로그램을수행하면서명령어가명령어사이클의어느부분에있는지를나타내는코드 00 : 인출 01 : 간접 10 : 실행 11 : 인터럽트 컴퓨터구조 18 12. 제어장치

명령어사이클의흐름도 11( 인터럽트 ) ICC? 00( 인출 ) 10( 실행 ) 01( 간접 ) 인터럽트설정 명령어인출 opcode 주소획득 ICC =00 명령어실행 ICC =10 No 간접주소지정? Yes 인터럽트가능인터럽트? No ICC =10 ICC =01 ICC =11 ICC =00 컴퓨터구조 19 12. 제어장치

제어장치의동작 r 프로세서를제어하는데이용 r 프로세서를제어하기위해필요한기능적요구사항 r 프로세서의기본구성요소들을정의 r 산술논리연산장치 (ALU), 레지스터들, 내부데이터통로, 외부데이터통로, 제어장치로구성 r 프로세서가수행할마이크로-연산들을정의 r 레지스터들간의데이터전송유형 r 레지스터로부터외부로의데이터전송유형 r 외부로부터레지스터로의데이터전송유형 r 산술혹은논리연산의수행유형 r 제어장치가수행할기능을결정 r 순서제어 (Sequencing) 기능 r 실행 (Execution) 기능 컴퓨터구조 20 12. 제어장치

제어장치모델 r 여러가지의입력이존재 r 입력의조합으로제어신호를생성, 출력 명령어레지스터 플래그 CPU 로의제어신호 클럭 제어장치 제어버스로부터의제어신호 제어버스로의제어신호 제어버스 컴퓨터구조 21 12. 제어장치

제어장치로들어오는입력 r 클럭 (Clock) 신호 r 제어장치동작의타이밍기준이되는신호 r 하나의클럭펄스마다하나의마이크로- 연산혹은마이크로- 연산들의집합이수행 r 명령어레지스터 r 명령어의연산코드 (operation code) 를제어장치로입력시켜서수행할연산을결정 r 플래그 (flag) 들 r 프로세서의상태를나타내거나이전 ALU 연산의결과에대한검사에사용 r 제어버스로부터입력되는제어신호들 r시스템버스의제어버스부분을통해들어오는신호 r 인터럽트요구신호및확인신호 컴퓨터구조 22 12. 제어장치

제어장치로부터나가는출력들 r 프로세서내제어신호들 r 레지스터간의데이터를전송할때발생 r 특정산술논리연산 (ALU) 기능을활성화시킬때출력 r 제어버스를통해서출력되는제어신호들 rcpu 밖의기억장치로보내지는제어신호 r 입출력장치모듈로보내지는제어신호 컴퓨터구조 23 12. 제어장치

명령어사이클에서의제어신호 r 인출사이클에서제어신호 r t1의 MAR (PC) r MAR 의내용을주소버스에싣도록게이트를열어주는제어신호 r t2 의 MBR memory r 제어버스상의기억장치읽기제어신호를활성화 r 데이터버스의내용이 MBR에저장되도록게이트를열어주는제어신호 r t2 의 PC (PC) + 1 r 프로그램카운터의내용에 1을더하고, 결과를프로그램카운터에저장하는제어신호 r t3 의 IR (MBR) r MBR과 IR 사이에있는게이트를열어주기위한제어신호 r 간접사이클에서의제어신호 r t1 의 MAR (IR(Address)) r 명령어레지스터의주소가 MAR로전달되기위한게이트를열어주기위한제어신호 r t2 의 MBR memory r 시스템버스에서읽기제어신호가활성화 r 데이터버스의내용이 MBR에저장되도록게이트를열어주는제어신호 r t3 의 IR(Address) (MBR(Address)) r MBR과 IR 사이에있는게이트를열어주기위한제어신호 컴퓨터구조 24 12. 제어장치

명령어사이클에서의제어신호 r 실행사이클에서제어신호 r 연산코드 (operation code) 를검사 r 검사결과에근거하여실행사이클수행을위한마이크로 - 연산시퀀스를결정 r 이에알맞은제어신호가발생 r 인터럽트사이클에서제어신호 r t1 의 MBR (PC) r MAR 의내용을주소버스에싣도록게이트를열어주는제어신호 r t2 의 MAR SP, PC Routine-address r 주소버스의게이트를열어주는제어신호 r t3 의 Memory (MBR) r 시스템버스에서쓰기제어신호가활성화 r 데이터버스의내용이기억장치에저장되도록게이트를열어주는제어신호 컴퓨터구조 25 12. 제어장치

데이터통로상의제어신호 C 5 C 11 M B R C 12 C 8 C 2 C 3 C 4 C 10 PC IR AC C 13 C 6 C7 C9 M A R C 2 제어장치 플래그 산술논리연산장치 C 0 Clock 제어신호 컴퓨터구조 26 12. 제어장치

발생하는제어신호 명령어사이클마이크로 - 연산발생제어신호 인출 t 1 : MAR (PC) t 2 : MBR memory PC (PC) + 1 t 3 : IR (MBR) C 2 C 5, C Read C 4 간접 t 1 : MAR (IR(Address)) t 2 : MBR memory t 3 : IR(Address) (MBR(Address)) C 8 C 5, C Read C 4 인터럽트 t 1 : MBR (PC) t 2 : MAR SP PC Routine-address t 3 : memory (MBR) C 1 C 12, C write 컴퓨터구조 27 12. 제어장치

제어장치의구현 r 하드와이어구현 (hardwired implementation) 또는고정배선방식 r 제어신호생성을위해서순차와조합논리를구성 r 이회로의입력신호들은출력신호들로변형 r 출력신호들이제어신호 r 마이크로프로그램을이용한구현 (micro-programmed implementation) r 제어신호생성을위해서순차및조합논리를사용하지않음 r 제어신호를위한마이크로명령어를저장장치에저장 r 이것을실행시켜서제어신호를발생 r 마이크로순차기가대표적 컴퓨터구조 28 12. 제어장치

하드와이어방식의제어장치 명령어레지스터 해독기 C 0 C 1 C 2 C k T 1 클럭 시간발생기 T 2 T 3 제어장치 플래그 T n C 0 C 1 C 2 C 3 C m 제어신호 컴퓨터구조 29 12. 제어장치

마이크로순차기 (Micro-sequencing) Opcode 플래그 다음명령어의주소생성 레지스터 CLK 마이크로코드메모리 mops 컴퓨터구조 30 12. 제어장치

마이크로프로그램을이용한제어 r 마이크로명령어 r 제어장치의구조와동작 r 마이크로명령어의순서제어 r 마이크로명령어의실행 컴퓨터구조 31 12. 제어장치

마이크로명령어 r 마이크로 - 연산은실제적으로기계어 r 이진비트로표현 r 사용의편리성을위해, 기호들 (symbols) 로표현해서나타낸것을마이크로프로그래밍언어 (micro-programming language) 라고한다 r 명령어실행사이클 r 마이크로명령어로표현 r 인출부사이클 r 간접부사이클 r 실행부사이클 r 인터럽트부사이클 r 마이크로명령어 (micro-instruction) instruction) r 마이크로 - 연산들의집합 r 마이크로프로그램 (micro-program) r 마이크로명령어들을이용하여작성된프로그램 r 펌웨어 (firmware) r 루틴 (routine) r 마이크로프로그램에서 CPU의특정기능을수행하기위한마이크로명령어들의그룹 r 명령어사이클에서는인출사이클루틴, 실행사이클루틴, 인터럽트사이클루틴등이존재 컴퓨터구조 32 12. 제어장치

마이크로프로그래밍을이용한제어장치의특징 r 제어신호는비트에의해표현 r 제어신호선은 1과 0 비트값에의해 on 혹은 off r 마이크로-연산은 0과 1로이루어진제어단어 (control word) 로표현 r 기계코드명령어는일련의제어단어들로표현 r 조건에따라다음수행할마이크로명령어를지정하기위한주소추가 r조건이만족되는경우에수행될다음제어단어의위치표현 컴퓨터구조 33 12. 제어장치

마이크로명령어형식 CPU 내부의제어신호 마이크로명령어주소 시스템버스제어신호 분기조건 - 무조건 - zero - 오버플로우 - 간접비트 (a) 수평적마이크로명령어 기능코드 기능코드 기능코드 마이크로명령어주소 분기조건 (b) 수직적마이크로명령어 컴퓨터구조 34 12. 제어장치

수평적마이크로명령어 r 마이크로명령어의각필드의비트가각제어신호에대응되도록하는방식 r CPU 내부의각제어신호들과시스템버스의각제어신호들에대하여필드들이할당 r 분기에서사용될조건을나타내는조건필드와분기발생시다음에실행될마이크로명령어의주소를가지고있는필드존재 r 수평마이크로명령어의동작 r 마이크로명령어의실행을위해비트값이 1로표시된모든제어선들을 ON r 비트값이 0인모든제어선들을 OFF r발생되는제어신호들은한개이상의마이크로- 연산을수행 r 만약조건비트의값이만족되지않으면 r 다음에위치한마이크로명령어가순서대로실행 r 만약조건비트의값이만족되면 r다음에실행될마이크로명령어는주소필드에의하여지정 r 수평마이크로명령어의장단점 r 하드웨어가간단하고, 해독에따른지연시간이없다. r 더큰용량의제어기억장치가필요하다. 컴퓨터구조 35 12. 제어장치

수직적마이크로명령어 r 코드화된비트들을이용하여마이크로명령어의각기능코드 (function code) 를구성하는방식 r 제어기억장치의용량줄임 r 마이크로명령어의연산필드에적은수의코드화된비트들을포함 r 해독기를이용하여그코드를필요한수만큼의제어신호들로확장하는방식 r 장점 r 마이크로명령어의비트수가감소 r 단점 r 제어신호발생을위하여코드화된비트들을해독하기위한지연이발생 컴퓨터구조 36 12. 제어장치

수직적마이크로명령어제어신호발생 연산필드 1 연산필드 2 3X8 해독기 3X8 해독기 제어신호 제어신호 컴퓨터구조 37 12. 제어장치

제어장치의구조와동작 r 명령어해독기 (instruction decoder) r 제어주소레지스터 (control address register: CAR) r 제어기억장치 (control memory) r 제어버퍼레지스터 (control buffer register: CBR) r 서브루틴레지스터 (subroutine register: SBR) r 순서제어모듈 (sequencing module) 컴퓨터구조 38 12. 제어장치

제어장치의마이크로구조 명령어레지스터 명령어해독기 조건 플래그 순서제어모듈 제어주소레지스터 (CAR) SBR 제어기억장치 제어버퍼레지스터 (CBR) 다음주소 해독기 내부제어신호들 외부제어신호들 컴퓨터구조 39 12. 제어장치

제어기억장치 r 전반부 r명령어사이클의인출, 간접, 인터럽트등의부사이클에해당하는공통루틴들을저장 r 후반부 r 명령어의실행사이클루틴들이저장 r 순차적으로실행 간접또는실행을위한분기 실행을위한분기 인출을위한분기 Opcode 루틴을위한분기 인출또는인터럽트를위한분기 인출또는인터럽트를위한분기 인출사이클루틴 간접사이클루틴 인터럽트사이클루틴 실행사이클시작 AND 루틴 ADD 루틴 인출또는인터럽트를위한분기 IOF 루틴 컴퓨터구조 40 12. 제어장치

제어기억장치의마이크로형식 r 두개의마이크로-연산들을동시에수행가능 r 조건필드는분기에사용될조건플래그를지정 r 주소필드의분기가발생하는경우에목적지마이크로명령어주소로사용 3- 비트 3- 비트 2-비트 2-비트 8-비트 연산필드 1 연산필드 2 조건필드 조건필드 주소필드 2(ADF) 컴퓨터구조 41 12. 제어장치

마이크로프로그램을이용한제어장치의동작과정 명령어레지스터 제어장치 해독기 ALU 플래그 클럭 순서제어논리장치 제어주소레지스터 읽기 제어메모리 제어버퍼레지스터 다음주소제어 해독기 CPU 내부로의제어신호 시스템버스로의제어신호 컴퓨터구조 42 12. 제어장치

마이크로명령어의순서제어 r 제어장치의기본동작 r 마이크로명령어의순서제어 r 제어기억장치로부터다음마이크로명령어를읽어옴 r 마이크로명령어의실행 r 마이크로명령어실행에필요한제어신호들발생 r 순서제어기법 r두개의주소필드 r한개의주소필드 r 가변형식 컴퓨터구조 43 12. 제어장치

제어장치에서의순서제어모듈 루틴주소 ( 사상결과 ) I 1 I 1 C 주소선택회로 L S 1 S 0 S 1 S 0 3 2 1 0 MUX 1 SBR L 주소 +1 1 I S Z 1 I S Z MUX 2 ( 조건선택 ) 조건 CAR 제어기억장치 m-ops CD BR ADF 컴퓨터구조 44 12. 제어장치

두개의주소필드가있는경우의분기제어 r 방법이간단한장점 r 다른방법들에비해더많은마이크로명령어필요 CAR 주소해독기 제어메모리 CBR 제어 주소 1 주소 2 플래그 분기논리 주소선택 곱셈기 IR 컴퓨터구조 45 12. 제어장치

한개의주소필드가있는경우의분기제어 r 주소필드의수가하나로줄어듬 r 주소필드가자주사용되지않아비효율적 주소해독기제어메모리 CBR 제어 주소 +1 CAR 플래그 분기논리 주소선택 곱셈기 IR 컴퓨터구조 46 12. 제어장치

가변형식을위한분기제어 r각분기마이크로명령어의실행에한사이클전체가사용 주소해독기 제어메모리 CBR 주소 가능 분기제어필드 전체필드 게이트, 기능논리 주소필드 +1 CAR 플래그 분기논리 곱셈기 IR 컴퓨터구조 47 12. 제어장치

마이크로명령어의실행 r 마이크로명령어의사건 (Event) r 인출 r 마이크로명령어를제어기억장치로부터제어버퍼레지스터로읽어오는과정 r 실행 r 제어신호들이발생하는과정 r 생성된제어신호는프로세서의각부분을제어 r 나머지신호는외부제어버스나외부인터페이스 컴퓨터구조 48 12. 제어장치

제어장치에서마이크로명령어의실행 명령어레지스터 ALU 플래그 클럭 순서제어논리장치 제어주소레지스터 제어메모리 제어버퍼레지스터 제어논리 내부제어신호 외부제어신호 컴퓨터구조 49 12. 제어장치

마이크로명령어의코드화 r 직접코드화방식 r 마이크로명령어가실행될때, 각필드가해독되어제어신호들을발생 r 간접코드화방식 r 간접주소지정방식의개념과유사하게한필드가다른필드를해석하는방법을지정하는데사용 컴퓨터구조 50 12. 제어장치

직접코드화와간접코드화 Field Field Field 해독기논리 해독기논리 해독기논리 제어신호 (a) 직접부호화 Field Field Field 해독기논리 해독기논리 해독기논리 해독기논리 (b) 간접부호화 제어신호 컴퓨터구조 51 12. 제어장치