计算机组成原理(1):计算机系统概述

计算机底层和计算机原理!!!!

研究计算机硬件在底层是怎末运行的!

计算机硬件能识别的数据

用低电平表示0 用高电平表示1

皮卡丘使高电压!

计算机传递数据是用的电信号!!!

针脚是用来接受电信号的

1 计算机的发展

1.1 什么是计算机系统

计算机系统=硬件和软件!两个部分

硬件:计算机的实体部分看得见摸得到的部分

软件:看得见摸不着的 比如微信微博操作系统这些

硬件是物理基础--给出计算机系统的天花板在哪 而软件又可以让硬件发挥到什么程度!

软件

1.2 硬件的发展

电子管:【逻辑元件】用来处理电信号的最小单元!

只能识别0101,输入的时候就是要0101

体积变小了,但是是手动焊接的,不可靠

就是把晶体管、电容等高密度的集合在一起!

这个是可靠一点的

微处理器:intel

机器字长的提升会直接影响机器cpu的性能的!

16进制的加法 再8080上要运行两次 但在8086上只需要一次!

逻辑元件的集成度越来越高,元件越来越小,速度越来越快,功耗越来越低!

1.3 软件的发展

编程语言

机器语言--汇编语言--高级编程语言

编程语言是否方便好用直接决定了软件的世界是否足够丰富!

总结

2  计算机系统层次结构

2.1 计算机硬件的基本组成

现代计算机结构其实就是早期冯诺依曼结构的优化!

之前是说一句做一句 告诉一个指令然后做一个指令!

存储程序 一口气告诉计算器

0101二进制的数

运算器的中转进存储器

控制器:通过电信号来协调部件的工作,也负责解析存储器里的程序指令

逻辑等效:同一个功能既可以软件或者硬件完成!软件(成本和效率都低,硬件反之!)

冯特点:

以运算器为中心!!

数据传送也要运算器帮忙,本来运算器是用来数据处理的,这样就会导致效率降低!

本来采购部门可以直接给 仓储部门 加工之后放回到仓储 销售直接从仓储那 现在都要经过生产加工部门的帮忙 所以效率会降低!!!

解决方案:现代的计算机结构(以存储器为中心)

运算器和控制器十分紧密!

大规模集成电路出现以后 这两个通常是在一个芯片上的!

整合了这两个部件的芯片就是cpu

副存就是机械硬盘、固态硬盘

注意:主机只包含主存!!!

平时的app在副存!

当app启动的时候才进入主存

总结

2.2 各个硬件的工作原理

内部细节和如何运作的

主存储器

存储体是由存储元件构成 存放01

寄存器 也是存放数据的

类比菜鸟驿站:

cpu可以写也可以读!

存储体:

电容可以存储电荷 所以一个电容可以存储一个二进制的比特位 但不重要 只需要知道一个存储单元存储1bit就好!

MAR和MDR 与存储体的关系

字和字节!!!

运算器

X可能有多多个,但是1个就可以运算了

ALU是核心部件!!!实现算数运算和逻辑元素!

控制器

cu就是那个霸道总裁

计算机的工作过程

编码存入主存:

这些指令都是存储在存储体中的!

第一条指令:

第二条指令:

当取数指令 完成之后pc的值就会加一 也就是说这时运行下一条指令!

第二次的 操作码 是乘法 指令!

X和MQ存储的数进行相乘的操作!

如果进行乘商运算 操作数就放在乘商寄存器里!

b的值现在在乘胜寄存器MQ里【乘法运算的后一位(低位!)】

然后把a的值放入通用寄存器x里【乘法运算的高位!】

然后cu通过控制线告诉ALU(算数逻辑单元)让他进行乘法运算

运算的结果放在ACC里!

看出是乘法指令之后就会不同!

第三条

每一条指令结束之后 运算结果都在ACC里?

把后边的那个操作数 直接放在相应的乘商寄存器【做乘法】或x里【做累加的时候】

第四条

