当前位置: 首页 > news >正文

计算机硬件的基本组成

一、冯诺依曼结构

存储程序:
“存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
在这里插入图片描述
冯诺依曼计算机特点:
1、计算机由5大部件组成
2、指令和数据以同等地位存于存储器,可按地址寻访
3、指令和数据用二进制表示
4、指令由操作码和地址码组成
5、存储程序
6、以运算器为中心(输入/输出设备与存储器之间的数据传送通过运算器完成)

二、现代计算机结构

在这里插入图片描述
在这里插入图片描述

2.1、主存储器

在这里插入图片描述
在这里插入图片描述
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1bit

MAR(memory address register):位数反应存储单元的个数
MDR(memery data register):位数=存储字长

例如:MAR=4位->共有24个存储单元
MDR=16位->每个存储单元可放16bit 1个字=16bit
字的决定是由计算机硬件决定的

1个字节(byte)=8bit

2.2、运算器的基本组成

在这里插入图片描述
运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)

ACC(Accumulator):累加器,用于存放操作数,或运算结果
MQ(Multiple-Quotient Register):乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
X:通用的操作数寄存器,用于存放操作数
ALU:算术逻辑单元,通过内部复杂的电路实现算数运算逻辑运算

2.3、控制器的基本组成

在这里插入图片描述

CU(control unit):控制单元,分析指令,给出控制信号
IR(instruction register):指令寄存器,存放当前执行的指令
PC(program counter):程序计数器,存放下一条指令地址,有自动加1功能

在这里插入图片描述

2.4、跑一个code

高级语言:

int a=2,b=3,c=1,y=0;
void main(){y=a*b+c;
}

机器语言:
在这里插入图片描述

第一条指令

在这里插入图片描述
初:(PC)=0,指向第一条指令的存储地址
#1:(PC)→MAR,导致(MAR)=0
#3:M(MAR)→MDR,导致(MDR)=0000010000000101
#4:(MDR)→IR,导致(IR)=0000010000000101
#5:OP(IR)→CU,指令的操作码送到CU,CU分析后得知,这是“取数”指令
#6:Ad(IR)→MAR,指令的地址码送到MAR,导致(MAR)=5
#8:M(MAR)→MDR,导致(MDR)=0000000000000010=2
#9:(MDR)→ACC,导致(ACC)=0000000000000010=2

