大家好,我是爱动漫更爱编程的小工同学~

 

目录

冯诺依曼体系

概念

示意图

功能

特点

广义数据在内存的存储问题

CPU的基本工作原理

全加器和半加器

基本门电路

半加器

电路图

真值表

全加器

电路图

真值表

CPU工作流程

指令结构图

1.取指令阶段

2.指令译码阶段

3.执行指令阶段

4.访存取数阶段

5.结果写回阶段

CPU的中断

处理过程



冯诺依曼体系

概念

数学家 冯·诺依曼 提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成( 运算器 、 控制器 、 存储器 、 输入设备 、 输出设备 ),这套理论被称为冯·诺依曼体系结构。

示意图

功能

1)运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU);
(2)控制器:由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。运算器和控制器统称中央处理器,也叫做CPU。中央处理器是电脑的心脏;
(3)存储器:存储器分为内存和外存。内存是电脑的记忆部件,用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序。外存就像笔记本一样,用来存放一些需要长期保存的程序或数据,断电后也不会丢失,容量比较大,但存取速度慢。当电脑要执行外存里的程序,处理外存中的数据时,需要先把外存里的数据读入内存,然后中央处理器才能进行处理。外存储器包括硬盘、光盘和优盘;
(4)输入设备:输入设备是向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。键盘,鼠标,摄像头,扫描仪,光笔等都属于输入设备。
(5)输出设备:是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。常见的输出设备有显示器、打印机等。

特点

1)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成。
2)指令和数据以同等地位存储在存储器中,并可按地址寻址。
3)指令和数据均用二进制代码表示。
4)指令由操作码和地址码组成。操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器和存储器传送数据。

广义数据在内存的存储问题

数据分为:数字数据和非数数据两种

如果要在计算机中进行“非数数据”的存储,需要把非数数据转换成熟的类型via编码表

字符串->字符                                Unicode编码(ASCII编码是其子编码)

图片                                              RGB编码

声音                                              波形

有限范围内的整数表示:正码,反码,补码  ——>正型数

有限范围内的小数表示:IE标准                     ——>浮点数

CPU的基本工作原理

1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。

2、指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。

3、 执行指令,分两个阶段“取操作数”和“进行运算”。

4、 修改指令计数器,决定下一条指令的地址。

全加器和半加器

基本门电路

半加器

电路图

真值表

根据真值表,可以快速的得到输入输出关系(逻辑结构)是:
cout = a^b(表示a异或b)也就是(a&(b)+b&(a))
sum = a&b(表示a与b,也就是and(sum,a,b))

全加器

电路图

真值表

当多位数相加时,半加器可用于最低位求和,并给出进位数。第二位的相加有两个待加数和,还有一个来自前面低位送来的进位数。这三个数相加,得出本位和数(全加和数)和进位数。

CPU工作流程

指令结构图

1.取指令阶段

取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程。

程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1àPC;若为双字长指令,则(PC)+2àPC,依此类推。

2.指令译码阶段

取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。

在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。

3.执行指令阶段

在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段。

此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。

例如,如果要求完成一个加法运算,算术逻辑单元ALU将被连接到一组输入和一组输出,输入端提供需要相加的数值,输出端将含有最后的运算结果。

4.访存取数阶段

根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段。

此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。

5.结果写回阶段

作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。

CPU的中断

早期计算机各个程序只能串行执行、系统资源利用低。为了解决上述问题,人们就发明了操作系统,引入了中断机制,实现了多道程序的并发执行,提高了系统资源的利用率。

注意:中断是多程序并发执行的前提条件。

处理过程

(1) 执行完每个指令后,CPU都要检查当前是否有外部中断信号。
  (2) 如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器、各种通用寄存器)。
  (3) 根据中断信号类型转入相应的中断处理程序。
  (4) 恢复进程的CPU环境并退出中断,返回原进程继续往下执行。

---------------------------------------------------------------------------------------------------------------------------------

每日一图