CU告诉存储体 我要进行的是存数的操作!

第五条

后边的就是操作系统的指令了

总结

cpu可以区分是指令还是数 然后指令放在IR里  数放在x或者MQ里  最后cu发送指令ALU 让ALU 进行运算!!!

存储体的概念弄清楚!字 字节 B b

2 只是放入不同的为止而已

4 有的计算机可以只是多个地址码 后面会将

5 在程序运行之前 指令和数据都会先存到主存里面!

2.3 计算机系统的多级层次结构

计算机系统的层次结构

微指令是对指令的分解!

汇编语言--虚拟机器 不能直接识别汇编语言!汇编语言和机器语言是一一对应的!

汇编语言 只是更便于人理解而已 和机器语言相比没有本质的区别 依然是低级语言!

高级语言--c+、java、python 

虚拟:(看起来机器好像直接能理解 但不是!!!)

三种级别的语言

机器语言程序才是可以让cpu运行的程序!

编译:一次 生成exe文件 效率高【手写翻译】

解释:翻译一句立即执行 效率低【同声传译】

C,C++是编译语言 而java python是解释型语言!

作用都是:把高级语言转换成低级语言!

总结

注意编译程序和解释程序的区别!

计算机体系结构vs计算机组成原理

3 计算机性能指标

3.1 存储器的性能指标

MAR 地址寄存器:有几个就有多少个地址编号!32位就有 2的32次方个地址!

MDR 数据寄存器:读入或者写入的数据是什么 就存储在MDR里!有几位就是几bit!

所以就可以计算总容量!

n个二进制位可以表示 2的n次方 种状态

2048 2 的11次方!

单位之间的换算

1KB = 1024B

3.2 cpu的性能指标

主频 每秒有多少个时钟周期

脉冲信号:指挥cpu所有部件一步一步工作的节奏!(广播体操 )

动作有先后顺序!

主频是10HZ表示的就是 1秒有10个脉冲信号!

对于相同型号的cpu来说,主频越高的话cpu速度就会越快

cpu主频很大程度上反应了cpu的性能 但是不是唯一指标!

还有其他因素:

CPI执行一个指令所需要的时钟周期数

之前的例子:取数指令需要9个步骤,乘法11,这两个指令所需要的时钟周期肯定不一样!

不同的cpu尽管执行的都是乘法程序,根据乘法指令实现的方式不同,时钟周期数量也可能不同!

同一个cpu执行相同的指令也有可能不同 比如取数 如果主存储器现在负荷太大的话 可能要花费更多的时钟周期!

cpi通常使用的是平均值

时钟周期长度 是 主频的倒数 

cpi是执行一条指令所需的周期数!

eg :cpu执行时间:

IPS每秒执行多少指令

主频是 每秒有多少个时钟周期

CPI是一个指令需要多少时钟周期

除一下就是 每秒执行多少指令

FLOPS每秒执行多少次浮点运算

这里的KMGT 和存储单位哪里是不一样的!

2MIPS表示的是:仪表可以执行2*10的6次方个指令!

*单位在不同场景下 换算不同!!!

当描述存储器的容量或者文件的大小的时候:

数据的处理速率的时候:

3.3 系统整体性能指标【前几个是静态的】

数据带宽通路

cpu和内存 内存和I/O设备 之间的信息传输都是通过数据总线!!

比如数据带宽是8bit 如果要传输16bit 则需要传输两次

传两次肯定比传一次慢,因此 数据通路的带宽会直接影响到数据传输的效率!

吞吐量

可以理解成一条指令就是一个请求 或者一个完整的程序运行是一个请求 在不同的场景下理解也不同!食堂打饭的师傅:每秒可以完成多少个同学的饭就是师傅的吞吐量!

响应时间

也是很宽泛的指标

3.4 系统整体的性能指标(动态测试)

思考!?

A1秒可以运行0.2G这么多条指令

B1秒可以运行1G

总结:

注意cpu的计算!

