第一章
计算机系统概论
|
本章摘要 |
·计算机硬件、软件的基本概念
·计算机系统的基本组成;
·计算机的工作过程;
·计算机系统的层次结构。
|
学习目标 |
本章需掌握的主要内容:
1.计算机的发展、分类、特点与应用;
2.计算机硬件和软件的基本概念;
3.计算机硬件系统的组织,各部分的功能及其组成框图;
4.计算机的工作过程,即执行指令的过程;
5.冯.努依曼型计算机的设计思想;
6.计算机系统的层次结构。
对计算机有一个总体的概念,以便展开后续各章内容。
第一节 计算机的分类和应用
|
计算机分类 |
· 模拟计算机:处理在时间和数值上连续的量
· 数字计算机:处理离散的量
|
数字计算机分类 |
· 专用计算机:如工控机、DSP、IOP等
· 通用计算机:GPP
|
通用机分类 |
巨型机
大型机
小型机
微型机
单片机
|
计算机应用 |
· 科学计算 密码破译,天气预报,地质勘探,卫星轨道计算
· 自动控制 机器人以及各种自动化装备,温度调节,阀门控制
· 测量和测试 高精度测量、在恶劣条件下的测量
· 辅助设计/分析/制造/教学 机械CAD,建筑CAD,计算机辅助教学CAI
· 信息处理 数据库管理,企业信息管理,统计汇总、办公自动化
· 智能模拟 人工智能、专家系统、自学习
第二节
计算机的硬件
|
计算机组成 |
数字计算机硬件系统由五大部分组成:运算器、控制器、存储器、输入设备和输出设备。各部分相互连接框图为:

