微程序和汇编语言的区别是什么。

如题所述

微代码和汇编都是低级语言,但是微代码比汇编更底层。微代码和汇编都和硬件有着紧密的联系,但是对于同一产品系列的不同代产品来说,汇编可以完全相同,微代码可能有着巨大的区别,因为微代码是完全依赖于芯片内部的硬件连接。

对于同样一句C语言,在不同的处理器上会生成不同的汇编语言。每一条汇编语言的执行时间也许是一个或者两个时钟周期,甚至更多。微代码和汇编的关系,就像C 与汇编的关系,也就是说一条汇编也许会生成一条或多条微代码。所谓微代码,或者微指令,是处理器内部最小的操作原语,控制着诸如门电路(gates)开关等专门动作,和组成一条指令的微操作的序列。例如,对于一个加法"ADD"的简单动作,微代码可以决定接受哪两个寄存器或总线为输入,输出到什么总线或者寄存器里,标志寄存器要保存还是丢弃,根据条件进行跳转或者直接执行下一条微代码。一个内部只有8位宽的数据总线完全可以支持32位整数的汇编操作,就是因为有微代码。

微代码原来只是用来开发计算机的逻辑控制。古老的CPU往往都是“硬连线”,每个机器指令(加法,移动)都是由电路实现,虽然有着高性能的优点,但随着指令复杂度的增长,也带来了研发和DEBUG的困难,以及电路的复杂性。微代码的出现让CPU的设计者可以通过写一个微程序的方式来实现一条机器指令,而不是设计电路来实现它。在将来的开发设计过程中,微代码可以很容易地改变,硬件电路却不可更改,否则带来的将是巨大的商业损失。这种灵活的CPU设计导致了今天日益复杂的指令集。追问

高人 有微程序方面的论文和书籍吗 介绍一下。

温馨提示:答案为网友推荐,仅供参考
相似回答