取指令(#1~ #4)分析指令(#5)执行取数指令(#6~#9)

第二条指令

在这里插入图片描述

上一条指令取指后PC自动+1,(PC)=1;执行后,(ACC)=2
#1:(PC)->MAR,导致(MAR)=1
#3:M(MAR)->MDR,导致(MDR)=000100 0000000110
#4:(MDR)->IR,导致(IR)=000100 0000000110
#5:OP(IR)->CU,指令的操作码送到CU,CU分析后,这是乘法指令
#6:AD(IR)->MAR,导致(MAR)=0000000110=6
#8:M(MAR)->MDR,导致(MDR)=0000000000000011=3
#9:(MDR)->MQ,导致(MQ)=0000000000000011=3
#10:(ACC)->X,导致(X)=2
#11:(MQ)*X->ACC,导致(ACC)=6,由ALU实现乘法运算,如果乘积太大,需要MQ辅助存储

取指令(#1~#4)分析指令(#5)执行乘法指令(#6~#11)

同样的方式分析后面的指令

相关文章:

计算机硬件的基本组成

一、冯诺依曼结构 存储程序: “存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。 冯诺依曼计…...

【算法-哈希表3】四数相加2 和 赎金信

今天,带来哈希表相关算法的讲解。文中不足错漏之处望请斧正! 理论基础点这里 1. 四数相加2 分析题意 求符合条件的四元组的出现次数,条件: nums1nums2nums3nums4 从四个数组中的每一个数组取一个数 num1, num2, num3, num4&am…...

wpf devexpress自定义编辑器

打开前一个例子 步骤1-自定义FirstName和LastName编辑器字段 如果运行程序,会通知编辑器是空。对于例子,这两个未命名编辑器在第一个LayoutItem(Name)。和最终用户有一个访客左右编辑器查阅到First Name和Last Name字段,分别。如果你看到Go…...

文档向量化工具(一):Apache Tika介绍

Apache Tika是什么?能干什么? Apache Tika是一个内容分析工具包。 该工具包可以从一千多种不同的文件类型(如PPT、XLS和PDF)中检测并提取元数据和文本。 所有这些文件类型都可以通过同一个接口进行解析,这使得Tika在…...

学习c#的第二十一天

目录 C# 泛型(Generic) 泛型类型参数 类型参数的约束 约束多个参数 未绑定的类型参数 类型参数作为约束 notnull 约束 class 约束 default 约束 非托管约束 委托约束 枚举约束 类型参数实现声明的接口 泛型类 泛型方法 泛型和数组 泛型…...

Michael Jordan最新报告:去中心化机器学习中的契约、不确定性和激励

‍ ‍导读 11月3日,智源研究院学术顾问委员会委员、机器学习泰斗Michael Jordan在以“新一代人工智能前沿”为主题的2023北京论坛 新工科专题论坛上,发表了题为Contracts, Uncertainty, and Incentives in Decentralized Machine Learning(去…...

3ds Max渲染用专业显卡还是游戏显卡?

使用3dsmax建模时,会面临诸多选择,除了用vr还是cr的决策,硬件选择上也存在着疑问,比如用专业显卡还是消费级游戏显卡?一般来说,除非是特别专业的大型项目和软件,且预算在5位数以上,常…...

airlearning-ue4安装的踩坑记录

最近要安装airlearning-ue4,用于实现无人机仿真环境,该项目地址为:GitHub - harvard-edge/airlearning-ue4: Environment Generator for Air Learning Project. This version is build on top of UE4 game engine 由于这个项目已经完成好几年…...

uniapp优化h5项目-摇树优化,gzip压缩和删除console.log

1.摇树优化 勾选摇树优化,打包删除死代码 2.gzip压缩和删除console.log 安装插件webpack和compression-webpack-plugin webpack插件 npm install webpack4.46.0 --save-devcompression-webpack-plugin插件 npm install compression-webpack-plugin6.1.1 --save-devconst Com…...

Pycharm之配置python虚拟环境

最近给身边的人写了脚本,在自己电脑可以正常运行。分享给我身边的人,却运行不起来,然后把报错的截图给我看了,所以难道不会利用pycharm搭建虚拟的环境?记录一下配置的过程。 第一步:右键要打开的python的代…...

如何使用MybatisPlus进行数据分页显示

如何使用MybatisPlus进行数据的分页呢? 使用Mybatis Plus提供的分页插件来简化开发,在MybatisPlusInterceptor的拦截器中添加自动分页的PaginationInnerInterceptor拦截器,当前配置需要交给spring的bean管理,类上添加注解Configu…...

代码随想录 Day49 单调栈01 LeetCode LeetCodeT739每日温度 T496 下一个最大元素I

前言 折磨的死去活来的动态规划终于结束啦,今天秋秋给大家带来两题非常经典的单调栈问题,可能你不清楚单调栈是什么,可以用来解决什么问题,今天我们就来一步一步的逐渐了解单调栈,到能够灵活使用单调栈.注意以下讲解中,顺序的描述为 从栈头到栈底的顺序 什么时候用单…...

高可用--限流熔断降级

熔断 熔断是应对微服务雪崩效应的一种链路保护机制。 场景 服务端出现问题 服务指标:响应时间、错误率、连续错误数等,超过阈值出发熔断。硬件指标:CPU、网络IO、内存 目的 服务端恢复需要时间、服务端需要休息避免全调用链路崩溃&…...

win10电脑无法联网,设置IPv4,点击属性无法打开,闪退

win10设置IPv4,点击属性无法打开,闪退 问题:win10设置IPv4,点击属性无法打开,闪退 问题:win10设置IPv4,点击属性无法打开,闪退 第1步:用管理员打开cmd命令窗口,然后输入下面的命令&…...

【数据结构】邻接表与邻接矩阵的转换

一.基本思想 1.邻接矩阵转换为邻接表: 先设置一个空的邻接表,然后查找邻接矩阵的值不为零元素,找到后在邻接表的单链表对应位置加入表边节点。 2.邻接表转换为邻接矩阵: 在邻接表上顺序取出每个表边结点,将邻接矩阵…...

VR智慧景区:VR赋能文旅产业,激活消费潜能

随着国家数字化战略的不断深入实施,文旅产业数字化转型的步伐也在逐渐加快,以VR技术赋能文旅产业,让文旅景区线上线下双渠道融合,进一步呈现文化底蕴、激活消费潜能。 VR智慧景区以沉浸式、互动式、科技感的方式,将景区…...

Spring Boot EasyPOI 使用指定模板导出Excel

相信大家都遇到过,用户提出要把界面上的数据导成一个Excel,还得是用户指定的Excel格式,用原生的POI,需要自己去实现,相信是比较麻烦的,所以我们可以使用开源的EasyPOI. 先上个图,看看是不是大家…...

postgresql:记录表膨胀引起的io问题的处理

文章目录 1. io异常2.查看profile报告2.1 生成事发时间段的pgprofile2.2 查看报告 3.检查table是否膨胀4.执行vacuum full5.总结 1. io异常 iostat -x 1 20 Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq…...

Windows下安装RabbitMQ

1.安装Erlang 因为RabbitMQ是用Erlang语言编写的,所以在安装RabbitMQ之前需要先安装Erlang。 如果还未安装Erlang,官方下载安装包,点击Download Windows installer下载Erlang Downloads - Erlang/OTP 下载Erlang/OTP后,双击otp的…...

广州华锐互动VRAR:利用VR开展刑事案件公安取证培训,沉浸式体验提升实战能力

随着科技的飞速发展,虚拟现实(VR)技术为我们的生活和工作带来了前所未有的便利。近年来,VR技术在刑事案件公安取证培训中的应用逐渐显现出其独特优势。通过模拟真实的犯罪现场,VR技术为学员提供了沉浸式的体验,使他们在安全的环境…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

快刀集(1): 一刀斩断视频片头广告

一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...