咱先不讲语言,先从硬件层面形象的解释下CPU是怎么完成各种功能的
int a, b, c; cin >> a >> b; c = a + b;
这里C++代码 只有三行 看看要实现这样的功能 硬件做了什么
CPU读入指令
cin >> a >> b; CPU:我刚接收到组织的任务 要我们获取两个整数 然后放到组织提供的两个内存地址对应的内存里面 键盘:好的 如果有人敲我 我会通知你 CPU: 好的呢 CPU: 用户敲了个 1 显卡 你快去把 1 的图像信息存到你的显存里面 那样我们的屏幕兄弟就能读取你的显存 点亮它对应的LED灯泡 显示给用户看 让用户知道自己敲了个 1 显卡:遵命 ...直到用户敲入了 1 2 按下了回车 CPU:哎呀妈呀 可按回车了 快快快 内存 把这 1 和 2 从你的输入缓冲区内存 运送到 a 和 b 的内存里面去 完成 a=1 b=2 内存:嗯 已经搞完了 CPU:我又受到组织的任务 他要 我们开辟个内存空间 C 然后把 a+b存进去 CPU:a+b我已经算出来了 我刚才申请了个内存地址 来 内存兄弟 把a+b存在这个内存地址里 内存:OK 总结:内存条 就专门负责存和读取数据 CPU把要读取的地址给内存条 内存条 就找到这个内存把里面的值取出来 给CPU 显示卡 显示卡也有个存储数据的地方叫做显存 屏幕读取显存可以知道自己那个灯泡需要发光 键盘 键盘每当有人敲它 他就告诉别人 (实际上内存有一块区域 存着键盘的按键情况 键盘被敲 就改变了这段内存的数值 CPU通过读取这段内存来知道键盘按键状态)
时间: 2024-10-26 05:52:36