《第3讲—简单模型机设计(微程序实现)PPT.ppt》由会员分享,可在线阅读,更多相关《第3讲—简单模型机设计(微程序实现)PPT.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3讲简单模型机的设计(微程序实现)计算机学院张瑞华1 2模型机设计步骤 拟定指令系统确定总体结构逻辑设计确定控制方式编制指令流程编制微程序调试2 21、拟定指令系统v拟定指令系统将涉及到基本字长、指令格式、指令种类、寻址方式等内容。这些内容的确定又和总体结构密切相关。v基本字长存储器容量为2568,基本字长定为8位v指令格式指令格式可有单字长指令和双字长指令两种在双字长格式中,第二字节一般定义为操作数或操作数地址。32024/7/8操作码OP 寻址方式 寄存器号 寻址方式 寄存器号基本字长 8位 7 4 3 2 1 0指令格式 源操作数 目的操作数v指令类型模型机有单操数指令、双操作数指令和
2、无操作数指令。操作码OP共4位,最多可定义16条指令。v寻址方式当寻址方式位为0,是寄存器寻址,操作数在指定的寄存器中,相应的寄存器号位为0是R0,为1是寄存器 R1;当寻址方式位为1时,寻址方式位和寄存器号位组合,v10:是立即数寻址,操作数在指令的下一个单元;v11:是直接寻址,操作数地址在指令的下一个单元。42024/7/8ABR0R1PCIRMAR7-0 RAMRDWRCRBCPR0CPR1CPPCCPIRCPMARPBRESTREST2、确定总体结构MARAD-BUSA-BUS三态门图152024/7/8v寄存器组的设置 R0、R1为通用寄存器,8位。IR为指令寄存器,8位。PC程序
3、计数器,8位。MAR为地址寄存器,8位。v加法器ALU的设置采用74181、74182实现v选择器的设置连入A选择器的数据来源是RAM的读出数据和R0寄存器的数据。连入B选择器的数据来源是PC的数据和R1的数据。62024/7/8v数据通路模型机的数据通路是以总线为基础,以CPU为核心构成的。v取指令:MA A直传 CPIRRAM 选择器A Bus IRv送指令地址 PB B直传 CPMARPC 选择器B Bus MARv指令计数器1 PB A加B加1 (A为0)cppcPC 选择器B Bus PC72024/7/8vR0R1 RA A直传 CPR1R0 选择器A Bus R1vR1RAM R
4、B B直传 C WR R1 选择器B Bus RAM82024/7/83、逻辑设计v总体结构中,虚线框内的RAM是FPGA之外预先配置好的。v(1)ALU的逻辑设计由74181和74182组成。92024/7/8图2 选择器设计102024/7/8v(2)寄存器的设计v不带复位的寄存器结构中R0、R1通用寄存器,可存放操作数或结果、中间结果,每个寄存器均由8个D触发器构成。在CPRi的作用下接收总线的数据送入寄存器,输出连入选择器。指令寄存器IR1、IR2其结构同通用寄存器。v带复位的寄存器结构中MAR地址寄存器是一个带复位的寄存器,带复位是指当有复位信号时,MAR清零。逻辑图如图3所示。11
5、2024/7/8图3 带复位的八位寄存器逻辑图122024/7/8v程序计数器PC的设计程序计数器结构如上图3所示,是有复位信号的8位寄存器。PC加1是通过加法器实现的。复位信号RET 的作用是有复位信号时,计数器PC清零。v(3)三态门的设计利用2片74125实现:C=H时,三态;C=L时,Y=A132024/7/8v(4)部件之间的连接由系统结构图(图1)可看出,部件之间的连接是采用以CPU为中心的总线连接方式。加法器的输出通过总线BUS连接到所有寄存器和存储器的输入端,除指令寄存器IR和地址寄存器MAR的输出端外,其它部件的输出端分别送入选择器A和选择器B。连线图如图4所示。142024
6、/7/8图4 152024/7/84、确定控制方式v控制命令是确定信息的流向,不同的数据通路需要不同的控制命令。v架构图图1中,涉及到了许多控制命令例如CPR0、CPMAR、MA、RB等等,这些命令如何产生?v通常有两种方式,即硬布线逻辑电路方式和微程序方式。本章模型机采用微程序方式。v微程序的执行方式采用增量、垂直方式。162024/7/8确定总体结构ABR0R1PCIRMAR7-0 RAMRDWRCRBCPR0CPR1CPPCCPIRCPMARPBRESTRESTMARAD-BUSA-BUS三态门172024/7/8v微程序控制器的结构 如图5所示,主要由控制存储器ROM3#、ROM2#、
7、ROM1#、微指令寄存器 IR23-16、IR15-8、IR7-0构成。图5182024/7/8微程序控制器时序PPP脉冲的低电平用做控制存储器读命令RD P脉冲的上升边沿将读出的微指令送 IR脉冲的上升边沿将形成的后继地址送微程序计数器 PC,同时将运算结果(总线的数据)送指定的寄存器。192024/7/8v3、微指令格式v微指令字长24位即 IR23 IR0。v(1)微指令字段定义vALU控制:IR21IR20IR19IR18IR17IR16v M S3 S2 S1 S0 C0v三态门控制:IR6v 0 高阻态 使C1 v 1 三态门使能 使C0v停机控制:IR3v 0 G=0,运行v 1
8、 G=1,停机v 202024/7/8vA选择器控制:IR15 IR14 0 0 备用 0 1 RA 1 0 MA 1 1 备用vB选择器控制:IR13 IR12 0 0 备用 0 1 PB 1 0 RB 1 1 备用2-4译译码码器器,互斥互斥2-4译译码码器器,互斥互斥212024/7/8v输出分配:IR11 IR10 IR9 0 0 0 备用 0 0 1 CPR0 0 1 0 CPR1 0 1 1 CPPC 1 0 0 CPIR 1 0 1 CPMAR 1 1 0 备用 1 1 1 备用v存储器读写控制:IR5 IR4 1 0 RD 0 1 WR3-8译译码码器器,互斥互斥222024/
9、7/8v后继微地址形成方式:vIR2 IR1 IR0v 0 0 0 备用v 0 0 1 PC1 顺序执行v 0 1 0 JP无条件转移,地址由 IR15-8提供。v 0 1 1 QJP高四位按操码转移,低4位为0。v 1 0 0 YJP给定高4位低4位按源寻址方式转移。v 1 0 1 MJP给定高4位低4位按目寻址方式转移。v 1 1 0 备用v 1 1 1 备用3-8译译码码器器,互互斥斥232024/7/8v(2)微命令形成逻辑v微命令形成逻辑电路如图6所示。v图中二四译码器逻辑原理如7图7所示。v三八译码器逻辑原理如7图8所示。图6242024/7/8252024/7/8 PC 微地址形
10、成 部件P LDJPQJP操作吗IR8-5微指令IR15-8图9 后继地址形成部件是多路选择器(3)后继微地址产生逻辑为简单起见只选三种后继微地址生成方式即增量方式、无条件转移方式、按操作码转移方式。其结构框图如图9所示。当LD1时,微程序计数 PC执行加1操作。当LD0时且JP1时,无条件转移,有微指 令的中八位提供转移地址。当LD0时且QJP1时,按操作码转移。262024/7/8vPC的设计的设计272024/7/8图图9中的中的 后继地址形成电路后继地址形成电路v功能:多路选择器当JP=1,QJP=0时,Y7Y6Y5Y4Y3Y2Y1Y0=IR15 IR14 IR13 IR12 IR11
11、 IR10 IR9 IR8当JP=0,QJP=1时,Y7Y6Y5Y4Y3Y2Y1Y0=IR7 IR6 IR5 IR4 0000v链接时,Y7Y6Y5Y4Y3Y2Y1Y0连接PC的D7D0,PC的RE接高电平vcc。282024/7/84、微程序编写v编写程序 MOV1 05#,R0 MOV2 01#,R1 ADD R0,R1 MOV3 R1,(FA#)HALTv(2)操作码二进制代码 MOV1:0001 MOV2:0010 ADD:0011 MOV3:0100HALT:0101292024/7/8操作码OP 寻址方式 寄存器号 寻址方式 寄存器号基本字长 8位 7 4 3 2 1 0指令格式
12、源操作数 目的操作数v指令类型模型机有单操数指令、双操作数指令和无操作数指令。操作码OP共4位,最多可定义16条指令。v寻址方式当寻址方式位为0,是寄存器寻址,操作数在指定的寄存器中,相应的寄存器号位为0是R0,为1是寄存器 R1;当寻址方式位为1时,寻址方式位和寄存器号位组合,v10:是立即数寻址,操作数在指令的下一个单元;v11:是直接寻址,操作数地址在指令的下一个单元。302024/7/8v程序代码:地址 代码 地址 内容 0 0001 10 00 1 0000 0101 2 0010 10 01 3 0000 0001 4 0011 00 01 5 0100 01 11 6 1111
13、01017 0101 00 00 312024/7/8v(3)微程序入口(十六进制代码)取指周期微指令 入口:00HMOV1执行周期微指令 入口:10HMOV2执行周期微指令 入口:20HADD执行周期微指令 入口:30HMOV3执行周期微指令 入口:40HHALT执行周期微指令 入口:50H322024/7/8v(4)指令执行流程v 00v vRAM IRv v PC+1PC v10 20 30 40v PC MAR PC MAR R0+R1 R1 PC MAR G=1 v v PC+1PC PC+1PC PC MAR PC+1 PCv v RAM R0 RAM R1 JP RAM MARv
14、 v PC MAR PC MAR R1 RAMv v JP JP PC MARv v JP 332024/7/8(5)编制微程序v根据指令流程和微指令格式就可以开始编制微程序。v指令流程中每一个流程对应一条微指令,结合总体结构框图图1,写出这个流程所对应的数据通路的控制命令。v例RAMIR所需的控制命令是MA,CPIR并在表3-1中的相应位置填写上“1”,不需要的命令填写“0”。v另外每一条微指令都要确定下条微指令地址的生成方式。342024/7/8总体结构ABR0R1PCIRMAR7-0 RAMRDWRCRBCPR0CPR1CPPCCPIRCPMARPBRESTRESTMARAD-BUSA-
15、BUS三态门352024/7/8362024/7/8v微代码:372024/7/8v在验收时,为使用连续脉冲,增加下列启动/停止电路。382024/7/8v5 调试v1、FPGA系统平台上的所有开关和发光二极管(除L 之外)均随意编程用作数据输入和状态显示。选择系统结构中典型部件进行功能测试看是否满足要求,若有错改之。典型部件如下:选择器A 带复位的寄存器MAR 不带复位的寄存器R0 程序计数器PC392024/7/8v在部件设计无错、连线无错、FPGA的管脚定义无错时可生成下载文件下载到FPGA中。v2、单片机系统微程序经过检查无误后通过“计算机组成原理与系统结构安装软件”以十六进制写入3#
16、RAM2#RAM和1#RAM的相应单元中去。然后再读出检查看是否正确,有错改之。写入代码时RAM2#和RAM1#是分别写入的,要注意单元的对应。汇编程序以十六进制代码从0单元开始写入RAM的相应单元中。402024/7/8v6统调v具体步骤如下:v1、按复位键RET使MAR清0、指令计数器PC清0,保证从存储器0号单元取指令。使微程序计数器UPC清0,保证从3#RAM、2#ROM、1#ROM的0#单元取出取指令微程序的第一条微指令。412024/7/8v2、执行微程序按复位键后,PC,PC,MAR为0。按一次脉冲键产生一负脉冲(作为 RD ),将ROM1#、ROM2#0号单元的16位微指令代码
17、读出,用 的上升沿将微指令送入IR15-0,看是否正确。第一条微指令产生的命令是:MA、RD2、CPIR,后继微地址产生方式为PC+1,其操作是:RD2读RAM,单元地址为0,即读0号单元的内容。0号单元的内容是一条指令,指令代码读出后,在MA的作用下,进入加法器至总线。此时,总线上的内容点亮LR15-8,查看是否正确。注意的是:在没有按下次脉冲键前,数据通路的内容一直不变。422024/7/8v(2)按一次脉冲键又产生一负脉冲。该负脉冲反相后的上升沿产生CPIR,将上条微指令读出的指令代码送IR,同时上升沿还将PC+1。该负脉冲的低电平用以读出PC指示的第二条微指令。v要求:实现更多的指令,如减法、逻辑运算等。432024/7/8