记得大学时的导师和讲过:把生活和计算机联系起来,会发现有很多共性;计算机抽象于生活,代码思维恰如人生哲学。

参考:

计算机中CPU扮演的角色

本文是一次关于计算机底层的的梳理。

官话

CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。

从整体来看

计算机就像是个大领导,有条不稳的调度着各种资源,而且很高效,让手下的线程或者进程做事情,但是他只能同时处理一件事情,又不能让其他线程等待很久,所以在和不同的人打交道时,会记着上一次说了什么,下一次继续,这叫保护现场。而每次让线程处理事情的时间叫时间片。

拆分来看

为了完成CPU的角色定位,CPU内部需要什么东西呢?为什么CPU可以完成这些任务?

CPU主要组成部分分为:控制器、运算器、以及后来的高速缓存、浮点处理器;

CPU主要组成部分逻辑结构图:

控制器

无论是单个计算机还是实际的团队,上至国家,下至个人,控制都是整个系统的核心。

嘀嗒嘀嗒嘀嗒 -> 高电压、低电压、高电压、低电压 -> 101010,计算机只能识别这中机械码,别把人类的情感带入其中。

计算机控制指令执行,正是依靠着时序发生器来进行的。

自然界有个神奇的东西,叫石英,学名二氧化硅SiO2。

石英的晶振是固定的,很有规律,我们最常见的可能是石英钟,原理就是这样。

在计算机中,也用了这个东西,只不过更复杂一些。

时序发生器用于信号同步,集体指挥,像个领导一样。

CPU的控制器由以及及部分组成:

程序计数器 :下一条指令我该去哪里取,它负责记录

指令寄存器 :当前的指令在哪?它存着

指令译码器 :根据人类定义的一个二进制表,去查表然后根据表中的内容进行指令翻译。

时序发生器 :嘀嗒嘀嗒负责指令执行,这个里边的电路其实还蛮复杂的

操作控制器 :和 时序发生器配合使用

其主要功能包括:

从主存中取出一条指令,并指出下一条指令在主存中的位置;

对指令进行译码,并产生相应的操作控制信号,以便启动规定的动作;

指挥并控制CPU、主存和输入/输出设备之间数据流动的方向。

运算器

核心就是我们常挂在嘴边的ALU。加减乘除等操作都是在这里完成,是个数据加工车间。

运算器由算术逻辑单元(ALU)、累加寄存器(AC)、数据寄存器(DR)和程序状态字寄存器(PSW)组成。

它有两个主要功能:

执行所有的算术运算;

执行所有的逻辑运算,并进行逻辑测试。

累加寄存器:为算术逻辑单元(ALU)提供一个存放临时值得地方

数据寄存器:CPU嫌弃内存速度慢,作为一个数据或指令的中转站

程序状态字寄存器:保存各种状态条件标志的寄存器,比如:运算结果溢出标志、进位、借位

高速缓存

CPU觉得内存太慢了,自己搞了一块缓冲区

CPU的频率是 GHz为单位,其速度小于1 ns 【 纳秒 】

内存的速度是100 ns。

二者最少相差百倍,于是乎,CPU嫌弃内存,说你太慢,自己搞了一款比较小的缓存,大概几M吧,用户缓存常用数据。

小结

CPU中有很多寄存器,比如控制器中的:程序计数器、指令寄存器、指令译码器、时序发生器等以及运算器中的累加寄存器、数据寄存器、程序状态字寄存器等。

那么CPU中一共有多少寄存器呢?

8086处理器:

ARM7处理器:

在CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。

这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。

若要了解更多寄存器的知识:CPU体系架构-寄存器

篇幅过长不易理解,下次聊聊CPU和内存的故事。

