CPU如何知道其指令集?

时间:2010-12-13 19:14:18

标签: cpu machine-code instruction-set

基本的电脑操作问题,但我不知道怎么问。当我们说计算机有一个指令集时,计算机如何知道该集合是什么?它存储在ROM芯片中吗?它存储在CPU的某个地方吗?制造商把它放在哪里,以便它可以读取磁盘并开始处理机器代码?

7 个答案:

答案 0 :(得分:7)

简答:计算机处理器中的实际电路是“确定”指令集。

相对简短的回答:在处理器上运行的软件实际上只是电信号的模式。计算机中的晶体管每秒打开和关闭许多次,根据其他信号修改这些信号模式。例如,考虑几乎每个处理器上的mov指令:

mov dest, src

这是由“存储”在存储器中的某种电信号模式编码的。该信号模式以某种方式激活某些晶体管,使得dest处存储的信号与src处的信号相匹配,因为电路是如何连接的。

答案很长:参加计算机体系结构课程。 : - )

答案 1 :(得分:2)

听起来你正在混淆两个不同的概念:

指令集

指令集是CPU构建用于处理的机器代码指令集。 CPU不必从任何地方加载它,它内置于CPU本身。指令集的示例是:Intel x86,MIPS。

引导加载程序

引导加载程序是一个小程序,它告诉CPU如何启动计算机。显然它是使用CPU指令集编写的,通常驻留在ROM或EEPROM等中。它告诉CPU如何与磁盘接口以加载引导扇区(然后加载更多的操作系统)。在PC上,引导加载程序是BIOS的一部分。

答案 2 :(得分:2)

指令集硬连线到CPU ......它实际上是电路构建方式的结果,没有保存指令的实际空间。 当计算机启动时,ROM上有一个小程序,它知道如何初始化所有组件并启动操作系统。由于计算机的构建方式,该程序是第一个运行的程序。

答案 3 :(得分:2)

当我们说计算机具有给定的指令集时,它指的是处理器可以理解的指令集(操作码)。机器经过数字化设计,可以理解它能够接收的指令。设计CPU时,其中一个组件是解码器,它是解码电信号的CPU的一部分;并执行由这些信号(指令)指示计算的计算。如果您对计算机的核心工作感兴趣,我建议您阅读 CODE 计算系统的元素

答案 4 :(得分:1)

CPU有一个它知道如何执行的指令集,当你在它上面切换它时,必须用指令来处理它。如果到达的指令正在执行引导过程,则这是有意义的。这些说明来自哪里?通常是ROM(例如EPROM)。

答案 5 :(得分:0)

您编写代码,最终编译成汇编指令,最终编译成“机器代码”。当CPU从内存中获取指令时,它会对其进行解码。解码过程最终在处理器流水线中设置各种控制位,以确定CPU的作用(加载/存储数据,对操作数进行数学运算等)。指令集确定硬件的实现方式。它实际上是处理器能够“在硬件中”执行的基本操作集。

答案 6 :(得分:0)

当处理器被描述为具有例如6502指令集,这意味着如果处理器输出信号以从某个地址获取指令并接收某些数据(例如字节值$ A9),则处理器的后续操作将如文档中所述。例如,6502将从下一个地址获取一个字节,然后将该字节复制到累加器,同时为后续指令输出指令。

在大多数情况下,处理器不会获得指令集,只能使灯泡获得将电能转换为光的能力。处理器用于在收到某些输入时执行某些操作;虽然今天的处理器非常复杂,但是他们的设计需要非常复杂的工具(不像“古代”时代,它们通常使用钢笔,铅笔和纸张设计,并使用手工切割的红宝石胶片实现),从根本上说,处理器可以做到这一点是建立的。