版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单字指令仅用一个指令字,第一个指令字分为三个部分。 最高 8 位是操作码。从这个意义上讲, 教学机的基本指令是固定长度的操作码结构, 最多支持 256 条基本指令。 最低的 8 位有多种用法:给出 1 或 2 个寄存器的编号,或入/出端口的地址,或用于给出相对转移指令的偏移量。 双字指令要用两个指令字, 第二个指令字的内容可能是立即数、一个直接地址或一个变址位移量。,操 作 码,目的寄存器,源寄存器,I/O 端 口 地 址,相对转移指令的偏移量,直接数 / 内存地址 / 指令中变址偏移量,8位 4位 4位,TEC-2000 教学机的指令格式,TEC-2000 16位机基本指令系统,指令格式 汇
2、编语句 操作数个数 CZVS 指令分组 功能说明 00000000 DRSR ADD DR,SR 2 * A DRDR+SR 00000001 DRSR SUB DR,SR 2 * A DRDR-SR 00000010 DRSR AND DR,SR 2 * A DRDR and SR 00000011 DRSR CMP DR,SR 2 * A DR-SR 00000100 DRSR XOR DR,SR 2 * A DRDR xor SR 00000101 DRSR TEST DR,SR 2 * * A DR and SR 00000110 DRSR OR DR,SR 2 * A DRDR or
3、 SR 00000111 DRSR MVRR DR, SR 2 A DRSR 00001000 DR0000 DEC DR 1 * A DRDR-1 00001001 DR0000 INC DR 1 * A DRDR+1 00001010 DR0000 SHL DR 1 * A DR,CDR*2 00001011 DR0000 SHR DR 1 * A DR,CDR /2 01000001 OFFSET JR ADR 1 A 无条件跳转 01000100 OFFSET JRC ADR 1 A C=1 时跳转 01000101 OFFSET JRNC ADR 1 A C=0 时跳转 010001
4、10 OFFSET JRZ ADR 1 A Z=1 时跳转 01000111 OFFSET JRNZ ADR 1 A Z=0 时跳转,TEC-2000 16位机基本指令系统,指令格式 汇编语句 操作数个数 CZVS 指令分组 功能说明 10000000 0000000 JMPA ADR 1 B 无条件跳到ADR ADR(16位) 10000001 DRSR LDRR DR,SR 2 B DRSR 10000010 I/O PORT IN I/O PORT 1 B R0I/O PORT 10000011 DRSR STRR DR,SR 2 B DRSR 10000100 00000000 PSH
5、F 0 B FLAG 入栈 10000101 0000SR PUSH SR 1 B SR 入栈 10000110 I/O PORT OUT I/O PORT 1 B I/O PORTR0 10000111 DR POP DR 1 B 出栈到 DR 00001000 DR0000 MVRD DR, DATA 2 B DRDATA DATA(16位) 10001100 00000000 POPF 1 * * B FLAG出栈 10001111 00000000 RET 1 B 子程序返回 11001110 00000000 CALA ADR 1 D 调用子程序 ADR(16位),指令执行步骤概述,
6、划分与设计指令执行步骤,是控制器部件重要的教学内容,这一设计要依据指令的格式和功能、控制器部件的组成、被控制对象运行方式以及它们彼此之间的连接关系等多个方面的实际情况共同决定,就是说,它解决的是信息随着时间在这些部件之间的流动关系,与指令系统、计算机整机和它的各个部件都有关系,因此也就比较难以全面理解与掌握。,下面分成两个步骤,从3个角度来介绍上述内容。 1. 准备性知识:指令执行步骤简介;教学计算机组成框图。 2. 典型指令执行步骤介绍: (1)指令执行步骤简单的文字描述; (2)指令执行步骤与信息流动的时间空间对应关系; (3)教学计算机的典型指令执行步骤,和每一步骤中对各个部件的控制作用
7、。,每条指令的执行步骤,读取指令 指令地址 (在程序计数器PC中) 送入主存地址寄存器 读主存,读出内容送入指令寄存器 IR 分析指令 按指令规定内容执行指令 不同指令的操作步骤数, 和具体操作内容差异很大, 检查有无中断请求 若有,则响应中断并转中断处理 若无,则转入下一条指令的执行过程,R_R类型指令 读写内存类型指令 输入输出类型指令 其他类型指令,可能执行 一次或多次 可以复合,是一次读 内存操作,公共操作,公共操作,是每一条指令的特定操作,TEC-2000 教学机系统的组成,计算机 终端,PC机,微程序 /硬连线 控制器,运算器 (16 位),主存储器 (16位),按键 室开关 指示
8、灯,串行接口,中断实验 接口实验 内存扩展实验,电 源 +5V,(1)指令执行步骤与信息流动图示部分,典型指令的执行过程举例: 2000 0001 ADD r0, r1 ; 加法指令 2001 0790 MOV r9, r0 ; 传送指令 2002 E709 STRA 2007 , r9 ; 写内存指令, 这是一条双字指令, 2007 ; 第二个字中的 2007 是直接地址 2004 1280 IN 80 ; 读串行口数据到R0低8位 2005 44FA JRC, 800 ; C为1转移到2000,否则顺序执行 8F00 RET ; 子程序返回指令 2007 其他一些指令与这里的几条指令有相当
9、多的共同特性,属于 同一组的指令的执行步骤非常类似。,读取指令 AR PC 读主存,IR 读出内容 PC PC + 1 执行指令 ALU R0 ALU R1 执行 + R0 ALU,记忆结果特征 结束,判中断,指令执行步骤简单的文字描述加法指令 ADD R0, R1,寄存器内容传送指令MOV R9, R0,读取指令 AR PC 读主存,IR 读出内容 PC PC + 1 执行指令 ALU 0 ALU R0 执行 + R9 ALU 结束,判中断,写寄存器内容到主存MOV 2007 , R9,读取指令 AR PC 读主存,IR 读出内容 PC PC + 1 执行指令 AR PC , PC PC+
10、1 读主存,AR 读出内容 写主存, 总线 ALU , ALU 0 , ALU R9 ,+ 结束,判中断,(地址 807 存在指令的第二个字中),(注),输入指令 IN 80,读取指令 AR PC 读主存,IR 读出内容 PC PC + 1 执行指令 AR I/O Port 读外设,ALU 读出数据 ALU 0 执行 + R0 ALU 结束,判中断,相对转移指令 JR C, 800,读取指令 AR PC(注) 读主存,IR 读出内容 PC PC + 1 执行指令 若 c = 1 则: ALU IP ALU offset(IR低字节) 二者相加,结果送PC 否则,顺序执行 结束,判中断,子程序返
11、回指令 RET,读取指令 AR PC 读主存,IR 读出内容 PC PC + 1 执行指令 AR SP SP SP + 1 读主存, PC读出内容 结束,判中断,程序计数器,运算器,控制器,控制信号产生部件,用于运算器,输入设备,输出设备,主存储器,控制总线,0001,78BD,0790,C Z V S,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,2000,E709,2007,1280,44FA,8F00,2000,2007,3041,主振 脉冲,程序 计数器,运算器,控制器,
12、控制信号产生部件,用于运算器,输入/出设备,主存储器,控制总线,C Z V S,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,主振 脉冲,3041,2000,2000,2001,0001,4275,4275,AR PC,读内存,IR读出内容,R0 R0 + R1,PC PC+1,+,ADD R0,R1,0001,78BD,0790,2000,E709,2007,1280,44FA,8F00,2007,程序 计数器,运算器,控制器,控制信号产生部件,用于运算器,输入/出设备,主存储
13、器,控制总线,C Z V S,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,主振 脉冲,4725,2001,2001,2002,0790,4275,4275,AR PC,读内存,IR 读出内容,R9 R0 + 0,PC PC+1,0,+,MOV R9, R0,0001,78BD,0790,2000,E709,2007,1280,44FA,8F00,2007,78BD,程序计数器,运算器,控制器,控制信号产生部件,用于运算器,输入设备,主存储器,控制总线,0 401,C Z V S
14、,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9 4275,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,主振 脉冲,3041,802,E709,2003,2003,2007,2004,0,ARPC, PC PC+1,读内存,IR读出内容,读内存,AR读出内容,ARPC,PC PC+1,写内存,数据总线R9+0,4725,+,MOV 2007, R9,0001,4275,0790,2000,E709,2007,1280,44FA,8F00,2007,程序 计数器,运算器,控制器,控制信号产生部件,用于运算器,输入/出设备,主存
15、储器,控制总线,C Z V S,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,主振 脉冲,3041,2004,2004,2005,1280,A,ARPC,读内存,IR读出内容,读设备,R0读出内容,PC PC+1,80,ARI/O port,IN 80,0001,0790,2000,E709,2007,1280,44FA,8F00,2007,4275,程 序计数器,运算器,控制器,控制信号产生部件,用于运算器,输入/出设备,主存储器,控制总线,C Z V S,接口,.,PC,AR
16、,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,主振 脉冲,A,2005,2005,2006,44FA,IP,ARPC,若C=1, 则 PCIP+offset,读内存,IR 读出内容,PC PC+1,否则 顺序执行,2005,2000,2006,JR C, 800,0001,4275,0790,2000,E709,2007,1280,44FA,8F00,2007,程序 计数器,运算器,控制器,控制信号产生部件,用于运算器,输入/出设备,控制总线,C Z V S,接口,.,PC,AR,IR,数据总线,地
17、址总线,ALU,乘商寄存器,6688,1234,R9,操作数 地址,操作码,寄存器组,地址寄存器,指令寄存器,节拍发生器,主振 脉冲,A,2006,2006,FF0,8F00,IP,ARPC,读内存,IR 读出内容,PC PC+1,读内存,PCMEM,2007,RET,ARSP,FF0,FF1,SP SP+1,A00,堆栈FF0单元存A00,0001,4275,0790,2000,E709,2007,1280,44FA,8F00,2007,PC 0,AR PC PCPC+1,IR(AR),/MAP,寄存器之间 运算与传送,读、写内存 AR地址,AR地址,读、写内存 或 I/O 接口,读、写内存
18、 PC地址,(2) 16 位机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B、C、D组,微程序控制器方案,PC 0,AR PC PCPC+1,IR(AR),寄存器之间 运算与传送,读、写内存 AR地址,AR地址,读、写内存 或 I/O 接口,读、写内存 PC地址,(2) 16 位机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B、C、D组,硬连线控制器方案,二、控制器的功能与组成,1. 控制器的功能: 控制执行指令 控制各部件协调运行,即为各部件提供控制信号。 2. 控制器的组成: 程序计数器 指令寄存器 指令步骤标记线路 提供控制信号的部件
19、分类 : 微程序的控制器 硬布线的控制器,1. 控制器的功能,计算机的功能是执行程序 程序是依次排列起来的指令代码 控制器的功能就在于: 正确地分步完成每一条指令规定的功能, 正确且自动地连续执行指令; 再进一步说,就是向计算机各功能部件提供 协调运行每一个步骤所需要的控制信号。,指令的执行过程,冯. 诺依曼 结构的计算机 即存储程序的计算机,设置内存,存放程序和数据,在程序运行之前存入。 执行程序: 正确从程序首地址开始; 正确分步执行每一条指令, 并形成下条待执行指令的地址; 正确并自动地连续执行指令, 直到程序的最后一条指令。,每条指令的执行步骤,读取指令 指令地址送入主存地址寄存器 读
20、主存,读出内容送入指定的寄存器 分析指令 按指令规定内容执行指令 不同指令的操作步骤数, 和具体操作内容差异很大, 检查有无中断请求 若有,则响应中断并转中断处理 若无,则转入下一条指令的执行过程,R_R类型指令 读写内存类型指令 输入输出类型指令 其他类型指令,可能执行 一次或多次,是一次读 内存操作,公共操作,公共操作,是每一条指令的特定操作,2. 控制器的组成,程序计数器PC:存放指令地址,有+1或接收新值功能。 指令寄存器IR:存放指令内容:操作码与操作数地址。 主脉冲源与启停控制线路,按需要给出主脉冲信号。 指令执行步骤标记线路: 指明每条指令的执行步骤。 控制信号记忆或产生线路:给
21、出计算机各功能部件部件协同运行所需要的控制信号。,运算器部件,主存储器部件,总线及输入/输出接口(输入/输出设备),控制器部件,各部件包括,也包括,设计中的难点,在于解决对运算器、控制器的控制,TEC-2000 教学机系统的组成,计算机 终端,PC机,微程序 控制器,运算器 (8 / 16 位),主存储器 (8 / 16位),按键 开关 指示灯,串行接口,接口实验 中断实验 内存扩展实验,电 源 +5V,硬布线 控制器,时序控制 信号 形成部件,译码,IR,PC,输出 设备,输入 设备,主 存,运算器 部件,节拍,启停,地址寄存器械,数据总线,地址总线,控制总线,.,控制条件,控制器信号,主振
22、,硬连线 方案的 控制器,PC 0,AR PC PCPC+1,IR(AR),寄存器之间 运算与传送,读、写内存 AR地址,AR地址,读、写内存 或 I/O 接口,读、写内存 PC地址,(2) 16 位机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B、C、D组,(3) 控制器应提供的控制信号,Y15Y0 用16个指示灯显示结果,D15D0,RAM15,Q15,RAM0,Q0,Cin,Cy F=0 Over F15,运 算 器 部 件 (4 片 Am2901),A30,B30,I86,用16个数据开关提供输入数据,C Z V S,SSH,SST,SCI,I53,I20,S
23、CI SSH A口 B口,I86 I53 I20 SST,通过24位微型开关 提供控制信号,各用四个指示灯显示状态,Gal 20V8,Gal 20V8, 对运算器的控制,24位控制信号,同24位微型开关内容, A4A0,B4B0,I8I6, I5I3, I2I0 SST20, SSH10, SCI10 寄存器分配: R4:SP R5: PC 约定用法:R0:I/O指令约定使用,也是通用累加器, 读写主存储器或I/O接口,从学习指令执行步骤考虑,理解对主存储器读写的控制,分成两步: 1. 传送主存地址,以选择被读写的存储单元; 2. 给出读写命令, 读操作时,把读出数据保存起来, 写操作时,还要
24、给出写入的数据。 从学习指令执行步骤考虑,理解对接口电路读写的控制,分成两步: 1. 传送IO端口地址,以选择被读写的芯片; 2. 给出读写命令, 读操作时,把读出数据保存起来, 写操作时,还要给出写入的数据。,对内存和 I/O接口的读写,/MIO(0:有内存或串口读写,1:无) REQ (0:读写内存, 1:读写串行口) /WE (0:写操作, 1:读操作),0 0 0 写内存,0 0 1 读内存,0 1 0 写串口,0 1 1 读串口,1 XX 无内存和串口的读写操作, 对总线的控制,总线是用于连接计算机各个功能部件的线路和连接线,通常由具有三态输出功能的器件构成,以便用分时地方式,在不同
25、时刻把不同的数据发送到总线上,任何时刻仅能有一个数据发送到总线上; 总线上的数据可以被送到需要接收数据的部件或者线路,多个线路可以同时接收同一个来源数据。 计算机中总要使用 3 种类型的总线: 数据总线,地址总线,控制总线, 对内部总线和特定寄存器的控制,选择送内部总线的信息来源 DC120 信号名称 注释 000 /SWTOIB 来自开关 001 /RTOIB ALU的输出 010 /ETOIB 符号扩展16位 011 /FTOIB 状态位输出 100 /STOIB 符号扩展8位 101 /INTVH 中断向量的 110 /INTVL 高、低 8 位 110 NC 不用,控制指定寄存器接收信
26、息 DC220 信号名称 注释 000 NC 不用 001 /RIR 指令寄存器 010 /GARL 地址寄存器低位 011 /GARH 地址寄存器高位 100 /INTR 取原中断优先级 101 /INTN 置新中断优先级 110 /EI 开中断 110 /DI 关中断,硬连线(组合逻辑)控制器,组合逻辑控制器的组成和运行原理 2. 组合逻辑控制器的设计过程与技术 (1) 指令系统与指令编码设计 (2) 控制器应提供的控制信号 (3) 指令执行步骤划分和功能确定 (4) 节拍发生器(TIMING)设计与实现 (5) 时序控制信号产生部件的设计与实现,1. 组合逻辑控制器的组成与运行原理,在讲
27、解过微程序的控制器之后,再来讨论组合逻辑控制器的组成和运行原理就变得容易了, 因为二者有很多共同点。 它们都用于控制指令的执行过程, 并且使用几乎相同的执行步骤和几乎完全相同的控制信号,来完成对控制器之外的其他各功能部件的控制作用,因此可以简化对这些内容设计原理和方法的论述。,两种控制器实质性的差别,表现在处理指令各执行步骤的接续关系的方案和给出时序控制信号的办法完全不同,从而造成控制器的具体组成和运行原理、运行性能上的一些差异。比较它们的逻辑图可看出两种控制器组成的主要差异: 微程序控制器中的控存变成这里的时序信号产生部件,还取消了微指令寄存器;原来的下地址部件变成了这里的节拍发生器;原来的
28、微地址映射部件变成这里的操作码译码器;一些信号连接关系也有某些变化。,组合逻辑控制器的组成与运行原理,(1)组合逻辑控制器用节拍发生器(Timing,几个触发器构成的时序逻辑电路)不同的状态组合来区分一条指令不同的执行步骤,指令执行步骤的接续是通过变换节拍发生器的状态组合完成的,不同于微程序控制器中通过下地址部件给出不同的微指令地址来实现。这里用节拍发生器取代了原来的下地址部件。,(2)组合逻辑控制器是通过由 “与或” 两级逻辑关系构成的时序控制信号产生部件来直接给出全部的时序控制信号。送到第一级各“与门”的输入信号是指令操作码和节拍发生器的节拍状态(可能还有控制条件),每个与门产生一个与项输
29、出,相关的与项输出信号送到第二级的 “或门” ,每个或门输出的就是一个时序控制信号。全部的时序控制信号由许多个 “与或”逻辑门给出。与用控制存储器存放全部控制信号的微程序控制方案不同,这里用时序控制信号产生部件取代了原来的控制存储器,还取消了那里的微指令寄存器线路,把控制信号直接送到被控制的部件。,时序控制 信号 形成部件,译码,OP IR,PC,输 出 设 备,输 入 设 备,主存储器 部件,运算器 部件,启停,地址寄存器,数据总线,地址总线,控制总线,.,控制条件,主振,组合逻辑控制器的组成和运行原理,节拍发生器,程序计数器,指令寄存器,教学机的组合逻辑控制器 8 或16位的指令寄存器,
30、1 片100引脚的MACH, 5 片 8 输出引脚的GAL, 二者互斥运行,构成时序控制信号形成部件,提供35 位的控制信号。 2 片GAL与GAL3共同提供运算器A、B口信号。 节拍发生器(1 片GAL) ,产生 4 位节拍状态信号。 2 片GAL用于启动、停止等控制电路。 GAL1GAL7公用于组合和微程序两种控制器。,2. TEC-2000 16位机指令与执行流程设计,TEC-2000 是原有型号的基础上,经过较大的改进与完善重新设计的,分为 16 位和 8 位字长的两种型号。 16 位机与 8 位机,从其指令格式、指令系统和运行的软件来看,是完全不同的两种机型,但是从整体硬件组成和使用
31、的器件来看,又有相当多的类似之处。再从设计与实现的基本原理来看,二者同样有许多类似或相同之处,例如各自对组合逻辑和微程序两种控制器使用几乎完全相同的执行步骤。 关于 16 位机组合逻辑控制器设计过程中,可以直接跳过对指令执行步骤的划分和功能确定,对使用的控制信号的选择等内容的详细讨论,直接引用微程序控制器的设计结果即可;针对两种控制器的区别,重点讲解节拍发生器的设计与实现,时序控制信号产生部件的设计与实现,并强调设计中有关的原理性知识,顺便提到一些实现中对所用电路的选择原则。,PC 0,AR PC PCPC+1,IR(AR),寄存器之间 运算与传送,读、写内存 AR地址,AR地址,读、写内存
32、或 I/O 接口,读、写内存 PC地址,16 位机的基本指令、扩展指令执行流程图(组合逻辑方案),A组,B组,C组,D组,/Reset,B、C、D组,1000,0000,0010,0011,0110,0100,0111,0101,加电启动时, 执行 0PC,接下来的两步, 完成取指操作,按指令具体功能, 再分别用 1、2、 3、4 步完成不同 指令组的中各条 指令的执行过程,最后检查中断请 求信号,有请求 时则响应中断, 否则开始下一条 指令的执行过程,1000,0000,0010,0011,0110,0100,0101,0111,指 令 操 作 码,指令操作码,指 令 操 作 码,16 位机
33、组合逻辑控制器的指令执行流程设计,XXXX,XXXX,XXXX,指 令 操 作 码,(1) 节拍发生器的设计原理,TEC-2000 16位机实现了29条指令,使用了 8 个节拍(不含响应中断的步骤),为此,节拍发生器至少要使用 4 位触发器,可以产生最多 24 个节拍; 使用 4个触发器(分别命名为 T3 T2 T1 T0)不同的状态组合来区分每一个节拍,例如,用T3 T2 T1 T0 =1000 来标识最顶上一行的那个节拍,如此等等,正象前页一图所示。如何为每个节拍分配 4个触发器的状态组合,需要遵循的原则是:尽量做到从当前节拍切换到下一个节拍时,只有一个触发器的状态发生变化,办不到时,也要
34、尽量使状态发生变化的触发器数目最少。此外,还要考虑有利于对写出的节拍发生器的逻辑表达式的逻辑化简。前一页给出的设计结果已经较好地体现了上述设计要求。 接下来的工作是按上图给出的设计结果,写出设计与实现这一节拍发生器的线路所依据的逻辑表达式。,节拍发生器的设计原理,按照节拍状态转换图(有限状态图)的结果,设计这一节拍发生器的逻辑线路的首要任务,是写出该节拍发生器线路的逻辑表达式。具体要求是写出反映每一个触发器的完整的状态转换序列的逻辑表达式。在该表达式中: (1)用一个与项表示在一个节拍中该触发器取值为 1 的一种状态,参加与运算的元素是: 进到本节拍的前一个节拍的 4个触发器的取值状态 (用
35、Ti 和 /Ti分别表示该触发器的 1 状态和 0 状态); 从前一个节拍得以进到本节拍的限制条件(可能没有),如指令组(用代表该指令组的表达式表示)或具体的一条指令(用相应指令的操作码表示)等。 (2)再把所有节拍中该触发器取值为 1 的情形用或项表示在一个表达式中。下面看实际的例子。,PC 0,AR PC PCPC+1,IR(AR),寄存器之间 运算与传送,读、写内存 AR地址,AR地址,读、写内存 或 I/O 接口,读、写内存 PC地址,16 位机的基本指令、扩展指令执行流程图,A组,B组,C组,D组,/Reset,B C D 组,1000,0000,0010,0011,0110,010
36、0,0111,0101,T3 := C-M# * /Reset T2 := C-M#*Reset*/T3*/T2*T1*/T0*IR15 + C-M#*Reset*/T3*T2*T1*/T0 + C-M#*Reset*/T3*T2*T1*T0 + C-M#*Reset*/T3*T2*/T1*/T0 * IR15*IR14*IR11 T1 := C-M#*Reset*/T3*/T2*/T1*/T0 + C-M#*Reset*/T3*/T2*T1*/T0 + C-M#*Reset*/T3*T2*T1*/T0 * IR15*IR14*/IR11 + C-M#*Reset*/T3*T2*/T1*/T0
37、 * IR15*IR14*IR11 T0 := C-M#*Reset*/T3*/T2*T1*/T0*/IR15 + C-M#*Reset*/T3*T2*T1*T0 + C-M#*Reset*/T3*T2*T1*/T0 * IR15*IR14*/IR11 + C-M#*Reset*/T3*T2*/T1*/T0 * IR15*IR14*IR11,T3 T2 T1 T0,用VHDL语言描述节拍发生器的状态转换 -the state changes at the rising edge of the clock library ieee; use ieee.std_logic_1164.all; en
38、tity state_mac is port ( CP, RESET: in std_logic; IR: in std_logic_vector (15 downto 0); state_out: out std_logic_vecto r(3 downto 0) ); end entity state_mac;,architecture performance of state_mac is begin process(CP, RESET) is variable state: std_logic_vector(3 downto 0) := ZZZZ; begin if (RESET =
39、0) then state := 1000; ELSE If cpevent and cp=1 then case state is when 1000 = state:= 0000; when 0000 = state:= 0010; when 0010 = if (IR(15 downto 14)=00 or IR(15 downto 14)=01) then state := 0011; -Instuctions Group A else state := 0110; -Instructions Group BCD end if; when 0011 =state := 0000; wh
40、en 0110 = if (IR(15 downto 14)=11 AND IR(11)=0) then state := 0111; -Instructions Group C else state := 0100; -Instructions Group BD end if;,when 0100 = if IR(15 downto 14)=11 then state := 0111; -Instruction Group D else state := 0000; - Group B end if; when 0111 =state := 0101; when 0101 = state :
41、= 0000; -memory reading or writing when others =state := state; end case; end if; end if; state_out = state; end process; end architecture performance;,(2) 时序控制信号形成部件的设计与实现,时序控制信号形成部件用于提供计算机各功能部件运行所要求的每一位控制信号。 设计与实现的过程是: 1. 设计指令执行流程表; 2. 按流程表写出每一位控制信号的逻辑表达式; 用一个与项表示一位控制信号在流程表的一个横行中为 1 的情形; 用一个或项汇总这位
42、控制信号在流程表中所有横行中为 1 的全部情形; 按前两步方法依次写出每一个控制信号的逻辑表达式,若可能,适当化减。 3. 编译得到的逻辑表达式,并写入现场可编程芯片中 4. 对设计结果进行调试、改错,直到全部正确。 5. 把新设计的指令与原有指令用在同一程序中并运行,检查设计结果的正确性。,下址 CI30 SCC30 MRW I20 SA I86 SB I53 B口 A口 SST SCISSH DC2 DC1,0000 无 100 001 2 0 5 5 0 4 3 0 0010 关 001 000 1 0 0 0 0 0 1 0 00 2 0 100 000 1 0 0 0 0 0 0 0
43、,0011 00000000 100 001 3 0 DR SR 1 0 0 0 0011 00000111 100 100 3 0 DR SR 0 0 0 0 0110 10000010 100 111 1 0 0 0 0 0 3 2 0100 10000010 011 111 3 0 0 0 0 0 0 0 0110 11001110 100 011 2 0 5 5 0 4 3 0 0100 11001110 001 111 0 0 0 0 0 0 0 0 0111 11001110 100 011 3 1 4 0 0 0 3 0 0101 11001110 000 010 2 0 5 5
44、 0 0 0 1,指令执行流程表举例,ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR,节拍 指令操作码,按流程表写出每一位控制信号的逻辑表达式: 用一个与项表示一位控制信号在流程表的一个横行中为 1 的情形; 用一个或项汇总这位控制信号在流程表中所有横行中为 1 的全部情形; 按前两步方法依次写出每一个控制信号的逻辑表达式, 若可能适当化简。 例如:MRW字段中的: R = /T3*T2*/T1*/T0*IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8 I2I0 字段中的: I2 = /T3*/T2*T1* T0*/I
45、R15*/IR14*/IR13*/IR12*/IR11* IR10*IR9* IR8 + /T3* T2* T1*/T0* IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8 + /T3* T2*/T1*/T0* IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8 + /T3* T2*/T1*/T0* IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8 /I0 = /T3*/T2*T1*/T0 + /T3*/T2*T1* T0*/IR15*/IR14*/IR13*/IR12*/IR11* IR10*IR9* IR8 + /T3*T2*/T1* T0* IR15* IR14*/IR13*/IR12* IR11* IR10*IR9*/IR8 3. 编译得到的逻辑表达式,并写入现场可编程芯片中 4. 把新设计的指令与原有指令用在同一程序中并运行,检查 设计结果的正确性。 5. 对设计结果进行调试、改错,直到全部正确;,library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红色飘扬:传承红色基因小学主题班会课件
- 教育行业教师教学方法及学生评价绩效衡量表
- 蒙医医师技能考试题库及答案2026年新版
- 产品交货数量质量确认函(5篇)
- 数控加工企业安全管理员检修维修安全操作规程
- 养老护理员技师理论考试题库含参考答案
- 项目管理中的团队建设与沟通管理方案研究
- 税务申报逾期提醒通知函8篇
- 屋面涂膜防水施工步骤规范
- 危险化学品生产单位安全检查制度
- 农业局内部监督制度
- 医疗器械生产企业自查报告模板
- 工艺指标工艺卡片管理制度
- 增量配电网运营制度
- 2026重庆西部国际传播中心有限公司招聘2人备考题库(含答案详解)
- 血脂管理健康科普
- 生产安全联锁管理制度范本
- 科技奖励培训课件
- 公安外国人培训课件
- 口腔类医疗服务价格项目立项指南2025
- 2025浙江丽水市庆元县机关事业单位招聘编外用工16人笔试备考题库带答案解析
评论
0/150
提交评论