计算机组成原理与操作系统 第一章 计算机系统结构概述
@
1.计算机的发展历程
1.1计算机分类
- -通用计算机:适应性强,但效率、速度和经济性较差
- 专用计算机:针对特定任务设计,效率和速度高,但适应性差
1.2计算机五代变化
- 第一代(1946-1957):电子管
- 第二代(1958-1964):晶体管
- 第三代(1965-1971):中小规模集成电路
- 第四代(1972-1990):集成电路
- 第五代(1991-至今):超大规模集成电路
1.3计算机性能瓶颈问题
- CPU与主存接口性能不匹配:存储器或通路跟不上CPU需求,导致CPU等待
- I/O设备处理:CPU能处理的数据量与外设的数据吞吐量不匹配
- 解决方案:设计平衡,包括增加数据传输位数、改变DRAM接口、增加cache、增加CPU与存储器之间的带宽等
冯诺依曼体系结构:控制器,运算器,存储器,输入设备,输出设备。
摩尔定律:每18个月,集成电路的性能提高一倍,价格降低一半。
2.元器件级的计算机结构----开关逻辑
2.1 数据的开关表示
- 使用二进制系统,其中“开”和“关”状态分别用“0”和“1”表示。
- 十进制数转换为二进制数的方法,包括整数和小数的转换。
- 二进制运算法则,包括加法、减法、乘法。
2.2数制与编码
- 八进制(Octal)和十六进制(Hexadecimal)作为二进制的助记符形式。
- 二-十进制(BCD)码,使用4位二进制数表示一位十进制数。
- 机器数的表示,包括原码、反码、补码和移码。
- 定点与浮点表示法。
2.3算术运算的逻辑电路基础
计算机内所有的运算都能转换为加法运算和移位操作
原码 | 反码 | 补码 | |
---|---|---|---|
正数 | 正数的原码就是其自身 | 原码 | 源码 |
负数 | 符号位为1 | 符号位不变,其余位取反 | 反码+1 |
加法运算
反码运算 | 补码运算 |
---|---|
反码运算时,其符号位与数值一起参加运算。 反码的符号位相加后,如果有进位出现,则要把它送回到最低位去相加。这叫做循环进位。 反码运算有如右性质:[X]反 + [Y]反=[X + Y]反 |
补码运算时,其符号位也要与数值部分一样参加运算。 符号运算后如有进位出现,则把这个进位舍去不要。 补码运算有如右性质:[X]补 + [Y]补=[X + Y]补 |
|![](https://img2024.cnblogs.com/blog/3537713/202410/3537713-20241024170937064-184806514.png) |
2.4ASCII码
- ASCII码和EBCDIC码用于文本和其他非数值数据信息的处理。
数据传输中的差错校验
- 奇偶校验码、海明码和循环冗余校验码(CRC)用于检测和纠正错误。
奇校验码 | 偶校验码 |
---|---|
算上校验位1的个数应该是奇数 | 算上校验位1的个数应该是偶数 |
2.5 逻辑运算的开关电路
2.5.1 用开关实现门电路
与、或、非
2.5.2 几种基本逻辑电路组合
2.5.3 全加器
输入:被加数Xi、加数Yi、低位进位Ci-1
输出:本位进位Ci、本位全和Si
2.5.4串行加法电路
由两个n位的移位寄存器,一个全加器和一个(由D触发器组成的)进位触发器所组成。寄存器A,B每接收一次移位脉冲,被加数和加数同时各右移一位,使得进位触发器中的前位进位和A1及B1中的当前位在Σ中相加。每次相加之后得Si计入A寄存器最左端,本位进位送给进位触发器C的输入端D。下一次移位脉冲到来时,进位触发器送给Σ一个进位。这样经过n次移位脉冲后,就完成了两个n位二进制数相加,最后结果存放在寄存器A中。
2.5.5并行加法电路
两个n位二进制数各位同时相加称为并行加法。
它由n个全加器所组成。运算时由两个寄存器送来的n位数据,分别在n个全加器中按位对应相加;每个全加器得出的进位依次向高一位传送,从而得出每位的全加和。
3.功能模块级的计算机组成
3.1计算机的冯·诺依曼体系结构
美国科学家Von Neumann提出了计算机的基本设计思想,其中心意思是:
将程序和原始数据事先存放在主存储器中。
其主要内容是:
(1)采用二进制来表示数据和指令
(2)将编写好的程序和原始数据送入主存储器中,然后启动计算机开始工作
(3)计算机应该包括运算器、控制器、存储器、输入/输出设备五大部件,并且各自都有自己的功能
3.2计算机系统的功能部件
3.2.1运算器
运算器:一个对二进制数据进行加工处理的执行部件,它可以完成算术运算和逻辑运算。
- 通常,运算器由运算逻辑部件ALU、寄存器组及控制数据传送电路组成。
ALU是具体完成算术与逻辑运算的部件;寄存器用于存放运算操作数据;累加器除了存放运算操作数据以外,在连续运算中,还用于存放中间结果和最后结果。寄存器和累加器的数据均从存储器取得,累加器的最后结果也存入到存储器
3.2.2控制器
控制器:全机的指挥中心,它是统一指挥和控制计算机各部件进行工作的中央机构,控制和协调其他部件的工作。
它每次从存储器读取一条指令,经过分析译码,产生一串操作命令。这些操作命令发向各个部件,控制各个部件的动作,使整个机器连续地、有条不紊地进行工作。
控制信息的发源地是控制器。其产生控制信息的依据来自以下三个方面:
- 指令,它存放在指令寄存器中,是计算机操作的主要依据;
- 各部件的状态触发器,其中存放反映机器运行状态的有关信息;
- 时序电路,它能产生各种时序信号,使控制器的操作命令被有序地发送出去,以保证整个机器协调工作。
控制器的基本任务就是按照计算程序所排的指令序列,先从存储器中取出一条指令放在控制器中,对指令的操作码由译码器进行分析判别;然后,根据指令性质,执行这条指令,进行相应的操作;接着,从存储器中再取出下一条指令,再执行这条指令;依次进行下去,直到计算程序执行完毕为止。
3.2.3存储器
存储器:用来存放程序和数据的部件,具有“记忆”功能。
主要由地址寄存器、数据寄存器、存储体以及读写控制电路组成。
访问存储器时,先由地址译码器将送来的单元地址进行译码,找到相应的存储单元;再由读写控制电路,确定访问存储器的方式,即取出(读)或存入(写);然后,按照规定的方式具体完成取出或存入的操作。
3.2.4输入设备
输入设备:变换输入形式的部件。
输入设备与主机间通过接口连接。接口的功能:数据缓冲;信息格式转换;主机与输入设备间互传状况的桥梁。
3.2.5输出设备
输出设备:变换输出信息形式的部件。它将计算机运算结果的二进制信息转换成人或其它设备能接收和识别的形式。
3.3 计算机的工作过程
首先,把编制好的程序和原始数据通过输入设备送入存储器保存;
然后,在计算机运行时,控制器从存储器中逐条取出指令,并将其进行分析解释成控制命令,去控制各部件的动作,使数据在运算器中进行加工处理。
处理后的结果通过输出设备输出。
- 程序:为特定问题求解而设计的指令序列。
- 指令:程序是由指令组成的。指令是机器所能领会的一组编排成特定格式的代码串,它要求机器在一个规定的时间段(指令周期)内,完成一组特定的操作。
通常指令包括以下几个部分:
- 指出计算机所应完成的一组操作内容,如传送(MOV)、加(ADD)、减(SUB)等。这部分称为指令的操作码部分。
- 两个操作数的地址和存放结果的地址及其寻找方式。由于运算器中设置了寄存器组,用以暂存一次运算的结果,并为下一次操作提供一个操作数,这时便可省去两个地址,形成单操作数地址指令。
- 为了保证程序执行的连续性,在执行一条指令的时候,还须指出下一条指令的地址。
因此,指令的基本格式可以归结为操作码OP和操作数地址AD两部分。
- 指令的执行:
① 把指令指针IP中的指令地址送存储器,按地址取出指令送指令寄存器IR;之后,IP加1,形成下一条指令的默认地址。
② 根据IR中的地址码,由地址计算部件形成操作数地址送存储器,取出数据,送到运算器中的寄存器(寄存器组);
③ 将IR中的操作码OP送指令译码器进行译码;
④ 计算机有关部件在控制器发出的操作控制信号的控制下,执行操作码OP所规定的操作;
⑤ 如遇转移指令,则按转移指令对状态标志寄存器测试的结果,决定是否将转移指令中指出的指令地址送指令指针IP。
3.4 计算机系统的总线
如何把五大基本部件互连起来构成计算机的硬件系统,是计算机硬件系统的组织问题。
现在的计算机普遍采用总线结构:
3.4.1总线的基本概念
总线:一组为多个功能部件分时共享的公共信息传送线路。
- 共享总线的各个部件必须分时使用总线发送信息,保证总线上的信息在任何时候都唯一
- 总线上的各个部件可同时接收总线上的信息。
3.4.2总线的分类
- 按连接部件分类:
CPU内部总线:即内总线,是CPU内部各部件之间的信息传送线。
系统总线:指连接CPU与主存或I/O接口之间的信息传送线,它是连接整机系统的基础。
通信总线:主要是用于计算机系统之间或计算机与外部设备之间的通信。 - 按数据传送方式分类
并行总线:采用多根数据线同时传送一个字节或一个字的所有位。
串行总线:采用一根数据线一位一位地传送数据。 - 按总线的通信定时方式分类
同步总线:指互联的部件或设备均通过统一的时钟进行同步,即所有的互联的部件或设备都必须使用同一个时钟(同步时钟),在规定的时钟节拍内进行规定的总线操作,来完成部件或设备之间的信息交换。
异步总线:指没有统一的时钟而依靠各部件或设备内部定时操作,所有部件或设备是以信号握手的方式进行,即发送设备和接受设备互用请求(request)和确认(acknowledgement)信号来协调动作,总线操作时序不是固定的。 - 按总线上传送的信息类型分
地址总线:当CPU访问存储器或I/O设备时,它指明将要访问的存储器单元或I/O设备的地址。n根线联合传送一个n位的地址值。
数据总线:当CPU访问存储器或I/O设备时,它用来传送数据。各条线合起来传输一个单独的多位值。
控制总线:它是一组独立的控制信号的集合。一组单向信号的集合。
3.4.3总线的连接方式
-
单总线结构(微、小型机的典型结构)
-
双总线结构
-
三总线结构
4.指令系统级的CPU界面
一个CPU提供给用户使用时,不可能要求用户在逻辑线路中的每个信号上进行操作,而是向用户提供一些由信号集成的指令供用户使用。
某类CPU所能够提供的所有指令的集合,就称为该类CPU的指令系统。
所以,指令系统是CPU向用户提供的一个界面,通常也称为是该类CPU的机器语言。
4.1指令的语法
指令是计算机能够识别和执行的操作命令,每一条指令都明确地规定了该指令所要完成的操作以及完成操作所要用到的操作数据。 一条完整的指令称为一个指令字,它主要描述进行何种操作、使用哪一组操作数以及下一条指令在何处。
4.2指令的种类
- 数据处理类指令:算术运算指令、逻辑指令、移位指令、比较指令等。
- 数据传送类指令:存储器传送指令(取数、存数)、输入/输出指令、内部传送指令(寄存器之间)等。
- 程序控制类指令:无条件转移指令、条件转移指令、例行子程序指令、停止或空操作指令等。
- 状态管理类指令:
4.3 使用指令系统解题的过程
- 程序设计
- 程序编辑并分配存储单元
- 送程序和原始数据到存储器中
- 执行程序
5 操作系统级的计算机系统界面
5.1 操作系统的概念
操作系统是一个管理计算机资源,为程序员提供服务以及调度其它程序执行的系统软件。从计算机系统的层次结构来看,操作系统是建立在计算机硬件上的第一层软件,是计算机系统中所有其他软件的基础。
从整体上看,一个计算机系统由两大部分组成:硬件和对其进行管理的软件——操作系统。
5.2 操作系统的目标与功能
操作系统的两大主要目标:
-
方便:使计算机使用起来更方便;
-
有效:能有效地使用计算机系统的资源。
为实现这两大目标,操作系统须提供接口和资源管理器的功能。 -
用户与计算机之间的接口功能
层面 | 描述 |
---|---|
最终用户层面 | 将计算机系统视为一个应用系统,用户不关心计算机的体系结构。 |
程序员层面 | 1)利用操作系统中的系统程序开发应用程序,并在运行应用程序时调用系统程序执行特定功能; 2)可以自行开发机器指令构成的应用程序管理硬件,但过程复杂。通常提供系统程序和实用程序以简化任务,用于程序创建、文件管理和I/O设备控制。 |
接口功能角度 | 1)对程序员屏蔽硬件细节,提供使用计算机系统的方便接口; 2)作为中间软件,使程序员和应用程序易于访问和使用系统资源与服务。 |
- 资源管理器功能
类型 | 描述 |
---|---|
主存 | 操作系统的一部分驻留在主存中,其余部分用于存放用户程序和数据。主存资源的分配由操作系统和处理器中的存储管理部件联合控制。 |
I/O设备 | 操作系统决定什么时候I/O设备被哪个可执行程序使用,并控制文件的存取和使用。 |
处理器 | 处理器也是一种资源,操作系统必须决定分配多少处理器时间给用户程序。 |
5.3 操作系统的类型
类型 | 描述 |
---|---|
交互式系统 | 用户或程序员通过键盘或显示器终端直接与计算机交互,请求执行作业或处理事务。用户可在作业执行期间与计算机通信。 |
批处理系统 | 用户程序打包后由计算机操作员成批提交处理,程序处理结束后打印结果。 |
单道程序系统 | 处理器一次只运行一个程序。 |
多道程序系统 | 处理器一次处理多个程序,通过让处理器尽可能地忙碌,将多个程序同时装入主存,处理器在它们中间快速切换。 |
5.3.1早期操作系统
描述 | |
---|---|
背景 | 没有操作系统,程序员直接与硬件交互 |
控制方式 | 控制台完成,由指示灯、触发器、输入设备和打印机组成 |
工作过程 | 输入设备(如卡片机)装入机器代码程序执行。如果程序出错中止,则指示灯指示错误状态。程序员检查寄存器和主存以确定出错原因。如果程序能正常完成,则结果由打印机打印输出 |
调度问题 | 用户可以签约一段时间。如果用户签约了1小时而实际只用了45分钟完成任务,则浪费了处理器的时间;如果用户遇到问题在分配的时间内不能完成,则只能停止任务的执行,等解决问题后再去执行该任务 |
安装的时间问题 | 一个单一程序称为作业,一个作业的完成分为多个步骤,包括把编译程序和源程序装入内存;保存已编译的目标程序;然后连接目标程序和库函数。每一步都要安装或卸下磁带或卡片组。如果出错,用户只得从头开始重新安装一遍,于是大量的时间浪费在程序安装上。 |
5.3.2早期批处理系统
描述 | |
---|---|
背景 | 早期处理器非常昂贵,要求高利用率,但调度和安装浪费时间 |
批处理系统(监控程序) | 用户不再直接操作机器,而是将作业提交在卡片上或磁带上,由计算机操作人员按顺序把作业成批地放在一起,然后放到输入设备上。由监控程序执行这些任务。 |
监控程序 | 监控程序大部分驻留在主存中,并随时可执行,称为常驻监控程序 |
作业调度步骤 | 1)监控程序从输入设备读入一个作业,把它存储到用户程序区,并把控制权移交给作业,执行作业功能; 2)作业完成后,控制权交回给监控程序以读入下一个作业,然后打印出每个作业结果给用户。 |
监控程序控制 | 监控程序控制作业的执行顺序 |
|
5.3.3多道程序批处理系统
尽管简单的批处理操作系统提供了自动作业序列,但处理器仍经常空闲。
问题:I/O设备的速度比处理器要慢,导致计算机花费96%以上的时间等待I/O设备传送数据。
解决方法:若存储空间足够装载操作系统和两个用户程序,则当一个作业需等待I/O时,处理器可以转去执行另一个作业,而不必等待I/O。
描述 | |
---|---|
多道程序设计的批处理系统 | 必须依赖于计算机的硬件特性,最显著的附加特点是其硬件支持I/O中断和DMA |
硬件支持 | 当一个作业进行到输入/输出操作时,处理器为一个作业发送一个I/O命令,让设备控制器执行I/O操作,处理器则继续执行另一个作业。当I/O操作完成时,处理器被中断,转而执行中断处理程序,然后操作系统再去控制另一个作业 |
多道程序系统复杂性 | 更复杂,需要以下机制和算法: |
存储管理 | 1)作业运行前必须存入内存,需要存储管理机制 |
调度算法 | 2)如果有几个作业准备就绪,必须决定先运行哪一个,这就需要调度算法 |
5.3.4分时操作系统
产生原因:用户希望能以联机方式进行人机会话
分时技术:把处理机时间划分成很短的时间片(如几毫秒)轮流地分配给各个联机作业使用。
6.计算机系统评价与发展
6.1现代计算机的基本特征
- 能自动连续地工作
- 具有记忆功能和自动运算能力
- 高速运算
- 运算精度高
6.2 计算机的性能
术语 | 描述 |
---|---|
CPU字长 | 指CPU一次所能处理的二进制数据的位数。 |
吞吐量 | 流入、处理和流出系统的信息的速率。 |
主存容量 | 主存用以直接与CPU交换信息。主存容量大,处理问题的能力就强。 |
响应时间 | 指完成一个任务的全部时间,包括磁盘访问时间、存储器访问时间、I/O访问时间等。 |
主频/时钟周期 | CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟。 |
软、硬件配置及性能价格比 | 软、硬件配置包括外部设备的配备情况、指令系统的功能,以及操作系统功能的强弱、界面是否宜人,有无其它支持软件和应用软件等。性能价格比是人们对经济效益的选择,值越大越好。 |
RASIS特性 | 可靠性(Reliability)、可用性(Availability)、可维护性(Serviceability)、完整性(Integrity)和安全性(Security)统称RASIS。 |
兼容性 | 指系统或设备能否与其他系统或设备协同工作的能力。 |
友好性和环保 性 |
指系统或设备的易用性,以及在设计和使用过程中对环境的影响。 |
6.3 计算机系统结构的发展
具体地说,计算机技术的发展主要体现在如下3个方面:
- 计算机元器件的进步
- 计算机系统结构的发展
- 计算机应用技术发展。