固件是机器代码,通常放置在硬件的某些存储中,以使该硬件发挥作用。也就是说,固件通常用低级语言(无论是 C 语言还是汇编语言)编写,编译并组装成机器代码,并放置在该存储上的已知位置,硬件在启动过程中可以从该位置读取已知位置,并开始执行该机器代码。
在组成cpus的程序层方面.
你的术语有些混乱.CPU是一个处理器,一个复杂的电路,它被赋予代表机器指令的值,并执行修改寄存器和存储器的结果操作; 它不是由编程层组成的.
c>汇编>机器码>微码>电路
这不是准确/有效的层次结构.用C编写的程序由编译器翻译成较低的形式; 下层表单可以是汇编语言,但它也可以是直接二进制机器代码,也可以是虚拟机层的代码,例如Java的JVM.汇编语言是机器代码的近似表示,其中指令,寄存器和存储器位置被赋予符号名称; 它们由汇编程序转换为二进制代码,但该过程比编译器更简单,更直接.Microcode是一种低级形式的机器代码.机器代码通常不转换为微代码,而是机器代码的解释器--CPU - 本身可以是由微代码编写/实现的程序,其由低级微代码处理器执行.电路是执行微代码的基础硬件层(如果没有微代码级别,则是机器代码)操作.
固件在哪里?是机器代码吗?
固件是固定("公司")形式的机器代码/微代码,驻留在ROM或EPROM上,甚至直接在电路中实现.它是一种软件形式,但其区别在于它不存在于(容易)可修改的存储器中.它在概念上与硬件不同,因为硬件是不代表程序的电路,存储器,总线等.
是否需要将所有程序编译成机器代码,还是可以在汇编时停止?
如上所述,汇编语言是机器语言的象征性表示; 它不能由CPU直接处理; 它必须翻译成机器语言.
当然可以在维基百科和其他互联网资源以及入门编程书籍中找到关于所有这些术语和问题的更多零售.
| 归档时间: |
|
| 查看次数: |
4153 次 |
| 最近记录: |