【计算机组成原理 - 第一章】计算机系统概论(完结)
创始人
2025-05-28 08:55:19

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

【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}        P=2^{50}

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

7、核数——处理器个数(核心数:八核)

描述频率、速度时: 

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实际运算速度较低的现象

相关内容

热门资讯

【Java闭关修炼】Sprin... # 配置Mysql与注册登录模块应用服务模型IDEA 连接数据库点击IDEA右侧的database ...
Oracle 常见报错问题汇总 Oracle 常见报错问题汇总 报错:ORA-01017: invalid username/pas...
计算不规则区域的周长和面积——... 1.题目描述 设计求不规则区域周长和面积计算的算法。 测试数据的获得: 输入样例&#x...
STM32之IIC IIC协议IIC全称Inter-Integrated Circuit (集成电路总线),...
Vue3 使用MD5加密(清晰... 概述 最近在想做个cloud项目,gitee上找了个模板项目,前端使用到vue3 &#...
使用Idea编译Nacos源码... 其实nacos下载下来启动就可以了,但是为了方便一些,而且Nacos在GitHub上下载是真的慢,可...
【abp Vnext】下载并运... 软件环境:电脑需要基础软件环境node.js、npm,这些网上教程很多&...
一文了解|氢燃料电池行业痛点问... 早在1839年的英国,一位名叫威廉格罗夫的科学家,就已发明了一款通过氢气...
华秋工艺分享:第八道主流程之丝... 如图,第八道主流程为 文字 。 文字的目的:文字又名字符。是线路板上白色...
Redis10大数据类型 Redis10大数据类型Redis键(key)一、Redis字符串&#x...
MySQL变量的使用 文章目录1、系统变量1.1 查看系统变量1.2 设置系统变量2、用户变量2.1 定义用户变量2.2 ...
IntelliJ IDEA创建... 目录 ——————————————————————————————— 一、创建Java项目 1、创建...
Qt学习_08_用独立的文件存... 0 前言 上一篇笔记对样式表进行了初步学习,QT学习_07_样式表的初步学习_江湖上都...
小黑子—多媒体技术与运用基础知... 多媒体技术与运用1.0多媒体系列第一章1. 计算机媒体概述1.1 媒体的分类1.2 小结2. 多媒体...
自主移动机器人AMR控制器设计... 近年来,随着社会和技术发展,自主移动已经成为了仓储物流[1]、无人驾驶[...
Java Web应用开发——第... 第二章:JSP基本语法测验 一.单项选择题(共15题,49.5分...
代码自动生成工具实战-Curs... 文章目录Cursor code generate介绍Cursor 代码生成实战prompt1prom...
普通Java工程师 VS 优秀... 1 核心能力 1.1 要成为一名优秀的Java架构师 只懂技术还远远不够,懂技术/懂业...
【爬虫】一、前置知识 一、Web请求过程解析 1.服务器渲染:在服务器端把数据和html整合在一起ÿ...
文心一言话题的思考 ⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。...
react-native an... 1. 配置环境 必须安装的依赖有:Node、JDK 和 Android Studio。...
若依分离版选择弹窗数据回读 最近学习若依框架过程中想要实现点击按钮显示弹窗,在弹窗选择信息后回读到父组件中显示&#...
板边器件距离不够,导致元器件无... 电子元器件在PCB板上的 合理布局 ,是减少焊接缺点的极重要一环!元器件...
sdbusplus:通过con... sdbusplus:通过new_method_call同步调用service的meth...
骷髅病毒分析 一、病毒信息病毒名称:骷髅病毒文件名称:d5dac2456fa67584...
使用CRT调式库调式运行时堆 #include#include#define CRTDBG_MAP_ALLOC#include #...
Hive的UDF实现两种简单方... Hive的UDF实现两种简单方法+通过编译源码添加UDF 一、实现简单的say_hello ...
211本科生就业难,绝不是个例... 曾几何时,我们在高中时期日以继夜地努力学习,只为在高考中获得更高的分数&...
Java【多线程基础2】 Th... 文章目录前言一、Thread类1, 构造方法2, 常用成员属性3, 常用成员方法3.1, start...
MySQL分区 一张表的数据在物理层面都是存放在一起的。随着业务增长,当一张表的数据量过大时ÿ...