通常,在计算机中采用总线方式连接各大部件,框图如下:
计算机各部件间需要大量而高速地交换信息,才能实现总体功能。例如:
· CPU从存储器读取指令、数据,经过运算以后又将结果存入存储器;
· CPU与I/O设备交换数据;
· CPU从接口中读取设备的状态信息,以了解设备工作的现状;
· CPU向接口输出命令启动和控制设备工作;
通过系统总线所包含的三个子总线(数据总线、地址总线和控制总线)可有效地提供高速、
可靠的信息传输通道。
CPU
通常把运算器和控制器称为中央处理器(简称CPU),CPU是计算机的核心部件。运算器的基本任务是数据加工,进行算术运算和逻辑运算;控制器主要功能是指令控制、操作控制和时间控制,依据指令指挥各部件有序有效工作。
CPU的型号有很多,依制造商及性能的不同而不同,例Cyrix 486、intel PentiumIII、intel PentiumIV等。CPU主振频率是决定计算机运算速度的主要因素,以兆赫(MHz)来度量,1MHz表示每秒一百万周期。每一型号的CPU都有几种速度模式。速度越快,计算机的计算速度就越快。
(1)运算器
运算器是一个数据加工部件,主要完成二进制算术运算及逻辑运算。运算器的位数越多, 计算的精度就越高,但是所费的电子器件也越多,成本就高。目前计算机的运算长度一般为8位、16位、32位或64位。
(2)控制器
控制器是计算机的决策部件,通过指令译码产生各操作控制信号,控制各部件有条不紊地工作。具体功能是:依次从内存中读出一系列指令,并进行解释和处理,然后向计算机各部件发出相应的控制信号,有序地控制各部件完成规定的操作。同时计算机还应具有响应外部突发事件的能力,控制器能在适当的时刻响应这些外部的请求,并作出处理。
存储器
· 计算机的存储器用来存储以二进制形式表示的数据和程序。
· 设计目标: 容量大、速度快、成本低。
· 为解决容量与成本的矛盾:将存储器由内存储器和外存储器构成。
内存储器:由半导体存储器构成
特点:速度快,但成本高
程序和数据运行时,存放在内存中
外存储器:由磁盘、磁带、光盘等构成
特点:容量大、成本低,可脱机保存信息存放暂时不用的程序和数据
· 为解决速度和成本的矛盾:将内存储器由主存和Cache构成。
Cache : 即高速缓冲存储器,由速度更快的半导体存储芯片构成,以便与CPU速度匹配。 因为价格较高,所以容量较小,作为主存的一个副本存放CPU最近经常访问的一些信息。
因此,计算机存储器是一个存储体系,可由三级存储器构成,即:主存、Cache、外存.
(1)主存储器
主存储器安装在主板上,可直接与CPU交换信息,因此通常存放常用的和当前要用的数据和 程序。主存储器一般由半导体器件构成,最基本的单元是一个记忆二进制数码(0或1)的记忆 元件,它所记忆的是二进制信息中的一个数位(bit),称为存储元。若干个存储元组成一个存储单元,微机中的一个存储单元通常为8
bit,存放一个"字节"(Byte,简称B)的二进制信息。
1 Byte = 8 bit
微机中,存储器容量常以字节为单位计量,常用单位有:KB、MB、GB、TB,这里的K是Kilo (千)的缩写,但它表示
。换算关系如下:
1024 B = 1KB
1024 KB = 1MB
1024 MB = 1GB
1024 GB = 1TB
存储器的操作是一个不断存入与取出的过程,我们把数据和程序存入的操作称为"写"操 作;反之称为"读"操作。存储器的读写操作是按地址进行的。计算机以存储单元进行编址,即 每个存储单元有一个唯一的地址编号。我们以地址来访问存储器,就能保证正确无误地读写信息 了。访问存储器的地址信号是由CPU按执行指令的需要给出,并通过地址总线送往存储器的;而 数据则是通过数据总线进行传送的。
计算机的主存储器由两类存储器构成:
① 随机存取存储器(Random Access Memory),简称RAM。这类存储器可读可写,可供随机使 用。但RAM是一种易失性存储器,一旦关机断电,RAM中所存信息就会全部消失。
② 只读存储器(Read Only Memory),简称ROM。这类存储器只能读出不能写入,它所存放的信 息是由专用编程器预先写入的,计算机在工作中只能读出。ROM是非易失性存储器,即使断
电,其所存信息也不会丢失。我们常用它来存放一些数据、表格、基本设备驱动程序或监控 程序。
(2)Cache
随着CPU速度的提高,我们希望存储器的速度也能与之相匹配。但是如果将大容量的内存储 器整体提高速度,显然成本就会明显上升。为了解决速度与成本的矛盾,引入了Cache。现在计 算机中的Cache又可分为CPU片内Cache(主高速缓存)和片外Cache(次高速缓存),CPU可从片内 Cache、片外Cache
或主存储器中获取信息。片内Cache由最快的存储器组成,这些芯片内保存 了少量的CPU最近使用过的信息。当CPU需要访问存储器时,首先查看片内Cache,片内Cache提 供了CPU获取信息的最快形式。片外Cache由主板上的快速SRAM组成,这些芯片储存了CPU最近 使用过的信息。当CPU在片内Cache中找不到所需信息时,则到片外Cache中寻找。片外Cache比 片内Cache速度稍慢,但比主存储器要快得多。如果CPU在片外Cache
还找不到所需信息时,则 再到较慢的主存储器中寻找。每次CPU访问较慢的主存储器都将把该信息所在块的内容复制到更快的Cache行中(主存块的大小等于Cache行的大小)。通过不断更新,使Cache总含有最近被CPU用过的信息。Cache的引入,减少了CPU到主存储器获取信息的时间。
(3)外存储器
计算机接有外存储器,以扩大存储容量。计算机的外存储器有软盘(Floppy Disk)存储设 备、硬盘(Hard Disk)存储设备和光盘(CD-ROM)存储设备等。计算机的外存储器也可归类为输 入输出设备,因为它不能直接与CPU交换信息,所存信息必须先通过接口送入内存,才能由
CPU访问。
① 软盘存储设备
软盘是一种利用磁记录存储数据的可更换设备。目前常用的是3.5英寸软盘,一张盘片的存 储容量为1.44MB。我们可利用软盘片传输数据,将数据从一台计算机传输到另一台计算机中; 也可用来备份(Backup)数据,当需要时再重新输入计算机。
在使用软盘片存储数据之前,必须将其格式化。格式化是将软盘片划分磁道和扇区,以便于 计算机存储和查找数据。通常在软盘片上设有一个"写保护"的小滑块,如将它滑到"写保护"位 置,则禁止对软盘进行写操作,目的是保护盘内所存信息不被破坏。软盘要远离磁场,也不要放 置在太冷或太热的地方,否则将会丢失盘片内信息。
② 硬盘存储设备
硬盘与软盘一样也是利用磁记录存储数据的。硬盘驱动器在一叠旋转的磁盘上利用读/写头 读取和记录数据,微机中使用的硬盘存储设备其盘片和驱动器通常封装在一起。它的存储容量可 达几十个GB。
③ 光盘存储设备
光盘是利用光学原理记录数据的。光盘驱动器是一种读取存储在光盘上数据的设备。大多数 光盘驱动器放置在主机箱内,也有外置式光盘驱动器,通过电缆与计算机相连。
一张光盘能存储600MB以上的数据(相当于一套百科全书)。这为我们装载新程序提供了方便。 一个原需要二十多张软盘才能装载完的程序现可轻而易举地放在一张光盘上了。光盘主要用来存 储多媒体信息,通常由厂家将程序、文字、图形、照片、声音等结合在一起,事先刻录好作为产 品出售,从而为信息交流提供了很有效的方法。
输入输出设备
输入输出设备是计算机与外界联系的桥梁,外设通过接口与系统总线相连。
一般将输入设备、输出设备以及外存储器统称外围设备(Peripheral),外围设备的种类很 多,计算机可根据应用需要配接。
(1)输入设备
输入设备是将人们要求计算机处理的各种信息,转换为计算机能接受的二进制码送入内存。常用的输入设备有:键盘(Keyboard)、鼠标(Mouse)、光笔、扫描仪(Scanner)等。
键盘和鼠标通常是计算机配置的基本设备。
· 利用键盘键入字母、数字、符号,可向计算机输入数据和指令;
· 鼠标是一种能让你在屏幕上定位并选择项目的手动设备,当你在桌子上移动鼠标时,
屏幕、上的鼠标指针也将按同样的方向移动,以便你选择所需的项目。
(2)输出设备
输出设备是将计算机处理的结果以人们所希望的形式(数字、符号、图象、声音等)输出。常用的输出设备有:显示器(Monitor)、打印机(Printer)、绘图仪(Plotter)等。而
显示器通常是计算机配置的基本设备。
· 显示器与视频显示卡协同工作,可将计算机运行的结果以文本或图象的形式显示出来。
· 当我们需要在纸上打印信息时,就要使用打印机。常用的打印机有点阵式打印机、激光打印机和喷墨打印机。
总线
总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。在计算机工作时,机内有两股信息流,一股是数据流,这是被加工的对象;另一股是控制流,是控制器发往各部件的控制命令。两股信息流通过总线有序流动,使计算机自动工作。
|
冯·诺依曼 |
计算机组成原理讨论的基础就是冯·诺依曼体系结构的计算机,其基本设计思想就是存储程序和程序控制,具有以下特点:
(1) 采用二进制形式表示数据和指令
在存储程序的计算机中,数据和指令都是以二进制形式存储在存储器中的。从存储器存储的内容来看两者并无区别.都是由0和1组成的代码序列,只是各自约定的含义不同而已。计算机在读取指令时,把从计算机读到的信息看作是指令;而在读取数据时,把从计算机读到的信息看作是操作数。数据和指令在软件编制中就已加以区分,所以正常情况下两者不会产生混乱。有时我们也把存储在存储器中的数据和指令统称为数据,因为程序信息本身也可以作为被处理的对象,进行加工处理,例如对照程序进行编译,就是将源程序当作被加工处理的对象。
(2) 采用存储程序方式
这是冯·诺依曼思想的核心内容。如前所述,它意味着事先编制程序,事先将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令且执行。这是计算机能高速自动运行的基础。计算机的工作体现为执行程序,计算机功能的扩展在很大程度上也体现为所存储程序的扩展。计算机的许多具体工作方式也是由此派生的。
冯·诺依曼机的这种工作方式,可称为控制流(指令流)驱动方式。即按照指令的执行序列,依次读取指令,然后根据指令所含的控制信息,调用数据进行处理。因此在执行程序的过程中,始终以控制信息流为驱动工作的因素,而数据信息流则是被动地被调用处理。为了控制指令序列的执行顺序,设置一个程序(指令)计数器PC(Program
Counter),让它存放当前指令所在的存储单元的地址。如果程序现在是顺序执行的,每取出一条指令后PC内容加l,指示下一条指令该从何处取得。如果程序将转移到某处,就将转移的目标地址送入PC,以便按新地址读取后继指令。所以,PC就像一个指针,一直指示着程序的执行进程,也就是指示控制流的形成。虽然程序与数据都采用二进制代码,仍可按照PC的内容作为地址读取指令,再按照指令给出的操作数地址去读取数据。由于多数情况下程序是顺序执行的,所以大多数指令需要依次地紧挨着存放,除了个别即将使用的数据可以紧挨着指令存放外、一般将指令和数据分别存放在该程序区的不同区域内。
(3) 由运算器、存储器、控制器、输入设备和输出设备五大部件组成计算机系统,并规定了这五部分的基本功能。
上述这些概念奠定了现代计算机的基本结构思想,到目前为止,绝大多数计算机仍沿用这一体制,即冯·诺依曼型计算机体制。
|
非诺依曼化 |
必须看到,传统的冯·诺依曼型计算机从本质上讲是采取串行顺序处理的工作机制,即使有关数据巳经准备好,也必须逐条执行指令序列。而提高计算机性能的根本方向之一是并行处理。因此,近年来人们谋求突破传统冯·诺依曼体制的束缚,这种努力被称为非诺依曼化。对所谓非诺依曼化的探讨仍在争议中,一般认为它表现在以下三个方面的努力。
(1)在冯·诺依曼体制范畴内,对传统冯·诺依曼机进行改造,如采用多个处理部件形成流水处理,
依靠时间上的重叠提高处理效率;又如组成阵列机结构,形成单指令流多数据流,提高处理速度。这些方向已比较成熟,成为标准结构;
(2)用多个冯·诺依曼机组成多机系统,支持并行算法结构。这方面的研究目前比较活跃;
(3)从根本上改变冯·诺依曼机的控制流驱动方式。例如,采用数据流驱动工作方式的数据流计算机,只要数据已经准备好,有关的指令就可并行地执行。这是真正非诺依曼化的计算机,它为并行处理开辟了新的前景,但由于控制的复杂性,仍处于实验探索之中。
第三节 计算机的软件
计算机硬件是计算机工作的物理基础,但是仅有硬件是无法发挥计算机作用的,计算机的所有工
作必须在软件控制下完成。
|
分类 |
·系统软件
操作系统,诊断程序,编译/解释程序,网络通信程序,数据库管理系统等
·应用软件
办公自动化,数据处理,控制软件,信号处理DSP,印刷排版,CAD,音像处理等
|
软件的发展演变 |
手编程序(目的程序)→汇编语言→高级语言(算法语言)
|
高级语言与机器语言的转换 |
转换工具:编译系统、解释系统
第四节 计算机系统的层次结构
|
计算机系统的层次结构 |
计算机系统是一个有硬件、软件组成的多级层次结构。(教科书P16 图1.6)
第1级: 微程序级 硬件级。 执行一系列微指令,解释执行机器指令
第2级: 物理机器级 硬件级。 执行机器指令,完成相应的功能
第3级: 操作系统级 虚拟机。 为系统的操作和程序设计提供平台
第4级: 汇编语言级 虚拟机。 为程序员提供一种符号形式语言
第5级: 高级语言级 虚拟机。 提供与计算机结构无关的程序设计语言
· 每一级上都能进行程序设计,且得到下面各级的支持;
· 第1级~第3级所用语言基本为二进制语言,机器执行和解释容易;
· 第4级、第5级采用符号语言,有利于不了解硬件的人使用计算机;
· 级数越低越靠近硬件,级数越高使用计算机越方便;
· 从语言功能层次进行划分,引入虚拟机概念,有助于了解计算机和设计计算机。
第三章 运算方法和运算器
|
本章摘要 |
· 数值数据和非数值数据在计算机中的表示方法;
· 定点数加、减、乘、除运算方法;
· 浮点数加、减、乘、除运算方法;
· 定点、浮点运算器的组成及工作原理。
|
学习目标 |
本章需掌握的主要内容:
1.数值数据和非数值数据的表示方法,包括数的表示范围、精度和
特点;
2.定点加法、减法运算;理解溢出的概念,掌握溢出的检测方法;
3.原码乘除运算方法及原码阵列乘法器、阵列除法器的工作原理;
4.定点运算器的组成和结构;
5.算术逻辑运算的实现;
6.浮点运算方法;浮点运算流水线技术。
对计算机有一个总体的概念,以便展开后续各章内容。
第一节
数据与文字的表示方法
|
数据表示法 |
· 在选择计算机数的表示方式时,应考虑以下几个因素:
(1)所表示数的类型(小数、整数、实数或复数);
(2)数值表示的范围;
(3)数值表示的精确度要求;
(4)数据存储和处理所需要的硬件代价。
定点数
数值数据 ![]()
浮点数
数据信息 ![]()
字符
非数值数据
汉字
图形
等等
|
数值数据表示 |
数值数据表示三要素: 数的进位制
数的进位制:常用二进制、八进制、十六进制和十进制
· 计算机中采用二进制,为书写方便可采用八进制、十六进制。而人们在日常生活中习惯
使用十进制。
· 进位制转换
任意进制转换为十进制数
(1)
将任意进制数按权展开;
(2)
将多项式各项相加求和。
十进制数转换为任意进制数
整数部分:除以基数取余数,至到商为零。
小数部分:乘以基数整数,至到小数部分为零或达到所需的精度。
数的编码形式
数的表示格式
· 定点数格式:定点格式容许的数值范围有限,但要求的处理硬件比较简单;
· 浮点数格式:容许的数值范围很大,但要求的处理硬件比较复杂。
1.定点数表示法
定点指小数点的位置固定,为了处理方便,一般分为定点纯整数和纯小数。
定点纯整数:
↑小数点位置(隐含)
定点纯小数:
↑小数点位置(隐含)
2.浮点数表示法
· 小数点的位置是浮动的,其思想来源于科学计数法,一个任意进制数可写为:
其中: m:尾数,为纯小数
e: 指数,为一个整数
R: 基数,为2的幂次
· 机器码构成:阶码:表示指数,采用定点整数
尾数:采用定点纯小数表示;
格式:(教科书P20): · 一般表示法
![]()
· IEEE754标准

