一种基本的 LEGv8 实现
学校教材使用的是ARM版本的,所以自然是ARM相关的。接下来主要是要实现下面的指令。
- 存储器访问指令(memory-reference instructions load register unscaled) (LDUR) and store register unscaled (STUR).
- The 算术逻辑指令(arithmetic-logical instructions) ADD,SUB,AND, and ORR.
- The instructions 比较(compare) and 分支(branch) on zero (CBZ) and branch (B).
时钟策略
时钟策略 (clocking methodology)规定了信号可以读出和写人的时间规定读出和写入的时间非常重要,因为若一个信号在写入的同时被读出,那么读出的值可能是之前的旧值,也可能是新写入的值,甚至是两者的混合,计算机的设计中显然不允许这种不确定性。时钟策略即是为避免这种情况而提出的,以确保硬件行为是可预测的。
简单起见,我们假定采用边沿触发的时钟 (edge-triggered clocking)方法,即在时序逻辑单元中存储的所有值仅在时钟边沿更新。当一个状态单元在每个有效的时钟边沿都进行写入时,我们不必给出写控制信号 (controI signal) 。相反,若一个状态单元不是每个周期都进行更新,那么就需要一个显式的写控制信号。我们使用术语有效 (asserted)表示信号为逻辑高,无效 (deasserted) 表示逻辑低。
数据通路部件
我们先来看看每条指令需要哪些数据通路部件 (datapath element),按抽象层展开。
标签:读出,写入,指令,信号,时钟,CPU,组成,instructions From: https://www.cnblogs.com/haibersut/p/16922123.html