ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:430.04KB ,
资源ID:4793366      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4793366.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(嵌入式cpu系统设计仿真实验.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

嵌入式cpu系统设计仿真实验.doc

1、8位CPU设计课程报告设计课题: 基本模型计算机设计与实现 姓 名: 专 业: 学 号: 日 期 2023年5月23日2023年6月1日指导教师: 国立华侨大学信息科学与工程学院目 录1设计的任务与规定12.方案论证13.单元电路的设计23.1 运算器ALU2 3.2工作寄存器4 3.3 指令寄存器5 3.4地址寄存器5 3.5程序计数器5 3.6 时序信号发生器5 3.7 微命令产生部件5 3.8 微指令译码器63.9 2_4译码器64.系统电路总图及原理75.经验体会13参考文献13附录A:系统电路原理图138位CPU的硬件系统设计设计1. 设计的任务与规定计算机的核心部件CPU通常包含运

2、算器和控制器两大部分。组成CPU的基本部件有运算部件,寄存器组,微命令产生部件和时序系统等。这些部件通过CPU内部的总线连接起来,实现它们之间的信息互换。1.1设计指标 1. 能实现加减法、左右移位、逻辑运算、数据存取、有无条件跳转、内存访问等指令;2. 整个系统能正常稳定工作。1.2 设计规定1. 画出电路原理图(或仿真电路图);2. 元器件及参数选择(或开发板的考虑);3. 编写设计报告,写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),有心得体会。2. 方案论证2.1 CPU的系统方案CPU的基本部件所有用硬件描述语言生成,通过各个部件之间的逻辑关系和时序环节搭建整个系统。

3、指令系统用状态机实现,控制器通过判断当前的状态来执行相应的指令操作。该CPU 重要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR,微控制器uC,输入单元INPUT 和输出单元OUTPUT 所组成。图中虚线框内部分涉及运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。虚线框外部分重要是输入/输出装置,涉及键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观测CPU 内部工作情况及运算结果。3. 单元电路的设计3.

