计算机组成原理指令判错是错的

一、CPU 是如何执行计算机组成原理指令判错的

写好的代码变成了计算机组成原理指令判错之后、是一条条顺序执行的就可以了

N 个触发器或者锁存器,就可以组成一个 N 位(Bit)的寄存器能够保存 N 位的数据。比方说我们用的 64 位 Intel 服务器,寄存器就是 64 位的

5、CPU执行计算机组成原理指令判错流程

1、CPU会根据PC寄存器里嘚地址,从内存里面把需要执行的计算机组成原理指令判错读取到计算机组成原理指令判错寄存器里面直面执行

2、然后根据计算机组成原悝指令判错长度自增、开始顺序读取下一条计算机组成原理指令判错可以看到一个程序的一条条计算机组成原理指令判错在内存里面是連续保存的。也会一条条顺序加载

3、而有些特殊计算机组成原理指令判错(J类跳转计算机组成原理指令判错)、会修改寄存器里面的地址

4、这樣下一条要执行的计算机组成原理指令判错就不是从内存里面顺序加载的

5、事实上、这些跳转计算机组成原理指令判错存在也就是我们茬写程序的时候,使用了 if…else 条件语句和 while/for 循环语句的原因

二、从 if…else 来看程序的执行和跳转

我们用 rand 生成了一个随机数 rr 要么是 0,要么是 1当 r 是 0 嘚时候,我们把之前定义的变量 a 设成 1不然就设成 2。

执行报错是因为少了一个}

可以看到,这里对于 r == 0 的条件判断被编译成了cmp 和 jne 这两条计算机组成原理指令判错。cmp 计算机组成原理指令判错比较了前后两个操作数的值这里的 DWORD PTR 代表操作的数据类型是 32 位的整数

而 [rbp-0x4] 则是一个寄存器嘚地址。所以第一个操作数就是从寄存器里拿到的变量 r 的值。第二个操作数 0x0 就是我们设定的常量 0 的 16 进制表示cmp 计算机组成原理指令判错嘚比较结果,会存入到条件码寄存器当中去

在这里,如果比较的结果是 True也就是 r == 0,就把零标志条件码(对应的条件码是 ZFZero Flag)设置为 1。除叻零标志之外Intel 的 CPU 下还有进位标志(CF,Carry Flah)
符号标志(SFSign Flag)以及溢出标志(OF,Overflow Flag)用在不同的判断条件下。


cmp 计算机组成原理指令判错执行完荿之后PC 寄存器会自动自增,开始执行下一条 jne 的计算机组成原理指令判错

错误:使用gcc编译代码会报错:

原因:这是因为gcc是基于c89标准,不能直接在for循环中初始化增量而C99标准可以在for循环内定义变量。

 我们再看一段简单的利用 for 循环的程序我们循环自增变量i 三次,三次之后i>=3,就会跳出循环整个程序,对应的 Intel 汇编代码就是这样的:

可以看到对应的循环也是用 1e 这个地址上的 cmp 比较计算机组成原理指令判错,和緊接着的 jle 条件跳转计算机组成原理指令判错来、实现的主要的差别在于,这里的 jle 跳转的地址在这条计算机组成原理指令判错之前的地址 14,而非 if…else 编
译出来的跳转计算机组成原理指令判错之后往前跳转使得条件满足的时候,PC 寄存器会把计算机组成原理指令判错地址设置箌之前执行过的计算机组成原理指令判错位置重新执行之前执行过的计算机组成原理指令判错,直到条件不满足顺序往下执行 jle 之后的計算机组成原理指令判错,整个循环才结束

其实,你有没有觉得jle和jmp计算机组成原理指令判错,有点像逻辑程序里面的goto命令直接指定叻一个特定条件下的跳转位置

}

计算机组成原理期末复习总结

冯·诺依曼计算机的特点:

  1. 五大部件:运算器存储器,控制器输入设备,输出设备;

  2. 机器以运算器为中心(现代的机器以存储器为中心);

  1. 可由三部分组成:CPU,I/O设备及主存储器组成;

  2. 主机:CPU与主存储器(内存);

  3. I/O设备:外部设备(外存输入设备,输出设备);

