- ISBN:9787302504566
- 装帧:一般纯质纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:168
- 出版时间:2018-11-01
- 条形码:9787302504566 ; 978-7-302-50456-6
本书特色
采用模块化、自底向上的设计方法将原理图设计与抽象的硬件语言描述相结合,更适合普通高校的学生参考。本书内容编排上由浅入深、由易到难,符合初学者的认知规律,使初学者能够根据实验指导顺利完成典型指令的CPU设计。 通过实验,让你掌握计算机组成原理及设计
内容简介
本书根据计算机组成原理课堂教学的需求,以培养学生计算机系统设计能力为目的,详细介绍了针对MIPS指令子集的单周期CPU、多周期CPU以及5级流水线CPU的具体设计过程,展示了利用Logisim和Verilog两种方法进行功能部件的设计以及组装CPU的具体方法。 本书的教学内容反映了当前CPU设计的主流方法,特色在于采用模块化、自底向上的设计方法将原理图设计与抽象的硬件语言描述相结合,更适合普通高校的学生参考。本书内容编排上由浅入深、由易到难,符合初学者的认知规律,使初学者能够根据实验指导顺利完成典型指令的CPU设计。通过本书的学习,读者还可以掌握利用Logisim进行逻辑设计的方法以及利用FPGA开发的设计流程。 本书可作为应用型普通高校计算机专业“计算机组成原理”课程配套的实验教材,也可作为计算机系统设计爱好者的参考用书。
目录
第1章处理器设计/1
1.1MIPS指令系统1
1.1.1MIPS指令格式1
1.1.2MIPS寄存器2
1.1.3MIPS的指令集选择2
1.2MIPS CPU设计12
1.2.1单周期CPU设计12
1.2.2多周期CPU设计23
1.2.35级流水线CPU设计31
1.3MIPS的中断处理41
1.3.1MIPS的协处理器42
1.3.2MIPS的中断处理43
第2章硬件平台/44
2.1概述44
2.1.1Minisys开发板资源44
2.1.2主芯片XC7A100T的关键资源45
2.2板上存储器45
2.2.1DDR3 SDRAM46
2.2.2SRAM47
2.2.3非易失的串行Flash48
2.3FPGA配置48
2.4基本I/O 49
2.4.1拨码开关与LED灯49
2.4.2按键开关50
2.4.37段数码管50
2.5其他接口52
2.5.1时钟52
2.5.24×4矩阵键盘53
2.5.3VGA模块53〖1〗计算机组成原理实验教程目录[3]〖3〗
2.5.4蜂鸣器54
2.5.5麦克风54
2.5.6USBUART桥54
2.5.7以太网54
2.5.8EJTAG接口55
第3章开发环境/57
3.1Logisim57
3.1.1设计分析57
3.1.2设计过程57
3.1.3仿真测试62
3.1.4封装电路64
3.1.5电路应用65
3.2Mars 66
3.2.1打开Mars66
3.2.2编写汇编程序67
3.2.3汇编67
3.2.4运行并调试68
3.3Vivado69
3.3.1FPGA开发流程69
3.3.2设计实例70
第4章基础实验/92
4.1多路选择器的设计与实现92
4.1.1用Logisim实现2选1 多路选择器93
4.1.2用Verilog语言设计2位数据的2选1多路选择器98
4.2运算器的设计与实现118
4.2.1算术逻辑单元的设计与实现118
4.2.2寄存器文件的设计与实现127
4.3存储器的设计与实现133
4.3.1Logisim模拟存储器扩展133
4.3.2存储器的IP核实现137
4.4单周期CPU的设计与实现144
4.4.1MIPS汇编程序144
4.4.2单周期CPU的设计与实现149
第5章拓展实验/156
5.1多周期CPU的设计与实现156
5.25级流水线CPU设计与实现164
5.3支持中断的多周期CPU设计与实现166
参考文献/169
节选
第3章开 发 环 境本章对本书中实验所涉及的开发软件Logisim、Mars和Vivado进行简要的介绍。 3.1Logisim Logisim是一款简单易用的数字逻辑电路的设计、仿真软件。本节以数字系统中常用的24译码器电路设计为例,详细介绍Logisim软件的设计过程。 3.1.1设计分析 24译码器有2个输入端、4个输出端和1个使能端。当使能端为有效电平时,对应的输出端只有一个有效,其余均为无效电平。具体来说,2个输入变量(A、B)共有4种组合状态,因此译码器有4个输出信号(Y3~Y0)。假定使能端E、输出Y3~Y0均为低电平有效,则24译码器各输出端的逻辑表达式为0=··;1=··B;2=·A·;3=·A·B3.1.2设计过程 打开Logisim软件,如图3.1所示,Logisim用户界面主要由菜单栏、工具栏、元件库、属性区、编辑区和缩放区构成。 图3.1Logisim用户界面 菜单栏: 主要包括文件(File)、编辑(Edit)、工程(Project)、仿真(Simulate)、窗口(Window)和帮助(Help)6个下拉菜单。其使用方法和常用的Windows软件类似。 工具栏: 主要包含了常用命令的快捷按钮。灵活运用工具栏可以极大地方便用户在Logisim中的操作。 元件库: 提供了数字系统逻辑设计中常用的部件,包括基本的门单路(Gates)、连线(Wiring)、编/译码器(Plexers)、算术单元(Arithmetic)、存储器(Memory)、输入/输出(Input/Output)以及基本工具(Base)。Logisim软件自带的库中包含了绘制原理图用到的一些常用的基本元件。利用这些元件,可以完成大部分逻辑设计。对于一些复杂数字系统的设计,可以先利用这些常用元件设计逻辑子电路,然后再进行系统级设计。 属性区: 显示或修改被选中元件的属性。 编辑区: 逻辑设计绘图区。 缩放区: 放大/缩小编辑区。〖1〗计算机组成原理实验教程第3章开发环境[3]〖3〗1. 创建工程 选择菜单栏中的Project→Add Circuit命令,并在弹出的窗口中输入电路名称decode24,然后单击“确定”按钮,如图3.2所示。 图3.2创建工程 2. 添加元件 从上面的分析过程得知,24译码器需要用到与非门和非门两类逻辑元件。展开Logisim用户界面左侧的Gates菜单,单击NAND Gate,拖动鼠标将选中的与非门移入右侧编辑区,并放置在适当的位置,如图3.3所示。 图3.3添加元件 如图3.4所示,单击编辑区中的与非门,在界面左下方的属性区Selection中会自动出现选中模块的默认参数。根据不同设计要求,可以修改元件的属性。对于24译码器的设计,需要三输入的与非门,所以将Number Of Inputs设为3,元件标号Lable定义为u1,其余设置保持不变。 图3.4元件参数设置 其他与非门、非门的放置与参数设置和以上情况类似。如图3.5所示,依次将24译码器要用到的3个与非门和3个非门摆放在编辑区的合理位置。 图3.5元件布局 3. 添加输入/输出端口 单击工具栏中的放置输入端口,单击放置输出端口。也可以展开用户界面左侧的Wiring菜单选择图标,该图标默认为输入端口。如图3.6所示,可以通过相应的属性修改为输出端口。 图3.6添加输出端口 单击工具栏中的,放置E、A、B 3个输入端口,并在相应的属性栏中修改其名称。单击工具栏中的,放置Y3~Y0 4个输出端口,同样并在相应的属性栏中修改其名称。 通过修改某一元件属性Selection中的Facing选择项,可改变该元件的端口朝向。输入、输出端口布局如图3.7所示。 图3.7输入、输出端口布局 4. 连线 添加完所有的元件后,就可以连线了。将鼠标移至某一元件端口(注意: 出现绿色小圆圈),即可从此点引出连线,按住鼠标左键,连线会延长,松开后连线被保留下来。选中某一段连线,按键盘中的Delete键或BackSpace键就可以将其删除。如图3.8所示,*终完成24译码器的设计。单击工具栏中的,可以进行文本编辑,对设计的逻辑电路进行文本说明。 图3.824译码器逻辑图 提示: 建议在电路设计过程中先放置元件,后连线。 在编辑()状态,当鼠标为一个小绿圆圈时,单击它开始画线。 连线的起点、终点很重要,必须是对应元件上的“小圆点”处。 电路设计过程中,有时发现有些连线是蓝色或灰色的,这不是大问题,但是在完成设计以后,如果还有蓝色或灰色的连线,就说明肯定有错误发生。 正确完成连线后,所有的连线颜色都应该自动变成亮绿或者暗绿色。如果为其他颜色,请参考Logisim环境下线条颜色的说明检查并修改连线。Logisim环境下,线条颜色说明如下。 灰色: 可以说是无用线,与任何器件都没有连接。 蓝色: 1bit数据线,悬空,没有驱动。 暗绿色: 逻辑0。 亮绿色: 逻辑1。 黑色: 多位逻辑线。 红色: 错误的逻辑值。出现这种情况一般是: 逻辑门没有输入或输入不正确,导致输出有问题;或者两个器件的输出同时连接到该线。 橙色: 线宽不匹配,这是*常出现的一种错误。 图3.9中,由于u2器件的a输入端为悬空状态,所以输出显示为红色。 图3.9输入悬空 图3.10中,由于u2器件的a输入端为不确定状态X,所以输出也显示为红色。 图3.10输入逻辑不正确 图3.11中,由于u2器件的a输入端同时接收u4、u5的输出驱动,所以导致u2器件的输出为红色。 图3.11两个器件同时驱动 将图3.11中u2器件的a输入引脚与输入信号x连接后,不正确的颜色(红色)连线自动变为正确的颜色(暗绿色、亮绿色),如图3.12所示。 图3.12修改正确的电路 3.1.3仿真测试 如图3.13所示,选择工具栏中的手型标志(鼠标移至此处时会出现Change values within circuit(Ctrl1)字样),将编辑状态改为测试状态。选中某一输入模块,单击鼠标改变输入模块(Pin)的值,就可以实时观察测试的结果。(注意: 一般输入有0、1、X 3种状态,其中X为高阻态,也可以设置Selection的Threestate选项,取消三态。) 图3.13选择测试状态 例如,将E设为1、A设为0、B设为0时,测试结果如图3.14所示。 图3.14测试过程(E=1为无效状态) 图3.14表示24译码器使能端无效(E=1)时,4个输出端(Y3~Y0)均为无效状态(全为1)。当使能端有效(E=0)、AB=00时,对24译码器测试的结果如图3.15所示。 图3.15测试结果(E=0, AB=00) 按照上述方法对24译码器的功能进行全面测试,测试结果与24译码器的功能如果不符,请检查设计的正确性。
-
全图解零基础word excel ppt 应用教程
¥16.3¥48.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
零信任网络:在不可信网络中构建安全系统
¥34.2¥59.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥20.3¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥74.3¥99.0 -
大学计算机基础实验教程(MS Office版)——面向数据分析能力培养
¥29.1¥39.8 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥70.0¥89.8 -
LINUX实战——从入门到精通
¥52.4¥69.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
数据存储架构与技术(第2版)
¥62.9¥89.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
实战知识图谱
¥51.8¥69.0