描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302504566丛书名: 高等学校计算机专业规划教材
编辑推荐
采用模块化、自底向上的设计方法将原理图设计与抽象的硬件语言描述相结合,更适合普通高校的学生参考。本书内容编排上由浅入深、由易到难,符合初学者的认知规律,使初学者能够根据实验指导顺利完成典型指令的CPU设计。
内容简介
本书根据计算机组成原理课堂教学的需求,以培养学生计算机系统设计能力为目的,详细介绍了针对MIPS指令子集的单周期CPU、多周期CPU以及5级流水线CPU的具体设计过程,展示了利用Logisim和Verilog两种方法进行功能部件的设计以及组装CPU的具体方法。
本书的教学内容反映了当前CPU设计的主流方法,特色在于采用模块化、自底向上的设计方法将原理图设计与抽象的硬件语言描述相结合,更适合普通高校的学生参考。本书内容编排上由浅入深、由易到难,符合初学者的认知规律,使初学者能够根据实验指导顺利完成典型指令的CPU设计。通过本书的学习,读者还可以掌握利用Logisim进行逻辑设计的方法以及利用FPGA开发的设计流程。
本书可作为应用型普通高校计算机专业“计算机组成原理”课程配套的实验教材,也可作为计算机系统设计爱好者的参考用书。
本书的教学内容反映了当前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
第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
前 言
前言
计算机硬件系统由中央处理器(CPU)、存储器、输入/输出设备等部件构成。掌握计算机硬件基础知识,理解计算机系统各部件的基本组成、内部运行机制以及计算机系统运行的基本原理,是对计算机专业学生的基本要求。在此基础上,具备一定的硬件系统设计能力,对今后从事硬件设计相关工作,或者进行更深入的学习和研究至关重要。
计算机组成原理是计算机相关专业的核心基础课程,重点讲解计算机硬件系统的基本组成、运行原理和协同工作机制。与其配套的实验课程,主要是帮助学生深入理解计算机各组成部件的工作原理及其相互协同的工作机制。
本书作为计算机组成原理实验教程,以设计支持MIPS典型指令的CPU为目标组织内容,采用原理图设计(Logisim)与抽象描述(Verilog)相结合的方法,首先设计功能部件运算器、寄存器文件、存储器、控制器,后组装成完整的CPU。通过模块化的设计,使学生更加深入地理解计算机各功能部件的工作原理以及相互协同的工作机制。通过循序渐进的实验过程,使学生不仅掌握计算机各部件的具体实现方法以及相互协同的工作机制,而且让学生通过自己设计的CPU运行自己编写的汇编程序,体验设计CPU的成就感。全书共5章,各章的主要内容如下。
第1章: 处理器设计。本章详细介绍了基于MIPS典型指令的CPU实现方案。
第2章: 硬件平台。本章对Minisys开发板进行了简要的说明。
第3章: 开发环境。本章介绍了后续章节实验中用到的开发环境Logisim、Mars和Vivado,通过实例帮助学生掌握以上开发环境的设计流程。
第4章: 基础实验。本章通过循序渐进的实验内容,由熟悉开发环境到设计计算机的功能部件,再到组装CPU,要求学生终完成支持7条典型指令的单周期CPU。这部分实验对掌握课堂教学内容有重要的帮助,同时也是后续拓展实验的基础。
第5章: 拓展实验。这部分内容只给出了设计要求,要求同学在完成基础实验的基础上,全面运用所学知识,设计并实现多周期CPU、5级流水线CPU以及支持中断的CPU。通过这部分实验,培养学生综合运用知识的能力和解决实际问题的能力。〖1〗计算机组成原理实验教程前言[3]〖3〗本书实验的设计可能不是完美的,但却是完成一款CPU设计不可缺少的环节。通过完成这些实验,学生不仅能够加深对理论知识的理解,而且能够掌握CPU设计的基本方法。针对不同专业学生的要求,可以有针对性地选做本书中的实验。
在本书的编写过程中,许多同行和同学都给予了帮助,在此特别感谢清华大学的刘卫东教授和北京航空航天大学的高小鹏教授,本书第1章的内容就是借鉴两位老师的讲义编写完成的。首都师范大学的张一驰、张珉琢、王崎3位同学对本书的校订做出了一定贡献,在此一并表示感谢。后特别感谢依元素科技有限公司提供的Minisys开发板及相关资料。
由于作者水平有限,书中难免存在不妥之处,恳请广大读者批评指正。
计算机硬件系统由中央处理器(CPU)、存储器、输入/输出设备等部件构成。掌握计算机硬件基础知识,理解计算机系统各部件的基本组成、内部运行机制以及计算机系统运行的基本原理,是对计算机专业学生的基本要求。在此基础上,具备一定的硬件系统设计能力,对今后从事硬件设计相关工作,或者进行更深入的学习和研究至关重要。
计算机组成原理是计算机相关专业的核心基础课程,重点讲解计算机硬件系统的基本组成、运行原理和协同工作机制。与其配套的实验课程,主要是帮助学生深入理解计算机各组成部件的工作原理及其相互协同的工作机制。
本书作为计算机组成原理实验教程,以设计支持MIPS典型指令的CPU为目标组织内容,采用原理图设计(Logisim)与抽象描述(Verilog)相结合的方法,首先设计功能部件运算器、寄存器文件、存储器、控制器,后组装成完整的CPU。通过模块化的设计,使学生更加深入地理解计算机各功能部件的工作原理以及相互协同的工作机制。通过循序渐进的实验过程,使学生不仅掌握计算机各部件的具体实现方法以及相互协同的工作机制,而且让学生通过自己设计的CPU运行自己编写的汇编程序,体验设计CPU的成就感。全书共5章,各章的主要内容如下。
第1章: 处理器设计。本章详细介绍了基于MIPS典型指令的CPU实现方案。
第2章: 硬件平台。本章对Minisys开发板进行了简要的说明。
第3章: 开发环境。本章介绍了后续章节实验中用到的开发环境Logisim、Mars和Vivado,通过实例帮助学生掌握以上开发环境的设计流程。
第4章: 基础实验。本章通过循序渐进的实验内容,由熟悉开发环境到设计计算机的功能部件,再到组装CPU,要求学生终完成支持7条典型指令的单周期CPU。这部分实验对掌握课堂教学内容有重要的帮助,同时也是后续拓展实验的基础。
第5章: 拓展实验。这部分内容只给出了设计要求,要求同学在完成基础实验的基础上,全面运用所学知识,设计并实现多周期CPU、5级流水线CPU以及支持中断的CPU。通过这部分实验,培养学生综合运用知识的能力和解决实际问题的能力。〖1〗计算机组成原理实验教程前言[3]〖3〗本书实验的设计可能不是完美的,但却是完成一款CPU设计不可缺少的环节。通过完成这些实验,学生不仅能够加深对理论知识的理解,而且能够掌握CPU设计的基本方法。针对不同专业学生的要求,可以有针对性地选做本书中的实验。
在本书的编写过程中,许多同行和同学都给予了帮助,在此特别感谢清华大学的刘卫东教授和北京航空航天大学的高小鹏教授,本书第1章的内容就是借鉴两位老师的讲义编写完成的。首都师范大学的张一驰、张珉琢、王崎3位同学对本书的校订做出了一定贡献,在此一并表示感谢。后特别感谢依元素科技有限公司提供的Minisys开发板及相关资料。
由于作者水平有限,书中难免存在不妥之处,恳请广大读者批评指正。
关桂霞
2018年5月
评论
还没有评论。