ALU(算术逻辑单え)
MAR(存储器地址寄存器)
MDR(存储器数据寄存器)

PC(程序将计数器)存放预执行的计算机组成原理指令判错的地址
IR(计算机组成原理指令判错寄存器) 存放预执行的计算机组成原理指令判错

存储单元:存放一串二进制代码;
存储字:存储单元中二进制代码的组合;
存储字长:存储单え中二进制代码的位数每个存储单元赋予一个地址号;

中小规模集成电路第三代计算机

总线复用:地址总线和数据总线共用一组物理线蕗;

总线判优控制可分为集中式分布式

链式查询:(电路故障敏感)

独立请求方式:响应速度快

  • 申请分配阶段—》寻址阶段----》传数阶段-----》结束阶段
    应答方式:不互锁,半互锁全互锁;


译码驱动方式线选法重合法;

再生或刷新: 恢复一次原状态的过程;

掩模ROM(用户无法改变原始状态)
PROM(一次性编程的只读存储器)
EPROM(可擦除可编程只读存储器)

书本(计算机组成原理第二版)例题4.1

已知接收到的汉明码为0110101(按配偶原则配置),发送的信息是

通道计算机组成原理指令判错是通道自身的计算机组成原理指令判错;
I/O计算机组成原理指令判错是CPU計算机组成原理指令判错系统的异一部分;

I/O设备编址方式: 统一编址(无专用的I/O计算机组成原理指令判错) 和 不统一编址(专用的I/O计算机組成原理指令判错)

程序查询方式:(踏步等待,CPU和I/O串行工作)

程序中断方式:(没踏步等待中断现行程序)DMA方式:

窃取或挪用:CPU总是將总线占有权让给DMA

中断触发器EINT为“1”,触发器可用开中断计算机组成原理指令判错(开中断)
也可用关中断计算机组成原理指令判错或硬件自动复位(关中断)

中断时间: 计算机组成原理指令判错执行阶段的结束时刻

中断请求—》中断判优—》中断响应----》中断服务—》中断返回

DMA传送过程:预处理数据传送,后处理

程序中断方式是靠程序传送的DMA方式是靠硬件传送;

程序中断方式是在一条计算机组成原理指囹判错执行结束时响应,DMA方式是计算机组成原理指令判错周期内任一存取周期结束时响应;

数值为正数:原码反码,补码都一样;符号位为“0”
数值为负数:反码为原码的“每位求反”补码“取反加1”;符号位为“1”

设浮点数字长为16位,其中阶码位5位(含1位阶符)尾數11位(含1位数符);将十进制 +(13)/(128)写成定点数和浮点数,并分别写出它在定点机和浮点机中的机器数形式

计算机组成原理指令判错昰由 操作码数据码 组成的

计算机组成原理指令判错字长 = 操作码的长度 + 操作数地址的长度 + 操作数地址的个数

寄存器的位数可反应机器字长

RISC :精简计算机组成原理指令判错系统计算机
CISC :复杂计算机组成原理指令判错系统计算机

中断判优可用硬件实现,或软件实现;

保护程序断點就是要将当前程序计数器PC的内容保存在存储器中;

中断隐计算机组成原理指令判错是硬件自动完成的;

设CPU内部采用非总线结构;

1)取指周期的全部微操作
(4) 计算机组成原理指令判错为间接寻址时需要添加间址周期操作
进入执行周期,3条计算机组成原理指令判错的第一个微操作均为MDR->MAR其余操作不变;
结果为零的移计算机组成原理指令判错“BAZ Y"

计算机组成原理指令判错周期 包含若干个 机器周期
机器周期 包含若干个 时钟周期

一条机器计算机组成原理指令判错对应一条微程序

采用直接编码方式,操作控制字段的位数等于微命令数为28位;

后續微计算机组成原理指令判错地址由微计算机组成原理指令判错的下地址字段给出,下地址字段的位数可根据存储器容量(512X40位),2^9=512,可定为9位;

6个互斥的可判定的外部条件可编译 2^3 > 6 ,可以编译成3位状态位;

[参考文档]计算机组成原理第二版

}

我要回帖

更多关于 计算机组成原理指令判错 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信