CISC和RISC架构

时间:2016-02-05 14:33:24

标签: computer-science cpu-architecture risc

我读了很多关于不同来源的CISC和RISC架构之间的区别。似乎已经商定的一件事是,CISC总是与Von Neumann一起使用,而RISC则与哈佛架构一起使用。但我无法理解这种分类背后的原因。

2 个答案:

答案 0 :(得分:5)

指令集(RISCCISC)与处理器架构(Harvard ArchitectureVon Neumann Architecture)之间没有关系。两个指令集都可以与任何架构一起使用。

较早的ARM架构使用带有RISC的Von Neumann架构,后来用ARM9将它们转移到使用RISC的哈佛架构。最新的ARM处理器使用更先进的混合架构。

答案 1 :(得分:0)

冯·诺依曼vs哈佛并不是明显的区别。显然,具有用于指令和数据的独立存储器总线的芯片是哈佛架构。但是,添加良好的缓存后,单独总线的性能优势将大大降低。

如果您使用这样的芯片并添加良好的缓存,然后切换回一条内存总线,其中一个额外的引脚指示内存提取是用于指令还是用于数据,那么您仍然在谈论哈佛体系结构-从编程的角度来看,您无法确定发生了这种变化。

我认为最大的不同可能是在真正的冯·诺依曼CPU上,您可以写入指令存储器,然后立即执行您编写的指令。例如,在8086上,您可以在写入指令之后立即写入指令!而在哈佛CPU上,即使是具有统一内存总线的CPU,您也必须在写入之后加上一条指令来强制将其写出到实际存储器中,可能是一条防止乱序执行的指令,然后是一条指令。在该位置刷新指令缓存。该过程可能需要数百个周期-这是必要的,因为芯片的体系结构假定指令和数据存储器不相互作用。

此更改甚至可以在同一CPU系列中进行。最初的无高速缓存68000当然是CISC CPU,但是如果您写入指令流,则必须提防指令预取,并有可能在写入内存后添加NOP。但是,后来680x0系列的变体变得越来越像哈佛。外部存储器总线可能保持统一,但是例如指令和数据缓存是分开的。