想进大厂,这些计算机组成原理的知识你知道嘛?相关推荐

  1. 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些并发编程知识是你必须要掌握的!完整学习路线!!(建议收藏)

    大家好,我是冰河~~ 今天给大家带来一篇完整的并发编程学习路线,这应该是全网最全的并发编程学习路线了吧,希望能够为各位小伙伴们带来实质性的帮助. 如果这篇文章对大家有点帮助,小伙伴们点赞,收藏,评论, ...

  2. 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些并发编程核心技能是你必须要掌握的!!(建议收藏)

    大家好,我是冰河~~ 最近有很多学弟学妹问我:冰河,并发编程要学哪些内容呀?我看你CSDN博客的的[精通高并发系列]更新了很多高并发编程的技术文章,你是怎么学习的呢?后面你还会更新吗?啥时候更新完呀? ...

  3. 为什么人人都想进大厂?都是被逼的!

    创业公司人员紧张,一个人当五个人用······公司发展路线模糊,今天做这个业务,明天突然大掉头换了一个赛道·······进公司前说的天花乱坠,进来后才发现这也没有那也没有,人事调动全在老板的喜好··· ...

  4. 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些核心技能是你必须要掌握的!完整学习路线!!(建议收藏)

    很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,小伙伴们可以对照清单提前准备相关的技能,在平时的工作中注意积累和总结.只要在平时的工作中总结到位 ...

  5. 大厂校招薪资曝光,最高42W?想进大厂,掌握这三大能力很关键

    要说年轻人最想去的理想公司,那互联网大厂一定榜上有名!不仅有着超乎想象的高薪.让人艳羡的福利待遇.广阔的发展前景,还有广阔的人脉.更高的平台,让很多年轻人不管能不能进,都想试一试. 尤其是现在就业形势 ...

  6. 《我想进大厂》之mysql夺命连环13问

    想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩 ...

  7. 听说你想进大厂?当心这13个MySQL送命题!

    想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩 ...

  8. 你想进大厂吗?这份所有大厂都绕不过的MySQL宝典值得你一看

    前言: 好久没有给我的粉丝们分享过资料了,眼看着秋招就来了特意给大家总结了一份大厂秋招宝典,如今基本上所有的大厂都绕不过MySQL只要你想进大厂不管是腾讯.阿里也好还是字节百度只要你去面试就一定会问你 ...

  9. 想进大厂?看这两位就够了——敖丙/冰河|寻找C站“宝藏”

    声明:一条与两位大佬未曾谋面,也并无交流,写这篇文章更无利益可得. 只是曾在某个深夜拜读过两位大佬的文章,觉得收获良多,想让更多学编程的朋友少走弯路. 引用敖丙的一句话:"我这个人技术真不咋 ...

  10. mysql delete 会锁表吗_我想进大厂之 MYSQL 夺命连环13问

    来源 | 科技缪缪 想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 能说下 myisam 和 innodb 的区别吗? myisam引擎是5.1版本之前的默认引擎, ...

最新文章

  1. java864位官网_jdk8 64位下载-jdk8 64 bit windows官方版 - 极光下载站
  2. 春节充电 | 文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归(附动图解释)...
  3. python 背景建模高斯混合模型
  4. mono beta 3 released
  5. 批处理for命令详解(转) 批处理for命令详解
  6. linux系统外接硬盘_linux通过fstab自动挂载外接磁盘
  7. matlab 代谢流分析,代谢网络流分析进展及应用-生物在线.PDF
  8. 函数的定义,语法,二维数组,几个练习题
  9. 第九十期:哪种人是软件设计中的稀缺型人才?
  10. centos 7上ambari安装试用
  11. 用python画渐变的圆_Python成像库(PIL)绘图 – 带渐变的圆角矩形
  12. 分支程序设计02 - 零基础入门学习C语言11
  13. 优麒麟Ubuntu20.04安装各种问题
  14. php gd jpeg,怎么解决GD库不支持JPEG
  15. DDD(Domain-Driven Design)领域驱动架构介绍
  16. 2021-2027全球与中国铝质气雾罐市场现状及未来发展趋势
  17. Flink Table API和SQL(下)
  18. 自学大数据可以找到工作吗?该怎么学?
  19. 腾讯内部兵法:做产品和运营必须深参这5大人性弱点
  20. 关于深度学习移动化的思考

热门文章

  1. 序列生成对抗网络(SeqGAN)自然语言生成:让机器能够更好地理解和回应人类语音
  2. 华为鸿蒙手机定价,鸿蒙发布,转转:华为热销机型价格上涨
  3. canvas星空连线背景特效
  4. avm.js 怎么样?
  5. 【渝粤教育】国家开放大学2018年秋季 2372T汽车机械基础(A) 参考试题
  6. android mdns开发实例,mDNS浅析及应用
  7. Explicit Initialization
  8. Oracle删除表中的字段
  9. 听皮皮一句劝zIndex 的水太深,你把握不住!
  10. Tableau 数据可视化之项目一 教育网站指标评估