QiYongchuan / MyGitBlog

个人博客主页,记录计算机学习,前端-后端-全栈学习ing
22 stars 1 forks source link

计算机组成原理期末复习 #20

Open QiYongchuan opened 1 year ago

QiYongchuan commented 1 year ago

复习指导ppt期末复习.pptx

需要复习的点

QiYongchuan commented 1 year ago

第一章计算机主要的技术指标

1.1 与字长有关的指标

image

字:CPU在同一时间内作为整体可以存取、传送、计算的一组二进制数。 字长:“字”的长度,字就是一个二进制的组合,由几位二进制,就是字长有多少位。

例子中所给的: 1000 1100 1010 1101 一共16位,即字长有16位,相当于2个字节

1字节(Byte) = 8bit , 即 1B = 1个字节 ;

1.机器字长,简称字长,CPU一次能处理的二进制数的位数

image

2.存储字长

image

存储单元:由地址码相同的多个存储元构成;可以把存储元类比成酒店的房间,存储单元的内容是储存的数据或指令可以类比成 酒店里的房客。

存储字长:存储单元中所存储的数据或指令的位数即存储字长。 即一个存储单元中二进制代码的位数。

存储单元是CPU对存储器进行读写的基本单位,存储字长≤机器字长

3.指令字长

image

指令字长:一个机器指令中所包含的二进制的位数。 一条机器指令的长度取决于:操作码、操作地址的长度、操作数地址的个数。

! [image] (https:github.com/QiYongchuan/MyGitBlog/assets/105039020/bcb87be2-d18a-4316-8f51-bcaa27ab0f8d)

1.2 与时间和速度相关的指标

2-1 基础指标

! [image] (https:github.com/QiYongchuan/MyGitBlog/assets/105039020/e76c6059-36d6-4d03-8931-4d28ec1910f9)

CPU cycles are machine cycles, instruction cycles contain multiple machine cycles, and machine cycles contain multiple clock cycles.

2-2 Execution time metrics

CPI (Clock Cycle Per Instruction): The number of clock cycles (unit: number, i.e. how many clock cycles) it takes to execute an instruction = > This refers to an instruction

In practice:

Average CPI = Total ➗ CPU clock cycles required to execute a certain program The number of instructions the program contains =》 针对某一程序而言的

程序总的时钟周期数 = 程序所包含指令条数 * 平均CPI

平均CPI 是平均每条指令所包含的时钟周期数

QiYongchuan commented 1 year ago

CPU性能公式应用 1/4

CPU时钟周期:可以理解成计算机中最小的时间单位 CPU主频(时钟频率) = 1 / CPU时钟周期 CPI:执行一条指令所需要的时钟周期数;

IPS:每秒执行的指令条数 IPS = 主频 / 平均CPI

执行一条指令的耗时 = CPI x CPU时钟周期

CPU执行时间(整个程序的耗时) = CPU时钟周期数/ 主频 = 指令条数 x CPI / 主频

QiYongchuan commented 1 year ago

存储程序控制的概念

PC 存放的是下一条指令在内存中的地址。可以按照程序计数器PC的值访问指令寄存器,这一过程称为取值。

以存储程序控制为核心思想的计算机称为冯诺依曼计算机。 “程序控制”用程序实现对计算的控制,完成指令的功能。

指令与数据均以二进制形式存放在存储器中,CPU如何区分他们? 可以从时间和空间上区分。 时间上是先访问指令,在访问数据的; 空间上,指令和数据放置的位置也不同,指令地址来源于程序计数器PC,数据地址来源于地址形成部件或指令的地址码字段

冯诺依曼计算机特点: 1.由运算器、存储器、控制器、输入设备、输出设备五部分组成 2.以运算器为核心 3.内部采用二进制 4.工作方式由控制驱动,指令流驱动

QiYongchuan commented 1 year ago

字位扩展

字x位 字扩展,连—cs,不一定满足所以同时工作

位扩展,一定要满足位同时工作,所有的芯片都连0

QiYongchuan commented 1 year ago

交叉存储与顺序存储的计算题 3/4

image image image image

关键是明白: 1.T与t,T代表一个周期的时间,就是走完一个存储器的时间;t代表总线传输周期,可理解成切换的周期?

  1. 带宽 = 位数 / 时间 在顺序存储中,时间= nT (因为是一个走完之后,再走第二个的) 在交叉存储中,时间= T + (n-1)t (可看交叉存储的图加深理解)

重点题 3/4

image

QiYongchuan commented 1 year ago

微程序设计

image image

(1) ADD R0, R1,即 (R0) + (R1) → (R1)

首先,我们需要将R0和R1的值读出来,因此需要设置RA0RA1 = 00,表示读取R0的值,

设置RA0RA1 = 01,表示读取R1的值。

然后,我们需要将R1的值写回内存,因此需要设置WA0WA1 = 01。

接下来,我们需要将R1的值和R0的值相加,因此需要设置SB-ALU = 1,表示传送SB的值到ALU进行加法运算。最后,我们需要将ALU的运算结果写回R1中,因此需要设置W = 1,表示写命令。

分三步:

  1. R0 到Sa
  2. R1到Sb
  3. 然后 SA+Sb的结果到R1

第一条:读取R0到SA操作

00 ** 10 10 00 00

第二条:读取R1到SB操作

01 ** 10 01 00 00

第三条:执行SA+SB的结果,并将结果写入SA

** 01 01 00 10 01

问题:加法器哪一个是执行加法,哪一个执行减法:左边是加法,右边是减法 image

(2) SUB R2, R3,即 (R3) - (R2) → (R3)

三步:

1.读取R3到SA

2.读取R2到SB

3.执行RA-SB的结果,并写入R3中

第一步:

11**10100000

第二步:

10**10010000

第三步:

**1101000101

(3)MOV R2,R3,即(R2)→(R3)

两步:

1.读取R2到SA

2.执行SA+SB的结果,将结果写入R3

第一步:

10**10100000

第二步:

**1101001011

R3 一直呆在暂存器,相当于R2+0 =》 R 3
R2走了一圈跟0相加,又回来存到R3中(写入R3)

QiYongchuan commented 1 year ago

寻址方式 4/4

image