指令系统及中断判优设计_第1页
指令系统及中断判优设计_第2页
指令系统及中断判优设计_第3页
指令系统及中断判优设计_第4页
指令系统及中断判优设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称班级学号学生姓名指导教师设计时间课程设计任务书专业:计算机与通信工程学院 学号: 学生姓名(签名): 设计题目:指令系统及中断判优设计一、设计实验条件综合楼808二、设计任务及要求1. 3号指令;2. 26号指令;3. 58号指令;4. 中断判优逻辑电路;5. 格雷码编码器。3、 设计报告的内容1. 设计题目与设计任务(设计任务书)题目:8位模型机设计指令系统及中断判优设计1、 指令系统设计:3、26、58号指令设计2、 模型机硬件设计:教材P267串行排队链路,但将设备地址改为0001、0010、00113、 逻辑电路设计:

2、格雷码编码器2. 前言(绪论)融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。3、设计主体【系统设计】1、 模型机逻辑框图 (1)整机逻辑框图(2) 芯片引脚逻辑框图 (3)CPU逻辑框图2、 指令系统设计第3号指令: INC R? R?中内容自加1 指令格式:000010R? 操作码 R?选择00或01或10或11 第26号指

3、令: OR A, R? 累加器A“或”间址存储器的值 指令格式:011001XXR? 操作码 R?中存放的是操作数地址 第58号指令: CPL A 指令寄存器A 取反,再放入累加器A中 指令格式:111001A3、 微操作控制信号1、XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。2、EMWR:程序存储器EM写信号。3、EMRD:程序存储器EM读信号。4、PCOE:将程序计数器PC的值送到地址总线ABUS上(MAR)。5、EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD 决是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。6、IRE

4、N:将程序存储器EM读出的数据打入指令寄存器IR。7、EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。8、ELP:PC打入允许,与指令寄存器IR3、IR2位结合,控制程序跳转。9、FSTC:进位置1,CY=110、FCLC:进位置0,CY=011、MAREN:将地址总线ABUS上的地址打入地址寄存器MAR。12、MAROE:将地址寄存器MAR的值送到地址总线ABUS上。13、OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。14、STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。15、RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。16、R

5、WR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。17、CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。18、FEN:将标志位存入ALU内部的标志寄存器。19、WEN:将数据总线DBUS的值打入工作寄存器W中。20、AEN:将数据总线DBUS的值打入累加器A中。21-23: X2 X0 : X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。 24-26: S2 S0 : S2、S1、S0三位组合决定ALU做何种运算。4、 指令执行流程编号助记符功能机器码周期总数CT节拍数微操作控制信号涉及的硬件1_FATCH_取指令000000XX10T2PCM

6、ARPCOE,MARENPC, MAR, EM, W , IRT1EMWEMEN,EMRD,WENT0WIRIRENPC + 13INC R?R?中内容自加1000010XX110T6ADBUSWX=100,S=111,WENA, DBUS, W, ALU, FT5R?DBUSALURRDT4R?+1FAEN,S=011T3FDBUSR?RWR,X=01126OR A, R?累加器A“或”间址存储器的值011001XX101T5R?DBUSMARRRD,MAREN,X=100R, MAR, EM, W, A,ALU, DBUST4EMALUEMRD,X=110T3ADBUSWA or R?AA

7、EN,WEN,X=011,S=00158CPL A累加器A取反再存入A中111001XX011T3not AAAEN,S=100A, ALU ADBUSWT6X=100,S=111,WENT5R?DBUSALURRDT4ALU+1FAEN,S=011T3FDBUSR?RWR,X=011第3号指令流程图T5R?DBUSMARRRD,MAREN,X=100T4EMALUEMRD,X=110AEN,WEN,S=001,X=011T3ADBUSWA or R?A 第26号指令流程图T3not AAAEN,S=110 第58号指令流程图5、 组合逻辑控制器设计:假设该模型机采用组合逻辑控制器,根据指令执

8、行流程,划分机器周期及节拍,安排操作时序表,写出每个控制信号的逻辑表达式PCMAR T0 EMW M0 T1 WIR,PC+1 T2 RDBUSMARADBUSW T0 M1EMALUR?DBUSALU T1 R?+1F M2 T0 not AAADBUSWA or R?AFDBUSR? T0 M3机器周期3号指令 INC R?26号指令 OR A, R?58号指令 CPL AcyA cyBcyAA cyBBcyA cyBcyAA cyBBcyA cyBcyAA cyBBM0000100100011M10110M210111011M3110011001100逻辑表达式cyAA=cyAcyB+c

9、yAcyBcyBB=cyBcyAA=cyBcyBB=cyAcyBcyAA=cyAcyBB=cyB时序图:控制信号M0M1M2M3T0T1T2T0T1T0T0PCOEALLMARENALLORSMENALLEMRDALLWENALLINCORORIRENALLX0INC,ORX1INC,ORORINC,ORX2ORINC,ORS0INCCPLS1INCINCS2INCORINCORRRDORINCAENORINCOR,CPLRWRINC6、 微程序控制器设计:假设该模型机采用微程序控制器,根据指令执行流程,安排微指令格式,为每条微指令安排微地址及下址,设计微地址修改逻辑。假设微指令采用水平格式,

