bis 发表于 2020-2-19 18:15:59

Zincum 发表于 2020-2-19 19:40:18

我自己设计过复杂指令集的MPU(虽然没做出来),如果用ROM的话延时大,我用的是逻辑电路。
可以读一读CPU自制入门以类的书o(* ̄︶ ̄*)o

t3486784401 发表于 2020-2-19 19:48:20

我来结合一个 vm80 处理器的逆向工程来说说吧。
计算机指令也是一个数,以8bit为例,对应8个高低电平状态。实际上用16组电平(包含8个正状态、8个反状态)。

如下电路是个 vm80 处理器的指令解码单元原理图(节选):
1. 下方 I7~I0, /I7~/I0 就是16组电平,是当前的指令对应数值;
2. 中间晶体管阵列是指令解码器单元,当 I7~I0, /I7~/I0 电平状态与解码器单元某行匹配时,解码器左侧输出有效信号;
3. 左侧 ID_XXX 就是指令解码输出信号,I7~I0, /I7~/I0 的特定状态(指令)将使特定行输出有效信号(指令控制)。

解码后的指令控制信号,再驱动后续的电路(例如ALU)进行特定的运算,例如赋值、移位等等。

所以说指令的本质,和数据一样,都是存储在存储器当中的一堆高低电平信号。
对于现在的处理器,大多数是 FLASH 存储器,通电后可以顺序地输出高低电平信号(上述 I7~I0, /I7~/I0),
这些信号如果送给指令解码器,就被当做了“指令”,进而控制 CPU 动作;
如果送给了 DAC 之类单元,就被当做了“数据”,可以播放音乐啥的

页: 1 [2]
查看完整版本: 请问计算机指令集是放在CPU的什么地方,具体形式是逻辑电路还是ROM中的编码?