考研408计算机组成原理----第一章 计算机系统概述

一、早期 与 现代 计算机结构

1. 计算机的发展 

第一代:以 电子管 为主要器件; 第二代:以 晶体管 为主要器件;

第三代:以 集成电路 为主要器件;第四代:以 超大规模集成电路 为主要器件;

2. 什么是计算机系统

计算机系统:由 硬件系统(主机和外部设备)软件系统 组成的、能按照程序对数

据进行处理和存储的完整集合 ----->> 现代计算机由 软件硬件 两部分组成

3. “存储程序” 思想

冯 · 诺伊曼 提出 “存储程序”思想,依次概念为基础制造的各类计算机 统称为 冯 · 诺伊曼机

“存储程序”:将指令以二进制代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束

解析:

主存储器:内存(RAM),而非硬盘(外存)。内存的读写速度极快,硬盘的读写速度慢,CPU执行指令时,需要“即使读取指令和数据”,若从速度慢的硬盘读取,会严重拖慢效率,因此必须先将程序“加载到内存”

4. 冯诺依曼机

输入设备:将信息转换成机器能识别的形式

存储器:存放数据和程序

控制器:指挥程序运行

运算器:算数运算、逻辑预算

冯诺依曼计算机特点:

采用“存储程序”的工作方式(会提前将 数据和指令 存储到存储器中)

计算机由五大部件组成(输入设备、输出设备、控制器、运算器、存储器)(输入设备、输出设备 统称为 I/O设备 )(I:input ; O:output)

指令和数据 用二进制代码表示 并且 以同等地位 存于存储器,可按地址寻访

指令操作码地址码 组成(操作码需指明操作类型,如加减乘除)

以运算器为中心(输入设备/输出设备 与 存储器 之间的数据传送 通过运算器完成)

(但这样实际上会导致运算效率降低)(多了传输数据的任务)

5. 现代计算机结构

现代计算机:以存储器为中心

在大规模集成电路制作工艺出现后,运算器和控制器被统一整合到了一个芯片上,这个芯片 叫做 CPU,下图为由此简化的图像为:

6. 硬件归类


二、硬件工作原理

1. 主存储器(Main Memory)

存储器 分为 主存储器(也称为 内存储器 或 主存)和 辅助存储器(也称为 外存储器 或 外存)

CPU 能直接访问的存储器是 主存储器,辅助存储器中的信息必须调入主存储器后,才能为 CPU 访问

存储体一系列的存储元件构成

MAR的本质:地址的“临时中转站”

存放 访存地址,经过 地址译码 后找到所选的存储单元,属于 存储系统 与 CPU 之间的地址接口

--------------------MAR与“地址译码”的配合:如何精准找到目标存储单元?

第一步:CU 发出地址传输指令,将地址送入MAR:CU 对指令译码后,明确需要访问的主存地址( 如 “读取内存中地址为 0x4567 的数据” ),发出控制信号(将目标地址(0x4567)通过内部总线(地址总线)传输到 MAR ),MAR 会 临时锁存这个地址(防止地址信号丢失或被干扰)(CPU内部总线速度极快,地址信号是瞬时的,MAR会通过触发器电路稳定保存地址,避免其在传递过程中丢失或出错)

第二步:MAR 输出地址信号到译码器:MAR 将锁存的地址(以二进制电信号形式,有多少位地址 对应 多少位电信号,比如 16 位地址对应 16 路电信号),通过 主存内部的“地址总线” (连接MAR与地址译码器间的专用线路)传递给 寄存器(如 DRAM、SRAM)内部的 地址译码器(Address Decoder)(存在于主存储器中,不在存储体内)(此处的二进制电信号,即 高电平表示的1 和1低电平表示的 0;这些电信号的高低电平组合可以表示为0000000000000000 到 1111111111111111 之间的某个二进制地址)

第三步:地址译码器“翻译”地址,定位单元:地址译码器的核心功能是 “将二进制地址信号 '翻译' 为唯一的单元选择信号”

总结:地址的传递路程: CPU 内 MAR 传地址 -> 地址总线 -> 主存芯片 -> 地址译码器解析 -> 定位到具体目标单元,并激活内存单元,使其进入可读写状态

MDR的核心作用:暂存 CPU 与 存储体 之间交互的“数据/指令”

--MDR 只与 主存储体 直接交互

