计算机组成原理知识点汇总(考研用)——第一章:计算机系统概述

计算机组成原理 专栏收录该内容
15 篇文章 12 订阅

计算机组成原理知识点汇总(考研用)——第一章:计算机系统概述

 本文参考于《2021年计算机组成原理考研复习指导》(王道考研),《计算机组成原理》

思维导图:
在这里插入图片描述

  计算机组成和计算机体系结构的区别:计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、数据类型、存储器寻址技术等,大都属于抽象的属性
  计算机组成是指如何实现计算机体系结构所体现的属性,它包含许多对程序员来说透明的硬件细节。例如,指令系统属于结构的问题,但指令的实现即如何取指令、分析指令、取操作数、如何运算等都属于组成的问题。因此,当两台机器指令系统相同时,只能认为它们具有相同的结构,至于这两台机器如何实现其指令,完全可以不同,即可认为它们的组成方式是不同的。例如,一台机器是否具备乘法指令是一个结构的问题,但实现乘法指令采用什么方式则是一个组成的问题。许多厂商提供一系列体系结构相同的计算机,但它们的组成却有相当大的区别。
  计算机组成原理的内容包括:基本部件的结构和组织方式、基本运算的操作原理、基本部件和单元的设计思想等

1.计算机系统概述

1.1 计算机发展历程(此部分大纲已删除)

 1.1.1 计算机硬件的发展

  1.计算机的四代变化

  从1946年世界上第一台电子数字计算机ENIAC问世以来,计算机的发展已经经历4代:

  • (1)第一代计算机——电子管时代。特点:逻辑元件采用电子管,使用机器语言进行编程
  • (2)第二代计算机——晶体管时代。特点:逻辑元件采用晶体管,软件开始使用高级语言,有了OS的雏形
  • (3)第三代计算机——中小规模集成电路时代。特点:逻辑元件采用中小规模集成电路,半导体存储器取代磁心存储器,开始有了分时操作系统
  • (4)第四代计算机——超大规模集成电路时代。特点:逻辑元件采用大规模集成电路和超大规模集成电路,产生了微处理器

每一代的划分依据是逻辑元件的不同


  2.计算机元件的更新换代

  摩尔定律:集成电路上可容纳的晶体管数目,每隔18个月便增加一倍(每三年翻两番)

 1.1.2 计算机软件的发展

  计算机语言的发展:机器语言、汇编语言(面向机器)——>高级语言(面向问题)

 1.1.3 计算机的分类与发展方向

  电子计算机可分为电子模拟计算机和电子数字计算机
  数字计算机又可按用途分为专用计算机和通用计算机,通用计算机又分为巨型机、大型机、中型机、小型机、微型机、单片机
在这里插入图片描述
  计算机按指令和数据流可分为:

  • (1)单指令流和单数据流系统(SISD),即传统冯诺依曼体系结构
  • (2)单指令流和多数据流系统(SIMD),包括阵列处理器和向量处理器系统
  • (3)多指令流和单数据流系统(MISD),这种计算机实际上不存在
  • (4)多指令流和多数据流系统(MIMD),包括多处理器和多计算机系统

  计算机的发展趋势是“两级分化”:微型计算机向更微型化、网络化、高性能、多用途方向发展;另一极是巨型机向更巨型化、超高速、并行处理、智能化方向发展