· 短实数(32位浮点数): ![]()
· 长实数(64位浮点数): ![]()
浮点数的表示范围:

3. 十进制数串的表示方法
由于人们对十进制比较熟悉,因此在计算机中增加了对十进制运算的支持。
两种方式:
· 将十进制数变为二进制数运算,输出时再由二进制变为十进制。
· 直接的十进制运算要解决的问题:① 十进制数的表示:BCD码
② 十进制数的存放形式
· 非压缩方式---字符串形式
通常用于非数值计算领域
· 压缩的十进制数串:
分为定长和不定长两种,需要相应的
十进制运算器和指令支持。
4. 自定义数据表示
· 标志符数据表示
· 描述符数据表示
区别: · 标志符与每个数据相连,二者合起来存放在一个存储单元;
· 描述符要和数据分开存放;
· 描述符表示中,先访问描述符,后访问数据,至少增加一
次访存;
· 描述符是程序的一部分,而不是数据的一部分。
|
非数值数据表示 |
1. 字符表示: ASCII码(教科书P28表2.1)
2. 汉字表示
汉字因种类繁多,其输入,存储、处理和输出都应采取相应的汉字处理技术。
3. 其他非数值数据表示:例声音、图形、图像等,这里不展开讨论。
|
校验码 |
最简单、最广泛应用的校验码是采用一位校验位的奇偶校验码
定义:教科书P30 奇校验位:公式2.15
偶校验位:公式2.16
|
第二节 定点加法、减法运算 |
采用二进制补码加法
加法: [X+Y]补=[X]补+[Y]补 (mod 2)
减法: [X-Y]补=[X]补+[-Y]补 (mod 2)
|
溢出概念与检测方法 |
1.溢出原因
在计算机中,由于机器码的位数是给定的,即数的表示范围是有限的,所以当运算结果超出给定的取值范围时,便产生了溢出。
2.溢出产生的条件
仅当两加数符号相同时,运算结果可能发生溢出。
3.检验溢出的方法
· 单符号位法:(1) 判两加数的符号位与结果的符号位是否相异,相异则溢出:
式中:X0、Y0表示两加数的符号位,Z0表示和的符号位
判断电路:

