请结合计算机硬件论述指令执行的过程,【计算机组成原理】计算机软硬件组成...

文章目录

分层结构

软件系统

硬件系统

I/O设备

控制器

存储器

运算器

先上张图,对计算机的软硬件组成有个大体的认识,接下来就是掰开揉碎这张大图ψ(`∇´)ψ,本文绝大多数图片均为手绘

c33465c84990d4e4405c7a6efc0b7448.png

分层结构

86742b62c2985bb0d4e9969bc92c3908.png

其中操作系统的重要性不言而喻,也就是虚拟机M2。对于大工作量的处理,电脑会经常死机,这是因为有些语言程序已经被系统保存,在执行新的工作的时候会重新调用这些语言程序,由于程序相同,原本储存在系统中的程序会被新程序覆盖,而这样的操作,数量级一上来计算机死机就是避免不了的了,M2的作用就是代替开发者协调与管理底层的调用,预防死机的状况。

软件系统

计算机软件分类

①系统软件:管理整个计算机系统,使系统资源得到合理运用。主要有OS,DBMS等。比较大众的是巨硬windows、MacOS、Android,还有开发者专用的Linux。

②应用软件:通过系统软件提供的接口,完成用户指定的任务。常用的有QQ,Alipay,WeChat……

计算机工作过程

1)将数据与程序装入主存

2)将 源程序 转换为 可执行文件

3)从 可执行文件 的首地址开始逐条执行指令

源程序 转换为 可执行文件****:

7a6ec802149b6a0d7504a487d5e8c528.png

执行指令过程就请各位跳到控制器的介绍部分进行详细了解

e05e3d3b7b9abede0890b25428bcf2d3.png

硬件系统

52cc227071044d4ae38906fa59a94693.png

此主机非彼169cc3460a9851ce5ec2d91c927eabbd.png,我们常用的台式电脑主机经过长期的发展,组成以及性能上已经非常成熟(风扇,水冷,硬盘……),而上图中说到的主机是在概念上对其进行的定义,下图是对主机的一个拆分概念图:

876c5b959fbf03cf8fb5ec9199553258.png

跨过早期的 冯机 设计,来到最新的现代计算机结构理念,但是思想不变。

以下都是用白话解说,要背准确概念切勿模仿

I/O设备

6899332efdaba5ba1cd96a1a3f892881.png

输入设备:将程序和数据输入计算机。也就是能把我们平时能够操作的信号转换成电信号传给计算机,常见的有:鼠标、键盘、触摸屏……

输出设备:将计算机的计算结果以规定的形式输出。

其中类似于多功能打印机的设备既能输入也能输出。

辅存的话就是能辅助主存存储数据的设备,常见的有:U盘,机械/固态硬盘以及近几年的高内存移动硬盘etc.

控制器

作为整个硬件系统的主脑,能够基于每个部件的实际需求来下达相关指令,信息的传播与接收都是双向的。

1d4ce40b74c4d39ec009e09badabc839.png

9d81553388ee20dba204674235860139.png

上图谈到了很多次指令一词,顾名思义就是计算机下达的命令,由操作码和地址码两部分拼接组成f3aba00c3f654a8cab5bc02af8ec90d7.png

操作码:决定操作的序列

地址码:表示操作数在存储器中的位置

35d416c27836c1229a9fcaaad0831c3f.png

指令执行过程:

1)取指令:PC→MAR→M→MDR→IR

程序中第一条指令的地址位于PC中,从PC取出第一条指令到IR,将PC的内容送到MAR,MAR中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上,MDR从数据线接收指令信息,并传送到IR。

2)分析指令:OP(IR)→CU

指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件,这里IR是取数指令,因此读控制信号被送到总线的控制线上。

3)执行指令:Ad(IR)→MAR→M→MDR→ACC

取数操作。将IR中指令的地址码送到MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存指定存储单元读出操作数,并通过数据线送至MDR,再传送到ACC。

注:

每次取指令结束,需要为取下一条指令做准备,形成下一条指令地址:(PC)+1→PC

(PC),(MDR)……

括号表示括号中位置存放的内容(括号最好不要省略)

OP(IP)

(IP)表示从指令寄存器中取数送到CU,OP表示取指令的前边操作码部分

Ad(IP)

(IP)表示从指令寄存器中取数送到MAR用以取操作数,Ad表示取指令的后边地址码部分

指令其本质上是一串01代码(二进制码),和数据以同等地位储存在存储器中,一般情况下是按照顺序存放并顺序执行,但在特殊条件下可根据设定改变执行顺序,并按照地址寻访,

36185bdeee02cbdae76fee22a05a7fa9.png

其中由控制器发出的控制信号可以:

控制修改PC以得到下一条指令的地址;

控制ALU执行运算的方式;

控制主存进行读操作 或是 写操作。

存储器

近现代整个硬件系统的中心,通过控制器给予的指令,进行批量存储和释放程序和数据,可存储包括:

①输入数据

②经过运算器运算过后的中间数据

③最终运算结果数据

存储器分为两部分:主存和辅存。其中主存就是我们常说的内存,CPU能直接访问;辅存,顾名思义是用来协助主存存储额外程序和数据的,也可以被看作是I/O设备,只有将辅存的内容调入主存才能够被CPU访问,不能被直接访问。

主存:时序控制程序

按存储单元的地址进行存取(按地址存取方式),其中存储体存放二进制信息是按内容访问的。

ab9498dc4a8046111c98d552f4dfc357.png

MAR:

用于寻址,其位数=存储单元个数,与PC长度相等。

eg:MAR是10位,则有210=1024个存储单元,记1K

MDR:

位数与存储字长相等,一般是字节二次幂的整数倍。

存储体的基本结构:

由众多存储单元组成,每个存储单元包括若干存储元件,每个元件存储一个二进制码(0,1)。依次类推一个存储单元就是一串二进制码,这串二进制码称为存储字,位数称为存储字长(1B或是字节的偶数倍)

9927b35d20bf0b084c86a9268bd5d930.png

译码器:

这里推荐视频讲解

16974f81fd2d2adae1020e4f6418dd30.png

在概念上MAR,MDR是主存的一部分,但是在实际安装中MAR,MDR,Cache(高速缓存)被安装与CPU中,与主存三线连接:

a77a8e037db1446105b36c835b89697e.png

其中CPU与主存之间有一条总线相连,总线中有地址、控制、数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存写入CPU。如果是读操作,将MDR中的数据直接送到数据线上;如果是写操作,将数据线上的数据收到MDR中。

运算器

通过控制器传入的运算方法,对存储器传来的数据进行算数运算和逻辑运算

b85cfef3a8402ba58889ab4f73ba0098.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

F5:API 网关、流量网关发展各异,推出NGINX企阅版提供开源软件+企业级服务

作者 | 宋慧 出品 | CSDN 云计算 全球 80%互联网流量经过的 NGINX,全球有超过 4 亿个域名使用 NGINX 为载体,NGINX 无疑是成功的开源网关产品。 近日,F5 宣布 NGINX 在社区开源版本基础之上,推出NGINX企阅版(NGINX Op…

Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算

简介:如何以 Serverless 的方式运行 Spring Boot 应用? 作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立…

实现 消息提醒图标_用了5年苹果手机都不知道,原来小汽车图标是这个意思 ! ! !...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。注图文来源网络,侵删 …

技术分享:从双11看实时数仓Hologres高可用设计与实践

简介:本文将会从阿里巴巴双11场景出发,分析实时数仓面临的高可用挑战以及针对性设计。 2021年阿里巴巴双11完美落下为帷幕,对消费者来说是一场购物盛宴,对背后的业务支撑技术人来说,更是一场年度大考。在这场大考中&a…

操作系统如何实现:什么是宏内核、微内核

作者 | 陆小凤来源 | 码农的荒岛求生操作系统和普通的大型应用程序项目类似,都涉及代码组织方式的问题,但操作系统的独特之处在于其核心部分必须运行在内核态,kernel model,所谓内核态严格讲是指在该状态下程序拥有对硬件(hardwar…

雷神开机logo更改_九代酷睿i9加持的性能怪兽 雷神911黑武士Ⅱ评测

随着英特尔9代酷睿CPU的到来,品牌台式机也逐渐迎来了全新的升级,各大厂商也竞相抢占台式整机市场。而对于DIY组装机来说,相对于玩家门槛和售价又相对较高。国产台式机品牌雷神也抓住了这次契机,推出了“911黑武士”的第二代“911黑…

阿里云高级技术专家周晶:基于融合与协同的边缘云原生体系实践

简介:2020年 5G 商用元年以来,各种边缘场景开始火热起来,边缘计算又重回人们视野,这次的回归还伴随着云计算的普及与通信技术的颠覆式发展。边缘云作为 5G 与中心云计算的中继节点,处于云网融合、承上启下的关键位置。…

进程调度:我太难了!

作者 | 轩辕之风O来源 | 编程技术宇宙1、任务切换现在有一块CPU,但是有两个程序都想来执行,我们需要开发一个任务调度程序。只有两个程序,so easy啦!让它们交替执行就行了。为了实现切换,我们提供一个API,这…

阿里千万实例可观测采集器-iLogtail正式开源

简介:11月23日,阿里正式开源可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。iLogtail运行在服务器、容器、K8s、嵌入式等多种环境…

重启报错_Win10蓝屏,提示收集错误信息,反复重启报错

操作步骤:电脑为Win10系统,偶尔遇到微软Win10检测机制收集错误信息的提示,需要重启,重启之后恢复正常,但是在使用过程中收到此报错之后机器会反复的重启蓝屏提示。您可参考以下方式调试:方案一:1、按下“Wi…

一款跑在云上的定制容器专属 OS 来了——LifseaOS | 龙蜥技术

简介:如果可以把运维 API 化,那我们是不是可以把 OS 也作为一个 K8S 可以管理的资源,让 K8S 像管理容器一样管理OS? 引言 在 2021 年 10 月的云栖大会上,为云原生而生的 OS Lifsea 正式对外发布,并集成进入…

使用云效Codeup10分钟紧急修复Apache Log4j2漏洞

简介:2021年12月10日,国家信息安全漏洞共享平台(CNVD)收录了Apache Log4j2远程代码执行漏洞(CNVD-2021-95914),此漏洞是一个基于Java的日志记录工具,为Log4j的升级。作为目前最优秀的…

mysql时间相减得到天数保留两位_【敲黑板!】分布式事务数据库 —-MySQL 数据库开发规范(第四节)...

今天Amy着重为大家讲解一下关于函数的一些硬核知识,也是本文中非常重要的一个章节,记得认真看(dianzan)哦~第四节、函数4.1 字符串连接函数MySQL 数据库中字符串连接方法,需使用 CONCAT() 或 CONCAT_ WS()函数&#xf…

3类代码安全风险如何避免?

简介:企业和开发者在解决开源依赖包漏洞问题的同时,还需要考虑如何更全面地保障自己的代码数据安全。那么有哪些安全问题值得我们关注呢? 编者按:本次 Apache Log4j2 开源依赖包漏洞为所有人敲响警钟,企业的代码作为最…

手工模拟实现 Docker 容器网络!

作者 | 张彦飞allen来源 | 开发内功修炼如今服务器虚拟化技术已经发展到了深水区。现在业界已经有很多公司都迁移到容器上了。我们的开发写出来的代码大概率是要运行在容器上的。因此深刻理解容器网络的工作原理非常的重要。只有这样将来遇到问题的时候才知道该如何下手处理。网…

技术分享 | 使用 mPaaS 配置 SM2 国密加密指南

简介:随着移动智能终端的广泛应用,敏感信息极易被监控或盗取,给国家、企事业及个人带来极大政治、经济损失。金融和重要领域的各个企业正在逐步落实并完成国产密码改造工作。为解决客户侧因更换加密算法造成的种种不便,mPaaS 现已…

我的世界1.8.9无需正版的服务器,我的世界1period;8period;9服务器纯洁服地址 | 手游网游页游攻略大全...

发布时间:2015-09-26怎么创建属于自己的服务器那?开服教程为大家准备好了.如果我们想和小伙伴们联机进行玩耍的话就必须要建立一个服务器,要不然就是加入别人的服务器,那么服务器的建立方法是什么呢?我 ...标签:我的世界攻略 我的世界 我的世界开服发布…

报表功能升级|新增的这4项图表组件太好用了吧

简介:你们要的交叉透视表、词云、日历热力图、雷达图安排上啦~ 宜搭3.0上线已满一月,大家体验如何呢? 为了让大家更好地实现一站式数据加工处理及展示,我们近期针对报表板块做了升级 我们新上线了4项大家在社区呼声…

进程切换的本质是什么?

作者 | 陆小凤来源 | 码农的荒岛求生我们都知道操作系统最重要的功能之一是多任务能力,也就是可以运行超过CPU数量的程序——即进程,要想实现这一功能就必须具备将有限的CPU资源在多个进程之间分配的能力,在程序员看来,我们的程序…

lol1.7更新服务器维护,lol今天停机维护到几点11日7.1版本停机更新公告

lol今天停机维护到几点,lol1月11日停机维护更新公告,lol今天怎么进不去2017?下面小编将英雄联盟发布的停机公告详细给大家介绍。lol今天停机维护到几点1月11日早7点30分全区停机维护,预计停机时间为07:30-12:0011日7.1版本停机更…