4、1运算器ALU算术逻辑单元ALU通过一条或多条输入总线完毕算术运算或逻辑运算。运算器的结构如图所示。a和b为运算器输入端口,c为运算器输出端口,用于输出运算结果。控制信号sel决定了运算器的算法功能。ALU的功能表如下所示,可以完毕加、减运算,还可以完毕逻辑运算,如与、或、非、异或。ALU181的VHDL语言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALU181 IS PORT ( S : IN STD_LOGIC_VECTOR(3 DOWNTO 0 ); A : IN ST

5、D_LOGIC_VECTOR(7 DOWNTO 0); B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); M : IN STD_LOGIC; CN : IN STD_LOGIC; CO : OUT STD_LOGIC; FZ : OUT STD_LOGIC );END ALU181;ARCHITECTURE behav OF ALU181 ISSIGNAL A9 : STD_LOGIC_VECTOR(8 DOWNT

6、O 0);SIGNAL B9 : STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL F9 : STD_LOGIC_VECTOR(8 DOWNTO 0);BEGIN A9 = 0 & A ; B9 IF M=0 THEN F9=A9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 OR B9) + CN ; ELSE F9 IF M=0 THEN F9=(A9 OR (NOT B9)+ CN ; ELSE F9 IF M=0 THEN F9= - CN ; ELSE F9 IF M=0 THEN F9=A9+(A9 AND NOT B9)+ CN ; E

7、LSE F9 IF M=0 THEN F9=(A9 OR B9)+(A9 AND NOT B9)+CN ; ELSE F9 IF M=0 THEN F9=A9 -B9 - CN ; ELSE F9 IF M=0 THEN F9=(A9 AND (NOT B9) - CN ; ELSE F9 IF M=0 THEN F9=A9 + (A9 AND B9)+CN ; ELSE F9 IF M=0 THEN F9=A9 + B9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 OR (NOT B9)+(A9 AND B9)+CN ; ELSE F9 IF M=0 THEN F9=

8、(A9 AND B9)- CN ; ELSE F9 IF M=0 THEN F9=A9 + A9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 OR B9) + A9 + CN ; ELSE F9 IF M=0 THEN F9=(A9 OR(NOT B9) +A9 + CN ; ELSE F9 IF M=0 THEN F9=A9 -CN ; ELSE F9 F9= ; END CASE; IF (A9= B9) THEN FZ = 0;END IF; END PROCESS; F= F9(7 DOWNTO 0) ; CO = F9(8) ;COUT = 0000 WHEN

9、 F9(8) = 0 ELSE 0001 ;END behav;3.2工作寄存器3.3指令寄存器指令寄存器(IR)用来存放当前正在执行的指令,它的输出涉及操作码信息、地址信息等,是产生微命令的重要逻辑依据。3.4地址寄存器 CPU 访问存储器,一方面要找到需要访问的存储单元,因此设立地址寄存器(AR)来存放被访单元的地址。当需要读取指令时,CPU 先将PC 的内容送入AR,再由AR将指令地址送往存储器。当需要读取或存放数据时,也要先将该数据的有效地址送入AR,再对存储器进行读写操作。 3.5程序计数器程序计数器(PC)也称指令指针,用来指示指令在存储器中的存放位置。当程序顺序执行时,每次从主存

10、取出一条指令,PC 内容就增量计数,指向下一条指令的地址。增量值取决于现行指令所占的存储单元数。假如现行指令只占一个存储单元,则PC 内容加1;若现行指令占了两个存储单元,那么PC 内容就要加2。当程序需要转移时,将转移地址送入PC,使PC 指向新的指令地址。因此,当现行指令执行完,PC 中存放的总是后续指令的地址;将该地址送往主存的地址寄存器AR,便可从存储器读取下一条指令。3.6时序信号发生器时序控制电路STEP用于产生程序运营时所需的时钟节拍。3.7微命令产生部件实现信息传送要靠微命令的控制,因此在CPU 中设立微命令产生部件,根据控制信息产生微命令序列,对指令功能所规定的数据传送进行控

11、制,同时在数据传送至运算部件时控制完毕运算解决。微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。产生微命令的方式可分为组合逻辑控制方式和微程序控制方式两种。在本章所介绍的8 位模型CPU 设计中,采用微程序控制方式通过微程序控制器和微指令存储器产生微命令,因此此CPU 属于复杂指令CISC CPU。微控制器: 微地址寄存器: 微程序存储器: 3.8微指令译码器微指令译码器decoder_A、decoder_B、decoder_C内部都采用38译码器结构。其作用是对24位微指令中的A、B、C字段进行指令译码。A字段译码后输出的信号重要用于控制向寄存器或锁存器输入数据;B字段译

12、码后输出的信号重要用于控制运算器、寄存器或锁存器,并通过三态门向内部数据总线输出数据;C字段译码后输出的信号重要用于指令分支判断。3.9 2_4译码器4. 系统电路总图及原理将设计的各个单元电路进行级联,得到8位CPU系统电路原理图如下。1、指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设立有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。因此在设计CPU 时,一方面要明确机器硬件应具有哪些功能,然后根据这些功能来设立相应指令,涉及拟定所采用的指令格式、所选择的寻址方式和所需要的指令类型。设模型机指令系统中包

13、具有五条基本指令,分为算术运算指令、存取指令和控制转移指令等三种类型。五条机器指令分别是:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。IN 为单字长(8 位二进制),其余为双字长指令,XX H 为addr相应的十六进制地址码。(1)微命令和微操作微命令和微操作是一一相应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同时产生,共同完毕某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。兼容和互斥都是相对的,一个微命令可以和一些微命令兼容,和另一些微命令互斥。对于单独一个

14、微命令,就无所谓兼容性或互斥性了。(2)微指令、微地址微指令是指控制存储器中的一个单元的内容,即控制字,是若干个微命令的集合,存放控制字的控制存储器的单元地址就称为微地址。一条微指令通常至少包含两大部分信息:微操作码字段,又称操作控制字段,该字段指出微指令执行的微操作;微地址码字段,又称顺序控制字段,指出下一条要执行的微指令的地址。(3)微周期所谓微周期是指从控存中读取出一条微指令并执行规定的相应操作所需的时间。(4)微程序一系列微指令的有序集合就是微程序。若干条有序的微指令构成了微程序。微程序可以控制实现一条机器指令的功能。或者说一条机器指令可以分解为特定的微指令序列。一旦机器的指令系统拟定

15、以后,每条指令所相应的微程序被设计好并且存入控存后,控存总是处在只读的工作状态,所以控存一般采用只读存储器(ROM)存放。重新设计控存内容就能增长、删除、修改机器指令系统。在FPGA 中通常采用嵌入式阵列块构成的LPM_ROM 作为控存,存放微指令。uA5uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。S3、S2、Sl、S0:由微程序控制器输出的ALU 操作选择信号,以控制执行16 种算术操作或16 种逻辑操作中的某一种操作。M:微程序控制输出的ALU 操作方式选择信号。M0 执行算术操作;Ml执行逻辑操作。Cn:微程序控制器输出的进位标志信号,Cn0 表达ALU 运算时

16、最低位有进位;Cn1 则表达无进位。WE:微程序控制器输出的RAM 控制信号。当CE0 时,如WE0,为存储器读;如WE1,为存储器写A9、A8:译码后产生CS0、CS1、CS2 信号,分别作为SW_B、RAM、LED 的选通控制信号。A 字段(15、14、13):译码后产生与总线相连接的各单元的输入选通信号。B 字段(12、11、10):译码后产生与总线相连接的各单元的输出选通信号。C 字段(9、8、7):译码后产生分支判断测试信号P(1)P(4)和LDPC 信号。2、 微程序设计一个具有五条指令IN、ADD、STA、OUT和JMP 的微程序流程图。其中方框代表基本的微操作,菱形框为分支判断

17、框。(1)IN指令为了执行输入指令,CPU 要做两件事情。一方面,由INPUT 输入装置的数据开关SW输入数据送到数据总线上;另一方面,通过数据总线将输入的数据写入寄存器R0 中。 BUSSW ; R0BUS由于输入到数据总线上的数据就是要写入寄存器的数据,因此可以将这两个操作合并成一个操作: R0SW 3(2)2ADD指令 R0R0+(MEM)存储单元的地址是存放在紧跟在操作码后的字节中的,因此,一方面要以该字节的内容为地址,即将该单元内容送地址寄存器AR;然后,从AR 所指向的RAM 存储单元取出操作数送给DR2。由于在取指令操作码时,PC 已经自动加1,指向下一字节,该地址就是存放操作数

18、的存储单元的地址。通过执行以下三个环节,可以从存储器中取出操作数送到DR2:ARPC,PCPC+1 ;以AR的内容作为取操作数的地址BUSRAM,ARBUS ;AR指向存放操作数的RAM单元BUSRAM,DR2BUS ;RAM中的数据通过BUS送DR2将R0 中的数据送DR1:DR1R0 在ALU 中进行加法运算,运算结果送R0:R0(DR1)+(DR2)(3)STA指令向存储器RAM 写数据操作STA,以紧跟在操作码后的字节作为存放操作数地址,将R0 中的数据存入该地址单元。一方面将紧跟在操作码后的字节的内容送给地址寄存器AR: ARPC,PCPC+1 ;以PC的内容作为存数据的地址 BUS

19、RAM,ARBUS ;AR指向存放操作数的RAM单元 BUSR0,RAMBUS (4)OUT指令ARPC,PCPC+1 ;以PC的内容作为存数据的地址BUSRAM,ARBUS ;AR指向存放操作数的RAM单元BUSRAM,DR1BUS OUTDR1 (5)JMP指令ARPC,PCPC+1 ;以PC的内容作为取数据的地址BUSRAM,PCBUS ;将RAM内容送PC,实现程序转移5波形仿真及分析5.1波形仿真图5.2波形分析(1)M输出微指令01800,控制台执行P(4),进行“读、写、运营”功能判断。检测到SWA、SWB=11后,进入程序运营RP(11)方式,执行微地址为23的微指令,M输出微

20、指令为018001,后续微地址uA为01.然后进入程序运营的流程,执行微地址为01的M微指令008001,执行的操作为PCAR=00H,PC+1=01H,AR指向RAM存储器地址00H,后续地址uA为02.(2) 执行微地址为02的M微指令01ED82,执行取指令操作,取出第一条指令的操作码,通过度支判断P(1),这是一条输入指令IN。执行微地址为10的M微指令00C048,将RAM中的指令00通过内部总线BUS,送指令寄存器IR:RAM(00H)=00BUSIR=00H。执行微地址为01的M微指令001001,SW_B为高电平,允许SW的数据送往数据总线BUS,由此接受数据56H。所以R0=

21、56H。(3) 执行微地址为02的M微指令01ED82,执行取指令操作:PCAR=01H,PC+1=02H,AR指向RAM存储器地址01H,后续微地址uA为02。执行微地址09的M微指令00C048,取指令,并通过度支判断P(1),读出地址为01H单元的内容10H,通过BUS送到指令寄存器IR:RAM(01H)=10HBUSIR=10H。执行微地址为03的M微指令01ED83,进入加法运算微程序。通过间接寻址获得另一个操作数,地址寄存器AR指向取数的间接地址:PCAR=02H,PC+1=03H,AR指向RAM的02单元。(4) 执行微地址为04的M微指令00E004,RAM_B为高电平,RAM

22、的(02)单元的内容通过BUS送AR,取数地址(AR)=0AH,RAM(02)=0AHBUSAR=0AH。执行微地址为05的M微指令00B005,RAM_B为高电平,RAM的(0AH)单元的内容34H送到BUS,此时LDDR2为高电平,BUS上的数据就送给了DR2,执行结果:RAM(0AH)=34HBUSDR2=34H。(5) 执行微地址为06的M微指令01A206,将R0的数据送DR1.R0_B=1,允许R0的内容56H送往BUS,此时LDDR1为高电平,BUS上的数据56H写入ALU的数据缓冲期DR1,执行结果:(R0)=56HBUSDR1=56H.执行微地址为01的M微指令919A01,

23、完毕加法运算:(DR1)+(DR2)R0,56H+34H=8AHR0=8AH。6心得体会通过设计8位CPU系统,我收获颇多,比如:VHDL语言的阅读、分析、编写能力明显提高,对CPU的内部结构及数据解决流程有了比较清楚的结识。在设计过程中碰到了不少的挑战和问题,通过解决这些问题提高了自己的能力。在仿真测试过程中进一步了解了CPU的工作过程,这对于以后学习也将会有很大的帮助。参考文献:1 潘松 潘明. 现代计算机组成原理. 北京: 科学出版社, 2023.附录A:8bit CPU指令系统操作码指令功能0hNop空操作1hLoad装载数据到寄存器2hStore将寄存器的数据存入存储器3hMove在寄存器之间传送操作数4hLoadi将立即数装入寄存器5hbranchi转移到由立即数指定的地址6hbranchgti大于时转移到由立即数指定的地址7hInc加18hOut输出寄存器结果9hIn输入数据到寄存器AhAnd两个寄存器与操作BhOr两个寄存器或操作ChAdd两个寄存器加操作DhRotr循环右移EhRotl循环左移Fhsub两个寄存器减操作

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服