Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 1 1 MICROPROCESSOR Microprocessor 의구성요소와 CPU 내부구조
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 2 2 학습개요 이번시간에는... Microprocessor 의구성요소와 CPU 내부구조 에대해알아보겠습니다. Microprocessor 학습목표 마이크로프로세서의구성요소와 CPU 내부구조에 대하여요소별동작원리를공부한다. 학습목차 마이크로프로세서구조 BUS STRUCTURE CPU 내부구조
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 3 3 마이크로프로세서구조 1. 대형컴퓨터와마이크로프로세서의구조적인비교 대형컴퓨터 (Mainframe Computer) CPU Control 마이크로프로세서 (Microprocessor) CPU Control Input Arithmetic Output Input Arithmetic Output Memory Memory
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 4 4 마이크로프로세서구조 1) 마이크로프로세서의구조 _1 CPU 란 Central Processing Unit 의약자로, 중앙처리장치라고하는데, 컴퓨터의제어와데이터처리를 하는장치를말하고, 기능상으로는컴퓨터에서두뇌역할을하는장치이다. 대부분의마이크로프로세서는다음과같은구조를가지고있으며크게 4 부분으로나눈다. Execution Unit(EU) Addressing Unit(AU) PC(Program counter) Control Unit (CU) ALU( 연산장치 ) Register Instruction Register(IR) Instruction Decoder ( 해석기 )
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 5 5 마이크로프로세서구조 1) 마이크로프로세서의구조 _2 (1) 실행유니트 (Eu : Execution Unit) : Processing Unit + Control Unit 실행유니트는마이크로프로세서의명령어를수행하는장치이다. ALU(Arithmetic Logic Unit) 와제어유니트 (CU:ControlUnit), 레지스터들로구성된다. ALU에서는연산을수행한후중간결과를레지스터에보관한다. (2) Control Unit(CU) 명령어유니트 (Instruction Unit) 은메모리에서가져온명령어를해석하여실행유니트에서수행할수 있도록제어하는장치이다. (3) 어드레싱유니트 (AU : Addressing Unit) 어드레싱유니트은 CPU 가메모리나입출력장치에서데이터를읽거나쓸때, 메모리나입출력 어드레스를만들어주는장치이다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 6 6 마이크로프로세서구조 1) 마이크로프로세서의구조 _2 AU 에서메모리주소를지정하기위해 address bus 로주소전송 1 Addressing Unit(AU) Address Bus Execution Unit(EU) PC(Program counter) Control Unit (CU) 명령어를 IR 에저장 ALU( 연산장치 ) Instruction Register(IR) 3 Data Bus Memory Unit Register Instruction Decoder ( 해석기 ) 4 명령어를해석하여실행 2 메모리내용을읽어온다
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National 학습하기 University 7 7 마이크로프로세서구조 2) CPU 의명령어의구성방식에따른구분 CPU 는명령어의구성방식에따라서 CISC 와 RISC 방식으로구분할수있다. (1) CISC (Complex Instruction Set Computer) 방식의마이크로프로세서 가변길이명령어를사용한다 (1byte~8byte) 프로그램내장방식으로설계되어있다. 명령어가복잡하고개수가많다. 명령어해석기가마이크로프로그램으로구성되어있다, 명령어의길이가 1바이트에서 8바이트까지가변적으로구성되어있다. 명령어가가변적이고복잡하므로 CISC 방식이라고하는것이다 1byte 명령어 Op_code 2byte 명령어 Op_code Operand 3byte 명령어 Op_code Operand Operand Op_code ( 명령어 ) 4byte 명령어 Op_code Op_code Operand Operand Operand ( 실행자 )
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 8 8 마이크로프로세서구조 2) CPU 의명령어의구성방식에따른구분 프로그램내장방식 : 동일한 memory 에명령어와데이터를동시에기억시킨후실행하는방식 CISC 방식은 32 비트프로세서인 80386 까지도아무런문제없이적용된기술이므로완벽한하위 호환성을유지할수있었다. 그러나, 80486 이등장하면서단순히 CPU 의클럭 (clock, 동작속도 ) 을 높이는방식으로성능향상을기대할수없으므로 CISC 방식의문제점이드러나기시작했다. 클럭에는한계가있기때문이다. 그래서, 한번에여러개의명령어를동시에수행할수있는기술이 필요하게되었다. 80486 부터는일부 RISC 방식을도입하기시작하게된다. Instruction Unit (IU) Execution Unit(EU) Micro code ROM Decoding unit Microprogram 으로구성 Micro code Queue Control Unit ALU Register CISC 방식의마이크로프로세서의 IU 에서명령어해석기가 마이크로프로그램 (microprogram) 으로설계되어있다. 따라서실행속도가 RISC 에비해느리다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 9 9 마이크로프로세서구조 2) CPU 의명령어의구성방식에따른구분 (2) RISC(Reduced Instruction Set Computer) 명령어가고정된고정길이명령어사용 일반적으로하버드구조로구성되어있다. 명령어개수가적다. 속도가빠르다. 명령어의단일사이클실행 명령어해석기가하드와이어 (hardwire) 로구성되어있다 RISC CPU 는고정된길이의명령어를사용하고명령어의종류가미리정해져있으므로해석속도가빠르고여러개의명령어를처리하기에적합하다는장점이있다 2byte 명령어 Op_code 16bit Operand Sun s Sparc, MIPS R10000, HP PA-Risc, IBM PowerPC, ARM s ARM 펜티엄부터 RISC86 이라는기법이사용되었다
Microprocessor 10 마이크로프로세서구조 2) CPU 의명령어의구성방식에따른구분 NAM S.B MDLAB. Electronic Engineering, Kangwon National University 10 10 1970 년대에등장한 RISC 방식은최신프로세서의핵심기술로, CPU 에서수행하는모든동작의대부분이몇개의명령어만으로가능하다. RISC 방식의마이크로프로세서의 IU 에서명령어해석기는 Hard wire 로 설계되어있다. 따라서실행속도가 CISC 에비해매우빠르다.. Instruction Unit (IU) Execution Unit(EU) Hardwire 로구성 Bus interface Pre fetch Queue Control Unit ALU Register ( 단점 ) 처리비트단위가변하거나 CPU 의구조가조금만바뀌어도하위프로세서와의호환성이떨어진다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 11 11 마이크로프로세서구조 3) CPU 의설계방식따른구분 하드웨어적으로컴퓨터의설계방식에따라프로그램내장방식의구조와하버드구조로나누어진다. (1) 프로그램내장방식구조 (Stored program architecture) 프로그램내장방식의구조는그림과같이메모리에명령어 (Op_code) 와실행자 (Operand) 를순차적으로저장한다음순서대로프로그램을실행하는구조를말한다. CPU Address 0000 0001 0002 0003 0004 0005 0006 0007 0008 memory Op_code_1 Operand Op_code_2 Operand Operand Op_code_3 Operand Op_code_4
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 12 12 마이크로프로세서구조 3) CPU 의설계방식따른구분 (2) 하버드구조 (Harvard architecture) 하버드구조의컴퓨터들은그림과같이명령어들을저장하는프로그램메모리와데이터를저장하는데이터메모리를나누어서서로다른영역에위치하게하고, 프로그램을수행할때에 Op_code_1 이실행될때에데이터메모리에저장된 Operand_1 을읽어와서실행하는구조로되어있다. CPU Address 0000 0001 0002 0003 0004 Address 0000 0001 0002 0003 0004 Program memory Op_code_1 Op_code_2 Op_code_3 Op_code_4 Data memory Operand_1 Operand_2 Operand_3 Operand_4
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 13 13 마이크로프로세서구조 CISC 와 RISC 컴퓨터비교 구분 CISC RISC 명령어길이가변길이명령어 (1-8 바이트 ) 명령어갯수 256 개이상약 30 여개 고정길이명령어 (2 바이트 ) 명령어해석기구조마이크로프로그램하드와이어 설계방식프로그램내장방식하버드구조 속도느리다빠르다 명령어실행사이클명령어마다다름 (4-16 사이클이상 ) 평균적으로 1 사이클
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 14 14 마이크로프로세서구조 자료처리방식에따른분류 SIMD(Single Instruction Multiple Data) MMX(Multi-Media extention) 처리를위한명령어로서 64 비트로처리하는명령어구조 VLIW(Very Long Instruction Word) MMX(Multi-Media extention) 처리를위한명령어로서 128 비트혹을 256 비트단위의명령어구조
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 15 15 마이크로프로세서구조 컴퓨터성능향상기법 (1) 파이프라인 (Pipeline) 구조 T0 T1 T2 T3 T4 T5 T6 T7 Fetch Decode Read Execute Fetch Decode Read Execute non pipeline 구조의명령어실행 T0 T1 T2 T3 T4 T5 T6 Fetch Decode Read Execute Fetch Decode Read Execute Fetch Decode Read Execute Fetch Decode Read Execute pipeline 구조의명령어실행
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 16 16 마이크로프로세서구조 컴퓨터성능향상기법 (2) 하버드구조 (3) 캐쉬메모리 (4) 멀티 CPU (5) DSP
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 17 17 마이크로프로세서구조 4) Micro-computer 구성 _1 마이크로컴퓨터는마이크로프로세서 (CPU or MPU) 를사용하여구성된컴퓨터를말한다. 그림에서마이크로컴퓨터의구성은마이크로프로세서와입출력장치, 메모리들로구성되어있음을볼수있다. MICRO-COMPUTER CPU(Central Processor Unit) I/O Control Arithmetic Memory Microprocessor or MPU(Microprocessor Unit)
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 18 18 마이크로프로세서구조 4) Micro-computer 구성 _2 아래그림은간단한마이크로프로세서 (CPU or MPU) 를보여주고있다. 구조상으로보면크게두개장치인연산장치 (ALU) 와제어장치 (Control Unit) 로구성되어있으며그외에프로그램카운터 (PC), 메모리주소레지스터 (MAR), 명령어레지스터 (IR), 누산기 (Acc) 등의장치들이내부버스선에의해연결되어있다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 19 19 마이크로프로세서구조 BUS STRUCTURE 1) 버스시스템 (bus system) 앞장에서공부하였던내용중에마이크로컴퓨터는마이크로프로세서 + 입출력장치 + 기억장치로구성되어있다고설명하였다. 따라서이장에서는먼저각장치들간의신호를상호전달해주는버스에대하여살펴보기로한다. 그림에서버스선은주소를지정하는주소버스선 (address bus) 과데이터를전송하는데이터버스선 (data bus) 이있다. 주소버스선은 CPU 에서출력되어주변장치들에게단방향으로신호를전송하며, 데이터버스선은장치들간에양방향으로데이터를주고받아야되기때문에양방향버스선으로구성되어야한다 Address Bus( 단방향성 bus) Memory CPU Input Output Data Bus( 양방향성 bus)
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 20 20 마이크로프로세서구조 BUS STRUCTURE 2) Threen Bus System 마이크로컴퓨터의버스시스템은아래와같이 3 가지버스시스템으로구성되어있다. 1 Address Bus : 주소를전송하는버스선 2 Data Bus : 데이터를전송하는버스선 3 Control Bus : 제어신호들을전송하는버스선 CPU Address bus Data bus Control bus I/O RAM ROM
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 21 21 마이크로프로세서구조 BUS STRUCTURE 3) 완충기 (buffer)_1 Bus : Data 혹은 Signal 을실어나르는도로를말한다. Buffer ( 완충기 ) : 완충기는아래그림과같이표시하며다음과같은기능을가지고있다 완충기능 전류증폭기능 Data 통로기능 : 전류가역으로흐르지못하게막아주는기능 : 전류를증폭해주는기능 : 데이터를전송하는길을열어주는기능 (1) 완충기능 3 2 (2) 전류증폭기능 CPU 에서출력신호가 10mA 이고주변소자를정상적으로동작시키기위해한개소자당입력전류가 2mA 라고가정하자 팬아웃 (fanout) fanout = 10mA / 2mA = 5
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 22 22 2mA 주변소자 _1 CPU 10mA 2mA 주변소자 _2 2mA 주변소자 _5 (a) 버퍼를사용하지않았을때 2mA 주변소자 _1 2mA Buffer_1 40mA 2mA 주변소자 _2 CPU 10mA 2mA 2mA 주변소자 _20 주변소자 _1 2mA Buffer_2 40mA 2mA 주변소자 _2 (b) 버퍼를사용하였을때 2mA 주변소자 _20
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 23 23 (3) 데이터통로기능 Buffer A High Impedance Buffer B Path 반드시한번에한개의문만열린다. CPU Buffer C High Impedance
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 24 24 마이크로프로세서구조 BUS STRUCTURE 3) 완충기 (buffer)_1 버퍼에는단방향성버퍼와양방향성버퍼로나누어진다. (1) 단방향성버퍼 (unidirectional buffer) 단방향성버퍼는한쪽방향으로만데이터를전송해주는버퍼로서아래그림과같은구조를가지며표와같이선택신호 S 가 0 이면출력 B 는고임피던스 (hi_inpedance) 상태가되어신호가차단된다. 그리고 S 가 1 이되면입력으로들어온 A 신호를출력으로내보내어전달된다. 3 2 A S( 선택신호 ) B( 출력 ) S S B 0 Hi_impedance 1 A B(A에서 B로전달 )
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 25 25 마이크로프로세서구조 BUS STRUCTURE 3) 완충기 (buffer)_2 단방향성버퍼의사용예를보면아래그림과같이 CPU 에서메모리나주변장치로주소를지정하기위한주소데이터를전송할때에 74LS244 와같은단방향성버퍼를이용하여연결한다. 즉단방향성버퍼는주소버스선에사용된다. CPU address bus A0-A15 Address bus 74LS244 unidirec tional buffer Address bus 주변장치 or 메모리 address line SL74LS244(Octal 3-State Noninverting Buffer/Line Driver/Line Receiver
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 26 26 마이크로프로세서구조 BUS STRUCTURE 3) 완충기 (buffer)_3 (2) 양방향성버퍼 (bidirectional buffer) 양방향성버퍼는양쪽방향으로데이터를전송해주는버퍼로서아래그림과같은구조를가지며표와같이선택신호 S 가 0 이면 A 신호가 B 로전달되고 S 가 1 이면 B 신호가 A 로전달된다. 양방향성버퍼는이런이유로데이터버스선에사용된다. A B S( 선택신호 ) B( 출력 ) 0 A B(A 에서 B 로전달 ) 1 B A(B 에서 A 로전달 ) S
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 27 27 마이크로프로세서구조 BUS STRUCTURE 3) 완충기 (buffer)_4 아래그림은 CPU 와메모리나주변장치간에데이터를주고받기위하여양방향성버스를연결한것이다. 양방향성버퍼는 74LS245 와같이양방향으로데이터를전달한다. CPU data bus D0-D15 Data bus 74LS245 bidirec tional buffer 주변장치 or 메모리 Data bus line 74LS245 Octal 3-state Bus Transceivers with Schumitt
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 28 28 마이크로프로세서구조 BUS STRUCTURE 3) 완충기 (buffer)_5 여기서 3 가지버스시스템을요약해보면다음과같다. 1 Address Bus : Address 를실어나르는버스선 2 Data Bus CPU 에서밖으로만전달한다. Unidirectional Bus Buffer(A0 - A15) : Data 를실어나르는버스선 CPU 와 Memory, I/O device 간에 Data 를양방향으로 상호전달하는버스선 Bidirectional Bus Buffer(D0 - D7) 3 Control Bus (Hardware Action) /MEMR : CPU memory /MEMW : CPU memory /IOR : /IOW : CPU I/O CPU I/O /INT control signal /DMA control signal Manipulate internal register by the CPU
MAR Acc Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 29 29 CPU 내부구조 1) Z-80 마이크로프로세서내부구조 MPU 는기본적으로연산장치 (ALU), 제어장치 (control), 레지스터 (register) 로구성된다. 레지스터는누산기 (Acc), 프로그램카운터 (PC), 메모리어드레스레지스터 (MAR), 명령어레지스터 (IR) 들로구성되어있다. MPU 외부로어드레스버스, 데이터버스, 제어버스들이나와있다. Address Bus Control Bus PC IR Control Unit Internal Bus Data Bus X Y ALU
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 30 30 CPU 내부구조 2) Z-80 Microprocessor(MPU) Z-80 MPU 의외부형태는아래그림과같이 Address Bus. Data Bus, Control Bus 들로구성된다. 27 19 20 22 21 28 18 24 16 17 26 25 23 6 U? M1 MREQ IORQ WR RD REFSH HALT WAIT INT NMI RESET BUSRQ BUSAK CLK A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 D0 D1 D2 D3 D4 D5 D6 D7 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 14 15 12 8 7 9 10 13 Z80-CPU
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 31 31 CPU 내부구조 3) Z-80 Microprocessor 내부구조 Z-80 MPU 의내부구조는아래그림과같이범용레지스터 (general purpose register), 특수레지스터 (special purpose register), 누산기 (accumulator), 연산장치 (arithmetic unit), 제어장치 (control unit) 로 해석기 (decoder) 로구성되어있다. 구성되어있으며제어장치는명령어레지스터 (instruction register) 와 이들장치들간의데이터전달은 Address Bus. Data Bus, Control Bus 에의해전달된다. External Address Bus External Data Bus Internal Bus General purpose Register Accumulator Control IR Special purpose Register(PC,SP) ALU Decoder Control Logic External Control Signal Internal Control Signal
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 32 32 CPU 내부구조 3) Z-80 Microprocessor 내부구조
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 33 33 인텔 8085 마이크로프로세서 U1 X1 X2 RESET OUT SOD SID TRAP RST 7.5 RST 6.5 RST 5.5 INTR INTA AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc HOLD HLDA CLK(OUT) RESET IN READY IO/M S1 RD WR ALE S0 AD15 AD14 AD13 AD12 AD11 AD10 AD9 AD8 36 1 2 5 6 9 8 7 10 11 29 33 39 35 RST-IN X1 X2 SID TRAP RST 5.5 RST 6.5 RST 7.5 INTR INTA S0 S1 HOLD READY AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 A8 A9 A10 A11 A12 A13 A14 A15 ALE WR RD IO/M RST-OT CLKO SOD HLDA 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 30 31 32 34 3 37 4 38 Address Data Bus AD0 - AD7 Address Bus A8 - A15 Control Bus 8085
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 34 34 RST INTR INTA 5.5 6.5 7.5 TRAP SID SOD Interrupt Control Serial I/O Control 8-Bit Internal Data Bus Accumulator (8) Temporay Register (8) Flag (5) Filp Flops Instruction Register (5) Power Supply +5V GND Arithmetic Logic Unit ALU (8) Instruction Decoder And Machine Cycle Encoding B REG (8) C REG (8) D REG (8) E REG (8) H REG (8) G REG (8) Stack Pointer (16) Program Counter (16) Incrementer/Decrementer Address Latch ( 16) Register Array X1 x2 Power Down Timing And Control CLK GEN Control Status DMA Reset Address Buffer (8) Data/Address Buffer (8) CLK OUT READY RD WR ALE S0 S1 IO/M HOLD HLDA RESET IN RESET OUT A15-A8 Address Bus AD7-AD0 Address/Data Bus
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 35 35 인텔 8086 마이크로프로세서 GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8088 CPU 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 SSO MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET (HIGH) (RQ/GT0) (RQ/GT1) (LOCK) (S2) (S1) (S0) (QS0) (QS1) 22 19 21 18 31 30 17 23 33 U1 READY CLK RESET INTR RQ/GT0 RQ/GT1 NMI TEST MX 8086 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 S0 S1 S2 RD LOCK QS0 QS1 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 39 38 37 36 35 34 26 27 28 32 29 25 24 Address Data Bus AD0? AD15 Address Bus A16 - A19 Control Bus
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 36 36 MEMORY INTERFACE C-BUS BUS INTERFACE UNIT(BIU) Σ B-BUS ES CS SS DS IP A-BUS INSTRUCTION STREAM BYTE QUEUE 4 3 2 1 EXECUTION UNIT CONTROL SYSTEM EXECUTION UNIT(EU) AH BH CH DH SP BP SI DI AL BL CL DL ARITHMETIC LOGIC UNIT FLAGS
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 37 37 모토롤라 M68000 마이크로프로세서 D4 1 64 D5 D3 D2 D1 D0 /AS /UDS /LDS R/W /DTACK /BG /BGACK /BR Vcc 2 3 4 5 6 7 8 9 10 11 12 13 14 63 62 61 60 59 58 57 56 55 54 53 52 51 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 Vss A23 A22 CLK 15 50 A21 Vss 16 M68000 49 Vcc /HALT 17 CPU 48 A20 /RES /VMA E /VPA /BERR /IPL2 /IPL1 /IPL0 FC2 FC1 FC0 A1 A2 A3 A4 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 PROCESSOR STATUS SYSTEM CONTROL Vcc GND CLK FC0 FC1 FC2 BERR RESET HALT MODE MC68SEC000 A23-A0 D15-D0 AS R/W UDS LDS DTACK BR BG IPL0 IPL1 IPL2 AVEC ADDRESS BUS DATA BUS ASYNCHRONOUS BUS CONTROL BUS ARBITRATION CONTROL INTERRUPT CONTROL
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 38 38 31 16 15 8 7 0 D0 D1 D2 D3 D4 D5 D6 D7 EIGHT DATA REGISTERS 0 A0 A1 A2 A3 A4 A5 A6 A7 SEVEN ADDRESS REGISTERS USER STACK POINTER PROGRAM PC COUNTER 7 0 CCR STATUS REGISTER Flgure 1. User Programing Model
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National 학습하기 University 39 39 CPU 내부구조 4) 범용레지스터 (General Purpose Register) Z-80 MPU 의범용레지스터는각각 8 비트레지스터로구성되며 A 레지스터는누산기이며 B, C, D, E, H, L 레지스터들로구성된다. 16 비트로사용할때에는 BC, DE, HL 로묶어서사용한다. 그리고 Z-80 에서는주 레지스터 (main register), 보조레지스터 (alternate register) 를가지고있다. main register A Accumulator alternate register A B C B C D E D E H L H L 8bit 8bit 8bit 8bit 16bit 쌍으로사용할때 16bit 로동작 16bit
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 40 40 CPU 내부구조 5) 연산장치 (AU : Arithmetic Unit) 연산장치는아래그림과같이산술연산, 논리연산, 보수기, 시프트레지스터, 상태레지스터들로구성되어있다. 연산장치의좌측에는 Acc( 누산기 ) 가연결되어연산결과는반드시 Acc에저장되도록설계되어있다. 8/ 8/ Acc Temp register 8/ 8/ ALU 8/ Flag register 8/ 산술연산회로논리연산회로보수기시프트레지스터
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 41 41 CPU 내부구조 5) 연산장치 (AU : Arithmetic Unit) 8/ 8/ Acc Temp register 8/ 8/ ALU 8/ Flag register 8/
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 42 42 CPU 내부구조 5) 연산장치 (AU : Arithmetic Unit) 연산장치의기능들은아래와같다. 산술연산회로 : 산술연산인 +, -,, 을수행하는연산회로이다. 논리연산회로 : 논리연산인 AND, OR, XOR, NOT을수행하는연산회로이다. 시프트레지스터 (shift register) : 비트들을좌측혹은우측으로이동시키는기능을가진레지스터이다. 보수기 (complement) : 2진데이터를보수를취하는회로이다. 상태레지스터 (status register) : 연산결과의상태를나타내는플래그 (flag) 들을저장하는레지스터이다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 43 43 Acc General Operand 1 Operand 2 ALU Flag Register 산술연산 ADD ( Acc Acc + General )
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 44 44 논리연산 AND ( Acc Acc General )
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 45 45 16bit 연산 : ADD HL, BC (HL HL + BC) H L B C Operand 1 Operand 2 ALU Flag Register 1 Acc L : L 레지스터내용을 Acc로읽어온다. 2 Acc Acc + C : Acc와 C 레지스터를가산한다. 3 L Acc : Acc의내용을 L 레지스터에저장한다. 4 Acc H : H 레지스터내용을 Acc로읽어온다. 5 Acc Acc + B : Acc와 B 레지스터를가산한다. 6 H Acc : Acc의내용을 H 레지스터에저장한다.
10 (3968 H) Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 46 46 산술연산 ADD ( HL HL + BC ) 논리연산 AND ( HL HL BC )
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 47 47 CPU 내부구조 5) 연산장치 (AU : Arithmetic Unit) ALU 산술연산장치 논리연산장치 보수기 입력데이터 A 입력데이터 B 출력데이터 시프트레지스터 상태레지스터 플래그신호 제어신호
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 48 48 CPU 내부구조 5) 연산장치 (AU : Arithmetic Unit) A B C out A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 ALU F 7 F 6 F 5 F 4 F 3 F 2 F 1 F 0 F S 2 S 1 S 0 C in
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 49 49 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) Z-80 MPU 의특수레지스터는아래그림과같이구성되어있으며, 각각의특수한기능들을가지고있다. 8bit F I R 상태레지스터 (Flag Register) 인터럽트레지스터 (Interrupt Register) 리플레쉬레지스터 (Refresh Register) IX IY SP PC 지표레지스터 IX(Index Register IX) 지표레지스터 IY(Index Register IY) 스텍포인터 (Stack Pointer) 프로그램카운터 (Program Counter) 16bit
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 50 50 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) (1) Program counter (PC) 프로그램카운터는현재읽어올 ( 혹은써넣을 ) 데이터가들어있는메모리 ( 혹은입출력장치 ) 의 번지를지정해주는포인터이다. PC 의기본적인동작과정은아래와같다. 1 현재 CPU 로읽어올 memory 지정 2 memory 내용을읽어온후자동 increment 하여다음실행할번지를미리지정 3 8Bit CPU 의 PC 는 16Bit 로구성된다 CPU Load 제어 Increment 제어 16 Bit Program counter 16 / 지정할메모리주소데이터 AU (Address Buffer) Address Bus(16Bit) Memory 16Bit 2 16 =64K Byte
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 51 51 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) Program counter 동작예 1) 8000H 번지부터저장되어있는프로그램을읽어오는과정 1 RUN 8000H 명령어에의해 PC에 8000H를로드한다 (load 기능 ). 2 PC에로드된 8000H는메모리 8000H 번지를지정한다 ( 메모리지정기능 ). 3 지정된메모리의내용 3EH" 가메모리에서읽혀져나오면서 PC는다음번지를지정하기위해자동 1 증가하여 8001H가된다 (1 증가기능 ) 2 PC 에로드된 8000H 는메모리 8000H 번지지정 3 PC 는다음번지를지정하기위해자동 1 증가하여 8001H 가된다 1 RUN 8000H Load 신호 PC 8000H 8000H memory 8000H 3E 8001H 33 8002H 06 8003H 02 LD A,33H (A 33H) LD B, 02H (B 02H) PC Increment 8001H memory 8000H 3E 8001H 33 8002H 06 8003H 02 LD A,33H (A 33H) LD B, 02H (B 02H)
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 52 52 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) Program counter 동작예 2) JUMP 명령어에의한 Jump address load : JUMP 5000H (5000H 번지로점프 ) PC 5000H 1 JUMP 5000H Load 신호 5000H Program counter 동작예 3) Subroutine Call 에의한 subroutine 시작번지 load memory PC 8000H CD CALL 3000H 3000H 8001H 00 1 CALL 3000H Load 신호 8002H 8003H 30
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 53 53 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) (2) 스텍포인터 (SP : Stack Pointer) 스텍포인터는 16 비트특수레지스터로서레지스터내용을일시적으로피신시켜두는기능을가지고 있으며아래와같다. 1 Register 내용 (Data) 을일시피신시키는기능 2 LIFO(Last Input First Out) 구조 3 Pointer 는감소하는방향으로지정 4 Subroutine CALL 명령어에의해자동 PC 피신, 복구실행 5 Interrupt 에의한 PC 내용자동피신, 복구실행 6 PUSH, POP 명령어에의해수동 Data 피신복구실행 Stack Pointer ( 피신될데이터번지를지정하는기능 ) CPU Stack Pointer Memory Stack 영역 ( 데이터가피신되는메모리영역 ) 16bit 피신 레지스터
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 54 54 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 스텍포인터는 LIFO (Last In First Out) : 마지막에입력된데이터가먼저출력되는구조 ) 구조로되어 있다. 스텍포인터는감소하는방향으로메모리를지정한다. DATA 3 DATA 3 Stack Pointer FEFC FEFD FEFE FFFF DATA 2 DATA 1 Stack Pointer FEFC FEFD FEFE FFFF DATA 2 DATA 1
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 55 55 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 예 ) BC,DE 레지스터의내용을 PUSH, POP 명령어로 SP 에피신하였다가복구하는과정 1 초기에 SP 는 FF00H 번지로지정한다. CPU SP AF BC DE FF00H 12 34 56 78 9A BC Memory(stack 영역 ) FF00H FEFFH FEFEH FEFDH FEFCH SP 초기위치 FEFBH 2 PUSH BC CPU SP AF BC DE FEFEH 12 34 56 78 9A BC Memory(stack 영역 ) FF00H FEFFH 56 FEFEH 78 FEFDH FEFCH SP 초기위치 FEFBH
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 56 56 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 3 PUSH DE CPU SP AF BC DE FEFCH 12 34 56 78 9A BC Memory(stack 영역 ) FF00H FEFFH 56 FEFEH 78 FEFDH 9A FEFCH BC SP 초기위치 FEFBH 4 POP DE CPU SP AF BC DE FEFEH 12 34 9A BC Memory(stack 영역 ) FF00H FEFFH 56 FEFEH 78 FEFDH FEFCH SP 초기위치 FEFBH
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 57 57 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 5 POP BC CPU SP AF BC DE FF00H 12 34 56 78 9A BC Memory(stack 영역 ) FF00H FEFFH FEFEH FEFDH FEFCH SP 초기위치 FEFBH
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 58 58 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) (3) 지표레지스터 (Index Register) 자신의 address 값을지표로삼아서변위를가산하여유효번지를구성한후처리하는레지스터 16bit Index register IX, IY IX IY 16bit ex) 현재 IX 레지스터에 9000H 가저장되어있을때에 LD A,(IX + 3) : 명령어를실행하면아래그림과같이 9003H 번지에저장되어있는 78H 가 Acc 에전송되다 CPU AF BC DE IX 78 9000H Memory 9000H 12 9001H 34 9002H 56 9003H 78 9004H 9A 9005H BC IX(9000H) + 3H = 9003H Index 값 + 변위값 = 유효번지 (effective address)
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 59 59 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) (4) 상태레지스터 (Status register or Flag register) 상태레지스터는현재연산장치에서연산결과상태를표시해주는레지스터이다. 상태레지스터는 8 비트레지스터로아래그림과같은기능들을가지고있다. ALU Flag register B7 B6 B5 B4 B3 B2 B1 B0 S Z X H X P/V N C Carry( 자리올림발생시 ) Add/Subtract( 가산 :0, 감산 :1) Parity/Overflow Half carry(nibble 연산자리올림 ) Zero( 결과 0:1, not zero : 0 Sign( 결과 +:0, -:1)
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 60 60 A B Flag register V Z S C S 2 C n+1 S 1 S 0 A L U C in C out F V : Overflow Z : Zero S : Sign C : Carry
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 61 61 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 1 Carry bit : ALU 에서연산결과 carry 가발생하면 1 로 set carry 가없으면 0 으로세트된다. S Z X H X P/V N C 산술연산 ( 가산 ) ADD A,B A A + B 1111 1001 (F9H) Acc + 0001 0100 (14H) + B Carry 1 0000 1101 (1 0DH) Acc 산술연산 ( 감산 ) SUB A,B A A- B 0010 1001 (29H) Acc - 0011 0100 (44H) - B Carry 1 1101 0101 (D5H) Acc 논리연산후에는항상 0 으로 set 된다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 62 62 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 2 Add/Subtract bit: 가산명령어후에 0 으로세트, 감산명령어실행후에는 1 로세트된다 S Z X H X P/V N C ADD operation 0 SUB operation 1 3 Parity/Overflow bit: 산술연산 (ADD, SUB 등 ) 명령어를실행하면 Overflow bit 로동작논리연산 (AND, OR 등 ) 명령어실행후 Parity bit 로동작 S Z X H X P/V N C ( 가 ) Overflow 발생조건 : Overflow 발생조건은두수의부화같을때가산후결과의부호가다르면 Overflow 가발생한것으로처리된다. 감산 (SUB) 명령후에는절대로 over flow 가발생하지않는다. (+) (-) + (+) + (-) Overflow 발생 (-) Overflow 발생 (+)
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 63 63 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) Overflow 검출회로 A s C n+1 C n FA(Ss) C out V B s As( 가수부호비트 ) Bs( 피가수부호비트 ) C out C n+1( 캐리비트 ) V( 오버플로우비트 ) 비고 0 0 0 0 0 양수 + 양수 = 양수 0 0 1 0 1 양수 + 양수 = 음수 0 1 0 0 0 양수 + 음수 = 양수 (A>B) 0 1 1 1 0 양수 + 양수 = 음수 (A<B) 1 0 0 0 0 음수 + 양수 = 양수 (A<B) 1 0 1 1 0 음수 + 양수 = 음수 (A>B) 1 1 0 1 1 음수 + 음수 = 양수 1 1 1 1 0 음수 + 음수 = 음수
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 64 64 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) Overflow 발생 해결방법 : 자리수를늘려준다. 0 111 0100 (+74H) 0 000 0000 0111 0100 (+0074H) + 0 010 0100 (+24H) + 0 000 0000 0010 0100 (+0024H) Overflow 발생 1 001 1000 (-18H) 0 000 0000 1001 1000 (+0098H) ( 나 ) Parity 발생조건 : Parity bit는컴퓨터들간에직렬데이터전송시정확하게데이터를전송하기위한방법으로사용된다. 만약 Odd parity로설정되어있다면논리연산후에 Acc의내용에서 1의갯수를세어서짝수이면 parity bit를 1 로 set하여전체의 1 의개수를를홀수로만들어준다. 만약 Even parity로설정되어있다면논리연산후에 Acc의내용에서 1의갯수를세어서홀수이면 1 로 set되어전체를짝수로만들어준다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 65 65 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 직렬전송시오류발생검출방법 a 컴퓨터 A 에서전송할데이터에서 1 의개수가홀수이면 parity bit 를 1 로세트하여짝수개로만들어준다. 이것을 parity bit generator 락한다. b 직렬로컴퓨터 B 에전송한다. c 컴퓨터 B 에서전송된데이터에서 1 의개수가짝수개이면정상적으로전송된것으로보고 parity bit 는 0 이된다. d 만약전송된데이터에서 1 의개수가홀수개이면짝수로맞추어주기위해 parity bit 를 1 로세트해주고전송도중오류가발생하였음을알려준다. 이것을 parity bit detector( 검출기 ) 라한다. 컴퓨터 A Even Parity 로세트 Data 0110 0010 Parity bit 1 9bit 직렬전송 컴퓨터 B Even Parity 로세트 오류발생 Data Parity bit 0100 0010 1 1 1 의개수 : 3 + 1 = 4 1 의개수 : 2 + 1 = 3 P/V bit 1 로 set
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 66 66 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 4 Half carry bit (nibble 연산자리올림 ) : ALU 에서연산결과하위 4 비트연산에서자리올림수가발생하면 H bit 가 1 로세트된다 S Z X H X P/V N C 0001 1100 (1CH) + 0001 0100 (14H) 0011 0000 (30H) 5 Zero bit : ALU 에서연산결과 zero 이면 Z bit 를 1 로세트하고아니면 0 으로된다 S Z X H X P/V N C Z bit는 1 이된다 0001 0100 (14H) - 0001 0100 (14H) 0000 0000 (00H) Z bit는 0 이된다 0001 0100 (14H) - 0000 0100 (04H) 0001 0000 (10H) Not zero
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 67 67 ALU 에서산술연산실행 Acc Acc - B Zero Bit =1? NO (Zero Bit =0) A B YES (Zero Bit =1) A = B 그림 3-43. 제로비트의사용예
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 68 68 CPU 내부구조 6) 특수레지스터 (Special Purpose Register) 6 Sign bit : ALU 에서연산결과최상위비트가 1 이면음수, 0 이면양수가된다. 상태레지스터의최상위비트는 sign bit( 부호비트 ) 이다. S Z X H X P/V N C 0 001 1100 (1CH) + 0 001 0100 (14H) 0 011 0000 (30H) 연산결과 MSB 가 0 이면양수, 음수이면 MSB 가 1 이된다. 최상위비트 (MSB,(Sign bit)) (5) Interrupt Vector Register Interrupt Vector Register는 8bit register로서 Page address라고도하며, 주변장치의주소를지정해주는 register 이다.(Interrupt에서설명 ) (6) Memory Refresh Register Dynamic RAM을사용할때정보를계속유지하기위해계속해서충전을해야한다. 최소한 2ms 마다한번씩 refresh 해야한다.( 메모리에서설명 )
BUFFER Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 69 69 CPU 내부구조 1. 7) 제어장치 (Control Unit) 제어장치는명령어레지스터 (IR:Instruction Register) 와명령어해석기 (Decoder) 로구성되어있으며 memory 에저장되어있는프로그램에서명령어를인출 (fetch) 해와서명령어를해석한다음이에해당되는 제어신호들을내보낸다. MPU IR (Instruction Register) Internal Control Signal 명령어해석기 (DECODER) External Control Signal 그림에서 IR(Instruction Register) 은명령어를 fetch 해와서 latch 하고있는다. Latch 된명령어는명령어해 석기로보내져서명령어를해석한다. 해석된명령어는내부제어신호와외부제어신호를발생하여실행한다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 70 70 CPU 내부구조 부프로그램 (sub routine) 1) 부프로그램의사용목적 주프로그램 (main program) 의길이가길때작은부프로그램으로분할 동일한루틴 (routine) 을반복하여여러번처리 호출 (CALL) 예를들어 3000H 번지부터부프로그램 A, 3100H 번지부터부프로그램 B 가저장되어있고주프로그램에서이들을호출 (CALL) 하여처리할경우동작과정을알아보자 (1) 초기값 2000H 번지부터주프로그램이저장되어있고 2010H번지에 CALL 3000H( 부프로그램 A) 명령어, 2020H 번지에 CALL 3100H( 부프로그램 B) 명령어가저장되어있다. 스택포인터 (SP) 에는 FF00H를저장한다.
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 71 71 CPU 내부구조 부프로그램 (sub routine) Memory MPU PC 2000H SP FF00H 2000H 2010H 2010H 2012H 2013H 2020H 2021H 2022H 2023H CDH 00H 30H CDH 00H 31H 주프로그램 CALL 3000H CALL 3100H 3000H SUB A 부프로그램 A RETURN 3100H SUB 부프로그램 B RETURN FEFEH FEFFH FF00H SP 영역
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 72 72 CPU 내부구조 부프로그램 (sub routine) (2) 부프로그램 A 호출 Memory MPU PC 3000H SP FEFEH 3000H 로드 2000H 2010H 2010H 2012H 2013H 2020H 2021H 2022H 2023H CDH 00H 30H CDH 00H 31H 주프로그램 CALL 3000H CALL 3100H 3000H SUB A 부프로그램 A 2013H 피신 RETURN SP 내용감소 3100H SUB RETURN 부프로그램 B FEFEH FEFFH FF00H 13 20 SP 영역
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 73 73 CPU 내부구조 부프로그램 (sub routine) (3) 부프로그램 A 종료 MPU PC 2013H SP FF00H 2013H 복귀 2000H 2010H 2010H 2012H 2013H 2020H 2021H 2022H 2023H Memory CDH 00H 30H CDH 00H 31H 주프로그램 CALL 3000H CALL 3100H 3000H SUB A 부프로그램 A 2013H 피신 RETURN SP 내용증가 3100H SUB RETURN 부프로그램 B FEFEH FEFFH FF00H XX XX SP 영역
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 74 74 CPU 내부구조 부프로그램 (sub routine) (4) 부프로그램 B 호출 MPU PC 3100H SP FEFEH 3100H 로드 2000H 2010H 2010H 2012H 2013H 2020H 2021H 2022H 2023H 2023H 피신 3000H Memory CDH 00H 30H CDH 00H 31H SUB A 주프로그램 CALL 3000H CALL 3100H 부프로그램 A RETURN SP 내용감소 3100H SUB 부프로그램 B RETURN FEFEH FEFFH FF00H 23 20 SP 영역
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 75 75 CPU 내부구조 부프로그램 (sub routine) (4) 부프로그램 B 종료 Memory MPU PC 2023H SP FF00H 2013H 복귀 2000H 2010H 2010H 2012H 2013H 2020H 2021H 2022H 2023H CDH 00H 30H CDH 00H 31H 주프로그램 CALL 3000H CALL 3100H 3000H SUB A 부프로그램 A 2013H 피신 RETURN SP 내용증가 3100H SUB RETURN 부프로그램 B FEFEH FEFFH FF00H XX XX SP 영역
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 76 76 CPU 내부구조 부프로그램 (sub routine) 2) 부프로그램구조 SUB PROGRAM 주프로그램에서사용하던레지스터피신 PUSH AF PUSH BC PUSH DE PUSH HL 부프로그램 주프로그램에서사용하던레지스터복귀 POP HL POP DE POP BC POP AF RETURN
Microprocessor NAM S.B MDLAB. Electronic Engineering, Kangwon National University 77 77 학습정리 오늘학습한내용을정리해볼까요 ~ 범용레지스터와특수레지스터의차이점은? 연산장치에대하여설명하시오. 프로그램카운터에대하여설명하시오 프래그레지스터에대하여설명하시오 상태레지스터에서 overflow 가발생할조건에대하여설명하시오 Stack pointer 에대하여설명하시오 LIFO 의동작원리를설명하시오