第一章 计算机系统概论
- 1.1 计算机系统的简介
- 1.3计算机硬件的主要技术指标
- 习题:
- 慕课:
- 课后习题:
- 1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
- 2.如何理解计算机的层次结构 ?
- 3.说明高级语言、汇编语言和机器语言的差别及其联系。
- 4.如何理解计算机组成和计算机体系结构 ?
- 5.冯·诺依曼计算机的特点是∶
- 6.画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。
- 7. 解释下列概念∶主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。
- 8. 解释下列英文缩写的中文含义∶CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS
- 9.画出主机框图,分别以存数指令"STA M"和加法指令"ADD M"(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。假设主存容量为 256M*32 位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
- 10.指令和数据都存于存储器中,计算机如何区分它们?
- 11.什么是指令,什么是程序
学习要求:计算机如何执行一条指令?
1.1 计算机系统的简介
二.计算机系统的层次结构
每个机器的作用都是向下实现的:比如:M3将高级语言程序翻译成汇编语言程序。
已经实现了部分固化(把软件永恒地存于只读存储器中),称为固件等,打破了软硬件的壁垒。
20世纪50年代出现了符号式的程序设计语言,即汇编语言。用符号 ADD,SUB,MUL,DIV分别表示加,减,乘,除。符号表示指令或数据所在的存储单元的地址。
汇编语言不具有通用性,每台机器都有自己的汇编语言。汇编语言与机器语言一一对应。
翻译过程由汇编程序完成,可视具有翻译功能的计算机看作M2,则M2可看成实在M1之上。M2翻译后给M1,M2并不是一台实际的机器,他只是人们感受到的存在的一台具有翻译功能的机器,称为虚拟机。
1.1.3 计算机组成和计算机体系结构
计算机体系结构:指那些能被程序员所见到的计算机系统的概念性的结构,功能特性。(如指令系统,数据类型,寻址技术,I/O机理)强调有无指令。汇编程序员对IBMPC和RS6000视为不同的机器。而高级编程可视为同一属性的机器。
计算机组成:如何实现计算机体系结构所体现的属性。包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。(强调指令的如何实现)
是否具备指令,结构问题。相同指令集,则说明是相同结构。
如何实现指令,是组成问题。
主存储器的定义:CPU能够直接访问的。区别于辅存,需要I/O设备。
CPU和主存合成主机。
运算器只能进行一次运算,存储一个数据。
存储器->诸多存储单元(有一个编号,成为存储单元的地址号)->诸多存储基元
存储器的基本组成:
主存的工作方式是按存储单元的地址号来实现对存储字的存(写入),取(读出)。这种存取方式称为按地址存取,即按地址访问存储器(简称访问)。
要想实现访问,需要
MAR(Memory Address Register)存储器地址寄存器。用来存放欲访问存储单元的地址,位数对应存储单元的个数。
MDR(Memory Data Register) 存储器数据寄存器。用来存放从存储体某单元取出的代码或准备往某存储单元存放的代码。位数与存储字长相等。
CU(control unit)控制单元:用来解释存储器中的指令,并发出各种操作命令来执行指令。也控制I/O设备
PC(Program counter):程序计数器,存放当前欲执行指令的地址,与MAR相连,可自增1,即自动形成下一条指令的地址。
IR(instrction register) 指令寄存器 。存放当前指令,内容来自MDR。之后操作码给CU,用以分析指令,地址码给MAR。
存储字长:存储单元中二进制代码的位数。
一条指令的执行过程(以取数指令为例):
首先按表中所列的所有的有序指令和数据,通过键盘输入到主存第0号至第12号单元中,PC的初值为0(令程序首地址为0)。启动机器后,计算机便自动按存储器中所存放的指令顺序有序地逐条完成取指令,分析指令和执行指令,直至执行到程序的最后一条指令为止。
1.启动机器,控制器将PC的内容送至主存的MAR(PC->MAR)
2.同时命令存储器做读操作
3.此刻主存"0"号单元的内容"00000100000001000"便被送到MDR内。
4.然后由MDR送至控制器的IR(记作MAR->IR),完成了一条指令的取址过程。
5.经CU分析(记作OP(IR)->CU),操作码"000001"为取数指令,
6.于是CU又将IR中的地址码"0000001000"送至MAR(记作Ad(IR)->MAR),
7.并命令存储器做读操作,
8.即将该地址单元中的操作数x送至MDR,
9.再由MDR送至运算器的ACC(记作MDR->ACC),完成此指令的执行过程。
此刻即完成了第一条取数指令的全过程,即将操作数x送至运算器ACC中。与此同时,PC完成自动加1的操作,形成下一条指令的地址"1"号。
1.3计算机硬件的主要技术指标
1.机器字长:CPU 一次能处理数据的位数与 CPU 中的 寄存器位数 有关。
2.主频是机器内部的时钟频率,是衡量机器速度的主要参数。
3.存储容量 存放二进制信息的总位数。
习题:
慕课:
1.汇编语言与机器语言的对应关系为___ 一对一
2.冯诺依曼机工作方式的基本特点是?按地址访问并顺序执行指令
3.微程序机器M0(微指令系统)的执行的功能是: 由硬件直接执行微指令
4.存放在寄存器ACC中的操作数有_ 被加数,和,被除数,余数,乘积高位
5.第一代(1946~1957年)是电子计算机,它的基本电子元件是电子管电子管。第二代(1958~1970年)是晶体管计算机。第三代(1963~1970年)是集成电路计算机。基本电子元件是小规模集成电路和中规模集成电路。第四代(1971年~日前)是大规模集成电路计算机。
6.计算机中那一部分负责指令译码?控制单元
课后习题:
1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
解∶
计算机系统∶由计算机硬件系统和软件系统组成的综合体。
计算机硬件∶指计算机中的电子线路和物理装置。
计算机软件∶计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要
2.如何理解计算机的层次结构 ?
答∶计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下
层的扩展,下层是上层的基础,各层次的划分不是绝对的
3.说明高级语言、汇编语言和机器语言的差别及其联系。
答∶机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表
示,高级语言是面向算法的语言。高级语言编写的程序(源程序)处于最高层,
必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执
行。
4.如何理解计算机组成和计算机体系结构 ?
答∶计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令
系统、数据类型、寻址技术组成及 I/O机理等。计算机组成是指如何实现计算机
体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各
个功能部件的结构和功能,及相互连接方法等。
5.冯·诺依曼计算机的特点是∶
● 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;
● 指令和数据以同同等地位存放于存储器内,并可以按地址访问;
● 指令和数据均用二进制表示;
● 指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;
● 指令在存储器中顺序存放,通常自动顺序取出执行;
● 机器以运算器为中心(原始冯·诺依曼机) 现代计算机以存储器为中心
6.画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。
各部件的作用如下∶
控制器∶整机的指挥中心,它使计算机的各个部件自动协调工作。
运算器∶对数据信息进行处理的部件,用来进行算术运算和逻辑运算。
存储器∶存放程序和数据,是计算机实现"存储程序控制"的基础。
输入设备∶将人们熟悉的信息形式转换成计算机可以接受并识别的信息形
式的设备。
输出设备∶将计算机处理的结果(二进制信息)转换成人类或其它设备可
以接收和识别的信息形式的设备
计算机系统的主要技术指标有∶
机器字长∶指 CPU一次能处理的数据的位数。通常与CPU 的寄存器的位数有关,字长越长,数的表示范围越大,精度也越高。机器字长也会影响计算机的运算速度。
数据通路宽度∶数据总线一次能并行传送的数据位数。
存储容量∶指能存储信息的最大容量,通常以字节来衡量。一般包含主存容量和辅存容量。
运算速度∶通常用 MIPS(每秒百万条指令)MFLOPS(每秒百万次浮点运算)或CPI(执行一条指令所需的时钟周期数)来衡量。CPU执行时间是指CPU对特定程序的执行时间。
主频∶机器内部主时钟的运行频率,是衡量机器速度的重要参数。
吞吐量∶指流入、处理和流出系统的信息速率。它主要取决于主存的存取周期。
响应时间∶计算机系统对特定事件的响应时间,如实时响应外部中断的时间等。
7. 解释下列概念∶主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。
解∶ P9-10
主机∶是计算机硬件的主体部分,由 CPU 和主存储器 MM合成为主机。
CPU∶中央处理器,是计算机硬件的核心部件,由运算器和控制器组成(早期的运算器和控制器不在同一芯片上,现在的 CPU 内除含有运算器和控制器外还集成了 CACHE)
主存∶计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。
存储单元∶可存放一个机器字并具有特定存储地址的存储单位。
存储元件/存储元∶存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。
存储字∶一个存储单元所存二进制代码的逻辑单位。
存储字长∶一个存储单元所存储的二进制代码的总位数。
存储容量∶存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)
机器字长∶指 CPU一次能处理的二进制数据的位数,通常与CPU 的寄存器位数有关。
指令字长∶机器指令中二进制代码的总位数。
8. 解释下列英文缩写的中文含义∶CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS
解∶全面的回答应分英文全称、中文名、功能三部分。
CPU∶Central Processing Unit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。
PC∶Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。
IR∶Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。
CU∶Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
ALU∶ Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
ACC∶ Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ∶Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X∶此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR∶ Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。
MDR∶ Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O∶Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。
MIPS∶ Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位
CPI: Cyber Per Instruction,执行一条指令所需的时钟周期(机器主频的倒数)
FIOPS : Floating Point Operation Per Second 浮点运算次数每秒。
9.画出主机框图,分别以存数指令"STA M"和加法指令"ADD M"(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。假设主存容量为 256M*32 位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
解∶主机框图如 P13 图1.11 所示。
(1)STA M指令∶
PC→MAR,MAR→MM,MM→MDR,MDR→IR,OP(IR))→CU , Ad(IR)→MAR,ACC→MDR , MAR→MM , WR
(2)ADD M指令∶ PC→MAR,MAR→MM,MM→MDR,MDR→IR,OP(IR)→CU,Ad(IR)→MAR,RD,MM→MDR,MDR→X, ADD, ALU→ACC, ACC→MDR, WR
假设主存容量 256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACC、X、IR、MDR寄存器均为 32位,PC和MAR寄存器均为28位。
10.指令和数据都存于存储器中,计算机如何区分它们?
解∶ 计算机区分指令和数据有以下 2 种方法∶
● 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
● 通过地址来源区分,由 PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数
11.什么是指令,什么是程序
指令:能够控制机器工作的命令
程序:能够完成某工作的指令集