想进大厂,这些计算机组成原理的知识你知道嘛?
大家好,我是爱动漫更爱编程的小工同学~
目录
冯诺依曼体系
概念
示意图
功能
特点
广义数据在内存的存储问题
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环境并退出中断,返回原进程继续往下执行。
---------------------------------------------------------------------------------------------------------------------------------
每日一图
想进大厂,这些计算机组成原理的知识你知道嘛?相关推荐
- 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些并发编程知识是你必须要掌握的!完整学习路线!!(建议收藏)
大家好,我是冰河~~ 今天给大家带来一篇完整的并发编程学习路线,这应该是全网最全的并发编程学习路线了吧,希望能够为各位小伙伴们带来实质性的帮助. 如果这篇文章对大家有点帮助,小伙伴们点赞,收藏,评论, ...
- 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些并发编程核心技能是你必须要掌握的!!(建议收藏)
大家好,我是冰河~~ 最近有很多学弟学妹问我:冰河,并发编程要学哪些内容呀?我看你CSDN博客的的[精通高并发系列]更新了很多高并发编程的技术文章,你是怎么学习的呢?后面你还会更新吗?啥时候更新完呀? ...
- 为什么人人都想进大厂?都是被逼的!
创业公司人员紧张,一个人当五个人用······公司发展路线模糊,今天做这个业务,明天突然大掉头换了一个赛道·······进公司前说的天花乱坠,进来后才发现这也没有那也没有,人事调动全在老板的喜好··· ...
- 奉劝那些刚参加工作的学弟学妹们:要想进大厂,这些核心技能是你必须要掌握的!完整学习路线!!(建议收藏)
很多小伙伴问我进大厂到底需要怎样的技术能力,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,小伙伴们可以对照清单提前准备相关的技能,在平时的工作中注意积累和总结.只要在平时的工作中总结到位 ...
- 大厂校招薪资曝光,最高42W?想进大厂,掌握这三大能力很关键
要说年轻人最想去的理想公司,那互联网大厂一定榜上有名!不仅有着超乎想象的高薪.让人艳羡的福利待遇.广阔的发展前景,还有广阔的人脉.更高的平台,让很多年轻人不管能不能进,都想试一试. 尤其是现在就业形势 ...
- 《我想进大厂》之mysql夺命连环13问
想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩 ...
- 听说你想进大厂?当心这13个MySQL送命题!
想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩 ...
- 你想进大厂吗?这份所有大厂都绕不过的MySQL宝典值得你一看
前言: 好久没有给我的粉丝们分享过资料了,眼看着秋招就来了特意给大家总结了一份大厂秋招宝典,如今基本上所有的大厂都绕不过MySQL只要你想进大厂不管是腾讯.阿里也好还是字节百度只要你去面试就一定会问你 ...
- 想进大厂?看这两位就够了——敖丙/冰河|寻找C站“宝藏”
声明:一条与两位大佬未曾谋面,也并无交流,写这篇文章更无利益可得. 只是曾在某个深夜拜读过两位大佬的文章,觉得收获良多,想让更多学编程的朋友少走弯路. 引用敖丙的一句话:"我这个人技术真不咋 ...
- mysql delete 会锁表吗_我想进大厂之 MYSQL 夺命连环13问
来源 | 科技缪缪 想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 能说下 myisam 和 innodb 的区别吗? myisam引擎是5.1版本之前的默认引擎, ...
最新文章
- java864位官网_jdk8 64位下载-jdk8 64 bit windows官方版 - 极光下载站
- 春节充电 | 文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归(附动图解释)...
- python 背景建模高斯混合模型
- mono beta 3 released
- 批处理for命令详解(转) 批处理for命令详解
- linux系统外接硬盘_linux通过fstab自动挂载外接磁盘
- matlab 代谢流分析,代谢网络流分析进展及应用-生物在线.PDF
- 函数的定义,语法,二维数组,几个练习题
- 第九十期:哪种人是软件设计中的稀缺型人才?
- centos 7上ambari安装试用
- 用python画渐变的圆_Python成像库(PIL)绘图 – 带渐变的圆角矩形
- 分支程序设计02 - 零基础入门学习C语言11
- 优麒麟Ubuntu20.04安装各种问题
- php gd jpeg,怎么解决GD库不支持JPEG
- DDD(Domain-Driven Design)领域驱动架构介绍
- 2021-2027全球与中国铝质气雾罐市场现状及未来发展趋势
- Flink Table API和SQL(下)
- 自学大数据可以找到工作吗?该怎么学?
- 腾讯内部兵法:做产品和运营必须深参这5大人性弱点
- 关于深度学习移动化的思考