C++底层系统观(二)----硬件怎么玩
咱先不讲语言,先从硬件层面形象的解释下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通过读取这段内存来知道键盘按键状态)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。