计算机的存储系统分为多个层级,不同层级的存储与CPU的交互方式完全不同,而MDR是CPU 内部专门为 主存储器 设计的接口寄存器,仅负责与主内存的数据传递

--从硬件架构定义看:MDR存在于CPU内部

主存储器是独立于CPU的外部硬件,本身不包含 MDR。MDR 本质上是 CPU 内部的寄存器,而非主存储器的一部分。MDR 是 CPU 上 对接主存的 “数据接口”

--从功能逻辑看:MDR的“暂存数据”是为了匹配 CPU 与主存的速度差

CPU的运算速度 远快于 主存的运算速度,若CPU直接与主存交互数据,会因 主存“反应慢”导致 CPU 频繁等待 (即 “内存墙”问题)

--------------------数据从内存单元输出到 MDR ——“把目标数据送到中转站”

第一步:目标单元激活并输出数据:被选通信号激活的内存单元,其内部由晶体管构成的 “数据输出门电路” 会被打开 —— 若单元是 DRAM(用电容存储数据),会先通过 “刷新电路” 将电容中的电荷信号转化为电平信号;若单元是 SRAM(用触发器存储数据),则直接输出触发器的电平状态。最终,单元内存储的二进制数据(如 8 位、16 位)会转化为对应的并行电平信号(每一位数据对应一路电平),进入主存内部的 “数据总线”(连接 存储体 与 MDR 的专用线路)

第二步:数据沿内部总线传输到 MDR :由于 内部数据总线的宽度与 MDR 的宽度一致(比如都是 32 位),数据会以“并行传输”的方式(所有位同时传输),在一个时钟周期内快速达到 MDR 的“数据输入端”

第三步:MDR 锁存数据:当数据信号到达 MDR 后,MDR 会在时钟信号的同步下(确保与 CPU 的操作节奏一致),通过内部的 “锁存电路” 将数据稳定保存。此时 MDR 的作用是 “数据中转站”:因为存储体内部总线的信号是“瞬时的”(选通信号消失后,单元就不再输出数据),若不锁存,数据会丢失;而 MDR 锁存后,数据一直保持到 CPU 读取,避免传输中断


存储单元(Memory Unit):每个存储单元存放一串二进制代码

每个存储单元对应一个地址信息,地址从0开始

此地址会暂存于 MAR 中

MAR位数 决定 存储单元的总数(每个唯一地址对应 1 个存储单元)(每1位地址可表示为 2 种状态(0或1) )(反映 最多 可寻址的存储单元个数)

Ex:MAR = 4位 ---->> 最多总共有 2^4 = 16个 存储单元

MDR位数 = 存储单元中二进制代码的位数

Ex:MDR = 16位 ---->> 每个存储单元可存放16bit,一个字(word) = 16bit

存储字(word):存储单元可存储一串二进制代码,称这串代码为 存储字(存储器一次能独立

                         存取的最小数据块)(是存储器硬件层面定义的“最小独立存取单 位”)(指

                         存储器一次能完整读出、写入的一组二进制数据,由若干bit组成)

存储字长:一个存储字所包含的二进制位数(通常每个存储单元可以存储的二进制位数都

                 是8bit的整数倍)

若存储字长为16bit,则一个存储字 = 16个二进制位(如1011001011100011)

存储元件(Memory Cell):存储二进制的电子元件,每个存储元可以存储 1 个二进制代码

                                               (1bit),即 0 或 1

存储元 是存储数据的 最小物理单位,存储单元 是存储器进行独立存取操作的最小逻辑单位,一个存储单元包含多个存储元,存储单元包含的存储元数量 =  存储字长(bit)

注:1B=1个字节,1b = 1bit

--------MAR 与 MDR 的配合:完整的“访存流程“(以"读操作"为例)

第一步:CPU 将目标地址送入 MAR -->> MAR 传地址给译码器 -->> 译码器定位目标

内存单元(内存单元在存储体内部)

第二步:被定位的内存单元将内部存储的数据输出到 MDR

第三步:CPU 从 MDR 中读取操作,完成“读操作”

2. 运算器

运算器:用于实现算数运算(如,加减乘除)、逻辑运算(如,与或非)

运算器 包含 若干通用寄存器,用于暂存 操作数 和 中间结果,其中 ACC、MQ、X 是必备的

ACC(accumulator):累加器,用于存放操作数,或运算结果(此处的操作数指的是                                         10+20 中的 10 和 20)

