while(1) ; CPU 会一直等下去吗

标题答疑

不会,计算机从外部设备读取数据到存储器,每读取1word的数据,CPU对外设状态进行一次检查。

可能有小伙伴看到这就要退出了,别急,看下去或许会有收获。

首先解决第一个问题:一个字是多少字节?
这里的答案是:机器字长是8位的时候,一个字就是一个字节(1word = 1byte = 1B),此时再想想问题是否合理。

随着而来的是第二个问题:一个字节是多少位?
毫无疑问,一个字节8位(1byte = 8bit)

一位又是啥概念?
位是计算机最小的单位

如果你再问出:机器字长是啥意思,那一切都通了
机器字长:CPU进行一次整数运算能同时处理的二进制位数。

哦,CPU一次能处理8位,机器字长就是8bit,内存中连续8bit就叫一个word,而1byte = 8bit,这种情况下
CPU一次处理8位 = 8位的机器字长 = 一个字是8位 = 一个字是一个字节
顺理成章,傻子都能想明白。那岂不是说机器字长是16位的话,一个字就是两个字节,完全正确。
CPU处理一次16位 = 16位的机器字长 = 一个字是16位 = 一个字是两个字节。

顺带提一嘴,有8位的CPU吗?有,c51单片机就是。

如今我们已经知道CPU处理完一个机器字长的数据之后,就会检查一下条件是否成立,不过这都属于我的猜想,因为在IO里是这样的,程序是不是这样我也不知道,该大差不差(手动🐶保命),求评论区大佬告知

posted @ 2021-12-31 10:42  码农要战斗  阅读(120)  评论(0编辑  收藏  举报