1.2 计算机系统层次结构

 1.2.1 计算机系统的组成

  硬件系统和软件系统共同构成一个完整的计算机系统。硬件是指有形的物理设备,是计算机系统中实际物理装置的总称。软件是指在硬件上运行的程序和相关的数据及文档。
  对某一功能来说,其既可以用软件实现,又可以用硬件实现,则称为软硬件在逻辑上是等效的。在计算机系统中,许多功能既能由硬件直接实现,又可在硬件的配合下由软件实现。(例如,乘法运算既可用专门的乘法器实现,也可由乘法程序实现)在设计计算机系统时,要进行软/硬件的功能分配。一个功能若使用较为频繁且用硬件实现的成本较为理想,则使用硬件解决可以提高效率。而用软件实现可以提高灵活性,但效率往往不如硬件实现高


  例题:下列叙述中,正确的是()
  A.寄存器的设置对汇编语言是透明的
  B.实际应用程序的测试结果能全面代表计算机的性能
  C.系列机的基本特性是指令系统向后兼容
  D.软件和硬件在逻辑上是等价的

  答案:C;向后兼容又称向下兼容(Backwards compatibility),指的是时间上向后兼容,即新机器兼容使用以前机器的指令系统,例如较高档的计算机可以运行较为低档计算机所开发的程序。对于B,全面代表计算机性能的是实际软件的运行情况。对于D,软件和硬件在逻辑上是等效的,但不是等价的


 1.2.2 计算机硬件的基本组成

  1.早期的冯诺依曼机

  以存储程序为基础的各类计算机通称为冯诺依曼机,其特点为:

  • (1)计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成
  • (2)指令和数据以同等地位存储在存储器中,并可按地址寻访
  • (3)指令和数据均用二进制代码表示
  • (4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置
  • (5)指令在存储器内按顺序存放(通常,指令是顺序执行的,在特定条件下可根据运算结果或设定的条件改变执行顺序)
  • (6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据

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


  典型的冯诺依曼计算机结构:(虚线为控制线和反馈线,实线为数据线)
在这里插入图片描述


  例题:冯诺依曼机的基本工作方式是:
A.控制流驱动方式  B.多指令多数据流方式  C.微程序控制方式  
D.数据流驱动方式

  答案:A;冯·诺依曼机工作方式,可称为控制流(指令流)驱动方式。即按照指令的执行序列,依次读取指令,然后根据指令所含的控制信息,调用数据进行处理。B属于多处理机,冯诺依曼机是单指令流和单数据流系统;数据流驱动方式指:只有当一条或一组指令所需的操作数全部准备好时,才能激发相应指令的一次执行,执行结果又流向等待这一数据的下一条或一组指令,以驱动该条或该组指令的执行。因此,程序中各条指令的执行顺序仅仅是由指令间的数据依赖关系决定的。

  例题:冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()
A.指令操作码的译码结果  B.指令和数据的寻址方式  
C.指令周期的不同阶段  D.指令和数据所在的存储单元

  答案:C;虽然指令和数据都以二进制存放在存储器中,但CPU可以根据指令周期的不同阶段来区分是指令还是数据,通常在取指阶段取出的是指令,在执行阶段取出的是数据。对于A,CPU只有在确定取出的是指令后,才会将其操作码送去译码,因此不可能依据译码的结果来区分指令和数据

  例题:下列关于冯诺依曼结构计算机基本思想的叙述中,错误的是()
  A.程序的功能都通过中央处理器执行指令实现
  B.指令和数据都用二进制数表示,形式上无差别
  C.指令按地址访问,数据都在指令中直接给出
  D.程序执行前,指令和数据需预先存放在存储器中

  答案:C;程序的功能都通过中央处理器(运算器和控制器)执行指令实现。指令按地址访问,数据由指令的地址码指出,除立即寻址外,数据均存放在存储器内。


  2.现代计算机的组织结构

  在微处理器问世之前,运算器与控制器分离,存储器容量很小,因此设计成以运算器为中心的结构,其他部件都通过运算器完成信息的传递
  现代计算机已发展为以存储器为中心,使I/O操作尽可能绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率,其结构如下:
在这里插入图片描述
  目前绝大多数现代计算机仍遵循冯诺依曼的存储程序的设计思想

  3.计算机的功能部件

  传统的冯诺依曼计算机和现代计算机的结构虽然有所不同,但功能部件是一致的,包括:

  • (1)输入设备
      输入设备的主要功能是将程序和数据以机器所能识别和接受的信息形式输入计算机。(常见的输入设备有键盘、鼠标、扫描仪、摄像机等)

  • (2)输出设备
      输出设备的任务是将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出(常用的输出设备有显示器、打印机等)。计算机的I/O设备是计算机与外界联系的桥梁。

  • (3)存储器
      存储器是计算机的存储部件,用来存放程序和数据。
      存储器分为主存储器(主存,内存储器,内存)和辅助存储器(辅存,外存储器,外存)。CPU能够直接访问的存储器是主存。辅存用于帮助主存记忆更多信息,辅存中的信息必须调入主存后,才能被CPU访问。
      主存包括存储体M、各种逻辑部件及控制电路等。存储体由许多存储单元组成,每个存储单元包含若干存储元件(或称存储基元、存储元),每个存储元件存储一位二进制代码0 or 1。因此存储单元可存储一串二进制代码,称这串代码为存储字,称这串代码的位数为存储字长,存储字长可以是1B或是字节的偶数倍。一个存储字既可代表数,也可代表一串字符,也可代表指令等。


  如果把一个存储体看成一栋大楼,那么每个存储单元可看作大楼中的每个房间,每个存储元件可看作每个房间中的一张床位,床位有人相当于1,无人相当于0。床位数相当于存储字长。每个房间都需要一个房间编号,同样可以赋予每个存储单元一个编号,称为存储单元的地址号。


  主存的工作方式为按存储单元的地址进行存取,这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)


  关联存储器(相联存储器),是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找块表。相联存储器既可以按照地址寻址也可以按照内容寻址(通常是某些字段),为了与传统寄存器作区别,称为按内容寻址的存储器。


  主存的最基本组成如下:
在这里插入图片描述
  存储体存放二进制信息,地址寄存器(MAR)存放访存地址,经过地址译码后找到所选的存储单元。数据寄存器(MDR)用于暂存要从存储器中读或写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号。
  MAR用于寻址,其位数对应存储单元的个数,如MAR为10位,则有2^10=1024=1K个存储单元。MAR的长度与PC的长度相等。
  MDR的位数和存储字长相等,一般为字节的二次幂的整数倍。
  MAR和MDR虽然是存储器的一部分,但在现代CPU中却是存在于CPU中的

  • (4)运算器
      运算器是计算机的执行部件,用于进行算术运算和逻辑运算。算术运算是按算术运算规则进行的运算,如加、减、乘、除;逻辑运算包括与、或、非、异或、比较、移位等运算。
      运算器的核心是算术逻辑单元ALU(Arithmetic and Logical Unit)运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器ACC,乘商寄存器MQ,操作数寄存器X,变址寄存器IX,基址寄存器BR等,其中ACC,MQ,X是必须有的。

ACC,MQ,X这三个寄存器在完成不同运算时,所存放的操作数类别各不相同:
在这里插入图片描述


  运算器内还有程序状态寄存器PSW,也称标志寄存器,用于存放ALU运算得到的一些标志信息或处理机的状态信息。

  • (5)控制器
      控制器是计算机的指挥中心,由其指挥各部件自动协调地进行工作。控制器由程序计数器PC、指令寄存器IR和控制单元CU组成
      PC用于存放当前欲执行指令的地址,可自动+1以形成下一条指令的地址,与主存的MAR之间有一条直接通路。
      IR用来存放当前的指令,其内容来自主存的MDR。指令中的操作码OP(IR)送至CU,用以分析指令并发出各种微操作命令序列;地址码Ad(IR)送往MAR,用以取操作数。(操作码表示机器所执行的各种操作,地址码表示参加运算的数在存储器内的位置)
      一般将运算器和控制器集成到同一个芯片上,称为中央处理器CPU。CPU和主存共同构成主机,而除主机外的其他硬件装置(外存、I/O设备等)统称为外部设备,简称外设。现代计算机可认为由CPU、I/O设备及存储器组成(或由主机和外部设备组成)
    在这里插入图片描述

  下图所示为冯诺依曼结构的模型机:
在这里插入图片描述
  CPU包含ALU、通用寄存器组GPRs、标志寄存器、控制器、指令寄存器IR、程序计数器PC、存储器地址寄存器MAR和存储器数据寄存器MDR。图中从控制器送出的虚线为控制信号,可控制如何修改PC以得到下一条指令的地址、ALU执行什么运算、主存是进行读操作还是写操作(读/写控制信号)
  CPU和主存之间通过一组总线相连,总线中有地址、控制、数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU,根据是读操作还是写操作来控制将MDR中的数据是直接送到数据线上还是将数据线上的数据接收到MDR中。


  例题:在运算器中,不包含()
A.状态寄存器  B.数据总线  C.ALU  D.地址寄存器

  答案:D;地址寄存器位于CPU内,但并未集成到运算器与控制器中。运算器中包含PSW、CPU内部数据总线

  例题:若一个8位的计算机系统以16位来表示地址,则该计算机系统有()个地址空间
  答案:2^16=65536;8位计算机表明计算机字长为8位,即一次可以处理8位的数据,而16位表示地址码的长度

  例题:关于相联存储器,下列说法中正确的是()
  A.只可以按地址寻址
  B.只可以按内容寻址
  C.既可以按内容寻址又可按地址寻址
  D.以上说法均不对

  答案:C;相联存储器既可以按照地址寻址也可以按照内容寻址(通常是某些字段),为了与传统寄存器作区别,称为按内容寻址的存储器。

  例题:设主存储器容量为64K x 32位,且指令字长、存储字长、机器字长三者相等。写出如下图所示各寄存器的位数,并指出哪些寄存器之间有信息通路
在这里插入图片描述

  答案:16位:MAR,PC;32位:MDR,IR,ACC,MQ,X;
  寄存器之间的信息通路有:
PC——>MAR,MDR——>IR,Ad(IR)——>MAR,MDR——>ACC(取数)
ACC——>MDR(存数),MDR——>X(X为操作数寄存器)

(各个子系统通过数据总线连接形成的数据传送路径称为数据通路。数据通路是对于子系统之间而言的,因此答案中没有ACC与MQ,ACC与X)


 1.2.3计算机软件的分类

  1.系统软件和应用软件

  软件按功能可分为系统软件和应用软件
  系统软件又称为系统程序,是一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。系统软件主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。系统软件主要有OS、数据库管理系统DBMS、语言处理程序(如汇编程序、编译程序)、分布式软件系统、网络软件系统、标准库程序、服务性程序(如诊断程序、调试程序、连接程序)等。
  应用软件又称应用程序,是指用户为解决某个应用领域中的各类问题而编制的程序,如各种科学计算类程序、工程设计类程序、数据统计与处理程序等。


数据库管理系统DBMS不同于数据库系统DBS。DBMS是位于用户和OS之间的一层数据管理软件,是系统软件;DBS是指计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、数据库管理员DBA和应用系统构成。


  2.三个级别的语言与四种程序

  三个级别的语言:

  • (1)机器语言:又称二进制代码语言,是计算机唯一可以直接识别和执行的语言
  • (2)汇编语言:使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上运行。汇编语言没有通用性,每台机器必须有一种与之相对应的汇编语言。
  • (3)高级语言:通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序

  四种程序:

  • (1)翻译程序:指把高级语言源程序翻译成机器语言程序(目标代码)的软件
      翻译程序有两种:编译程序与解释程序

  • (2)编译程序:将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只需执行目标程序,因此只要源程序不变,则无须重新翻译。同一种高级语言在不同体系结构下,编译成的目标程序是不一样的,目标程序与体系结构相关,但仍不是计算机硬件能直接执行的程序。

  • (3)解释程序:将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。

  • (4)汇编程序:把汇编语言源程序翻译成机器语言程序。


  例题:只有当程序执行时才将源程序翻译成机器语言,并且一次只能翻译一行语句,边翻译边执行的是( )程序,把汇编语言源程序转变为机器语言程序的过程是( )
1.编译  2.目标  3.汇编  4.解释

答案:4,3

  例题:关于编译程序和解释程序,下列说法中错误的是()
  A.编译程序和解释程序的作用都是将高级语言程序转换成机器语言程序
  B.编译程序编译时间较长,运行速度较快
  C.解释程序方法较简单,运行速度也较快
  D.解释程序将源程序翻译成机器语言,并且翻译一条以后,立即执行这条语句

  答案:C;由于解释程序要边翻译边执行,因此一般速度较编译程序慢。

  例题:计算机硬件能够直接执行的是()
  1.机器语言程序   2.汇编语言程序   3.硬件描述语言程序
  A.1   B.1,2   C.1,3   D.1,2,3

  答案:A;硬件能直接执行的只能是机器语言(二进制编码),汇编语言经过汇编后才能被执行;硬件描述语言是电子系统硬件行为描述、结构描述、数据流描述的语言,是对电路系统的结构、行为的标准文本描述。


机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可移植性。

编译程序与汇编程序的区别:编译程序翻译的源语言是高级语言,目标语言是诸如汇编语言或机器语言之类的“低级语言”。汇编程序翻译的源语言是汇编语言,目标语言是机器语言。


 1.2.4计算机的工作过程

  计算机的工作过程分为以下3个步骤:

  • (1)把程序和数据装入主存
  • (2)将源程序转换成可执行文件
  • (3)从可执行文件的首地址开始逐条执行指令
  1.从源程序到可执行文件

  在计算机中编写的C语言程序,都必须被转换为一系列的低级机器指令,这些指令按照一种称为可执行目标文件的格式打好包,并以二进制磁盘文件的形式存放起来。
  以UNIX中的GCC编译器程序为例,读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello,整个翻译过程可分为4个阶段完成:
在这里插入图片描述

  • (1)预处理阶段:预处理器cpp对源程序中以字符#开头的命令进行处理,例如将#include命令后面的.h文件内容插入程序文件。输出结果是一个以.i为扩展名的源文件hello.i
  • (2)编译阶段:编译器ccl对预处理后的源程序进行编译,生成一个汇编语言源程序hello.s。汇编语言源程序中的每条语句都以一种文本格式描述了一条低级机器语言指令。
  • (3)汇编阶段:汇编器as将hello.s翻译成机器语言指令,把这些指令打包成一个称为可重定位目标文件的hello.o,它是一种二进制文件
  • (4)链接阶段:链接器Id将多个可重定位目标文件和标准库函数printf所在的可重定位目标模块printf.o合并,生成可执行文件hello。最终生成的可执行文件被保存在磁盘上。
  2.指令执行过程的描述

  以取数指令(将指令地址码指示的存储单元中的操作数取出后送ACC)为例,其信息流程如下:

  • (1)取指令:PC——>MAR——>M——>MDR——>IR

  • (2)分析指令:OP(IR)——>CU

  • (3)执行指令:Ad(IR)——>MAR——>M——>MDR——>ACC

      此外,每取完一条指令,还须形成下一条指令的地址,即(PC)+1——>PC


在(1)中,PC没加括号,表示的是PC中的值经过数据通路送到MAR,在表示数据通路时括号可省略(因为只是表示数据流经的途径,不强调数据本身的流动),但当题目中的括号未省时,最好不省,和题目中保持一致。在运算时括号不可省。


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

  计算机系统的层次结构划分应用了一种处理系统复杂性的方法——抽象,这与计算机网络中的分层思想类似
  计算机系统的多级层次结构的作用,即根据从各种角度所看到的机器之间的有机联系,来分清彼此之间的界面,明确各自的功能。
  分层方式的一种(程序员角度的抽象):
在这里插入图片描述
  第一级是微程序机器层,是一个实在的硬件层,由机器硬件直接执行微指令。机器M0是直接将机器M1中的每一条机器指令翻译成一组微指令,即构成一个微程序。机器M0每执行完对应于一条机器指令的一个微程序后,便由机器M1中的下一条机器指令使机器M0自动进入与其相对应的另一个微程序的执行。微程序机器M0可看作是对实际机器M1的分解,即用M0的微程序解释并执行M1的每一条机器指令。
  第二级是传统机器语言层,也是一个实际的机器层,由微程序解释机器指令系统
  第三级是操作系统层,由操作系统程序实现。操作系统程序是由机器指令和广义指令组成的,这些广义指令是为了扩展机器功能而设置的,是由操作系统定义和解释的软件指令,所以这一层也称混合层。
  第四级是汇编语言层,它为用户提供一种符号化的语言,借此可编写汇编语言源程序。这一层由汇编程序支持和执行。
  第五级是高级语言层,是面向用户的,由各种高级语言编译程序支持和执行。
  在高级语言层之上,还可以有应用层,它由解决实际问题和应用问题的处理程序组成,如文字处理软件、数据库软件等。
  通常把没有配备软件的纯硬件系统称为裸机,第3~5层称为虚拟机,简单来说就是软件实现的机器。虚拟机只对该层的观察者存在。


  在计算机领域中,站在某类用户的角度,若感觉不到某个事物或属性的存在,即看不到某个事物或属性,则称为“对该用户而言,某个事物或属性是透明的”。
  例如,对于高级语言程序员来说,浮点数格式、乘法指令等指令的格式、数据如何在运算器中运算等都是透明的;而对于机器语言或汇编语言程序员来说,指令的格式、机器结构、数据格式等则是不透明的。
  在CPU中,IR、MAR、MDR对各类程序员都是透明的。

1.3 计算机的性能指标

 1.3.1计算机的主要性能指标

  1.机器字长

  机器字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数(一次能处理数据的位数)。机器字长一般等于内部寄存器的大小,字长越长,数的表示范围越大,计算精度越高。计算机字长通常为字节的整数倍。


  机器字长、指令字长、存储字长的区别与联系:
  机器字长:计算机能直接处理的二进制的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度
  指令字长:一个指令字中包含的二进制代码的位数
  存储字长:一个存储单元存储的二进制代码的长度

  它们都必须是字节的整数倍。指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2次访存来取出一条指令,因此取指周期为机器周期的2倍(机器周期是CPU操作的最基本单位);若指令字长等于存储字长,则取指周期等于机器周期


  2.数据通路带宽

  数据通路带宽指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是指外部数据总线的宽度,它与CPU内部的数据总线宽度(内部寄存器的大小)有可能不同。


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


  3.主存容量

  主存容量是指主存所能存储信息的最大容量(主存中存放二进制代码的总位数),主存容量=存储单元个数 x 存储字长,通常以字节衡量,也可用字数x字长(如512K x 16位)来表示存储容量。其中,MAR的位数反映存储单元的个数,MAR的位数反映可寻址范围的最大值(而不一定是实际存储器的存储容量)。
  例如,MAR为16位,表示2^16,即此存储体内有 2 ^ 16=65536个存储单元(可称为64K内存),若MDR为32位,表示存储容量为64K x 32位。

  4.运算速度
  • (1)吞吐量和响应时间
      吞吐量:指系统在单位时间内处理请求的数量。它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。几乎每步都关系到主存,因此系统吞吐量主要取决于主存的存取周期。
      响应时间:指从用户向计算机发送一个请求,到系统对该请求作出响应并获得所需结果的等待时间。通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、OS开销等的时间)
  • (2)主频和CPU时钟周期
      CPU时钟周期:通常为节拍脉冲或T周期,它是CPU中最小的时间单位,每个动作至少需要1个时钟周期。
      主频(CPU时钟频率):机器内部主时钟的频率,是衡量机器速度的重要参数。对于同一个型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间最短,执行指令的速度越快。

