第一章 计算机系统概述
一、计算机系统层次结构
1.计算机系统的组成
**硬件系统+软件系统=完整的计算机系统
硬件:**指有形的物理设备。
软件: 指在硬件上的程序和相关的数据及文档。
2.计算机硬件
①冯诺依曼机基本思想
为什么要研究冯诺依曼机?
因为冯诺依曼提出的“存储程序”的概念及思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为“冯·诺依曼机”
冯·诺依曼机的特点:
1.采用“存储程序”的工作方式
********2.计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成
3.指令的数据以同等地位存在存存储器中,形式上没区别,但计算机应能区分它们。
4.指令和数据均采用二进制代码表示
**5.指令有操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址。
**“存储程序”的基本思想: 将事先编制好的程序和原始数据送入主存储器后才能执行,一旦程序被启动,就无须操作人员干预,计算机会自动逐条执行指令,直到程序执行结束。
②计算机的功能部件
输入设备 :将程序和数据以机器所能识别和接受的信息形式输入计算机。
eg:键盘、鼠标、扫描仪、摄像机。输出设备: 将计算机处理的结果以人们所能接受的形式或其他系统所要求的形式输出。
eg:显示器、打印机。存储器: 分为主存储器****(内存储器或内存) 和辅助存储器****(外存储器或外存)
主存储器: CPU能够直接访问的存储器存储体: 存放二进制信息。
****note: 存储体由若干个存储单元组成,每个存储单元包含若干个存储元件,每个存储元件存储一位二进制代码“0”或“1”。存储字:存储单元中存储的一串二进制代码;存储字长:这串二进制代码的位数。存储器地址寄存器(MAR): 存放外存地址,经过地址译码后找到所选的存储单元。MAR用于寻址,其位数反映最多可寻址的存储单元的个数。MAR的长度一般与PC的长度相等。
存储器数据寄存器(MDR): 暂存要从存储器中读或写的信息。MDR的位数通常等于存储字长。
时序控制逻辑: 用于产生存储器操作所需的各种时序信号。
**辅助存储器:**存储更多信息的存储器。外存中的数据必须调入内存才能被CPU访问。
运算器: 计算及的执行部件,用于进行算术运算和逻辑运算。
算术逻辑单元(ALU Airthmetic and Logic): 运算器的核心
通用寄存器: 在运算中,用于暂存操作数和中间结果,eg:累加器ACC、乘商寄存器MQ、操作数寄存器X、变址寄存器IX、基址寄存器BR。
程序状态寄存器(PSW) :又称标志寄存器,用于存放ALU运算得到的一些标志信息或处理机的状态信息,如结果是否溢出、有无产生进位或借位、结果是否为负等。控制器: “指挥”其他各部件自动协调地进行工作。由程序计数器PC、指令寄存器IR、控制单元CU组成。
PC:存放当前欲执行指令的地址,具有自动加1的功能。
IR:用来存放当前的指令,内容来自存储器的MDR运算器+控制器=CPU CPU+主存储器=主机 外存+I/O设备=外部设备
3.计算机软件
①系统软件和应用软件
按功能分类,可分为系统软件和应用软件。
系统软件: 一组保证计算机系统高效、正确的基础软件,通常作为系统资源提供给用户使用。 eg:操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序。
应用软件: 指用户为解决某个应用领域中各类问题而编制的程序。
系统程序员: 编写诸如操作系统、编译程序等各种系统软件的人员。|
应用程序员: 利用计算机及所支持的系统软件来编写解决具体应用问题的人员。
②三个级别的语言
机器语言: 二进制代码语言,计算机唯一识别和执行的语言。
汇编语言: 用英文单词或其他缩写代替二进制的指令代码,更容易为人们记忆和理解。
高级语言: eg:C、C++、Java等,为方便程序设计人员解决问题的处理方案和解题过程的程序。计算机无法直接理解和执行高级语言程序,所以需要将高级语言程序转换为机器语言程序。
汇编程序: 将汇编语言翻译为机器语言。
解释程序: 将源程序中的语句按行顺序翻译逐条翻译成机器指令并立即执行。
编译程序: 将高级语言程序翻译成汇编语言或机器语言。
③软件和硬件的逻辑功能等价性
硬件实现往往是最基本的算术和逻辑运算功能,而其他功能大多通过软件的扩充得以实现。
对某一功能来说,既可以由硬件实现,又可以由软件实现,从用户角度来看,它们在功能上是等价的。
4.计算机系统的层次结构