(2)判是否同时产生最高数位进位与符号位进位,仅产生一个进位时
则溢出:
V=Cn
Cn-1
式中:Cn表示符号位进位;Cn-1表示最高数位进位
判断电路:

· 双符号位法(变形码): 取双符号位运算,当结果的两个符号位相异时,则产生溢出
(结果符号取高位符号):
00.xxxx 11.xxxx
+ 00.xxxx 或 + 11.xxxx
------------ --------------
00.xxxx 11.xxxx
V=Z0
Z0'
式中:X0、Y0、Z0表示被加数、加数、和数双符号位中
第一符号位;X0'、y0'、Z0'则表示被加数、加
数、和数的第二符号位
判断电路:

缺点:需要增加1位加法器电路
|
基本的二进制加法/减法器 |
进位处理方式: · 串行进位(行波进位)
· 并行进位
|
第三节 定点乘法运算 |
原码: 符号位:单独处理(异或产生)
数值位:求两数绝对值之积
补码: 符号位加入一起运算,参加运算的数是补码
|
原码并行乘法 |
1.不带符号的阵列乘法器
· 求解: 第一步:由"与门"求出各乘积项(位积)aibj,称为被加数;
第二步:由阵列乘法器产生最后乘积。
· 组成: 实现n位×n位乘法时,需要n(n-1)个全加器和n2个"与"门。
· 乘法时间估算:设Ta为"与门"传输时间;
Tf为全加器(FA)的进位传输延迟时间。
假定:Ta=Tf=2T
则:tm = Ta + [(n-1)+(n-1)]×Tf = 2T + (2n-2)×2T=(4n-2)T
↑ 考虑最恶劣的进位延迟,从P1进位产
生,串行传送至最后产生P9进位,共
延迟(n-1)+(n-1)个Tf时间。
· 适用: 原码乘法运算
2.带符号的阵列乘法器 (教科书P41图2.7):
工作原理: · 首先取补(算前求补)→不带符号乘法→结果取补(算后求补)
· 符号单独处理
|
码并行乘法 |
思考:能否直接进行补码乘法运算,而不需算前算后求补,以提高运算速度?
关键:找出补码与真值的关系。
1. 补码与真值的关系
设[N]补=an-1 an-2…a1 a0
正数(N≧0): an-1=0 [N]补 = N = 0×
+
an-2…a1 a0
负数(N﹤0): an-1=1 [N]补 =
+ N
N = -
+
[N]补= -
+
1×
+an-2…a1 a0
= -1×
+ an-2…a1 a0
∴ 补码与真值的转换公式为:教科书P42公式2.29、2.30。
2. 一般化的加法器(考虑有负权输入的,即可以做减法运算):
四种输入输出关系见教科书P43表2.33.
3.直接补码阵列除法器:节省了取补时间,大大的加快了乘法的速度
适用: 补码乘法运算
特点: 所需时间多,硬件复杂
|
第四节 定点除法运算 |
|
原码除法算法原理 |
· 同原码乘法一样:
符号位: 单独处理(异或产生)
数值位:求两数绝对值之商
二进制除法公式:教科书P45公式
· 两种运算方法:
① 恢复余数法:运算步骤不确定,控制复杂,不适合计算机运算。
② 加减交替法:不恢复余数,运算步骤确定,适合计算机操作。
法则:余数为正:商1,下一步作减法;
余数为负:商0,下一步作加法。
|
并行除法器 |
并行除法器也称阵列除法器。
1. 种类:
· 恢复余数阵列除法器
· 不恢复余数阵列除法器(采用加减交替法原理)
· 补码阵列除法器
2.不恢复余数阵列除法器
· 结构图见教科书P47图2.9(b),CAS的结构,图2.9(a)。
· 工作原理分析:
例: 设:X=0.101001 ,Y=0.111
求:X÷Y
解:[-Y]补 = 1.001
(1)输入X、Y值
X值101001分别送至X1~X6;
Y值111分别送至Y1~Y3。
(2)第一步运算:
第一步P总是为1,即被除数小于除数,除法可进行
∵ P=1
∴ 第一行CAS作减法运算,由Si产生结果,移位送第二行CAS。
0.101001 加减交替法则:
+ [-Y]补 1.001 余数为正:商1,下一步作减法;
------------------ 余数为负:商0,下一步作加法。
1.110001 这步运算结果余数小于0,应商
0,且下一步应作加法。现由Ci+1 控制。Ci+1=0商0;且送P端,下
无进位Ci-1=1 ·商0 (q0=1) 步作加法。
·送第二行CAS的P端
(3)第二步运算:
∵ P=0
∴ 第二行CAS作加法运算,由Si产生结果,送第三行CAS。
第一行运算结果: 1.110001
移位送第二行CAS: 1.10001 这步运算结果余数大于0,应商1,
+Y 0.111 且下一步应作加法。现由Ci+1控制。
--------------- Ci+1=1:商1;且送下一行CAS的P
0.01101 端,控制下一步运算作减法。
有进位Ci-1=1 ·商1 (q1=1)
·送第三行CAS的P端
(4)第三步运算:
∵ P=1
∴ 第三行CAS作减法运算,由Si产生结果,送第四行CAS。
第二行运算结果: 0.01101
移位送第三行CAS: 0.1101
+ [-Y]补 1.001
----------------
1.1111
无进位Ci-1=1 ·商0 (q2=1)
·送第四行CAS的P端
(5)第四步运算:
∵ P=0
∴ 第四行CAS作加法运算,由Si产生余数r3、r4、r5、r6。
第三行运算结果: 1.1111
移位送第四行CAS: 1.111
+ Y 0.111
----------------
0.110
有进位Ci-1=1 → 商1 (q3=1)
r3、r4、r5、r6 = 0110
故得:
商q = q0.q1q2q3 = 0.101
余数r = 0.00 r3r4r5r6 = 0.000110
第五节 定点运算器的组成
|
辑运算 |
· 逻辑数概念:不带符号的二进制数。
· 基本逻辑运算:逻辑非、逻辑加、逻辑乘、逻辑异
|
多功能算术/逻辑运算单元(ALU) |
ALU是运算器的核心部件。
举例:74181ALU,可进行四位并行算术/逻辑运算。
特点:· 多功能:① 控制端M用来控制作算术运算还是逻辑运算
M=0时,为算术运算;
M=1时,为逻辑运算。
② 正逻辑工作或负逻辑工作
正逻辑:"逻辑1"用高电平表示;
"逻辑0"用低电平表示;
负逻辑:"逻辑1"用低电平表示;
"逻辑0"用高电平表示;
③ 4个工作方式选择端
· 快速运算:片内采用先行进位方式
|
先行进位部件(CLA) |
先行进位部件(CLA)可完成ALU的并行级联,如:CLA74182可完成74181ALU的并行级联。74181ALU设置了P和G两个本组先行进位输出端,如果将四片74181的P、G输出端送入到74182先行进位部件(CLA),就可实现第二级的先行进位,即组与组之间的先行进位(参考教科书P56图2.13)。
|
内部总线 |
· 总线按功能分类,可分为: 内部总线
外部总线(系统总线)
通信总线
· 总线按传输特性分类,可分为: 单向传输总线 例:地址总线
控制总线
双向传输总线 例:数据总线
· 带锁存器的总线可实现总线的复用。
|
定点运算器基本结构 |
运算器包括ALU、阵列乘除器件、寄存器、多路开关、三态缓冲器、数据总线等逻辑部件。运算器的设计,主要是围绕着ALU和寄存器同数据总线之间如何传送操作数和运算结果而进行的。
运算器的三种结构形式: 教科书P58图2.15
· 单总线结构的运算器:这种结构的主要缺点是操作速度较慢,但控制电路比较简单。
· 双总线结构的运算器:两操作数可分别通过两条总线送入ALU,操作时间较单总线结构的运算器快。
· 三总线结构的运算器:三总线结构的运算器的特点是操作时间快
|
第六节 浮点运算方法和浮点运算器 |
||
|
|
||
|
点运算步骤 |
||
1.浮点加减法的运算规则:见教科书P59公式2.39
2. 运算步骤:0操作数检查→对阶→尾数加/减→规格化→舍入→判溢
0操作数检查: 两操作数有一个为0,即可得知运算结果,不必再进行后续操作,以节省运算
时间。
对阶: 将两数的小数点位置对齐。
方法: 小阶对大阶
尾数加/减: 尾数进行二进制加/减运算
规格化: 左规: 尾数标准化。
方法: 尾数左移一位,阶码减1,直至达到规格化要求。
右规: 尾数运算结果已溢出(两符号位相异),需修正。
方法: 尾数右移一位,阶码加1。
舍入: 0舍1入法
"恒置1"法:只要尾数最低位为1或移出的几位中有为1 的数,则在最低位置1
判溢: 浮点数的溢出--判阶码是否溢出
· 阶码正常---运算正常结束;
· 阶码下溢---置运算结果为机器零;
· 阶码上溢---置溢出标志。

