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

微程序和汇编语言的区别是什么。,第1张

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

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

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

这部分程序的开发语言一般是C或者其他低级语言。使用编译工具链生成二进制文件固化在芯片内部的ROM中。

芯片上电时,硬件会自动从ROM加载这部分程序运行。

总结,这部分是属于软件。

程序是一系列机器指令的有序集合,用于解决实际问题,有子程序、分支、循环等结构,存放在主存中,可以更新修改;

微程序是一系列微指令的有序集合,微程序设计是将传统的程序设计方法运用到控制逻辑的设计中,因此在微程序中也可以有微子程序、分支、循环等结构。

区别:

1、体系不同

程序它以某些程序设计语言编写,运行于某种目标结构体系上。微程序存储在控制存储器CM中,只能读出,不能更改,CM中的所有微程序解释执行整个指令系统中的所有机器指令。

2、编译不同

一般的,程序是由高级语言编写,然后在编译的过程中,被编译器/解释器转译为机器语言,从而得以执行。

有时,也可用汇编语言进行编程,汇编语言在机器语言上进行了改进,以单词代替了0和1,例如以Add代表相加,Mov代表传递数据等。

扩展资料:

微程序的设计技术:

微程序设计技术,指的是利用软件技术来实现硬件设计的一门技术。优点:微程序设计克服了组合逻辑控制单元线路庞杂的缺点,同硬布线比较具有规整性,灵活性,可维护性等一系列优点。缺点:由于增加了到控制存储器中读取微指令的时间导致执行速度慢。

程序的运行:

为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据。从计算机的底层来说,这是由高级语言(例如Java,C/C++,C#等)代码转译成机器语言而被CPU所理解,进行加载。

参考资料来源:百度百科--程序

参考资料来源:百度百科--微程序


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8082690.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存