10、操作控制字段采用直接表示法,后继微地址采用断点方式获得,采用T1、T2两级时序系统,T1取微指令,T2执行微指令并在此周期修改微地址形成后继微地址。设计本模型机的微指令命令及序号如下: 编号 微命令 编号 微命令 编号 微命令 编号 微命令 编号 微命令 1 RRD 2 RWR 3 OUTEN 4 STEN 5 ELP 6 PCOE 7 MAREN 8 EMEN 9 EMDR 10 EMWR 11 WEN 12 INT_CODE 13 ICEN 14 AEN 15 IREN 16 X0 17 X1 18 X2 19 S0 20 S1 21 S2操作控制字段占21位,模型机共有64条指令,用9位

11、下址字段可表示512条微指令,判断字段4位,微指令格式如下图: 判断1 操作控制字段 21 22 字段 25 26 下址字段 34取址微程序: 判断1 操作控制字段 21 22 字段 25 26 下址字段 34110000000000001微地址:000H1110000000000010微地址:001H11111000000000微地址:002H“判断字段”取值为“1111”,表示由微程序入口地址产生器形成指令的第一条微指令地址。“判断字段”取值为“0000”,表示顺序执行微指令。3号指令INC R?的微指令: 控制1 操作控制字段 21 22 字段 25 26 下址字段 3411111000

12、0000001001微地址:008H 10000000001010微地址:009H 1110000000001011微地址:00AH 1110000000000000微地址:00BH26号指令OR A, R?的微指令: 控制1 操作控制字段 21 22 字段 25 26 下址字段 341110000000011001微地址:018H 1110000000011010微地址:019H 111110000000000000微地址:01AH58号指令CPL A的微指令: 控制1 操作控制字段 21 22 字段 25 26 下址字段 34110000000000000微地址:028H 【系统实现】1、

13、 模型机实现(1)逻辑电路的图形符号表示、功能 a,b,分别是输入,输入1代表请求中断,其中优先级从大到小依次是a,b,c,y3y2y1y0为输出,无中断时为1111,a中断0001,b中断0010,c中断001。(2) 系统实现- Company: - Engineer: - - Create Date: 10:54:32 01/03/2015 - Design Name: - Module Name: vinacky - Behavioral - Project Name: - Target Devices: - Tool versions: - Description: - Depend

14、encies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNIS

15、IM.VComponents.all;entity vinacky is Port ( a : in STD_LOGIC; b : in STD_LOGIC; c : in STD_LOGIC; y0 : out STD_LOGIC; y1 : out STD_LOGIC; y2 : out STD_LOGIC; y3 : out STD_LOGIC);end vinacky;architecture Behavioral of vinacky issignal count: std_logic_vector(3 downto 0);begincount=0001 when a=1 else0

16、010 when b=1 else0011 when c=1 else1111;y0=count(0);y1=count(1);y2=count(2);y3=count(3);end Behavioral;2、 逻辑电路设计(1)逻辑电路的图形符号表示、功能格雷码编码器,abcd为二进制输入,efgh为格雷码输出(2)系统实现- Company: - Engineer: - - Create Date: 15:42:27 01/06/2014 - Design Name: - Module Name: aaa - Behavioral - Project Name: - Target Devi

17、ces: - Tool versions: - Description: - Dependencies: - Revision: - Revision 0.01 - File Created- Additional Comments: -library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx prim

18、itives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity aaa is Port ( a : in STD_LOGIC; b : in STD_LOGIC; c : in STD_LOGIC; d : in STD_LOGIC; e : out STD_LOGIC; f : out STD_LOGIC; g : out STD_LOGIC; h : out STD_LOGIC);end aaa;architecture Behavioral of aaa isbegine=0 xor a;f=a xor b;g

19、=b xor c;h=c xor d;end Behavioral;【系统测试】(一)、模型机测试1、 功能仿真根据设计理论输入输出如下表:输入输出abcy3y2y1y000011110010011010001001100101000001101000111000011110001 输入为000,无中断请求, 输出为1111 输入为111,a,b,c都发出中断请求,输出为0001,响应a的中断请求 输入为011,b,c同时申请中断,输出为0010,响应b的中断请求 输入为010,只有b请求中断,输出为0010,响应b的中断请求2、 RTL级逻辑电路 (二)硬件测试1、功能仿真格雷码与二进制码的

20、对应关系二进制格雷码abcdefgh00000000000100010010001100110010010001100101011101100101011101001000110010011101101011111011111011001010110110111110100111111000输入二进制为0000,输出格雷码为0000输入二进制为1111,输出格雷码为1000输入二进制为0010,输出格雷码为0011 输入二进制为1010,输出格雷码为1111输入二进制为0111,输出格雷码为01002、RTL级逻辑电路【心得体会】这次组成原理的的课程设计分为3个任务,每个任务都各有侧重,看似内容也不算很多,但是实际起来还是会遇到不少的困难的。第一个任务是关于指令的,指令格式、指令流程、指令设计,在之前的书本学习和实验课程中对其有过一定的学习,但对于三条指令从其指令设计到指令流程的分析节拍划分,再到组合逻辑控制器设计和微程序控制器设计,整个过程是我更加清晰地了解了指令相关的知识,对指令更加的熟悉。第二个任务是中断判优逻辑电路,这个任务需要用XILINX ISE 和M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论