第1级微程序机器层:由机器硬件直接执行微指令
第2级传统机器语言层:由微程序解释机器指令系统
第3级操作系统层:由操作系统程序实现,其中操作系统由机器指令和广义指令组成。
第4级汇编语言层:由汇编程序支持和执行,借此可编写汇编语言源程序。第5级高级语言层:面向用户,方便用户编写应用程序而设置的。
没有配备软件的纯硬件系统统称裸机,第3层~第5层称为虚拟机。
本门课程主要讨论传统机器M1和微程序M0的组成原理及设计思想
5.计算机系统的工作原理
①“存储程序”工作方式
“存储程序”工作方式规定: 程序执行前,需要将程序所含的指令和数据送入主存储器中,一旦程序启动执行,就无须操作人员的干预,自动逐条完成指令的取出和执行任务。
指令执行流程:
程序执行前,先将程序第一条指令的地址存放到PC中,取指令时,将PC的内容作为地址访问主存储器。在每条指令执行过程中,都需要计算下条将执行指令的地址,并送至PC。
若当前指令微顺序型指令,则下条指令地址为PC的内容加上当前指令的长度;
若当前指令为跳转型指令,则下条指令地址为指令中指定的目标地址。当前指令执行完之后,根据PC的内容到主存储器中取出的下一条将要执行的指令,在此之后,计算机就能周而复始地自动取出并执行一条一条的指令。
②从源程序到可执行文件
在计算机编写的高级语言程序(eg:C语言),必须被转换为一系列的低级机器指令,这些指令按照一种称为 可执行目标文件的格式打好包,并以二进制磁盘文件的形式存放起来。
以UNIX系统中GCC编译器为例,读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello,整个翻译过程可分为四个阶段:1.预处理: 对源程序中字符以#开头的命令进行处理。生成一个hello.i的源文件
2.编译阶段: 对预处理后的源文件进行编译,生成一个汇编语言源程序hello.s。
3.汇编阶段: 汇编器(as)讲hello.s翻译成机器语言指令,把这些指令打包成一个称可重定位目标文件hello.o,是一种二进制文件,用文本编辑器打开会显示乱码。
4.链接阶段: 链接器(ld)将多个可重定位目标文件和标准库函数printf所在的可重定位目标printf.o合并,生成可执行文件hello。最终生成的可执行文件被保存在磁盘上。
③指令执行过程的描述
可执行文件代码段是由一条一条机器指令构成,指令是用0和1表示一串0/1序列,用来指示CPU完成一个特定的原子操作。
指令的执行过程在第5章中详细描述。(CPU大题考点)
二、计算机性能指标
1.主要性能指标
①机器字长
机器字长,简称字长。
指计算机进行一次整数运算所能处理的二进制数据的位数 ,通常与CPU的寄存器位数、ALU有关。字长一般等于通用寄存器的位数或ALU的宽度,字长越长,数的表示范围越大,计算精度越高。
eg:“某16位或32位机器”,其中的16、32指的是机器字长。
②数据通路带宽
**指数据总线一次所能并行传送信息的位数。
note:**
1.这里的数据通路带宽是指外部数据总线的宽度,与CPU内部的数据总线带宽(内部寄存器的大小)有可能不同。
2.各个子系统通过数据总线连接形成的数据传送路径称为数据通路。
③主存容量
指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用字数x字长(521K x
16位)来表示存储容量。
其中MAR的位数反映了存储单元的个数,MDR的位数反映了存储单元的字长。
④运算速度
(1)吞吐量和相应时间
吞吐量: 指系统在单位时间内处理请求的数量。反映了信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。几乎每步都关系到主存储器,因此系统吞吐量主要取决于主存储器的存取周期。
响应时间: 指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。
响应时间=CPU时间+等待时间CPU时间:一个程序所花费的时间
等待时间:磁盘访问、存储器访问、I/O操作、操作系统开销等时间
(2)主频和CPU时钟周期
CPU时钟周期: 机器内部主时钟脉冲信号的宽度,是CPU工作的最小时间单位
时钟脉冲信号:由机器脉冲源发出的脉冲信号经整形和分频后形成时钟周期:以相邻单元间组合逻辑电路的最大延迟位基或指令流水线的每个流水段的最大延迟时间确定。
主频: 机器内部主时钟的频率,即时钟周期的倒数,是衡量机器速度的重要参数。
note: 主频越高,意味着完成指令的一个执行步骤所用的时间越短,执行指令的速度越快。最直观的理解:每秒有多少个时钟周期。
(3)CPI(Cycle Per Instruction) :执行一条指令所需要的时钟周期数。
note:不同指令的时钟周期数可能不同,因此对于一个程序或一台机器来说,其CPI指该程序或该机器指令集中得所有指令执行所需的平均时钟周期数,此时CPI是一个平均值。
IPS(Instructions Per Second): 每秒执行多少条指令IPS=主频/平均CPI
(4)CPU执行时间 : 指一个程序所花费的时间。
计算方式:CPU执行时间=CPU时钟周期数/主频=(指令条数 x CPI)/主频
(5)MIPS(Million Instruction Per Second) :每秒执行多少百万条指令
计算方式:MIPS=指令条数/(执行时间 x106)=主频/(CPIx106)
(6)FLOPS(Floating-point Operations Per Second) :每秒执行多少次浮点运算
⑤基准程序
指专门用来进行性能评价的一组程序,能够很好地反映机器在实际负载时的性能,可以通过在不同机器上相同的基准程序来比较在不同机器上的时间,从而测评其性能。
2.几个专业术语
1)系列机
具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。2)兼容
指软件或硬件的通用性,即在某个型号的计算机系统中硬/软件也能应用于另一个型号的计算机系统时,称这两台计算机在硬件或软件上存在兼容性。3)固件
将程序固化在ROM中组成的部件称为固件。固件是一种软件特性的硬件,吸收了软/硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软/硬件结合的产物。