注意单位换算的不同!

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

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

相关文章

Java ExecutorService:你真的了解它吗?

文章目录 一、什么是ExecutorService?二、ExecutorService的核心功能三、如何创建和使用ExecutorService? 时光匆匆,又来到另一个里程碑,感谢粉丝们的陪伴,有你们真好~ 不水文啦,一起加油叭~ 一、什么是Exe…

C语言基础知识点(十三)结构体的深拷贝与浅拷贝

在C或C等语言中,结构体(Struct)是一种用户自定义的数据类型,它允许将不同类型的数据项组合成一个单一的类型。对于结构体的拷贝,存在深拷贝(Deep Copy)和浅拷贝(Shallow Copy&#x…

2024年,pdf文献热门翻译软件总结推荐

对于如今的时代,市面上存在各式各样的学术资料,对于没有语言天赋的我,看得眼花缭乱。看个学术资料都不知道要用哪个工具,试来试去和睦浪费时间。今天就我使用过的翻译软件中,整理了四款能帮助我们解决文献翻译难题的四…

免费自动化AI视频剪辑工具

下载地址:https://pan.quark.cn/s/3c5995da512e FunClip是一款完全开源、本地部署的自动化视频剪辑工具,通过调用阿里巴巴通义实验室开源的FunASR Paraformer系列模型进行视频的语音识别,随后用户可以自由选择识别结果中的文本片段或说话人&…

RocketMQ5.0 生产者

生产者消息类型: ​​​​​​​ 延迟队列的生产者 package mainimport ("context""fmt""github.com/apache/rocketmq-clients/golang/v5""github.com/apache/rocketmq-clients/golang/v5/credentials"errgroup2 "go…

学习记录——day26 进程间的通信(IPC)无名管道 无名管道 信号通信 特殊的信号处理

目录 一、进程间通信引入 二、无名管道 1、无名管道相关概念 2、无名管道的API接口函数 pipe(int pipefd[2]); 3、管道通信的特点 4、管道的读写特点 三、无名管道 1、有名管道:有名字的管道文件,其他进程可以调用 2、可以用于亲缘进程间的通信&…

代码随想录训练营第五十二天 孤岛的总面积

第一题&#xff1a;孤岛的总面积 第二题&#xff1a;沉没孤岛 思路&#xff1a; 将所有在边界的岛屿所在的visited数组位置都置为true&#xff0c;剩下的visited[i][j] true && grid[i][j] 1的位置就是孤岛&#xff0c;将其置为1即可。 代码如下 #include <io…

【限免】通信信号与干扰信号【附MATLAB代码】

微信公众号&#xff1a;EW Frontier 关注可了解更多的雷达、通信、人工智能相关代码。问题或建议&#xff0c;请公众号留言; 个人博客&#xff1a;106.54.201.174 QQ交流群&#xff1a;949444104 摘要 本项目主要模拟仿真常见通信信号及干扰信号&#xff0c;高斯白噪声、噪声调…

NSF共享目录未授权访问

NSF共享目录未授权访问 Network File System(NFS)&#xff0c;是由SUN公司研制的UNIX表示层协议(pressentation layer protocol)&#xff0c;能使使用者访问网络上别处的文件就像在使用自己的计算机一样。服务器在启用nfs服务以后&#xff0c;由于fs服务未限制对外访问&#x…

无人机之导航系统篇

一、导航系统组成 包括惯性导航系统、卫星导航系统、视觉导航系统等。 二、导航原理 利用传感器感知无人机的位置、速度和姿态信息&#xff0c;结合地图数据和导航算法&#xff0c;计算出无人机当前的位置和航向&#xff0c;从而引导无人机按照预设的航线飞行。 三、导航精…

使用SpringBoot+Vue3开发项目(2)---- 设计文章分类的相关接口及页面

目录 一.所用技术栈&#xff1a; 二.后端开发&#xff1a; 1.文章分类列表渲染&#xff1a; 2.新增文章分类&#xff1a; 3.编辑文章分类&#xff1a; 4.删除文章分类 &#xff1a; 5.完整三层架构后端代码&#xff1a; &#xff08;1&#xff09;Controller层&#xff1a…

优化if-else的11种方案

优雅永不过时&#xff01; 1. 使用早返回&#xff08;Early Return&#xff09;&#xff1a;尽可能早地返回&#xff0c;避免嵌套的if-else。 优化前&#xff1a; public class NoEarlyReturnExample {public boolean hasPositiveNumber(int[] numbers) {boolean foundPositi…

学习大数据DAY31 Python基础语法4和基于Python中的MySQL 编程

目录 Python 库 模块 time&datetime 库 连接 MySQL 操作 结构操作 数据增删改操作 数据查询操作 上机练习 7 面向对象 OOP 封装 继承 三层架构---面向对象思想模型层 数据层 业务逻辑显示层 上机练习 8 三层架构开发豆瓣网 关于我对 AI 写代码的看法&#xf…

客户数据分析模型:RFM模型的深度解析与应用探索

RFM模型&#xff0c;作为客户数据分析中的经典工具&#xff0c;凭借其简单而强大的分析能力&#xff0c;被广泛应用于各行各业。本文旨在深入探讨RFM模型的核心原理、应用价值&#xff0c;并详细阐述其在2C&#xff08;面向消费者&#xff09;和2B&#xff08;面向企业&#xf…

使用ThreadLocal来存取单线程内的数据

一.什么是ThreadLocal&#xff1f; ThreadLocal&#xff0c;即线程本地变量。如果你创建了一个 ThreadLocal变量&#xff0c;那么访问这个变量的每个线程都会有这个变量的一个本地拷贝&#xff0c;多个线程操作这个变量的时候&#xff0c;实际是在操作自己本地内存里面的变量&…

自注意力和位置编码

一、自注意力 1、给定一个由词元组成的输入序列x1,…,xn&#xff0c; 其中任意xi∈R^d&#xff08;1≤i≤n&#xff09;。 该序列的自注意力输出为一个长度相同的序列 y1,…,yn&#xff0c;其中&#xff1a; 2、自注意力池化层将xi当作key&#xff0c;value&#xff0c;query来…

Ubuntu配置carla docker环境

前言: 本文只在以下设备成功运行, 其他设备不保证能成功, 可以参考在自己设备进行配置 环境 ubuntu 20.04carla 0.9.15gpu 3060(notebook) 安装显卡驱动&nvidia-container-toolkit 显卡驱动 安装完成系统后直接在’软件和更新->附加驱动’直接选择470(proprietary…

Leetcode3227. 字符串元音游戏

Every day a Leetcode 题目来源&#xff1a;3227. 字符串元音游戏 解法1&#xff1a;博弈论 分类讨论&#xff1a; 如果 s 不包含任何元音&#xff0c;小红输。如果 s 包含奇数个元音&#xff0c;小红可以直接把整个 s 移除&#xff0c;小红赢。如果 s 包含正偶数个元音&am…

R 语言学习教程,从入门到精通,R 基础运算(5)

1、R 基础运算 本章介绍 R 语言的简单运算。 1.1、赋值 一般语言的赋值是 号&#xff0c;但是 R 语言是数学语言&#xff0c;所以赋值符号与我们数学书上的伪代码很相似&#xff0c;是一个左箭头 <- &#xff1a; a <- 123 b <- 456 print(a b)以上代码执行结果…

最好用的掏耳勺是哪种?年度五款可视挖耳勺高分机型

在我们的日常生活中&#xff0c;掏耳朵似乎是一件再平常不过的小事&#xff0c;不过&#xff0c;传统挖耳勺在使用时完全依赖我们的感觉和经验&#xff0c;我们无法直接看到耳道内部的情况。这就如同在黑暗中摸索&#xff0c;极易造成意外伤害。稍有不慎&#xff0c;就可能刮伤…