【计算机组成原理 - 第一章】计算机系统概论(完结)

news2024/11/17 1:28:27

本章参考王道考研相关课程:

【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili

【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili

【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili

【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili

目录

一、计算机软硬件概念

二、计算机系统层次结构

1、三个级别的语言

2、翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?

三、计算机的基本组成

1、冯诺依曼计算机特点

2、计算机硬件框图

(1)主存储器(cpu可以直接访问)、辅助存储

(2)运算器

(3)控制器

四、计算机工作过程

1、取数指令 ​

2、乘法指令

 3、加法指令

4、存数指令

5、计算机工作过程总结

1、取指阶段(必经阶段)

2、分析阶段(必经阶段)

3、执行阶段(根据不同指令步骤不同)

五、计算机性能指标 

1、机器字长

2、存储器的性能指标

3、CPU的性能指标

4、系统整体性能指标

5、主频高的CPU一定比主频低的CPU快吗?为什么?


一、计算机软硬件概念

279dc12d04f24bd1a21efb79884ff0c2.jpg

  • 系统软件:标准程序库、语言处理程序、操作系统、服务程序、数据库管理系统、网络软件等
  • 应用软件:科学计算类程序,工程设计类程序,数据统计与处理程序

二、计算机系统层次结构

8bc55da0348547cb851e1e0055568b40.jpg

1、三个级别的语言

  • 机器语言:二进制代码,计算机唯一可以直接识别和执行的语言
  • 汇编语言:用英文单词或其缩写代替二进制指令,必须经过一个称为汇编程序的系统软件翻译,将其转换为机器语言,才能在计算机的硬件系统上执行
  • 高级语言:为方便程序员处理问题,经过编译程序编译成汇编语言,然后通过汇编程序转换成机器语言,或直接由高级语言程序翻译成机器语言

  • 高级语言 ——编译——> 汇编语言 ——汇编——> 机器语言
  • 边翻译边执行叫做解析

2、翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?

翻译程序:包括编译程序解释程序

  • 编译程序:将高级语言一次全部翻译成目标程序
  • 解释程序:翻译一句执行一句,并且不会生成目标程序

汇编程序:将汇编语言翻译成机器语言

三、计算机的基本组成

1、冯诺依曼计算机特点

  • 计算机由运算器存储器控制器输入设备输出设备组成
  • 指令和数据以同等地位存放于存储器内,并按地址寻访
  • 数据和指令均用二进制数表示
  • 指令由操作码地址码组成
  • 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成
  • 早期冯诺依曼机最根本特征是【程序存储】,即按照地址访问并顺序执行指令
  • 计算机五大功能:数据传送功能、数据存储功能、数据处理功能、操作控制功能、操作判断功能

2、计算机硬件框图

8a605fc6cf654ed59599217a457e0011.jpg

(1)主存储器(cpu可以直接访问)、辅助存储

存储体含有许多存储单元,每个存储单元包含若干个存储元,每个存储元可以0或1

  • 存储字:一个存储单元存储一串二进制代码
  • 存储字长:这串二进制代码的位数

为了实现按地址存取,主存配置两个寄存器:

  • 地址寄存器MAR:指明要读/写哪个存储单元。位数=存储单元的个数
  • 数据寄存器MDR:暂存要读/写的数据。位数=存储字长

e6a361e30993479e9e1bd68aed8a94ae.jpg

(2)运算器

  • 运算器最少包括3个寄存器和一个算数逻辑单元ALU
  • 寄存器:ACC累加器、MQ乘商寄存器、X操作数寄存器

 

(3)控制器

  • 完成一条指令操作:取指阶段PC、分析阶段IR、执行阶段CU
  • 控制器由PC程序计数器、IR指令寄存器、CU控制单元组成

  • (Program Counter)PC程序计数器:存放下一条指令的地址,将指令传给MAR,有自动+1功能
  • (Instruction Register)IR指令寄存器:存放当前执行的指令,拆分出操作码传给CU,拆分出地址码传给MAR,MAR在主存储体中取出数据传给MDR
  • (Control Unit)CU控制单元:分析指令,给出控制信号

 

四、计算机工作过程

【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili(16min开始)

高级语言的一段代码

int a=2,b=3,c=1,y=0;

void main()
{
    y=a*b+c;
}

1、取数指令 

2、乘法指令

 3、加法指令

4、存数指令

5、计算机工作过程总结

 CPU区分指令和数据的依据:指令周期的不同阶段

1、取指阶段(必经阶段)

  • PC存放下一条指令的地址 ——> MAR(存放欲访问的存储单元地址)
  • MAR在存储体内找到存储指令的地址 ——> MDR(存放从主存储体取来的数据)
  • MDR将指令 ——> IR(存放当前执行的指令)
  • 取数阶段结束 PC++

2、分析阶段(必经阶段)

  • IR拆分出操作码 ——> CU   
  • 分析阶段结束

3、执行阶段(根据不同指令步骤不同)

  • IR拆分出地址码 ——> MAR
  • MAR在存储体内找到存储的数据的地址 ——> MDR
  • MDR ——> ACC
  • 执行阶段结束

