首页 文章

在微控制器架构中实现寄存器的优点是什么,即加载存储架构

提问于
浏览
-1

RISC和CISC的主要区别在于RISC中我们必须使用寄存器来进行任何算术或逻辑运算 . 但是在CISC的情况下,我们可以直接使用内存位置进行此类操作 . 那么在微控制器架构中实现寄存器存储的优势是什么?问题不是RISC的优势,而是问题是RISC架构中需要注册的内容 . 与其他架构一样,CISC操作可以直接通过meomery位置完成,我们不需要将其置于寄存器中,然后再次移动到存储器位置 . 以下是示例:CISC:MUL A,B RISC:LDA R0,A LDA R1,B MUL R0,R1 STR A,R0

所以在上面的例子中使用R0和R1的优点是什么 . 寄存器 . 加载存储架构的优势是什么?

3 回答

  • 2

    注册银行业务是另一回事,我认为你只是在询问是否直接使用注册 . 好吧,内存访问需要永恒,即使缓存 . 每个操作数的几个到几百个时钟周期,如果你假设一个基于纯寄存器的方案而不是全部,那么这些线路变得模糊 . 对于CISC,如果进行微编码,它无论如何都要进行寄存器,那么操作就会发生,如果没有进行微编码,它仍会被锁存到内部临时存储器(寄存器)中,然后操作就可以开始了 . 使用risc,您有三个额外的,更简单的指令,锁存到寄存器所需的时间与在CISC中相同 . 现在,如果算法从不使用该结果或暂时不使用它,它可能是CISC的胜利(如果不是微编码),但如果该值是算法中的中间值,那么RISC的明确胜利 . 即使所有内容都被缓存,也需要六到十几个时钟周期来获取每个参数并将其写回,任何缓存都会丢失,这是永恒的 . RISC也是如此,但是寄存器更多,对这些寄存器的访问速度明显更快,每个值只有零个或一个时钟存储,如果不是整个算法,则存储一些百分比 .

    与任何基准测试一样,显示RISC获胜案例并展示CISC获胜案例是微不足道的 .

    RISC和CISC之间的主要区别是CISC是复杂的耗时指令,其中RISC它们更简单,您可以安排您需要完成的任务并对这些任务进行更严格的控制,您不会在每个步骤中浪费很多 . 人们可以争辩说,创建缓存是为了解决CISC或至少一种流行的低效率问题 . 两者都有利可图,但其中一个依赖于另一个并不那么重要 . 显示CISC获奖代码并显示RISC获胜代码的琐碎小事 . VLIW和其他公司也是如此 .

    RISC设计更简单,更小,管道可以更短,编译器可以更好地控制性能等 . 因此,对于微控制器,您可以拥有一个非常漂亮的处理器内核,具有3级流水线,功耗非常低,而且效率非常高 . 6502,z80,8051等在很大程度上已经完全消失了,如果你正在寻找,你仍然可以看到很多8051s,你可能正在阅读的桌面/笔记本电脑可能有一个8051,但这是由于版税,而不是因为它的大小或性能,你可能有几个到几十个ARM内核为每个x86,在同一个盒子或当然在家里 . CISC将相对庞大且效率低下,有可能将功耗降低到RISC级别,这可能仅仅是设计问题,而不是CISC与RISC,但RISC实现在做得更好瓦特每mhz比CISC实施 .

  • 0

    从上面的响应中,我们可以得出结论,使用寄存器而不是直接存储器位置在时钟周期和功耗方面提供了效率的好处 . 它们还在指令的复杂性方面提供了益处 .

  • 1

    使用寄存器可以简化函数unis的操作数获取逻辑 . 使用CISC功能单元应该能够从内存中获取数据 . 使用RISC,所有功能单元都将在寄存器上运行,因为它可以确保数据存在,因此不那么复杂 .

    另外,假设您有多个MUL操作,有些使用位置A的数据,有些使用B,如下所示 .

    'MUL A,B''MUL C,B'

    在CISC中执行操作时,您将读取B两次 . 但是在RISC中,您只需将其加载到寄存器一次,并且可以多次使用 . 所以更少的内存(缓存)访问 .

    还要考虑在CISC中表示MUL所需的位数 . 由于A,B,C可以是内存位置,因此它们可以位于地址空间中的任何位置 . 另一方面,对于RISC中的寄存器,表示操作数所需的位较少,因此指令集较不复杂 .

相关问题