在嵌入式中, CPU是如何取指,译码,执行和启动的?

如题所述

   CPU内部由寄存器,控制单元,和逻辑运算器组成。寄存器有多种各司其职,有程序计数器,指令寄存器,数据寄存器,用来实现保存指令和执行指令。

   程序保存在硬盘中,你打开一个程序的时候,就把程序的指令+数据加载到了内存里,其中指令部分被随后加载到了CPU的缓存里面,然后CPU里面相应功能的寄存器把指令从缓存取到寄存器里面保存,这里是取指; 你取过来的指令,是由操作码和地址码组成的,分别表示执行什么操作和对谁操作,但是这些指令需要控制单元里面的一个叫做译码器的人来分析,分析这些取来的码是什么意思,然后根据此指定下一步的行动计划,去哪里找什么部件执行什么操作,这是译码。 随后数据寄存器把数据从内存里面加载到逻辑计算单元,进行运算,并把结果传回数据寄存器,这就是执行。

     CPU的寄存器里面有一个出厂的时候就已经写定了固化的默认值,保存了CPU一旦上电之后就会自动执行的第一条指令,你的设备一旦上电后,就会执行这个默认值,进行各种初始化操作的准备工作,同时这个固化的默认指令是属于引导程序的,引导程序是在操作系统之前运行的一段程序,用来初始化硬件,建立内存关系映射,引导你过渡到操作系统并为此创造环境。它会在运行完最后一个JMP指令后调到操作系统,然后把控制权交给操作系统。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-16
有人会讲,这么做、那么做,其实,都是瞎猜的。

CPU 内部的操作,厂家,不会公开的。
即使公开,也是落后、淘汰不用的方法。本回答被网友采纳
相似回答