码迷,mamicode.com
首页 > 编程语言 > 详细

C++底层系统观(二)----硬件怎么玩

时间:2015-05-11 21:29:19      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

咱先不讲语言,先从硬件层面形象的解释下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通过读取这段内存来知道键盘按键状态)




C++底层系统观(二)----硬件怎么玩

标签:

原文地址:http://www.cnblogs.com/lplz/p/4495522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!