CPU时钟周期=1/主频,主频通常以Hz为单位,1Hz即每s一次

主频高的CPU不一定比主频低的CPU快,衡量CPU运算速度的指标有很多,不能以单独的某个指标判断CPU的好坏。CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、Cache的大小等)。


  • (3)CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数
  • (4)CPU执行时间:指运行一个程序所花费的时间
      CPU执行时间=(指令条数 x CPI)/主频=CPU时钟周期数/主频
      上式表明,CPU的性能(CPU的执行时间)取决于:主频、CPI、指令条数
      主频、CPI和指令条数是相互制约的。例如,更改指令集可减少程序所含指令的条数,但同时可能引起CPU结构的调整,从而可能会增加时钟周期的宽度(降低主频)。
  • (5)MIPS、MFLOPS、GFLOPS、TFLOPS
      MIPS(Million Instructions Per Second):即每秒执行多少百万条(10 ^ 6)指令,MIPS=指令条数/(执行时间 x 10^6)=主频/CPI
      MFLOPS(Mega Floating-point Operations Per Second):即每秒执行多少百万次浮点运算,MFLOPS=浮点操作次数/(执行时间x10^6)
      GFLOPS(Giga Floating-point Operations Per Second):每秒执行多少十亿次(10 ^ 9 )浮点运算
      TFLOPS(Tera Floating-point Operations Per Second):每秒执行多少万亿次( 10 ^ 12 )浮点运算
      PFLOPS:P=10^3T ( 10 ^ 15)
      EFLOPS:E=10 ^ 3 P ( 10 ^ 18)
      ZFLOPS: Z= 10 ^ 3 E (10 ^ 21)

