- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章指令系统-Read.PDF
第4章 指令系统
指令系统在计算机组成原理的知识体系中占有重要的地位。当我们开始
设计一个哪怕是最简单的计算机的时候,我们首先想到的就是我的计算机采
用哪一个指令系统。本章将从 MIPS 指令系统谈起,详细介绍本课题所采用
的指令系统(一种类似于MIPS16e 标准的指令集)的完整架构。
4.1 MIPS 指令集简介
MIPS ,全称Microprocessor without Interlocked Pipeline Stages ,即无内
部互锁流水级的微处理器,是最早、最成功的 RISC 处理器之一,起源于斯
坦福大学。MIPS 处理器使用的指令系统即为 MIPS 指令系统。MIPS 指令系
统指令都为 32 位,格式统一,易于流水。
为方便更多的扩展应用,相关科技人员又制定了 MIPS16e 标准。
MIPS16e 是MIPS 指令系统的一个面向应用的扩展,主要应用于嵌入式系统,
它的指令全部为 16 位,并且保留 MIPS 指令系统的主要特点。
MIPS 有 32 个通用寄存器,编号从 0 到 31 。MIPS 还有 32 个浮点寄存
器和一些专用寄存器。
4.2 本课题实验系统的指令集
前面简要介绍了 MIPS 指令系统,不难猜到,本课题所采用的指令系统
应该与 MIPS 相似。为什么选择 MIPS ?原因有三:①MIPS 指令系统中,只
有 LOAD/STORE 指令访问存储器,而其它的所有指令均从寄存器中读取数
据并把结果写入寄存器中,这种方式,使得 CPU 的结构相对简单和清楚,
便于实验;②由于 MIPS 指令最初就是为流水线处理器设计的,它的指令形
式很方便流水段的划分,这样就很方便本课题中流水线CPU 的设计;③MIPS
属于 RISC 指令,格式规整,每条指令功能相对简单,这样的特点使得编译
第 4 章 指令系统
器的开发相对容易一些,在后续的章节中将会看到,我们的确开发了针对我
们自己的指令集的编译器,在这一点上确实是得益于此的。
由于TEC-2008 系统支持 8 位和 16 位的计算机(本课题采用 16 位系统),
所以我们想到了 MIPS16e 标准。这里要感谢计算机系的周源、王乃峥、李
鹏三位同学,因为这套指令集最初是他们设计的。设计之初,他们的想法有
三点:①尽量使指令集贴近 MIPS16e 标准采用的指令格式,确保指令继承
MIPS 的优点;②简化指令集,将一些用不到的,实现起来又很麻烦的指令
去掉,这样就会为后续的实验设计减轻负担;③指令集的功能尽量完备,不
要删减的过于简单而导致后续的监控程序功能无法实现。我想,最终的实验
证明了这套指令系统确实做到了以上三点。
4.2.1 指令分类
整个实验系统所采用的指令集由 43 条指令组成。
按照指令的操作类型可分为 4 种:R 型、I 型、B 型、J 型。
R 型指令从寄存器堆中读取元操作数,结果写回寄存器堆。该类型的指
令包括:SLL、SRL、SRA、SLLV、SRLV、SRAV、MTSP 、MOVE 、ADDU 、
SUBU、MFPC 、SLT、SLTU、CMP、NEG 、AND 、OR、XOR 、NOT 、MFIH 、
MTIH.
I 型指令使用一个(4 位或 5 位或 8 位或 11 位)立即数作为一个源操作
数。该类型的指令包括:SW_RA_SP、SW_SP、SW、LW_SP 、LW 、
ADDIU_3OP 、ADDIU_SP_3OP 、ADDIU_SP 、ADDIU 、LI 、SLTI、SLTUI、
CMPI、INT.
B 型指令使用一个立即数作为跳转的目标地址。该类型的指令包括:B 、
BEQZ 、BNEZ 、BTEQZ 、BTNEZ.
J 型指令使用寄存器的值作为跳转的目标地址。该类型的指令包括:JR 、
JRRA 、JALR.
4.2.2 指令的格式功能描述
在详细描述 43 条指令的格式与功能之前,我们首先规定以下符号的意
义,以便在描述中使用。
表 4.1 指令功能描述中符号与含义对照表
第 4 章 指令系统
符号
文档评论(0)