- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8位cpu实验报告
精简8位CPU设计报告于露
RISC即精简指令集计算机(Reduced Instruction Set Computer)的缩写。RISC-CPU与一般的CPU相比通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。本文对RISC-CPU的架构进行了分析,并使用VHDL语言设计了8位RISC-CPU IP软核。
SAP-1 CPUMAR、指令寄存器、控制器/序列发生器、累加器、加减法器、B寄存器、输出寄存器。
1.1 SAP-1 CPU及计算机的组成架构简介
1.程序计数器
???它是一个4Bits的计数器,计数范围由0~15。主要功用是记录下每个执行的指令地址,并把这个地址传送至MAR寄存器存放。
2.输入与MAR(Memory Access Register)
???这个方块应分成两个部分,一个是接受由“输入”部分输入到RAM内存的外部程序和数据,另一部分“MAR”是用来在CPU执行上述所加载的程序时,暂存下一个要执行的指令地址。
3.16×8 RAM
???这个RAM有16个存储单元,每个单元为1字节,即8bits。所以这个RAM的地址总线是4bit,地址编码是由0000,0001,0010…1111,这个地址内容是由上述MAR传送过来,然后通过译码将地址存放的8位数据或指令输出至Wbus。
4.指令寄存器
???属于CPU内的控制单元,主要是将在RAM的8位数据,通过Wbus后读入指令寄存器,然后再把数据一分为二,较高的4位属于指令部分,送至下一级的“控制器”,而较低的4位属于数据部分,将会被送至Wbus。
5.控制器/序列发生器
???这个模块也是属于CPU内控制单元的一部分,这个控制器在程序执行时,负责送出整个计算机的时序信号CLK,而且会把指令寄存器送来的4位指令,解译成12位的控制信号,由这组控制信号指挥其它的功能方块,完成该指令的运作。由于使用VHDL语言设计整个SAR-1,依照语法的使用,这部分会被省略,而且不会影响整个CPU运作。
6.累加器
???累加器是个8位的缓冲寄存器,它是存放目前计算机执行的实时数据地方。不同的指令也将使它产生不同的工作方式。
7.加减法器
这个加减法器负责执行数学的加法和减法运算,而且运算的结果会放回“累加器”暂存。
8.B寄存器
这个寄存器用来配合“累加器”、“加减法器”,执行“加法”?或“减法”的工作。
9.输出寄存器
这个输出寄存器的用途是,CPU执行到“输出结果”的指令时,便将“累加器”的结果传至“输出寄存器”,所以它是负责存放输出结果,当然这个存放的结果是二进制形式的。
1.2 SAP-1 CPU指令.寻址法.程序设计
SAP-1的CPU指令,共有5个且可分成两种类型,如表
直接寻址法(Direct Addressing)
指令 运算码 范例 说明 LDA 0000 LDA 9H 将9H内存的内容值加载累加器 ADD 0001 ADD BH 将BH的内存内容值和累加器内容值相加,再存放运算结果回累加器 SUB 0010 SUB EH 将EH的内存内容值和累加器内容值相减,再存放运算结果回累加器 零位寻址法(Zero Addressing)
指令 运算码 范例 说明 OUT 1110 OUT 将累加器内容输出至“输出寄存器” HLT 1111 HLT 结果CPU执行
二、实验要求
SAP-1指令,设计16(Word)x8(Bit)的ROM,使其能够执行如下预算:
10+14+18-20=1C(Hex)
地址 汇编语言 机械码 0H LDA 9H 0000 1001 1H ADD AH 0001 1010 2H ADD BH 0001 1011 3H SUB CH 0010 1100 4H OUT 1110 0000 5H HLT 1111 0000 6H XXX 0000 0000 7H XXX 0000 0000 8H XXX 0000 0000 9H 10H 0001 0000 AH 14H 0010 0100 BH 18H 0001 1000 CH 20H 0010 0000
三、实验设计过程
3.1 SAP-1 CPU
SAP-CPU在前面所提的指令,它们执行的指令周期总长度基本上都是6个脉冲长度,这可以用下图说明
SAP-1指令周期(Instruction Cycle)
时序状态S0-S2范围为取指令周期,而时序状态S3-S5为指令执行周期.下面是每个时序状态下,SAP-1 CPU的工作任务:
1.取指令周期(Fetch Cycle)
(1)状态S0: (寻址状态, Address State)
文档评论(0)