在描述存储容量、文件大小时,K,M,G,T通常用2的幂次表示,在描述速率、频率时,k,M,G,T通常用10的幂次表示



  例题:CPU的CPI与下列()因素无关
  A.时钟频率   B.系统结构   C.指令集   D.计算机组织

  答案:A; 系统结构、指令集、计算机组织都会影响CPI,时钟频率并不会影响CPI(只是决定每个CLOCK的时间),可影响指令的执行速度

  例题:下列说法中,正确的是()
  1.在微型计算机的广泛应用中,会计电算化属于科学计算方面的应用
  2.决定计算机计算精度的主要技术是计算机的字长
  3.计算机“运算速度”指标的含义是每秒能执行多少条操作系统的命令
  4.利用大规模集成电路技术把计算机的运算部件和控制部件做在一块集成电路芯片上,这样的一块芯片称为单片机
  A.1,3   B.2,4   C.2   D.1,3,4

  答案:C;计算机“运算速度”指标的含义是每秒能执行多少条指令;4中集成的芯片称为CPU

  例题:假定基准程序A在某计算机上的运行时间为100s,其中90s为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间为()

  A.55s   B.60s   C.65s   D.70s
  答案:D;CPU速度提高50%,CPU速度是原来的1.5倍而不是2倍,90/1.5+10

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

  答案:1.6

  例题:某台计算机只有Load/Store指令能对存储器进行读/写操作,其他指令只对寄存器进行操作。根据程序跟踪实验结果,已知每种指令所占的比例及CPI数如下