我来讲述计算机知识的科普文,计算机科普文:CPU的工作过程和组成相关推荐

  1. 计算机知识技能答案,学生计算机知识技能竞参考题范围及答案.doc

    学生计算机知识技能竞参考题范围及答案 长凝镇中学生计算机知识技能竞赛参考题范围及答案 一.客观题(40分) 第一套: 在Word软件中可以进行编辑的对象有__. 声音和动画 B.电信号和光信号 C.视 ...

  2. 计算机知识大赛策划案,计算机基础知识大赛策划书新版

    计算机基础知识大赛策划书新版 (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机基础知识大赛策划书计算机科学与电子技术系学生会|& ...

  3. 教师计算机知识比赛方案,教师计算机基础知识考核方案.doc

    教师计算机基础知识考核方案.doc (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 郑州旅游职业学院计算机基础知识考核内容考核内容主 ...

  4. 计算机知识技能答案,学生计算机知识技能赛参考题范围及答案.doc

    学生计算机知识技能赛参考题范围及答案 长凝镇中学生计算机知识技能竞赛参考题范围及答案 一.客观题(40分) 第一套: 在Word软件中可以进行编辑的对象有__. 声音和动画 B.电信号和光信号 C.视 ...

  5. 计算机知识枯燥乏味,中职计算机基础知识研究

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  6. 计算机知识竞赛的通知,计算机知识竞赛通知短信模板.doc

    计算机知识竞赛通知短信模板.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 通知短信模板:1. 班级赛通知模板尊敬的xx同 ...

  7. 听完计算机知识讲座后感悟,计算机知识讲座观后感

    消防安全知识讲座观后感 500字 [篇1]我们一起聆听了消防知识普及专题讲座,受益匪浅.主讲者从鲜活的案例入题,讲述了近一两年发生在我国的重特大火灾事故及其引发的原因,给我们敲响了警钟.消防安全在日常 ...

  8. 计算机知识树图片大全,计算机基础教案-----知识树.doc

    计算机基础教案-----知识树 月 日 9.149.14班 级西1.3轨1.2课 题 知识树 共1课时第1课教学目标 (德育.知识.能力)了解计算机应用基础知识构成使学生了解本学期要学习的知识了解计算 ...

  9. 计算机知识和操作技能,《计算机基础知识与操作技能》毕文才 编_孔网

    <计算机基础知识与操作技能>共分6个模块,主要内容包括计算机基础知识.WindowsXP系统.文字处理软件Word2010.数据处理软件Excel2010.演示文稿制作软件PowerPoi ...

  10. 计算机知识和教育管理,计算机教学

    计算机教学个人年终工作总结范文如下,希望对您的工作能有所帮助. 计算机教学个人年终工作总结[一] 20XX年下学期教学工作总结 沈长银 20XX年度学年第二学期,我担任高一14.15两班的<计算 ...

最新文章

  1. 安装kubernetes1.12.1的 dashboard v1.10 + Heapster
  2. 快速原型工具 原型可视化
  3. Too many open files问题解决
  4. 分布式文件系统Hadoop
  5. python学习第二十八节(进程,线程)
  6. 领扣 LeetCode 42:接雨水(java)(网易有道面试真题)
  7. 利用介质创建额外域控制器
  8. 2运行内存多大_电脑笔记本满血复活之内存升级篇
  9. Sprint2-2.0
  10. oracle中pga指什么,oracle学习SGA跟PGA理解
  11. 删除了几个月的照片能找回么_手机删除的照片如何恢复?一招教你解决
  12. Optical Flow related Tutorials
  13. 防病毒必务宝典—计算机病毒专杀进程列表(转)
  14. DPDK Release 20.11
  15. 人性的弱点(经典语录)
  16. cad隐藏图层命令快捷键_Auto CAD如何隐藏全部图层,快捷键是什么?
  17. 宣传片拍摄制作,后期剪辑师的重要性
  18. 漂亮的css网站js资源无限下载
  19. python求素数因子_Python入门教程: 素数判断与素因子分解
  20. 官方代付系统/支付宝微信代付/企业付款/提现秒到

热门文章

  1. python.snippet
  2. [Windows]_[初级]_[使用7z命令行工具进行打包备份]
  3. 东大计算机学院李传佑,计算机系统综合课程设计-东南大学计算机学院.doc
  4. 东南大学 计算机学院 夏令营,东南大学计算机科学与工程学院计算机技术(专业学位)保研夏令营...
  5. QT编译时出现:error: cannot open C:\Users\XXX\AppData\Local\Temp\main.obj.83852.16.jom for write
  6. 【笔记篇】最良心的计算几何学习笔记(二)
  7. 计算机自动化装配专机,自动化装配生产线结构原理及其组成形式的详解
  8. LeetCode 122 Best Time to Buy and Sell Stock II(股票买入卖出的最佳时间 II)
  9. SpringCloud学习(十一)---Spring Cloud Connectors
  10. k8s:kubeadm搭建k8s集群,加入新master节点报错