3.例) 设:两浮点数为x =
×0.1101,y =
×(-0.1010)。假设尾数在计算机中以补码
表示,以4位尾数,2位符号位表示;阶码2位以原码表示(2位阶符),求x+y。
解:
将x,y转换成浮点数据格式
[x]浮 = 00 01, 00.1101
[y]浮 = 00 11, 11.0110
(1)对阶:求得阶差为11-01=10,即2,因此将x的尾数右移两位,得:
[x]浮 = 00 11, 00.001101
(2)对尾数求和,得:
[x+y]浮 = 00 11, 11.100101
(3)规格化:由于符号位和第一位数相等,不是规格化数,向左规格化,得:
[x+y]浮 = 00 10, 11.001010
(4)舍入:采用0舍1入法。得:
[x+y]浮 = 00 10, 11.0011
(5)判溢: 数据无溢出,因此结果为
x+y =
×(-0.1101)
|
浮点运算流水线 |
流水线技术是在计算机上实现时间并行性的一种非常经济的方法,在浮点运算器中也得到广泛应用。
1. 流水线的实现
子任务的划分---决定流水线性能的关键因素
方法:将T任务划分为k个子任务
T = ﹛T1,T2,…Tk﹜
要求:各子任务处理时间尽量相同,避免空转
效率:子任务并行工作。实际上每一个子任务的总运算时间并没有缩短,而是系统的整体
运算时间缩短了。因此子任务划分越细,流水线效率越高,但硬件代价也越高。
2.线性流水线:
各子任务之间有一定的优先关系。若i﹤j, 则必须在Ti完成后,Tj才开始工作,这种线性优先关系的流水线称为线性流水线。
流水线子过程段处理时间t = max ﹛Ti﹜

浮点运算器实例
电路
