简单实验计算机的设计_第1页
简单实验计算机的设计_第2页
简单实验计算机的设计_第3页
简单实验计算机的设计_第4页
简单实验计算机的设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

山东建筑大学计算机科学与技术学院山东建筑大学计算机科学与技术学院 课程设计说明书课程设计说明书 题 目 简单实验计算机的设计 七 课 程 计算机系统综合设计 院 部 计算机科学与技术学院 专 业 计算机科学与技术 班 级 学生姓名 学 号 指导教师 完成日期 1 目录目录 1 课程设计题目 3 2 课程设计目的 3 3 课程设计方案 3 4 课程设计内容 3 4 1 设计要求 3 4 2 设计整机逻辑框图 4 4 3 设计指令系统 5 4 4 设计指令执行流程 6 4 5 确定微操作控制信号及其实现方法 9 4 6 编写调试程序 12 5 结论 21 6 参考资料 22 2 山东建筑大学计算机科学与技术学院山东建筑大学计算机科学与技术学院 课程设计任务书课程设计任务书 指导教师 签字 教研室主任 签字 设计题目设计题目简单实验计算机的设计 七 简单实验计算机的设计 七 指导教师指导教师 班班 级级 已知技术已知技术 参数和设参数和设 计要求计要求 1 使用使用 FD CES 实验仪实验仪 2 主要模块 运算器 寄存器 指令部件 内存 总线缓冲 微主要模块 运算器 寄存器 指令部件 内存 总线缓冲 微 程序控制 启停和时序模块 程序控制 启停和时序模块 3 3 完成以下指令的设计 完成以下指令的设计 MOVMOV Ri dataRi data LDALDA addr1addr1 ADDADD A RiA Ri STASTA addr2addr2 HALTHALT 设计内设计内 容与步容与步 骤骤 1 1 运算器采用单累加器多通用寄存器结构 操作数寻址方式采用运算器采用单累加器多通用寄存器结构 操作数寻址方式采用 直接地址寻址 立即数寻址 直接地址寻址 立即数寻址 累加器直接寻址累加器直接寻址 2 程序 微程序的设计 调试 程序 微程序的设计 调试 3 3 实现能执行将寄存器 实现能执行将寄存器 Ri 中的内容与内存某个单元 中的内容与内存某个单元 addr1 内内 容相加存入到另一个单元容相加存入到另一个单元 addr2 中 并停机 然后从控制台读中 并停机 然后从控制台读 出出 addr2 存放的计算结果 存放的计算结果 4 课程设计说明书 课程设计说明书 设计工作计设计工作计 划与进度安划与进度安 排排 1 调试工具调试工具 4 学时学时 2 设计语言设计语言 ABL HDL 6 学时学时 3 FD CES 实验仪功能模块实验仪功能模块 10 学时学时 4 指令与微程序的设计指令与微程序的设计 10 学时学时 5 课程设计说明书课程设计说明书 10 学时学时 设计考核设计考核 要求要求 1 考勤考勤 20 2 课程设计说明书课程设计说明书 50 3 成果演示成果演示 30 3 1 课程设计题目 课程设计题目 简单实验计算机的设计 七 2 课程设计目的 课程设计目的 在学习了专业基础课 计算机组成原理 和 系统结构 课程的基础上 通过设计简单实验计算机的部分指令 加深对计算机硬件结构和系统软件的认 识 初步掌握计算机指令的设计与使用方法 3 课程设计方案 课程设计方案 基于 FD CES 实验箱的硬件模块平台 通过 PC 机和可编程逻辑 PLD 电 路实验板 完成简单实验计算机的部分指令的控制信号线的连接 编码 微程 序的设计 在 FD CES 实验箱的控制台上运行用所设计的指令编写的程序 验证 设计指令的正确性 4 课程设计内容 课程设计内容 4 1 设计要求 设计要求 1 运算器 采用单累加器多寄存器结构 开关 KA KB KC KR 分别置左 右 右 左 2 指令系统 小于等于 8 条指令 无外设 3 内存寻址方式 直接地址寻址 立即数寻址 累加器直接寻址 4 微程序设计微操作信号发生器 5 4 2 设计整机逻辑框图 设计整机逻辑框图 6 4 3 设计指令系统 设计指令系统 4 4 1 实验计算机的指令系统具体由以下 5 条指令组成 MOV Ri data LDA addr1 ADD A Ri STA addr2 HALT 2 指令操作数寻址方式及其编码 MOVMOV RiRi data data 寻址方式 立即数寻址 功能 data Ri 编码 编码 指令编码指令编码 0000000000 0Ri R1 data0Ri R1 data 00000001d7d6d5d4d3d2d1d0 LDALDA addr1addr1 寻址方式 直接地址寻址 功能 addr1 A 编码 指令编码 指令编码 0000100001 0a9 a8 a70a9 a8 a7 a0a0 00001000a7a6a5a4a3a2a1a0 ADDADD A RiA Ri 寻址方式 累加器直接寻址 功能 A Ri A 编码 指令编码 指令编码 0101001010 0Ri R1 0Ri R1 01010001 STASTA addr2addr2 寻址方式 直接地址寻址 功能 A addr2 编码 指令编码 指令编码 0101101011 0a9 a8 a70a9 a8 a7 a0a0 01011000a7a6a5a4a3a2a1a0 HALTHALT 功能 停机 编码 指令编码 指令编码 1010010100 000000 10100000 7 4 4 设计指令执行流程设计指令执行流程 双字节指令双字节指令 MOVMOV RiRi data data 该指令功能为该指令功能为 data Ridata Ri 需执行如下微操作 需执行如下微操作 PC PC IABIAB OABOAB 程序计数器 程序计数器 PCPC 内容作访问内存地址内容作访问内存地址 M M ODBODB IDBIDB IRlIRl 读出指令字节送指令寄存器 读出指令字节送指令寄存器 IR1IR1 PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 PC PC IABIAB OABOAB 根据 根据 PCPC 访内存访内存 M M ODBODB IDBIDB RiRi 取出本指令第二字节 取出本指令第二字节 即即 data data 送送 RiRi PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 其中 其中 必须同一拍 必须同一拍 可单独一拍也可与可单独一拍也可与 合一拍 合一拍 也必须同一拍 也必须同一拍 可可 单独一拍也可与单独一拍也可与 合一拍 合一拍 推荐采用如下方案 推荐采用如下方案 T0 T0 第一拍第一拍 T1 T1 第二拍第二拍 双字节指令双字节指令 LDALDA addraddr 该指令功能为该指令功能为 addr addr A A 需执行如下微操作 需执行如下微操作 PC PC IABIAB OABOAB 程序计数器 程序计数器 PCPC 内容作访问内存地址内容作访问内存地址 M M ODBODB IDBIDB IRlIRl 读出指令字节送指令寄存器 读出指令字节送指令寄存器 IR1IR1 PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 PC PC IABIAB OABOAB 根据 根据 PCPC 访问内存访问内存 M M ODBODB IDBIDB IR2IR2 取出本指令第二字节送 取出本指令第二字节送 IR2IR2 PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 RCB2 B3 CI GI P 1 CK PCOB1 X0 X1 CA B RC PCOB1 B2 B3 P 1 CK RCB2 B3 CI GI P 1 CK PCOB1 PCOB1 RC B2 B3 CL P 1 CK 8 I2 I1 I0 IR2 I2 I1 I0 IR2 IABIAB OABOAB 由 由 IRlIRl 低低 3 3 位和位和 IR2IR2 的的 8 8 位形成位形成 1111 位操作数位操作数 地址地址 M M ODBODB IDBIDB TMPTMP 从内存读出操作数送 从内存读出操作数送 TMPTMP TMP TMP A A TMPTMP 内容经内容经 ALUALU 传送 存入传送 存入 A A 其中 其中 必须同一拍 必须同一拍 也必须同一拍 也必须同一拍 也必须同一拍 也必须同一拍 可以单独一拍也可以单独一拍也 可与可与 合一拍 合一拍 可单独一拍也可和可单独一拍也可和 合一拍 合一拍 可单独一拍也可和可单独一拍也可和 合一拍或者合一拍或者 和和 合一拍合一拍 TMP TMP 设置为直通设置为直通 推荐采用如下方案 推荐采用如下方案 T0 T0 第一拍第一拍 T1 T1 第二拍第二拍 T2 T2 第三拍第三拍 单字节指令单字节指令 ADDADD A A RiRi 该指令功能为该指令功能为 A Ri A A Ri A 需执行如下微操作 需执行如下微操作 PC PC IABIAB OABOAB 程序计数器 程序计数器 PCPC 内容作访问内存地址内容作访问内存地址 M M ODBODB IDBIDB IRlIRl 内存该地址单元读出指令字节送指令寄存 内存该地址单元读出指令字节送指令寄存 器器 IR1IR1 PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 A A ACTACT 累加器 累加器 A A 内容送累加器暂存器内容送累加器暂存器 ACTACT 为 为 ALUALU 准备好被加数准备好被加数 ACT Ri ACT Ri BUFBUF IDBIDB A A 使 使 暂存器暂存器 TMPTMP 输出高阻 读输出高阻 读 RiRi 寄存器内容 使寄存器内容 使 ALUALU 执行加法 结果经执行加法 结果经 BUFBUF 至至 DBDB 最后送人累最后送人累 加器加器 A A C Cn 4 n 4 CY CY 据加法结果置进位标志 据加法结果置进位标志 CYCY 其中 其中 必须在一拍必须在一拍 即取指令周期即取指令周期 内完成 内完成 也必须在同一拍内完成 而也必须在同一拍内完成 而 不不 可可 以和以和 在同一拍 但可以和在同一拍 但可以和 在同一拍 在同一拍 可以和可以和 同拍也可以和同拍也可以和 同拍 也可同拍 也可 把把 单独一拍 甚至单独一拍 甚至 和和 各一拍也可以 各一拍也可以 推荐采用如下方案 推荐采用如下方案 T0 T0 第一拍第一拍 OIBI RCB2 B3 CT OT Cn M S3 S2 S1 S0 X0 X1 CA CI GI PCOB1 RCB2 B3 P 1 CK CC CG OT A B RR Cn M S3 S2 S1 S0OB X0 X1 CA SA SB CP 9 T1 T1 第二拍第二拍 双字节指令双字节指令 STASTA addraddr 该指令功能为该指令功能为 A A addr addr 需执行如下微操作 需执行如下微操作 PC PC IABIAB OABOAB 程序计数器 程序计数器 PCPC 内容作访问内存地址内容作访问内存地址 M M ODBODB IDBIDB IRlIRl 读出指令字节送指令寄存器 读出指令字节送指令寄存器 IR1IR1 PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 PC PC IABIAB OABOAB 根据 根据 PCPC 访问内存访问内存 M M ODBODB IDBIDB IR2IR2 取出本指令第二字节送 取出本指令第二字节送 IR2IR2 PC 1 PC 1 PCPC PCPC 加加 1 1 为取下条指令字节准备 为取下条指令字节准备 I2 I1 I0 IR2 I2 I1 I0 IR2 IABIAB OABOAB 由 由 IRlIRl 低低 3 3 位和位和 IR2IR2 的的 8 8 位形成位形成 1111 位操作数位操作数 地址地址 ACTACT BUFBUF IDBIDB ODBODB 读 读 A A 内容经内容经 ALUALU 传传 送至送至 IDBIDB 存人 存人 ODBODB ODB ODB M M 将将 ODBODB 里的数写入到内存中 里的数写入到内存中 其中 其中 必须同一拍 必须同一拍 也必须同一拍 也必须同一拍 也必须同一拍 也必须同一拍 可以单独一拍也可以单独一拍也 可与可与 合一拍 合一拍 可单独一拍也可和可单独一拍也可和 合一拍 合一拍 可单独一拍也可和可单独一拍也可和 合一拍或者合一拍或者 和和 合一拍合一拍 TMP TMP 设置为直通设置为直通 推荐采用如下方案 推荐采用如下方案 T0 T0 第一拍第一拍 T1 T1 第二拍第二拍 T2 T2 第三拍第三拍 RCB2 B3CI GI P 1 CK PCOB1 PCOB1 RC B2 B3 CL P 1 CK OIBI WC RR A B Cn M S3 S2 S1 S0 OBCL 10 4 5 确定微操作控制信号及其实现方法 确定微操作控制信号及其实现方法 4 5 1 设计微操作信号 1 运算器模块 ALU ZC CP SA 接 X0 接 M17 SB 接 X1 接 M16 PO 接 CY Pl 接 A0 接 SR P2 接 A7 接 SL CA 接 S3 S0 接 M23 M20 Cn 接 M19 M 接 M11 CG 接 Ml8 CC 接 OB 接 M8 2 寄存器堆模块 REG WR RR 接 M1 A 接 I0 B 接 I1 3 指令部件模块 I PC CL P l 接 M7 GI 接 M6 CI 接 CK 接 PO CLR 接 5V 0I 接 M15 LP PC0 如图 2 15 所示 4 内存模块 MEM RC M2 WC M3 5 总线缓冲模块 BUS Bl B3 接 RF B2 RC IAB2 IAB10 KA 接 IAB0 PA 接 IAB1 6 启停和时序模块 R P DR 接 M5 RCP 接 M12 M13 M0 M14 11 7 微程序控制模块 MPG MLD 接 M4 MP 1 接 5V MCLR 接 RO MCLK 接 P0 MIG 接地 MDl0 MD6 接地 MD5 接 I7 MD4 接 I6 MD3接地 MD2接 I3 MDl MDO接 VCC 5V 4 5 2 微操作信号的实施 用 PLD 实验板实施 先在 PC 机 Synario 环境下编辑微操作信号的硬件描述 文件 然后编译成相应的熔丝图文件 最后通过 PC 机并行口下载电缆将熔丝图 文件烧到 PLD 实验板上的 ispLSI2096 内 即完成了微操作信号的实施 4 5 3 设计微指令的格式 位23 22 21 2019 18 17 1615 14 13 1211 10 9 87 6 5 43 2 1 0 信 号S3 S2 S1 S0 Cn M X1 X0 OI CL CP CG OT LP OB GI P 1 DR MLD WC RC RR WR 有效电平011 000001000001 指令助记符 微地址 微指令码 十六进 制 取指微指令000H00000000100001110110101000876A 001 002 MOVMOV Ri dataRi data 003000000001000111111111011008FFB 00400000000100001110110101000876A 005 LDALDA addraddr 00700000000110011111111101000CFFA 008000000110000111110111010030FBA 00900000000100001110110101000876A 00A ADDADD A RiA Ri 0131001101110101110101111009BAEBC 01400000000100001110110101000876A 12 015 STASTA addraddr 01700000000110011111111101000CFFA 018000010000000111010110110080EB6 01900000000100001110110101000876A 01A HALTHALT 023000000001000111110011110008F9E 02400000000100001110110101000876A 4 5 4 确定微程序控制方式 一 确定微程序入口地址形成方法 采用 按操作码散转 的方法确定微程序入口地址的形成 该方法以指令操作码 8 位 为核心 扩展成 11 位的微程序地址即 MD1O MDO IRl 的 I7 I6 I2 为指令操作码 每条指令执行不超过 4 拍 即微程序可由多至 4 条微 指令组成 那么可按下图形成各微程序首地址 MD10 MD6 MD5 MD4 MD3 MD2 MD1 MD0 0 I7 I6 0 I3 1 按指令操作码散转按指令操作码散转 指令操作码 I7 I6 I3 微程序首址 MD10 MD0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 003H 007H 013H 017H 023H 二 确定控存的顺序控制方法 控存的顺序控制方法采用计数增量方法 即每段微程序执行过程中 MPC 加 1 计数 指向下一条微指令地址 4 5 5 编写各指令的微程序 指令助记符指令助记符节拍节拍微指令码微指令码 T0008FFB MOVMOV Ri dataRi data T100876A T000CFFA LDALDA addr1addr1 T1030FBA 13 T200876A T09BAEBC ADDADD A RiA Ri T100876A T000CFFA T1080EB6 STASTA addr2addr2 T200876A T0008F9E HALTHALT T100876A 4 6 编写调试程序 编写调试程序 4 6 1 汇编程序 MOV R1 20H LDA 55H ADD A R1 STA 56H HALT 4 6 2 编写 ABEL 程序 并烧到 PLD 实验板 MODULE CESB title This is an example for how to use PLD Board Define Computer Input Output Pins BLOCK1 IAB10 PIN 45 IAB9PIN 44 IAB8PIN 43 IAB7 PIN 42 IAB6 PIN 41 IAB5 PIN 40 IAB4 PIN 39 IAB3 PIN 38 IAB2 PIN 37 IAB1 PIN 36 14 IAB0 PIN 35 RC PIN 34 WC PIN 32 B2 PIN 31 IDB0 PIN 30 IDB1 PIN 29 IDB2 PIN 28 IDB3 PIN 27 IDB4 PIN 26 IDB5 PIN 25 IDB6 PIN 24 IDB7 PIN 23 I0 PIN 22 I1 PIN 21 I2 PIN 13 I3 PIN 12 I4 PIN 11 I5 PIN 10 I6 PIN 9 I7 PIN 8 PCO PIN 7 PINC PIN 6 LP PIN 5 GI PIN 4 OI PIN 3 BLOCK2 CL PIN 2 RR PIN 128 WR PIN 127 15 SB PIN 126 SA PIN 125 A PIN 99 B PIN 100 P1 PIN 123 P2 PIN 56 CG PIN 124 CY PIN 110 CT PIN 122 OT PIN 121 ZD PIN 20 CP PIN 120 S3 PIN 119 S2 PIN 118 S1 PIN 117 S0 PIN 109 M PIN 108 CN PIN 107 SR PIN 106 SL PIN 105 X0 PIN 104 X1 PIN 103 A7 PIN 84 A0 PIN 51 OB PIN 102 RO PIN 78 DR PIN 101 CLK PIN 46 BLOCK3 16 M23 PIN 98 M22 PIN 96 M21 PIN 95 M20 PIN 94 M19 PIN 93 M18 PIN 92 M17 PIN 91 M16 PIN 90 M15 PIN 89 M14 PIN 88 M13 PIN 87 M12 PIN 86 M11 PIN 85 M10 PIN 77 M9 PIN 76 M8 PIN 75 MD8 PIN 66 MD7 PIN 63 MD6 PIN 62 MD5 PIN 61 MD4 PIN 60 MD3 PIN 59 M7 PIN 74 M6 PIN 73 M5 PIN 72 M4 PIN 71 M3 PIN 70 M2 PIN 69 M1 PIN 68 17 M0 PIN 67 MD2 PIN 58 MLD PIN 57 BLOCK 4 MIG 0 PA PIN 55 KA PIN 53 PB PIN 54 KB PIN 52 READ NODE EQUATIONS Define Connections and Logic ALU CP M13 SA M16 X0 M16 SB M17 X1 M17 P1 A0 SR A0 S3 M23 S2 M22 S1 M21 S0 M20 CN M19 M M18 CG M11 OB M8 OT M10 18 CT 1 REG WR M0 RR M1 A I0 B I1 I PC CL M14 PINC M6 GI M7 OI M15 PCO M6 LP M9 MEM RC M2 CLK WC M3 CLK BUS B2 M2 IAB2 KA IAB0 PA IAB1 IDB0 KB IDB7 KA IDB0 OE READ IDB7 OE READ READ M2 IAB10 19 R P DR M5 MPG MLD M4 MD8 0 MD7 0 MD6 0 MD5 I7 MD4 I6 MD3 0 MD2 I3 END CESB 4 6 3 利用 FD CES 控制台将汇编程序输入内存 1 输入内存 如要将程序和数据分别写入内存的相应单元中 相应的操作和显示如下表 操 作显 示 M CM 置左 RET 或 STOP CPU READY 或小数点消失 000 LOAD000 x x x x x 0101 W 1W 1001001 x x x x 0 0 1 1 2020 W 1W 1002002 x x x x 2 2 0 0 08 W 1003 x x 0 8 55 W 1004 x x 5 5 51 W 1005 x x 5 1 5858 W 1W 1006006 x x x x 5 5 8 8 5656 W 1W 1007007 x x x x 5 5 6 6 A0 W 1008 x x A 0 2 读内存 将内存中的相应单元的数据读出 检查上一步键入是否正确 相应的操作和显示如下表 操 作显 示 M CM 置左 RET 或 STOP CPU READY 或小数点消失 20 000 LOAD000 0 1 x x x R 1R 1001001 2 2 0 0 x x x R 1R 1002002 0 0 8 8 x x x R 1R 1003 5 5 x x x R 1R 1004 5 1 x x x R 1R 1005 5 8 x x x R 1R 1006006 5 5 6 6 x x x R 1R 1007007 A A 0 0 x x x 4 6 4 利用 FD CES 控制台将指令的微程序输入控存 一 写控存 键人微程序 把微程序分别写入控存的相应单元中 相应的操作和显示如下表 操 作显 示 M CM 置右 RET 或 STOP CPU READY 或小数点消失 000 LOAD000 x x x x x x 00876A W 1001 x x x x x x RETxxx x x x x x x 003 LOAD003 x x x x x x 008FFB W 1004 x x x x x x 00876A W 1005 x x x x x x RETxxx x x x x x x 007 LOAD007 x x x x x x 00CFFA W 1008 x x x x x x 030FBA W 1009 x x x x x x 00876A W 100A x x x x x x RETxxx x x x x x x 013 LOAD013 x x x x x x 9BAEBC W 1014 x x x x x x 00876A W 1015 x x x x x x RETxxx x x x x x x 017 LOAD017 x x x x x x 00CFFA W 1018 x x x x x x 080EB6 W 1019 x x x x x x 00876A W 101A x x x x x x RETxxx x x x x x x 21 023 LOAD023 x x x x x x 008F9E W 1024 x x x x x x 00876A W 1025 x x x x x x 二 读控存 读微指令 读出控存相应单元的内容 微指令信息 检查上一步中微程序是否键入错误 相应 的操作和显示如下表 操 作显 示 M CM 置右 RET 或 STOP CPU READY 或小数点消失 000 LOAD000 0 0 8 7 6 A 003 LOAD003 0 0 8 F F B R 1004 0 0 8 7 6 A 007 LOAD007 0 0 C F F A R 1008 0 3 0 F B A

温馨提示

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

最新文档

评论

0/150

提交评论