五、计算机性能指标 

1、机器字长

CPU一次能处理数据的位数,一般等于内部寄存器的大小,决定了计算机的运算精度

2、存储器的性能指标

  • MAR:位数反映存储单元的数量
  • MDR:位数反映存储字长(存储字长=存储单元二进制码的位数)

总容量 = 存储单元个数×存储字长 bit(b)

            = 存储单元个数×存储字长÷8 byte(B)

1 byte = 8 bit

eg:MAR为32位,MDR为8位

总容量 = 2^{32}\times 8 \ bit=4GB

描述存储容量、文件大小时:

K—2^{10}        M—2^{20}        G—2^{30}        T—2^{40}

3、CPU的性能指标

1、时钟周期:CPU中最小时间单位(单位:微秒、纳秒)

2、CPU主频(时钟频率):CPU内数字脉冲信号振荡频率,主频越高的CPU不一定比主频低的CPU快

CPU主频=1/时钟周期 (单位:Hz)

3、CPI:执行一条指令所需的时钟周期数,不同指令CPI不同,相同指令CPI也可能变化

4、CPU执行时间(运行一个程序花费的时间) =(指令条数×CPI)÷主频

eg:某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3,问该程序走该CPU上执行需要多久?

100×3÷1000=0.3s

5、IPS:每秒执行多少条指令 IPS=主频÷平均CPI

KIPS、MIPS——比如:2MIPS,即每秒能执行 2\times 10^{6} 条指令

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

KFLOPS、MFLOPS、GFLOPS、TFLOPS

描述频率、速度时: 

K=10^{3}      M=10^{6}     G=10^{9}      T=10^{12}

4、系统整体性能指标

1、数据通路带宽:数据总线一次所能并行传送信息的位数,各硬件部件通过数据总线传输数据

2、吞吐量:指系统在单位时间内处理请求的数量,主要取决于主存的存储周期

3、响应时间

4、基准程序(动态测试):像鲁大师这种跑分软件,一般情况下,基准测试程序能够反映机器性能的好坏。但由于基准程序中的语句存在频度的差异,因此运行结果并不能完全说明问题

5、主频高的CPU一定比主频低的CPU快吗?为什么?

衡量CPU运算速度的指标有很多,不能以单独的某个指标来判断CPU的好坏

CPU的主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、 Cache大小等)。由于主频并不直接代表运算速度,因此在一定情况下很可能会出现主频较高的CPU实际运算速度较低的现象

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

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

相关文章

绘制带有角度的CAD图形

这个CAD图形用到的命令有CAD直线、CAD圆、CAD圆弧、CAD偏移和CAD旋转等多个CAD命令相结合才绘制出来。 目标对象 操作步骤 1.先使用直线命令画相交于A点的两条线段,然后A点为圆心画半径12和半径15的圆 2.然后以B点为圆心画半径2的圆,使用复制命令指定圆…

Maven的基本使用

1.Maven的基本介绍2.Maven中仓库的概念3.Maven中坐标的概念坐标示例如下&#xff1a;<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope>//这个是范围 &l…

elasticsearch 8 修改分词器并数据迁移

1. 安装中文索引 下载地址&#xff1a;https://github.com/medcl/elasticsearch-analysis-ik/releases 注意&#xff1a;版本要和ES版本对应 解压后放入plugins文件中 然后重启服务&#xff1a;docker-compose restart elasticsearch&#xff0c;大概需要1分钟 2. 数据迁移…

【Spark分布式内存计算框架——Spark Streaming】9. 获取偏移量 应用案例:百度搜索风云榜(上)

4.4 获取偏移量 当SparkStreaming集成Kafka时&#xff0c;无论是Old Consumer API中Direct方式还是New Consumer API方式获取的数据&#xff0c;每批次的数据封装在KafkaRDD中&#xff0c;其中包含每条数据的元数据信息。 文档&#xff1a;http://spark.apache.org/docs/2.4.…

重磅:Meta未来4年路线图曝光,Quest出货超2000万台

The Verge今天曝光了一份Meta内部AR/VR产品规划图&#xff0c;这份规划图为Meta高管为Reality Labs员工的内部分享&#xff0c;包括了大量AR/VR产品信息&#xff0c;下面我们一起来看看。一&#xff0c;未来四年规划Meta Reality Labs四年规划&#xff1a;1&#xff0c;2023年&…

你知道吗?火狐搜集您的数据?

导读请注意,打包在 Firefox Web 浏览器里面的地理位置服务即使浏览器关闭后也会在后台运行。我们还没有从关于浏览器插件丑闻的消息中平复下来。插件原本目的是保卫隐私&#xff0c;但现在却把信息卖给了第三方公司。然而更令人愤怒的是其规模完全超出我们的预计。MLS MLS&…

报错“FirewallD is not running”怎么办,如何解决?

目录 一、报错详情 二、解决方法—开启防火墙步骤 步骤一&#xff1a;先通过命令查看一下防火墙的状态。 步骤二&#xff1a;开启防火墙。 步骤三&#xff1a;再次查看防火墙状态 一、报错详情 在docker创建redis容器&#xff0c;在进行window访问redis容器端口进行绑定设…

