-1

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

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

4

3 回答 3

2

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

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

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

RISC 设计更简单,更小,管道可以更短,编译器可以更好地控制性能等。因此,使用微控制器,您可以拥有一个非常好的处理器内核,它具有 3 级管道,它的功耗非常低,而且仍然非常高效。6502、z80、8051 等在大多数情况下确实已经消亡,如果您正在寻找,您仍然会看到很多 8051,您可能正在阅读本文的台式机/笔记本电脑可能有一个 8051,但这是由于版税而不是因为它的大小或性能,您可能在同一个盒子内或肯定在房子周围为每个 x86 拥有几个到几十个 ARM 内核。CISC 将相对庞大且效率低下,有可能将功耗降低到 RISC 水平,这可能只是设计问题,而不是 CISC 与 RISC,

于 2017-02-06T03:51:29.953 回答
1

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

另外,考虑一下您有多个 MUL 操作的情况,一些使用位置 A 的数据,一些使用 B,如下所示。

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

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

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

于 2017-02-05T18:54:44.740 回答
0

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

于 2017-02-06T11:23:46.000 回答