在这里插入图片描述
  求上述情况下的平均CPI。假设程序由M条指令组成。算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load指令从存储器中取到寄存器中。因此有人建议增加另一种算逻指令,其特点是一个操作数取自寄存器,另一个操作数取自存储器,即寄存器——存储器类型,假设这种指令的CPI等于2。同时,转移指令的CPI变为3。求新指令系统的平均CPI。

  答案:CPI=0.43 * 1+0.21 * 2+0.12 * 2+0.24 * 2=1.57
  增加新算逻指令后,原来的LOAD指令数减少,因此总指令数减少。设原指令总数为M,新指令总数为M-0.25*0.43M=0.8925M,计算得新的CPI为1.9076


 1.3.2几个专业术语

  • (1)系列机:具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列
  • (2)兼容:指计算机软件或硬件的通用性,即使用或运行在某个型号的计算机系统上的硬件/软件也能应用于另一个型号的计算机系统时,称这两台计算机在硬件或软件上具有兼容性
  • (3)软件可移植性:指把使用在某个系列计算机中的软件直接或进行很少的修改就能运行在另一个系列计算机中的可能性
  • (4)固件:将程序固定在ROM中组成的部件称为固件。固件是一种具有软件特性的硬件,是软/硬件结合的产物。例如,目前OS已实现了部分固化(把软件永恒地存储于只读存储器中)
  • 9
    点赞
  • 2
    评论
  • 28
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值