IGKBoard(imx6ull)-ADC编程MQ-2烟雾传感器采样

文章目录1- ADC介绍2- MQ-2烟雾传感器介绍&#xff08;1&#xff09;工作原理&#xff08;2&#xff09;MQ-2应用电路3- MQ-2烟雾传感器硬件连接4- ADC驱动配置5- 编程查看当前浓度1- ADC介绍 ADC是Analog-to-Digital Converter的缩写&#xff0c;指模数转换器。真实世界的模拟…

【C#基础】C# 预处理器指令

序号系列文章8【C#基础】C# 面向对象编程9【C# 基础】C# 异常处理操作10【C#基础】C# 正则表达式文章目录前言1&#xff0c;预处理器指令的概念2&#xff0c;预处理器指令的定义与使用2.1&#xff0c;可为空上下文2.2&#xff0c;定义符号2.3&#xff0c;条件编译2.4&#xff0…

KConfig语言学习(一文全览)

KConfig 语言学习菜单项菜单属性类型定义prompt: 输入提示default: 默认值depends on/requires: 依赖关系select: 反向依赖关系imply: 弱反向依赖关系visible if: 选项可见range: 数据范围help: 帮助信息菜单依赖关系菜单结构关系KConfig语法config: 配置项menuconfig: 配置菜单…

发布依赖到maven仓库

maven中央仓库是一个开放的仓库&#xff0c;所以我们也可以把自己开发的jar推送到远程仓库&#xff0c;这样可以直接引入pom依赖使用我们的库。 准备工作 ● 需要一个github账号&#xff08;程序员必备&#xff09; ● 网络代理&#xff08;涉及到的网站通常没版本在国内直接访…

Computers Graphics(CAG)及Elsevier常见期刊投稿记录

1.期刊地址 Editorial Managerhttps://www.editorialmanager.com/cag/default2.aspx先进行用户注册&#xff0c;登录后进入首页点击Submit New Manuscript开始提交手稿&#xff0c;其他期刊流程相同&#xff0c;CAG所有的投稿注意事项见&#xff1a;Guide for authors - Comp…

数据库连接与properties文件

管理properties数据库&#xff1a; 现在pom文件中加入Druid的坐标&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version></dependency>配置文件中添加相应的数据&…

拒绝B站邀约,从月薪3k到年薪47W,我的经验值得每一个测试人借鉴

有时候&#xff0c;大佬们总是会特立独行。因为像我这样的常人总是想不通&#xff0c;究竟是怎样的情境&#xff0c;连B站这样的大厂面试都可以推掉&#xff1f; 缘起一通电话&#xff0c;踏出了改变人生轨迹的第一步 我是小瑾&#xff0c;今年28岁&#xff0c;2016年毕业于陕…

线程池的基本认识与使用

线程池的基本认识与使用线程池线程池工作原理&#xff1a;优点&#xff1a;传统的创建线程方式线程池创建线程使用线程池 池化思想&#xff1a;线程池、字符串常量池、数据库连接池可以提高资源的利用率 线程池工作原理&#xff1a; 预先创建多个线程对象 放入线程池种&#…

数据库基础-数据库基本概念(1-1)

你好&#xff0c;欢迎来到数据库基础系列专栏&#xff0c;欢迎留言互动哦~ 目录一、数据库基础1. 数据库基本概念1.1 数据库1.2 什么是数据库管理软件1.3 表1.4 行1.5 列和数据类型1.6 主键1.7 什么是 SQL一、数据库基础 1. 数据库基本概念 1.1 数据库 数据库是一个以某种有…

射频调试的习惯

三月开工了&#xff0c;一个月的调试即将开始。其实调试的重心是测试&#xff0c;核心的推动力是做事的习惯和思维。测试很重要&#xff0c;数据不对&#xff0c;能力和时间都浪费了上面了。测试的问题初步解完了&#xff0c;今天吃饭的时候碰到大领导。领导好忙&#xff0c;我…

SQL报错注入(上)

SQL报错注入报错注入概述报错注入的前提条件Xpath型函数&#xff08;需要数据库版本>5.15&#xff09;extractvalue&#xff08;&#xff09;extractvalue&#xff08;&#xff09;实操![在这里插入图片描述](https://img-blog.csdnimg.cn/5c7bfbc6565045d4bb352448c17f0869…

docker搭建redis集群、哨兵

集群搭建 本机IP 192.168.1.149 分别采用映射 192.168.1.149 的6379 6380 6381 三个端口模拟三台服务器。搭建三主无从的集群 首先可以在本机上创建三份redis.conf配置文件,分别命名为redis1.conf, redis2.conf, redis3.conf &#xff0c;我这里放在/opt/redis/conf/中 redis*.…

MyBatis学习笔记(九) —— 自定义映射resultMap

9、自定义映射resultMap 9.1、resultMap处理字段和属性的映射关系 若字段名和实体类中的属性名不一致&#xff0c;则可以通过resultMap设置自定义映射 resultType 是一个具体的类型。 resultMap 是resultMap的标签。 id 是处理主键和属性的映射关系&#xff1b; result 是处…