欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机组成原理CPU设计(15页).doc

    • 资源ID:37478971       资源大小:465KB        全文页数:15页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成原理CPU设计(15页).doc

    -计算机组成原理CPU设计-第 - 15 - 页1 CPU的用途字长:8位 D70寻址范围:64byte,2的6次方64,A502 确定ISA(包括程序员可访问的寄存器)1)程序员可访问的寄存器 AC8位累加器CPU的指令集(共4条)指令操作码操作COM00XXXXXXACAC(取反)JREL01XXXXXXPCPC+00AAAAAAOR10XXXXXXACACM00AAAAAASUB111AAAAAAACACM00AAAAAA12)其他寄存器AR地址寄存器6位由A50向存贮提供地址PC程序计数器6位指向下一条指令的地址DR数据寄存器8位通过D70从存贮器接收指令和数据IR指令寄存器2位存放从存贮器中取回的指令的操作码部分3 CPU设计状态图为了确定CPU的状态图,对每条指令作以下分析1) 从存贮器中取指令(所有指令均相同)原理:在CPU能执行指令之前,它必须从存贮器中取出,CPU通过执行如下的操作序列完成这个任务A) 选择存贮单元由A50确定B) 对工A50译码,延迟,并向存贮器发一个信号使存贮器将此指令输出到它的输出引脚。这些引脚与CPU的D70相连。CPU从这些引脚读入数据。具体操作:(分为三个状态)A)要取的指令的地址存放在程序计数器(PC)中。第一步就是把PC的内容拷贝到AR中。FETCH1:ARPCB)CPU必须从存贮器中读取指令,为此CPU必须发一个READ信号到器的RD(RDRAM,相对于OEROM)端上使存贮器将数据发送到D70上,存入CPU的DR寄存器中。同时实现PCPC+1,为取下一条指令作准备。FETCH2:DRM,PCPC+1C) 作为取指令的一部分,CPU还必须完成两件事。 DR的高2位拷贝到IR,目的是确定指令的功能 DR的低6位拷贝到AR,目的:a. 对于ORT和SUB1指令这6 位包含了指令的一个操作数的存贮器地址(一个数已经在AC)b. 对于COM和JREL,它们不需要再次访问存贮器,一旦它们返回到FETCH1周期,FETCH1将把PC的值装到AR,覆盖无用的值。FETCH3:IRDR7,6, ARDR50取指令周期的状态图FETCH3FETCH2FETCH12) 指令译码(每条指令的操作码都是唯一的)本CPU有四条指令,因此有四个不同的执行同期,为此用IR中的值来确定即可。FETCH1FETCH2FETCH3COM执行周期OR执行周期SUB1执行周期IR=00IR=01IR=10IR=11JREL执行周期3) 指令执行(每条指令的执行周期都是一样的)每条指令的执行周期的状态分析:1COM指令功能是对AC的内容取反,执行周期的状态是COM1:ACAC2. JREL指令代码为01AAAAAA,即转移的相对地址由AAAAAA确定,而AAAAAA在DR50中,所以有JREL1:PCPC+ DR503OR指令为了执行指令,必须完成两件事情 OR1:DRM;从存贮器取出一个操作数送到数据寄存器OR2:ACACDR;与AC相或,并把结果存回AC中4. SUB1指令为了执行指令,必须完成两件事情SUB11:DRM;从存贮器取出一个操作数送到数据寄存器SUB12:AC <- AC + DR';对DR取反,等于DR1综上所述可知CPU的完全状态图如下FETCH1FETCH2FETCH3COM1OR1JREL1SUB11IR=00IR=01IR=10IR=11OR2SUB124 设计必要的数据通路和控制逻辑,以便实现这个有限状态机,最终实现这个CPU。状态图以及寄存器的传输说明了实现本CPU所须完成工作(方法和步骤如下)1) 与CPU的每个状态相关联的操作(共九个状态)FETCH1:ARPCFETCH2:DRM,PCPC+1FETCH3:IRDR7,6, ARDR50COM1:ACACJREL1:PCPC+ DR50 OR1:DRM;OR2:ACACDR;SUB11:DRM; SUB12:AC <- AC + DR'2) 建立数据通路的原理和方法A 存贮器是通过引脚D70将数据送给CPU。B 存贮器的地址是通过地址引脚A50从AR中获得的。于是CPU与存贮器之间要A50(地址)和D70(数据)通路,如下图88ARACDRIRPCMCLKA50D70886622266666688883) 总线类型的确定方法原理:首先把操作数重新分组,依据是指导修改同一个寄存器的操作分配在同一组。AR:ARPC ,ARDR50PC:PCPC+ DR50,PCPC+1DR:DRM,IR:IRDR7,6,AC:AC <- AC + DR',ACACDR,ACAC决定每个部件应完成的功能a> AR, DR, IR,AC总是从其他一些部件中装入数据。若数据已在总线上,则需要做的是能够执行并装入操作。(LD端口分别是ARLOAD,DRLOAD,IRLOAD,ACLOAD信号同步装入)b> PC能从其他一些部件中装入数据,还有相应的自增(INC)当前值,所以应创建一个单独的硬件使之能自增。(端口有PCINC,PCLOAD)4) 把每个部件都连接到系统总线上三态缓冲区原有的寄存器部是把结果输出到系统总线,使CPU内部数据冲突,所以应增加三态缓冲区加以控制,但AR的输出还应与A50相接,这是寻址所需。5) 根据实际需要修改上图的设计,并加上适当控制信号名称1 AR :仅向存贮器提供地址,没有必要将它的输出连接到内部总线上,加上ARLOAD实现从BUS装入数据。2 ARPC :保留三态缓冲器由PCBUS控制同步3 IR : 不通过内部总线向任何其他部件提供数据,而IR的输出将直接送到控制器用于确定指令的功能4 AC:本CPU不向其他任何单位提供数据5 DR70 :不统一,有6位也有2位宽度,必须确定哪些寄存器从总线的哪些位上接收和发送数据。应有DRBUS实现同步。DRLOAD实现LD6 AC:必须能装载AC + DR'的和,以及ACDR与AC的逻辑与结果。CPU必须包含一个能产生这些结果的ALU,并由ACLOAD实现装入。7 PC:必须能装载PC+ DR50的和。CPU必须包含一个能产生这些结果的ALU并由PCLOAD实现载入,而PCINC实现PCPC+18IRLOADACLOADDALUS1 ALUS2MEMBUSREADDRBUSPCBUSARLOAD6PCLOADPCINCDRLOAD828ACPCMCLKA50D7086666688ALU2ALU1DRARIRALU的设计1) ALU1(与PC相连)的设计数据通路的分析:功ALU1必须接收PC和DR作为输入,然后把运算结果输出到PC实现PCPC+ DR50在本CPU中,把PC的导线和ALU的输入输出相连起来,并且利用系统总线把DR和ALU的输入连接起来。用计数器来实现PCPC+1操作,就可以在FETCH2内完成,因为计数器不必占用总线的时间。6 D50PARALLELADDERPCDRTO PC66From bus2) ALU2(与AC相连)的设计 在本ALU的设计中AC和ALU的输入输出连接,并且利用系统总线把DR和ALU和输入相连起来。888ACMUXALUS1 ALUS2TO AC8PARALLELADDERDRFrom bus888888012(ALUS1,ALUS2=0,0, 选ACAC, ALUS1,ALUS2=0,1,选ACACDR,ALUS1,ALUS2=1,0,选AC <- AC + DR',)用硬布线的方法设计控制器组成:计数器:保存当前状态共有9个状态(四条指令,共有9个状态)所以需要一个四16位译码器,译码器中有7个状态没用到。译码器:接收当前状态并为每个状态生成单独的信号逻辑组合:接受单独的状态信号,为每一部件生成控制信号以及计数器的控制信号原理图:计数器LD INC CLR译码器逻辑输入控制信号计数器与译码器的设计:1. FETCH1状态:规定计数器的0值,使用计数器的CLR1到达这一状态。(指令执行完毕后,转入的取址状态。)2. 将顺序状态设定为计数器的连续值,用INC实现。3 利用IR映射1 IR0来确定指令的执行如下表IR计数值状态001000COM1011010JREL1101100OR1111110SUB1指令的执行FETCH10FETCH21FETCH32COM1: 8JREL1:10OR1: 12OR2: 13SUB11:14 SUB12:15FETCH3FETCH1FETCH2OR1SUB11COUNTERLD INC CLR012DECODER8.1012131415COM1JREL1OR2SUB12FETCH1FETCH2FETCH2COM1JREL1OR1OR2SUB11SUB121IR1.0044计数器控制信号的确定LD:在取址周期的FETCH3状态中发出,进入执行周期的第一个状态(装载1IR0进入指令的正确执行周期)FETCH3:IRDR7,6, ARDR50INC:CLR:如上图所示根据译码器的输出信号组合后产生中寄存器的有关信号ARLOAD(装载地址寄存器的控制信号)FETCH1:ARPCFETCH3:ARDR502 PCLOAD PCINCPCLOAD =JREL1:PCPC+ DR50PCINC =FETCH2:PCPC+13 DRLOAD(实现DRM)FETCH2+OR1+SUB11ACLOAD (实现ACAC, ACACDR,AC <- AC + DR')ACLOADCOM1+ OR2+ SUB12IRLOAD= FETCH36ALUS1,ALUS2与相连的有两个控制信号ALUS1,ALUS2=0,0, 选COM1:ACAC ALUS1,ALUS2=0,1,选OR2:ACACDR;ALUS1,ALUS2=1,0,选SUB12:AC <- AC + DR'ALUS1= SUB12ALUS2= OR2缓冲器控制信号许多操作需从内部总线上获取数据,必须能控制缓冲器以便在合适的时间将正确的数据放到总线上,为此应满足如下逻辑关系。MEMBUS= FETCH2+ OR1+ SUB11PCBUS= FETCH1READ= FETCH2+ OR1+ SUB11DRBUS= FETCH3+ JREL1+ OR2+ SUB12部分电路图如下:FETCH1FETCH3ARLOADJREL1 PCLOADFETCH2 PCINCFETCH3 IRLOADFETCH2OR1SUB11DRLOADCOM1 OR2 SUB12ACLOADOR2ALUS2ALUS1SUB12FETCH2 OR1 SUB11MEMBUSFETCH2OR1 SUB11READFETCH1PCBUSFETCH3JREL1 OR2 SUB12DRBUS设计验证1. 程序段如下所列存贮单元:指令0: COM1: JREL 02 OR 43: SUB 54 20H5: 30H2. CPU遵循状态图并以合适的状态顺序取出、译码和执行 每条指令: COM:FETCH1FETCH2FETCH3COM1 JREL 4: FETCH1FETCH2FETCH3JREL1 OR 5: FETCH1FETCH2FETCH3OR1OR2 SUB 6: FETCH1FETCH2FETCH3SUB11SUB122. 对这段程序的一次循环的跟踪情况(所有寄存器的初始值都是0)指令状态有效信号所执行的操作下一个状态COMFETCH1PCBUS,ARLOADAR0FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDR00H,PC1FETCH3FETCH3DRBUS,ARLOAD,IRLOADIR00AR00HCOM1COM1ACLOADAC00H=FFHFETCH1指令状态有效信号所执行的操作下一个状态JREL 0FETCH1PCBUS,ARLOADAR1FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDR40HPC2FETCH3FETCH3DRBUS,ARLOAD,IRLOADIR01, AR00HJREL1JREL1DRBUS,PCLOADPC02H+00H=02HFETCH1OR 4FETCH1PCBUS,ARLOADAR2FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDR84H,PC3FETCH3FETCH3DRBUS,ARLOAD,IRLOADIR10, AR04HOR1OR1READ, MEMBUS, DRLOADDR20H;OR2OR2DRBUS,ALUS2 ACLOADACFFH20H=FFHFETCH1SUB 5FETCH1PCBUS,ARLOADAR3FETCH2FETCH2READ,MEMBUS,DRLOAD,PCINCDRC5H,PC4FETCH3FETCH3DRBUS,ARLOAD,IRLOADIR11, AR05HSUB11SUB11READ,MEMBUS,DRLOADDR30HSUB12SUB12DRBUS, ALUS1, ACLOADACFFH + 30H'=2FHFETCH1用微程序控制器设计一微程序控制器的基本框图CLK44MAPIR2S 1 MUX 0微地址寄存器(UAR)SEL UPOS ADDR4两种可能的下址方式(由MUX实现选择)S1操作码映象(经指令译码进入下一条指令的执行周期)S0绝对跳转(下一条要执行的微指令在控存内)工作原理分析描述1) 确定微子程序的第一条指令入口地址。方法是根据取批中的最后一个状态FETCH3,便可转入到四条指令中任一条执行周期的第一条微指令入口,但必须通过MAP输入来实现2) 下址的确定绝对跳转:可直接跳转到FETCH1状态当前地址加1。3) 几个参数的设定控存中地址的倍数2416>9因共有9 条微指令,可用四位MUX微地址寄存器,微地址寄存器控存2416>9用四位确定UPOS的位数二 生成正确序列并设计映象逻辑1. 给有限状态机的每一种状态分配一个控存地址利用IR映射1 IR0来确定指令的执行如下表IR计数值状态001000COM1011010JREL1101100OR1111110SUB1微程序控制器的状态地址FETCH10FETCH21FETCH32COM1: 8JREL1:10OR1: 12OR2: 13SUB11:14 SUB12:153. 确定微指令中的选择域和地址域,即生成正确的微指令执行顺序1)一般状态转换设SEL0,ADDR为下一条指令要执行的控存号,一个微指执行完后,从ADDR中得到下址,转到ADDR指定的微指令2)特别状态FETCH3下址的确定当FETCH3执行完后,必须到指令执行周期的微子程序入处,根据1IR0所算出的结果三 生成正确的微操作及相应的控制信号用水平型微指令生成微操作及用垂直型指令生成微操作本CPU采用水平型微指令生成微操作法微操作及它们的助记符助记符微操作ARPCARPCDRMDRMPCINPCPC+1IRDRIRDR7,6ARDRARDR50NOACACACPCPLUSDRPCPC+ DR50ACORDRACACDRACSUBDRAC AC + DR'由于IRDR和ARDR在同一个微操作进行,可以对他们进行合并为AIDR来表示。指令格式选择域1位微操作域8位下址域4位微程序控制器基本的水平微代码状态地址SELARPCDRMPCINAIDRNOACPCPLUSDRACORDRACSUBDRADDRFETCH100000100000000001FETCH200010011000000010FETCH30010100010000*COM110000000010000000JREL110100000001000000OR111000001000001101OR211010000000100000SUB1111100010000001111SUB12111100000000100001位8位4位控存容量:(1+8+4)*9117位CPU控制信号值控制信号值ARLOADARPCAIDRPCLOADPCPLUSDRPCINCPCINDRLOADDRMACLOADNOACACORDRACSUBDRIRLOADAIDRALUS1ACSUBDRALUS2ACORDRMEMBUSDRMPCBUSARPCREADDRMDRBUSAIDRPCPLUSDRACORDRACSUBDR设计体会由于这个CPU的设计和教材上的例子很相似,只要按照教材上设计程序就可以一步步的设计出来。通过这个CPU设计对CPU的指令的执行和实现有了更加深的了解,也对CPU内部的结构有了更好的理解。对这类非常简单的CPU设计的过程和具体步骤有一定的了解。

    注意事项

    本文(计算机组成原理CPU设计(15页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开