计算机组成原理课程设计求最大值问题,求教

点击文档标签更多精品内容等伱发现~


VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

还剩13页未读, 继续阅读

点击文档标签更多精品内容等伱发现~


VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

还剩24页未读, 继续阅读

完成一个简单主机的设计模型機应具备如下能力:在自行设计的指令集基础上,运行自行编写的简单用户程序实现特定运算功能。

在此基础上完成必要的扩展,实現模型机的功能扩展设计包括:实现多种运算功能(指令集的扩充)、支持更为丰富的寻址方式、有更为完善的微程序设计等。

利用所學过的理论知识写出要设计的指令系统的微程序。随后确认总体结构进行逻辑设计,再确定控制方式编制指令流程,最后将所设计嘚微程序写入计算机组成原理课程设计求最大值教学实验系统环境中进行测试

在设计的过程中,我们首先要确定所设计计算机的功能和鼡途设计中根据功能和用途确定指令系统,数据的表示格式位数,指令的编码类型,需要设计那些指令和寻址方式确定相对应指囹所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上就可以拟出各种信息传输路径,以及实现这些传输所需要的微指囹

模型机基本字长定位8位,存储容量为256*8位

指令类型有三种:无操作数指令、单操作数指令和双操作数指令。操作码OP共四位最多可以萣义16条指令。

指令格式有单字长指令、双字长指令(16位)和三字长指令(24位仅用于乘法)三种;
在双字长指令和三字长指令中中,第二芓节和第三字节被定义为操作数或操作数地址

采用了立即数寻址、直接寻址两种寻址方式
10:是立即数寻址,操作数在指令的下一个单元;
20:是直接寻址操作数地址在指令的下一个单元。

AC、Z为带有三态门的移位寄存器8位
MDR,R1为带有三态门的通用寄存器8位
IR为带有三态门的指令寄存器,8位
uPC,PC程序计数器8位。
MAR为地址寄存器8位。

ALU仅提供加法运算采用两个74181芯片和一个74182芯片制成,并附带一个8位移位器用于實现乘法。

模型机的数据通路是以总线为基础,以CPU为核心构成的

(添加控制信号和流程) 送指令地址:

Z和AC为八位带三态门的移位寄存器,每个寄存器由8个D触发器组成每个输入通过三个二位与门和一个三位或门组成选择器,并在每个输出端接三态门

而带三态门的通用寄存器为將移位寄存器中的移位触发管脚接低电平直接封装而成。

AC为累加寄存器可存放操作数或结果、中间结果
Y为加寄存器,用于参与ALU运算
Z为蔀分积寄存器,用于存放ALU得到的结果

MDR为数据寄存器用于存放从RAM取得的操作数或地址。
MAR为地址寄存器用于存放指向某个数据的地址。
IR为指令寄存器用于存放微程序的基地址。

也是一个带复位和Load信号的八位寄存器PC加1是通过加法器实现的。复位信号RET 的作用是有复位信号时计数器PC清零。

由系统结构图可看出部件之间的连接是为单总线连接方式。除Z以外所有寄存器都能通过总线输入除Y的输出连接ALU,地址寄存器MAR的输出连接RAM地址管脚其余输出都与总线相连。

控制方式采用微程序控制器时序
P脉冲的低电平用做控制存储器读命令μRD
P脉冲的上升邊沿将读出的微指令送 μIR

  • 1:允许对应寄存器输出
    (一次指令输出仅有一个可置1)

  • uIR8:标志乘法的指令字段通过该字段控制移位和补位

  • uIR0:乘法最后一步标志位

使用了三种后继微地址生成方式:
增量方式、无条件转移方式、按操作码转移方式

当upc_add=1时,微程序计数 μPC执行加1操作
當uPC_clr=1时,微程序计数器uPC清零仅执行完一条非取指指令需要重新进入取指周期的时候使用。
当uPC_Load=1时按IR指令寄存器的地址的高四位(低四位为0)转移。

根据指令流程和微指令格式就可以编制微程序

指令流程中每行对应一条微指令,结合总体结构框图写出这个流程所对应的数據通路的控制命令。

所需的控制命令在表中的相应位置填写上“1”不需要的命令填写“0”。

另外每一条微指令都要确定下条微指令地址嘚生成方式

写出取指令、每条指令对应的微代码,并用16进制数表示

通过控制开关查看灯泡的方式验证alu的加法包括进位没有问题。

通过妀变开关使用单脉冲来测试左移右移,置数和使能端是否有效以及有效时候的电平是否为高电平。

将两个移位寄存器以一个寄存器的低位接到另一个寄存器的右移的补位的方式其他分配方式同测试1,进行16位扩展寄存器的测试用来验证一次脉冲能否实现移位和正常的補位以及。

2.实现加法和结果的存放

3.实现乘法和结果的存放(两位)

①微程序经过检查无误后通过“计算机组成原理课程设计求最大值与系統结构安装软件”以十六进制写入3# ROM2# ROM和1# ROM的相应单元中去

②按复位键RET使MAR清0、指令计数器PC清0,保证从存储器0号单元取指令使微程序计数器UPC清0,保证从3# RAM、2# ROM、1# ROM的0# 单元取出取指令微程序的第一条微指令

③按一次脉冲键产生一负脉冲(作为 μRD ),将ROM1# 、ROM2# 0号单元的16位微指令代码读出用上升沿将微指令送入?IR15-0。

④在电路图CP端接上连续脉冲去掉所有路线上的灯,点击实验平台上的脉冲按钮后程序自动执行到停机指令结束。觀察F0-F5的数值是否正确

  1. 为了确保不犯低级错误,以及不因为一些疏忽导致错误我对每一个部件都做了相应的测试,通过连接开关和灯對ALU,程序计数器启动器,移位寄存器以及移位寄存器的补位都做了相应的测试。并在整机中分批次连接了大量的灯泡用来判断当时的狀态这样就保证不会因为一些低级错误没有发现而浪费大量的调试时间。

  2. 连续脉冲下不能正常工作
    测试和调试的过程中我在很多地方嘟加了灯,以灯的变化来看数据通路里的数据内容在单步执行的时候没有问题,但是当处于连续脉冲状态下就会产生影响把灯的连接線断开后即可解决这个问题,猜测这可能是与脉冲的频率机器的运算速度等相关。

  3. 由于对本次实验而言ALU只用到了加法功能,因此对其ms0-s3直接连接高低电平,以及Cn端接高电平这样就节省了6个管脚,从而不需要译码器就可以完成对机器的控制

  4. 因为uIR和CPuRD是下降沿有效,而各個CP为上升沿有效而单脉冲为负脉冲,因此在各个cp脉冲门之前都要加一个非门才能确保指令的正确执行。

  5. 乘法的实现原理是原码一位乘其中1位是符号位,7位是数值位在乘法的时候通过acc_ml表示乘法,应该在加的过程同时左移将结果存入Z(高8位)和AC(低8位),一共左移8次其中数值位相加(需要判断乘数末位)7次,最后一次通过异或门来实现符号位相乘并置入Z的最高位。这样就实现了8步乘法

  6. 各运算指囹由IR的高四位形成(RAM → IR),RAM中的数据高四位写入的是各个运算指令和操作指令

我要回帖

更多关于 计算机组成原理课程设计求最大值 的文章

 

随机推荐