MQ(Multiple-Quotient Register):乘商寄存器,在 乘、除运算 中,用于存放操作数 或

                                                              运算结果

X:操作数寄存器,用于存放操作数

ALU(Arithmetic and Logic Unit):算数逻辑单元(运算器的核心),通过内部复杂的电

                                                              路实现算数运算、逻辑运算

PSW:程序状态寄存器(也称 标志寄存器):用于 存放 ALU 运算得到的一些标志信息或处

                                                                          理机的状态信息(如:结果是否溢出)

-------------------------数据是如何从主存通过 MDR 传送到 CPU 的 ACC 中

第一步:控制单元发出读数据指令:CU 对从 主存中取出并暂存于 IR 中的指令进行译码(使用的是 CU中的指令译码器(Instruction Decoder) ,指令译码器 是 CU的关键组成部分,主要作用 把计算机硬件能识别的二进制指令代码,“翻译”成计算机各部件能理解并执行的控制信号。ID 将 指令 拆分为 操作码(Opcode) 和 地址码(Address Field),得知当前指令是要将特定地址的数据取到 ACC 中,于是,CU 会发出一系列控制信号,其中包含读数据的控制信号,这个信号被发送到主存相关的控制电路,通知主存准备输出数据

第二步:主存准备数据输出:主存在接到控制信号后,根据 MAR 中存储的地址找到对应存储单元,然后将该单元中的数据进行读取操作

第三步:数据传输到 MDR:主存将准备好的数据通过内部的数据传输线路传送到 MDR,MDR 作为主存与 CPU 间的缓冲寄存器,会接受并暂存这个数据

第四步:CU 发出数据传输控制信号

CU 在确认 MDR 已成功收到主存数据后,会向 CPU 内部的数据传输路径发送控制信号,指定 数据传输的源(MDR)和 目的地(ACC)

第五步:数据经过内部总线传入ACC

在控制信号的作用下,MDR 中暂存的数据通过 CPU 内部的数据总线 被传输到 ACC

运算器有存储结果的功能吗

运算器本身不具备长期存储结果的功能,但其内部的寄存器(如累加器ACC)可以临时存储运算过程中的数据和结果

存放不同类别操作数的情况

上图体现了早期计算机(如定点运算架构)中运算器的高效设计,通寄存器的功能化差异,确保四则运算有序执行

3. 控制器

控制器 是计算机的指挥中心,由其“指挥”各部件自动协调地工作

CU(Control Unit):控制单元,分析指令,给出控制信号(控制器最核心部件)

在计算机中,所有指令的运行(包括 取指令、分析指令、执行指令的全流程),其控制信号均由 CU 发出

IR(Instruction Register):指令寄存器,用于存放当前的指令。若不通过 IR 暂存,当执行阶段需要 MDR 传输操作数时,MDR 中的指令会被覆盖,导致 CU 无法继续解读指令,引发流程混乱

PC(Program Counter):程序计数器,用来 存放当前欲执行的指令地址,有自动加1

功能(看下文)

---------------------------------计算机执行一条指令的完整流程

第一步:取指令(PC->MAR->M->MDR->IR):PC 存储着下一条要执行指令的地址,计算机工作时,首先会根据这个地址从内存(RAM)中读取指令。读取指令后,PC 会自动“更新”(通常是地址 +1,因为指令在内存中一般是 按顺序存储的)为取出下一条指令做准备

第二步:分析指令( OP(IR) -> CU):当指令被取出后,会先送入 IR 暂存。随后,计算机会对 IR 中的指令进行拆分以及发送,在此阶段,IR 会讲 地址码送到 CU

第三步:执行指令(Ad(IR) -> MAR -> M -> MDR -> ACC ):CU 根据分析好的指令内容,生成一系列精确的控制信号,这些控制信号会被发送到计算机的各个部件(如运算器、存储器、输入输出设备等),指挥它们协同工作,最终完成指令规定的操作(如:让运算器做加减法运算)

4. 输入设备、输出设备

最常用、最基本的 输入设备 是 键盘,此外还有 鼠标、扫描仪、摄像机等

最常用、最基本的 输出设备 是 显示器、打印机

输入设备:光笔(通过光线向计算机输入指令、绘制图形)

输出设备:打印机(把计算机中的文档、图形等打印到纸张上)、磁带机(将计算机中的数据存储到磁带上)、绘图仪(把计算机中的图形数据绘制到图纸上)

三、计算机软件

计算机软件分为:系统软件应用软件

编译程序:将 高级语言 编写的源程序的全部语句 一次性全部翻译为 机器语言程序,而后

再执行 机器语言程序(只需要翻译一次)(如:C、C++)

解释程序:将 源程序的一条语句 翻译成对应的 机器语言语句,并立即执行。紧接着再翻

译下一句(每次执行都要翻译)(如:JS、Python、Shell)

ISA(Instruction Set Architecture):指令集体系结构:软件和硬件之间的界面。设计 计

                                                                算机系统的 ISA,就是要定义一台计算机可以支持

                                                                哪些指令、以及每条指令的作用是什么、每条指令

                                                                的用法是什么。(就是要清晰的定义 软件 和 硬件

                                                                之间的界限)

软/硬件在逻辑功能上是等价性:对某一功能来说,若既可以用软件实现,也可以用硬件实

                                                    现:对于特定逻辑功能(如 数据运算、信号处理、逻辑判

                                                    断等),软件(通过代码指令驱动通用处理器执行)和 硬

                                                    件(通过专用电路 或 可编程逻辑器件直接实现)可以达到

                                                    相同的功能目标,二者在逻辑层面具备等效性

因此,我们可以用 两种方式(软件和硬件) 来实现 同样的逻辑功能,而其所带来的性能以及成本的高低都各有利弊

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

1. 计算系统的层次结构

如(2)中的 5 ,在执行 取a至ACC的过程中执行的几条指令,就是 微指令

计算机系统的层次之间的依存关系:下层是实现上层的基础,上层实现对下层的功能扩展

2. 总线结构

总线(Bus):一组能为多个部件服务的公共信息传送线路,它能 分时地 发送与接收各部件

                         的信息

系统总线 按照传送信息的不同 可分为:地址总线、数据总线、控制总线

地址总线(Address Bus):由 单方向的 多根信号线 组成,用于 CPU 向主存、外设传

                                                输地址信息

数据总线(Data Bus):由 双向的 多根信号线 组成,CPU 可以沿着 这些线 从主存或外

                                        设 读入数据,也可以沿着这些线向 主存或外设 送出数据

控制总线(Control Bus):传输的是控制信息,包括 CPU 送出的 控制命令 和 主存(或

                                              外设)返回 CPU 的反馈信号

3. 中、大型计算机的典型结构

中、大型计算机系统的 设计目标 更着重于 系统功能的扩大 与 效率的提高

在系统连接上分为四级:主机、通道、设备控制器、外部设备

五、计算机的性能指标

1. 存储器的性能指标

总容量   =   存储单元个数  x  存储字长 bit

             =   存储单元个数  x  存储字长 / 8 Byte

Ex:MAR 为 32位,MDR 为 8位

总容量 = 2^32 * 8 = 4 GB // 有 2^32个地址,对应有 2^32个存储单元

Ex:主存储器容量 为 64K x 32 位

64K : 表示存储单元的数量,1K = 2^10 = 1024,64K = 65536 个 存储单元

32位: 表示每个存储单元可以存储的数据位数,即每个单元能存 32 个 二进制位

总容量(单位通常为 字节)= 65536*32/8 = 262144 Byte = 256 KB(1KB = 1024Byte = 2^10 Byte)

2. CPU 的性能指标

CPU 主频:CPU 内 数字脉冲信号 振荡的频率( 单位:赫兹(Hz) )(直观理解:每秒有多

                   少个时钟周期)

如图所示:

图中的每一个 波峰 都是一个 数字脉冲信号

CPU 的 数字脉冲信号 是 有规律的、有节奏的

Ex:主频 = 10 Hz,每秒有 10 个脉冲信号

CPU 时钟周期:每一个脉冲信号的时间(如上图所示)(CPU 工作的最小时间单位)

时钟脉冲信号 由 机器脉冲源 发出的 脉冲信号 经 整形 和 分频 后形成的

上图所示的,2.9GHz 和 3,.7GHz 就是 CPU 的主频


CPI(Clock cycle Per Instruction):(平均)执行一条指令所需的时钟周期数

不同的指令,CPI 不同;甚至相同的指令,CPI 也有可能有变化

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

运行时间 = 总指令数 x 平均 CPI x 时钟周期

IPS(Instructions Per Second):每秒执行多少条指令

IPS = 主频 / 平均 CPI

上述公式解析: 主频:每秒有多少个数字脉冲,即 会出现多少个时钟周期


FLOPS(Floating-point Operations Per Second):每秒执行多少次浮点运算

在使用时,经常会在其前面加上数量单位

补充上图: P = 10^15 E = 10^18(每秒执行多少百京,1京 = 10^16 = 1亿亿) Z = 10^21

--------- 注意:此处单位的换算 与 数据量单位 不同

Ex:在表示 CPU 的主频时,3.6GHz,此处的 G = 10^9

问题1:主频高的 CPU 一定比主频低的CPU快吗?

不一定,如两个 CPU,A 的主频为2GHz,平均 CPI = 10;B 的主频为 1GHz,平均 CPI = 1。则 A 的 IPS = 2/10 = 0.2G , B 的 IPS = 1/1 = 1G ---->>> B快

问题2:基于上个问题,若 A、B 两个 CPU 的 平均CPI 相同,那么 A一定更快吗?

不一定,还要看 指令系统,若 A 不支持乘法指令,只能用多次加法实现乘法;而 B 支持乘法指令

3. 系统整体的性能指标

机器字长(字长):计算机进行一次整数运算(定点整数运算)所能处理的二进制数据的位

                                数(指 数据通路宽度)(数据通路:CPU 内部数据流经的路径以及路径

                                上的部件,主要是 CPU内部进行数据运算、存储和传送的部件,这些部

                                件的宽度基本上要一致,才能互相匹配,因此,字长 = CPU内部总线的

                                宽度、运算器的位数、通用寄存器的宽度等)(决定了数据的 表示范围

                                和 表示精读)字长通常选定为 1字节(8位)的整数倍

字长 = 通用寄存器的位数 或 ALU的宽度

字长越长,数的表示范围越大,计算精度越高

Ex:32位 机器的 CPU 一次可处理 32位 二进制数据

数据通路带宽:数据总线一次所能并行传送信息的二进制位数(各硬件部件通过 数据总线

                         输数据,如:CPU 与 主存储器之间、主存储器与 I/O设备之间)

数据通路:各个子系统通过数据总线连接形成的数据传送路径

Ex:假设数据通路带宽为 8bit ,若要从 主存储体 向 CPU 传输16 bit 的数据,则 需要进行两次数据传输

由此可见,数据通路带宽,会直接影响 各个硬件部件之间的数据传输效率

吞吐量:系统在 单位时间内 处理请求的数量(系统吞吐量 主要取决于 主存的存取周期)

             (是评价计算机系统性能的综合参数)

响应时间:从用户向计算机发送一个请求,到系统对该请求做出响应并获它所需要的结果

                  的等待时间

基准程序(Benchmarks)(跑分软件):用来测量计算机处理速度的一种实用程序,以便

                                                                    于被测量的计算机性能 可以与 运行相同程序的

                                                                    其他计算机的性能 进行比较

基准程序执行的越快,说明机器性能越好吗?

基准程序中的语句存在频度差异,运行结果也不能完全说明问题

六、常见习题

1. 论述题

计算机中的存储系统是指 主存和辅存

高级语言 比 低级语言(汇编语言)执行速度慢

计算机系统的层次之间的依存关系:下层是实现上层的基础,上层实现对下层的功能扩展

个人计算机不是小型机,属于 微型计算机

计算机的执行速度 可以用 “每秒执行的指令数”来衡量

系统软件 是指 控制和协调计算机及外部设备,支持应用软件开发和运行的系统(Ex:操作系统),数据库不属于操作系统,但管理数据库的“数据库管理系统(DBMS)”属于系统软件

用户与计算机通信的界面是 外部设备

固件:将软件固化在只读存储器(ROM)等硬件设备中的软件

编辑程序(编写源程序)-->> 编译程序/解释程序(翻译源程序)-->> 目标程序(可直接被计算机硬件执行)

在题目中,ALU 可以认为说的是 运算器,CU 可以认为说的是 控制器

光笔 不属于输出设备

在计算机中 用助记符编写的语言 是:汇编语言

80286 是个人计算机中的 CPU 器件

磁盘驱动器 具有输入、输出功能

计算机与日常使用的袖珍计算机的本质区别:自动化程度的高低

冯诺依曼机的基本工作方式:控制流驱动方式

存放欲执行指令的寄存器:IR

在 CPU 中跟踪指令后继地址的寄存器是 PC(指出下一条要执行的指令在内存中的地址)

冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中, CPU区别它们的依据是:指令周期的不同阶段(在取值周期,CPU从存储器中取出的是 指令;在执行周期,CPU从存储器中取出的是 数据)

指令流的方向 通常是:从主存流向控制器(指令存储在主存中)

MAR位数 : 地址码长度;MDR位数:存储字长

主存 是程序运行时的存储位置,包括所需要的数据

PC 自动加1 是在 取指令的过程中

系列机:具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。

基本特性:指令系统向后兼容(时间上向后兼容,即新机器兼容使用以前机器的指令系统)

相联存储器:既可以按地址寻址,又可以按内容(通常是某些字段)寻址,为区别于传统存储器,又名为 按内容寻址的寄存器

硬件能执行的只能是机器语言

将高级语言源程序 转换为 机器级目标代码文件的程序 : 编译程序

计算机操作的最小时间单位:时钟周期

到目前为止,计算机中所有的信息仍以二进制方式表示的理由是:由物理器件的性能决定

若一台计算机的机器字长为4字节,表明该机器在 CPU 中,能够作为一个整体处理32位的二进制代码

计算机系统中存储数据的基本单位:字节,计算机中的最小信息单位 :比特

存储字:存放在一个存储单元中的二进制代码组合

在 CPU 的寄存器中,指令寄存器 对用户完全透明(汇编程序员可以通过 JMP 指令来设置 PC 的值)

CPU 中的 CPI 与 系统结构、指令集、计算机组织 有关,与 时钟频率 无关(时钟频率不会影响 CPI,但可加快指令的执行速度)

当前设计高性能计算机的重要技术途径:采用并行处理技术

兼容:指软件或硬件的通用型:即 运行在某个型号的计算机系统中的硬/软件,也能应用

于另一个型号的计算机系统

可用于评价计算机系统性能的指标是:MIPS、IPC(每个时钟周期运行多少条指令)、CPI、字长 等

计算机组成:如何实现计算机体系结构所体现的属性,它包含许多对程序员来说透明的硬件细节(例如:指令系统属于计算机体系结构的问题,但指令的实现即如何取指令、分析指令、取操作数、如何运算等都属于计算机组成的问题)

2. 计算题

若一个8位的计算机系统以16位来表示地址,则该计算机系统有多少个地址空间?

解析:

8位计算机:计算机的字长为8位,即一次可以处理8位的数据

以16位来表示地址:16位表示地址码的长度,因此该机器有 2^16 = 65536 个地址空

间(地址空间的位数仅由地址码的位数决定)

假定 某基准程序A 在某计算机上的运行时间为 100秒,其中 90秒为 CPU时间,其余为I/O 时间。若 CPU速度提高50%,I/O速度不变,则运行基准程序A 所耗费的时间是多少?

解析:

CPU 速度提高50%,意味着 新CPU处理能力是原来的 1.5倍,CPU时间与速度成反比

新CPU时间 = 原始CPU时间 / 1.5 = 90 / 1.5 = 60s

总时间 = 60 + 10 = 70s

假定计算机 M1 和 M2 具有 相同的质量集体系结构(ISA),主频分别为1.5GHz 和1.2GHz,在 M1 和 M2 上 运行 某基准程序P,平均CPI 分别为 2 和 1,则程序P在M1 和 M2 上运行的时间比值 

解析:

运行时间 = 总指令数 x 平均 CPI x 时钟周期

比值 = ( (1/1.5) *2) / ( (1/1.2) *1) = 1.6s

解析:

此图 第二行:平均执行 1 条 A 指令,需要花费 1 个时钟周期

此图 第三行:平均执行 1 条 B 指令,需要花费 2 个时钟周期

序列一的执行时间:1*1+1*2+3*4 = 15 个时钟周期 15*2 = 30 ns

序列二的执行时间:2*1+1*2+2*3 = 10 个时钟周期 10*2 = 20 ns

序列一的执行时间比序列二 多了 10ns,序列二的执行速度比序列一 快了 10ns 。

MIPS(每秒执行的指令数) = 指令数总和 / (执行时间*10^6)

序列一: 指令数总和为 6 条

MIPS = 6 / ( 30 * (10^(-9)) * 10^6 ) = 200

序列二:指令数总和为 5 条

MIPS = 5 / ( 20 * (10^(-9)) * 10^6 ) = 250

序列二的 MIPS 比 序列一 多 50 ----------------------->>>> 选 D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值