Assembly 低级汇编语言?(处理器指令是如何实现的?)

Assembly 低级汇编语言?(处理器指令是如何实现的?),assembly,processors,microcoding,Assembly,Processors,Microcoding,因此,我们可以编程的最低级别是处理器上的单个指令,但这些指令首先必须以某种方式编程。处理器如何知道在运行指令时该做什么?它被称为微码,或者至少在我15年前最后一次研究这些指令时,它就是这样被称为微码的 处理器中不同的硬件功能引擎与微码软件相协调:获取、解码机器代码、执行等。它被称为微码,或者至少在我上一次研究这些代码时,至少是这样称呼的 处理器中不同的硬件功能引擎与微码软件相协调:获取、解码机器代码、执行等。您需要。您需要。有用的文章: 如何设计一个简单的处理器 本课程的课堂讲稿:处理器设计有用

因此,我们可以编程的最低级别是处理器上的单个指令,但这些指令首先必须以某种方式编程。处理器如何知道在运行指令时该做什么?

它被称为微码,或者至少在我15年前最后一次研究这些指令时,它就是这样被称为微码的


处理器中不同的硬件功能引擎与微码软件相协调:获取、解码机器代码、执行等。

它被称为微码,或者至少在我上一次研究这些代码时,至少是这样称呼的

处理器中不同的硬件功能引擎与微码软件相协调:获取、解码机器代码、执行等。

您需要。

您需要。

有用的文章:

如何设计一个简单的处理器

本课程的课堂讲稿:处理器设计有用的文章:

如何设计一个简单的处理器


本课程的课堂讲稿:处理器设计

像旧处理器那样用简单的术语思考:

如果您查看大多数处理器的指令位,您将开始看到模式。几个位定义一个输入寄存器,几个位可能定义另一个输入寄存器,几个位可能定义结果寄存器,几个位定义操作。因此,硬件的某些部分查看定义操作数a的位,并使用这些位将操作数a连接到alu,其他硬件使用操作数b位将操作数b路由到alu上的b输入。其他位选择alu应该执行的操作、加法、and或xor等。最后,结果位将alu的输出路由到保存结果的寄存器。有点简单化,但同时也离逻辑的编写方式、传统处理器和许多小型处理器的操作方式不远。这就是最早的计算机是如何运行的,对它们进行编程涉及将这个alu的答案与另一个alu的输入一起路由到该alu上的输入,直到结果出来为止

一些更大的现代处理器是微代码的,这意味着里面实际上还有另一层指令,你的c=a+b操作可能会变成一系列微代码指令,当你的机器指令进入时,这些指令就会启动,这些将有助于将输入路由到加法器逻辑,并将结果返回到输出类型


如今,逻辑是使用verilog和vhdl等编程语言实现的,这些语言与现有的软件编程语言非常接近。不同之处在于,代码中的许多行同时执行,而不必像普通软件那样按顺序执行。考虑到一些写得很好的hdl,学习这种语言并理解正在发生的事情并不难。您可能想查看opencores.org并获取众多处理器克隆之一的源代码。用于hdl的编译器工具与用于软件的编译器工具相差不远,代码不是指令而是被分解成逻辑或门,这一位与那一位进行AND运算,这一位与那一位进行or运算。易于逻辑实现并连接在一起的模块。就像你可以用C程序在许多处理器和操作系统上运行一样,你也可以用hdl为不同FPGA中的门类型或不同铸造厂的逻辑模块进行编译。

用简单的术语思考,就像旧处理器那样:

如果您查看大多数处理器的指令位,您将开始看到模式。几个位定义一个输入寄存器,几个位可能定义另一个输入寄存器,几个位可能定义结果寄存器,几个位定义操作。因此,硬件的某些部分查看定义操作数a的位,并使用这些位将操作数a连接到alu,其他硬件使用操作数b位将操作数b路由到alu上的b输入。其他位选择alu应该执行的操作、加法、and或xor等。最后,结果位将alu的输出路由到保存结果的寄存器。有点简单化,但同时也离逻辑的编写方式、传统处理器和许多小型处理器的操作方式不远。这就是最早的计算机是如何运行的,对它们进行编程涉及将这个alu的答案与另一个alu的输入一起路由到该alu上的输入,直到结果出来为止

一些更大的现代处理器是微代码的,这意味着里面实际上有另一层指令,当你的机器运行时,你的c=a+b操作可能会变成一系列微代码指令 指令进入,这将有助于将输入路由到加法器逻辑,并将结果返回到输出类型


如今,逻辑是使用verilog和vhdl等编程语言实现的,这些语言与现有的软件编程语言非常接近。不同之处在于,代码中的许多行同时执行,而不必像普通软件那样按顺序执行。考虑到一些写得很好的hdl,学习这种语言并理解正在发生的事情并不难。您可能想查看opencores.org并获取众多处理器克隆之一的源代码。用于hdl的编译器工具与用于软件的编译器工具相差不远,代码不是指令而是被分解成逻辑或门,这一位与那一位进行AND运算,这一位与那一位进行or运算。易于逻辑实现并连接在一起的模块。就像你可以用一个C程序在许多处理器和操作系统上运行一样,你也可以用hdl为不同FPGA中的门类型或不同铸造厂的逻辑模块进行编译。

+1解释硬件的实际功能。也许你可以把它分成更多的段落+1用于解释硬件的实际功能。也许你可以把它分成更多的段落你能发布一些相关的文本吗?你能发布一些相关的文本吗?