指令表
指令 4位操作码 地址或寄存器
LOAD_A 0010 4bit RAM地址
LOAD_B 0001 4bit RAM地址
STORE_A 0100 4bit RAM地址
ADD 1000 2-bit 寄存器
指令地址寄存器:追踪程序运行到哪里了
指令寄存器:寄存当前指令
例如在RAM中放了一个程序,(地址是0 1 2 3)。
CPU第一个阶段:取指令
解码:前四位是0010,后面四位1110代表RAM地址
(为了实现对寄存器A的操作,可以设计一个电路,当输入是0010的时候,为真,逻辑门电路很容易实现)
执行:对应上面的指令表,执行LOAD_A操作。
后面四位1110代表地址,也就是将地址14中的内容3存到寄存器A中
执行完毕后 指令地址寄存器+1,执行下一条指令
上面只是一个指令的执行过程 其他类似这样执行
例如:取第三条指令 10000100
解码:根据指令表 1000对应ADD操作 寄存器2个2BIT的 0100 01表示B寄存器 00表示A寄存器,
(意思就是将A B寄存器中的东西相加 放入B中)
执行:ADD
执行完毕 指令地址寄存器+1
上面所说的过程中都是 人为的想着指令地址寄存器+1,试剂过程中,它由电路的时钟信号控制
CPU(取指令) 取指令--解码--执行 的速度叫做“时钟速度”
CPU超频:一般出厂的时候厂家都会有一定的时钟预留,但是超频过了会出现乱码 会发热 会烧掉
CPU降频:电源管理技术中心会用到,高频费电,低频电量消耗不高。
小结:不管多么复杂的内核,它总有一个指令表,会告诉你他本身固化的一些指令,搞汇编的就是把指令和高级语言连接起来。涉及到底层,一定是拿汇编来连接的