计算机系统概述——了解冯诺伊曼 && CPI相关公式



冯诺依曼体系

关于冯诺依曼的体系,只要一提到,就想到八个字:

“存储程序”,“程序控制”

将事先编制好的程序(一条一条的指令)和原始数据送入主存储器后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机会自动逐条执行指令,直至程序结束。

工作方式

基本特点

按地址访问并顺序执行指令,本质指令在主存中,就是有专门特定的地址,而访问他们就是需要地址查找。

模型理解 + 执行过程

PC(Program Counter 程序计数器):给出主存中指令的地址
MAR(Memory Address Register 主存储器地址寄存器):存储主存储器相对应的地址
MDR(Memory Data Register 主存数据寄存器):存储从主存储器取出的数据(既可以是”指令“也可以是”数据“)
IR(Instruction Register 指令寄存器):将MDR中的指令(一定是指令,而不是数据)送给控制器

执行顺序:

  1. 将指令和数据读入到内存
  2. 将PC的值送入MAR
  3. 主存根据MAR的值送出指令到MDR
  4. 将MDR中的指令送给IR
  5. 控制器根据IR中的指令产生相应的控制信号

值得注意的是:MDR里面不仅可以从主存读到指令也可以读到数据
若是指令那就交给IR
若是数据则就交给上面的各类寄存器


软件&&硬件

硬件实现的往往是最基本的算术和逻辑运算功能,而其他功能大多通过软件的扩充得以实现。对某一功能来说,其既可以由硬件实现,又可以由软件实现,从用户的角度来看,它们在功能上是等价的。这一等价性被称为软/硬件逻辑功能的等价性。例如,浮点数运算既可以用专门的浮点运算器硬件实现,又可以通过一段子程序实现,这两种方法在功能上完全等价,不同的只是执行时间的长短而已,显然硬件实现的性能要优于软件实现的性能。

编译程序&&解释程序

本质就是将 高级语言给 整成 机器语言,计算机只读的懂机器语言!!!!

  1. 汇编程序(汇编器):将汇编语言程序翻译成机器语言程序。
  2. 解释程序(解释器):将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行。
  3. 编译程序(编译器):将高级语言程序翻译成汇编语言或机器语言程序。

“解释程序“主要是按照你写的CPP代码的顺序,一条一条的进行解释,翻译成机器指令。

“编译程序”则是直接将一大片CPP代码编译成汇编语言,随后再进行链接形成可执行文件,最终能够翻译成机器指令

所以“编译程序”的速度会很,而“解释程序”的速度就一些

计算机的性能指标

字长的理解

  • 机器字长(或者直接叫“字长”):CPU内部数据通路的宽度,等于CPU内部总线的宽度,运算器的位数,通用寄存器的宽度等。
  • 指令字长:一条机器指令的位数
  • 存储字长:一个存储单元的位数

🧠简单类比一下:

  • MAR:你告诉快递员送到哪个地址
  • MDR:你给快递员要送的那个包裹

在前面介绍的两个寄存器MAR和MDR,他们存储的内容也都不一样。
MAR的作用是用来存放即将访问(读或写)的主存单元地址,而MAR的位数则影响着主存的存储单元的个数。
比如若是MAR是有n位,那么最多可以访问$ 2^n $个主存单元。

MDR的作用是放从主存中读出来的数据,或者准备写入主存的数据,
MDR 的位数 = 每个主存单元的数据宽度。
简单来说,就是存储单元里面的空间大小


关于运行速度(CPI && MIPS)

CPU时钟周期

CPU工作的最小时间单位,简单点来说,就是在这个时钟周期内CPU可以做一个小工作,完成一个小任务。

CPU主频

当年在网上买电脑或者手机,商品界面显示的什么2.4GHZ这种,本质就是主频。

CPU主频:CPU内数字脉冲信号的频率(典型书本定义,说人话就是“心跳速度”——数字越大,干活越快)

$ CPU主频 = 1 \div CPU始终周期 $

CPI的理解

CPI(Cycle Per Instruction):执行一条指令所需的时钟周期

记英文仿佛更好。

  • 对于不同的指令,CPI可能会不同
  • 就算相同的指令,CPI可能也不同

衍生公式:

C P U 执行时间 = C P U 时钟周期数 × 时钟周期 = ( 指令数 × C P I ) × 时钟周期 CPU执行时间 = CPU时钟周期数\times时钟周期=(指令数\times CPI)\times 时钟周期 CPU执行时间=CPU时钟周期数×时钟周期=(指令数×CPI)×时钟周期

通过上面的公式,我们可以知道,其实CPU执行的速度,是由以下3点决定的

1、指令数量

2、CPI大小

3、时钟周期数

上面的公式不是很好记,但其实本质只需要记住下面的公式就好👇

执行一条指令的耗时  =   C P I   ×   C P U 时钟周期 执行一条指令的耗时 \ = \ CPI \ \times \ CPU时钟周期 执行一条指令的耗时 = CPI × CPU时钟周期


MIPS的理解

MIPS(Million instructions per second):每秒执行多少百万条指令。

M I P S = 主频  ÷   ( 平均 C P I   ×   1 0 6 ) MIPS=主频\ \div \ (平均CPI \ \times \ 10^6) MIPS=主频 ÷ (平均CPI × 106)

仅仅记住这两个公式就好,但其实还是注重理解。

下面做几道题:


应用CPI && MIPS

相关的计算流程请参考b站王道的视频:

组成原理1.3选择16-20_哔哩哔哩_bilibili第20题

组成原理1.3选择21-25_哔哩哔哩_bilibili第21题

基本单位换算 HZ、S

赫兹(HZ)的换算:

  • 1 MHz = 1,000,000 Hz (1×10⁶ Hz)
  • 1 GHz = 1,000,000,000 Hz (1×10⁹ Hz)

秒(S)的换算:

  • 1 秒 (s) = 1,000 毫秒 (ms) = 1×10³ ms
  • 1 秒 (s) = 1,000,000 微秒 (μs) = 1×10⁶ μs
  • 1 秒 (s) = 1,000,000,000 纳秒 (ns) = 1×10⁹ ns
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无双@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值