第1章 计算机基础
【考点一】 计算机的发展自从1946年2月现代电子计算机的鼻祖ENIAC(electronic numerical integrator and computer)在美国宾夕法尼亚大学问世以后,短短50年里,计算机技术经历了巨大的变革。
学术界经常使用器件(硬件)划分计算机的发展史,如第一代电子管计算机(1947~1957),第二代晶体管计算机(1958~1964),第三代集成电路计算机(1964~1972),第四代大规模集成电路计算机(1972~),目前提出了所谓的第五代(或新一代)计算机。
从1946年到50年代后期(1946~1957)为电子管计算机时期。计算机的元器件主要由电子管(vacuum tube)组成。其特点是:体积庞大、功耗高、运算速度较低。如ENIAC占地170m2,重达30t,功耗为140kW,有18000多个电子管,每秒钟能进行5000次加法计算。这一阶段,计算机主要用于军事、国防等尖端技术领域。除了ENIAC以外,1945年左右,冯·诺依曼等人在研制EDVAC(electronic discrete variable computer)时,提出了存储程序(stored-program)概念,奠定了以后计算机发展的基石。IBM公司1954年12月推出的IBM650是第一代计算机的代表。
从20世纪50年代后期到60年代中期(1958~1964)为晶体管计算机时期。自从1947年晶体管(transistor)在贝尔实验室诞生后,引发了一场影响深远的电子革命。体积小、功耗低、价格便宜的晶体管取代了电子管,不仅提高了计算机的性能,也使计算机在科研、商业等领域内广泛地被应用。第二代计算机不仅采用了晶体管器件,而且存储器改用速度更快的磁芯存储器;与此同时高级编程语言和系统软件的出现,也大大提高了计算机的性能和拓宽了其应用领域。这一时期计算机的代表主要有DEC公司1957年推出的PDP-I,IBM公司于1962年推出的7094以及CDC公司1964年研制成功的CDC6600。1969年CDC公司研制的DCD7600平均速度达到每秒千万次浮点运算。
从20世纪60年代中期到70年代初期(1965~1972)为集成电路计算机时代。第一代和第二代计算机均采用分离器件(discrete component)组成。集成电路(integrated circuit)的出现,宣告了第三代计算机的来临。由于采用了集成电路,使得计算机的制造成本迅速下降;同时因为逻辑和存储器件集成化的封装,大大提高了运行速度,功耗也随之下降;集成电路的使用,使得计算机内各部分的互联更加简单和可靠,计算机的体积也进一步缩小。这一时期的代表为IBM的system/360和DEC的PDP-8。
从20世纪70年代初期到70年代后期(1972~1978)为大规模集成电路(LSI)计算机时代。20世纪70年代初半导体存储器的出现,迅速取代了磁芯存储器,计算机的存储器向大容量、高速度的方向飞速发展。存储器芯片从1kbit,4kbit,16kbit,64kbit,256kbit,1Mbit,4Mbit发展到16Mbit(1992年)。
接着就进入了超大规模集成电路(VLSI)计算机时代。随着技术的日新月异,软件和通信的重要性也逐步上升,成为和硬件一样举足轻重的因素。同时系统结构的特点对计算机的性能也有巨大的影响(中断系统、Cache存储器、流水线技术等等)。实际上在第三代计算机以后,就很难找到一个统一的标准进行划分。
也可以从应用的观点来划分计算机的发展史。最早的应用是军事上的需要,如炮弹弹道计算,核武器的设计等;其次是广泛地用于科学计算,工程设计计算;第三阶段是大量用于管理,现在计算机的80%以上用于管理;再接着是计算机辅助设计(CAD)和辅助制造(CAM);进入90年代,计算机的应用已趋向于综合化和智能化,例如在一个企业里,计算机不仅用于科学计算、辅助设计和辅助制造,还用于辅助管理和辅助决策(MIS与DSS),以及办公自动化(OA)等等,使设计、生产自动化和管理自动化融为一体,形成所谓计算机集成制造系统(CIMS-Computer Integrated Manufacturing System),再发展下去就是工厂自动化(Factory Automation)或称无人工厂。DSS(Decision Support System)/ES(Expert System)利用人工智能(AI--Artifcation Intelligence)技术,让计算机代替人判断、推理,寻找最优方案,以辅助决策者决策。
目前更流行的是认为计算机的发展经过了三次浪潮(wave)。
计算机的发展第一个浪潮是单个主机(Mainframe)的时期,以IBM360、370为代表的大型机的出现,其特点是以批处理为主,主要用于大规模科学计算。
第二次浪潮为客户机/服务器(Client/Server)的时期,这时期出现了小型机、微型机和局域网。其特点是多用户分时处理。
第三个浪潮是70~80年代的微型计算机PC(Personal Computer)的出现。现在正处于第三次浪潮,网络计算机的时期,即以网络为中心或以网络为基础的计算机时期。
目前计算机向综合的方向发展,将各种计算机的特点和优点综合起来,并结合了多媒体技术,通信技术等,把人类带入了网络社会。
【考点二】计算机的分类及其应用计算机分类的方法大致可分如下几种:
1. 按信息的形式和处理方式分类计算机按信息的形式和处理方式可分为数字计算机、模拟计算机以及数字混合计算机。
2. 按计算机的用途分类计算机按用途可分为通用计算机和专用计算机。
3. 按计算机规模分类计算机按规模可划分为巨型机、大型机、中型机、小型机、微型机等。
计算机的应用如下:
①在科学计算中的应用
②在实时控制中的应用
③在数据处理中的应用
④计算机在辅助设计和辅助制造(CAD/CAM)中的应用
⑤办公自动化系统中的应用
【考点三】计算机硬件结构实际应用的计算机系统是由计算机硬件系统、软件系统以及通信网络系统组成的一个整体系统。计算机硬件系统是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成,它们都是看得见摸得着的,故通常称为"硬件"。计算机硬件结构也可以称为冯·诺伊曼结构,它由五大部件组成:主机部分由运算器、控制器、存储器组成,外设部分由输入设备和输出设备组成,其中核心部分部件是运算器。
计算机硬件之间的连接线路分为网状结构与总线结构,这里主要介绍总线(BUS)结构。总线结构有如下几种形式:
1. 以CPU为中心的双总线结构所谓总线实际上是一组并行的导线,导线的数目和计算机字长相同,1数据和指令通过总线传送。
2.以存储器为中心的双总线结构
3.单总线结构主要部件功能:
1. 运算器运算器是完成二进制编码的算术或逻辑运算的部件。运算器由累加器(用符号LA)、通用寄存器(用符号LB)和算术逻辑单元(用符号ALU)组成,核心是算术逻辑单元。
2. 存储器在计算机中的存储器包括内存储器(又叫主存储器或随机存储器,简称内存或主存)、外存储器、只读存储器和高速缓冲存储器以及寄存器等。随机存储器是按地址存取数据的,若地址总线共有20条地址线(A0~A19),即有20个二进制位,可形成220=1048576个地址(1兆地址)。
3. 控制器控制器由三大部件组成,它们是指令部件、时序部件和操作控制部件。
(1) 指令部件指令部件包括程序计数器PC、指令寄存器IR和指令译码器ID。
(2) 时序部件时序部件产生定时节拍,一般由时钟信号源、节拍发生器及微操作电路组成。
4. 输出寄存器输出寄存器用于存放输出结果,以便由它通过必要的接口(输出通道),在输出设备上输出运算结果。
5. 输入设备目前主要通过CRT终端和键盘实现人机对话。磁性设备阅读机、光学阅读机等可作为输入设备。
【考点四】计算机软件的功能及分类所谓软件是指为运行、维护、管理、应用计算机所编制的所有程序的总和。软件分为系统软件和应用软件。
系统软件包括计算机操作系统(Operation System)、计算机的各种管理程序、监控程序、调试程序、编辑程序以及各种语言的编译或解释程序等。应用软件是为解决各种实际问题而设计的程序。
1. 操作系统操作系统具有三大功能:管理计算机硬、软件资源,使之有效使用;组织协调计算机的运行,以增强系统的处理能力;提供人机接口,为用户提供方便。
操作系统具有的功能:
(1)作业操作。
(2)资源管理。
(3)中断处理。
(4)I/O处理。
(5)调度。
(6)错误处理。
(7)保护和保密处理。
(8)记帐。
操作系统的基本类型:
(1)批处理操作系统。
(2)分时系统。
(3)实时系统。
操作系统的管理功能主要内容:
(1)处理机管理。
(2)存储管理。
(3)文件管理。
(4)设备管理。
2.数据库管理系统数据库管理系统既可以认为是一个系统软件也可以认为是一个通用的应用软件。
目前有三种类型的数据库管理系统,故可存放三种模型的数据,这三种数据库管理系统分别为层次数据库、网状数据库和关系数据库。
2. 计算机网络软件计算机网络系统是通过通信线路连接的硬件、软件与数据集合的一个计算机系统。从硬件来说,除计算机作为网络的结点以外,还有如服务器(也可用一台计算机),网络适配器,终端控制器以及网络连接器等硬件设备;从软件来说,有网络操作系统,网络通信及协议软件,网络数据库管理系统等。
4.高级语言及语言处理器用户用高级语言编写的程序称源程序,源程序不能由计算机直接执行,必须翻译成机器能执行的语言--机器语言,这种翻译是由机器自动翻译的,"译员"称编译程序或编译器,当源程序输入计算机后,调用编译程序编译成机器语言(称目标程序),然后执行。还有一种语言处理程序叫解释程序,输入一条语句,翻译一条。现在已出现了第4代语言(4GL)和计算机辅助软件工具CASE。
5.常用的通用软件在数据处理、事务处理、报表处理中有许多通用软件,如字处理软件WPS、WORD,报表处理软件LOTUS 1-2-3等。
【考点五】计算机数据表示
1. 二进位计数制引入二进制数字系统的计算机结构和性能具有如下的优点:
(1)技术实现容易。
(2)二进制运算规则简单。
(3)计算机中二进制数的0、1数码与逻辑代数变量值0与1吻合,所以二进制同时可以使计算机方便地进行逻辑运算。
(4)二进制数和十进制数之间的关系亦不复杂。
2.进位计数制相互转换十进制数转换成二进制数:
十进制数据转换为二进制数时,因整数部分与小数部分转换算法不同,需要分别进行。
(1)整数转换方法--除基取余法十进制整数除以2取余数作最低位系数k0再取商的整数部分继续除以2取余数作高一位的系数,如此继续直到商为0时停止除法,最后一次的余数就是整数部分最高有效位的二进制系数,依次所得到的余数序列就是转换成的二进制数。因为除数2是二进制的基数,所以浙种算法称作"除基取余"法。
(2)小数转换方法--乘基取整法把十进制小数乘以2,取其积的整数部分作对应二进制小数的最高位系数k-1再取积的纯小数部分乘以2,新得积的整数部分又作下一位的系数k-2,再取其积的纯小数部分继续乘2,…,直到乘积小数部分为0时停止,这时乘积的整数部分是二进制数最低位系数,每次乘积得到的整数序列就是所求的二进制小数。这种方法每次乘以基数取其整数作系数。所以叫乘基取整法。需要指出的是并不是所有十进制小数都能转换成有限位的二进制小数并出现乘积的小数部分0的情况,有时整个换算过程无限进行下去。此时可以根据要求并考虑计算机字长,取定长度的位数后四舍五入,这时得到的二进制数是原十进制数的近似值。
一个既有整数又有小数部分的数送入计算机后,由机器把整数部分按"除基取余"法,小数部分按"乘基取整"法分别进行转换,然后合并。
任意进制数转换成十进制数:
任意一种进位计数制的数转换成十进制数的方法都是一样的。把任意进制数按权展开成多项式和的形式,把各位的权与该位上的数码相乘,乘积逐项相加,其和便是相应的十进制数。
十进制数转换成任意进制数:
十进制数转换成任意进制数与十进制数转换成二进制数的方法完全相同,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数拼接成一个数作为转换的最后结果。
3.数的机器码表示符号数的机器码表示:
(1)机器数和真值数在计算机中的表示形式统称为机器数。机器数有两个基本特点:其一,数的符号数值化。实用的数据有正数和负数,因为计算机只能表示0、1两种状态,数据的正号"+"或负号"-",在机器里就用一位二进制的0或1来区别。通常这个符号放在二进制数的最高位,称符号位,以0代表符号"+",以1代表符号"-",这样正负符号就被数值化了。因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。
机器数的另一个特点是二进制的位数受机器设备的限制。机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。
符号位数值化之后,为能方便的对机器数进行算术运算,提高运算速度,计算机设计了多种符号位与数值一起编码的方法,最常用的机器数表示方法有三种:原码、反码和补码。
(2)原码表示法和反码表示法一个机器数X由符号位和有数数值两部分组成。设符号位为X0,X真值的绝对值|X|=X1X2…Xn,X的机器数原码表示为:
[X]原=X0X1X2…Xn
当X≥0时,X0=0
当X<0时,X0=1
原码表示很直观,但原码加减运算时符号位不能视同数值一样参加运算,运算规则复杂,运算时间长,计算机大量的数据处理工作是加减运算,原码表示就很不方便了。
一个负数的原码符号位不动,其余各位取相反码就是机器数的另一种表示形式--反码表示法。正数的反码与原码相同。
设[X]原=X0X1X2…Xn
当X0=0时,[X]反=X0X1X2…Xn
(3)补码表示法(complement)
设计补码表示法的目的是:①使符号位能和有效数值部分一起参加数值运算从而简化运算规则,节省运算时间。②使减法运算转化成加法运算,从而进一步简化计算机中运算器的线路设计。
计算机是一种有限字长的数字系统,因此都是有模运算,超过模的运算结果都将溢出。n位二进制整数的模是2n。
对于二进制数还有一种更加简单的方法由原码求得补码。
①正数的补码表示与原码一样,[X]补=[X]原
②负数的补码是将原码符号位保持"1"之后其余各位取相反的码,末位加1便得到补码,即取其原码的反码再加1∶[X]补=[X]反+1。
真值+0和-0的补码表示是一致的,但在原码和反码表示中具有不同的形式。8位补码机器数可以表示-128,但不存在+128的补码与之对应,由此可知8位二进制补码能表示数的范围是-128~+127。应该注意:不存在-128的8位原码和反码形式。
根据互补的概念,一个补码机器数再求一次补就得到机器数的原码了。
定点数与浮点数:
(1) 定点数(fixed-point number)
计算机处理的数据不仅有符号,而且大量的数带有小数,小数点不占有二进制位,而是隐含有机器数里某固定位置上。通常采用两种简单的约定:一种是约定所有机器数的小数点位置隐含在机器数的最低位之后,叫定点纯整数机器数,简称定点整数。
另一种约定所有机器数的小数点位置隐含有符号位之后,有效数值部分最高位之前,叫定点纯小数机器数,简称定点小数。
计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设定一个比例因子,数据按比例因子缩小成定点小数或扩大成定点整数再参加运算,结果输出时再按比例折算成实际值。n位原码定点整数的表示范围是-(2n-1-1)≤X≤2n-1-1,n位原码定点小数的表示范围是-(1-2-(n-1)≤X≤1-2-(n-1)。当机器数小于定点数的最小值时,被当作0处理,超出定点数的最大值时,机器无法表达,称作"溢出",此时机器将停止运算,屏幕显示溢出警告。
定点数表示方法简单直观,不过定点数表示数的范围小,不易选择合适的比例因子,运算过程容易产生溢出。
(2)浮点数(floating-point number)
计算机采用浮点数来表示数值,它与科学计算法相似,把任意一个二进制数通过移动小数点位置表示成阶码和尾数两部分:
N=2E×S
其中:E--N的阶码(exponent),是有符号的整数;
S--N的尾数(mantissa),是数值的有效数字部分,一般规定取二进制定点纯小数正式。
浮点数运算必须化成规格化形式。所谓规格化,对于原码尾数应使最高数字位S1=1,如果不是1,且尾数不是全为0时就要移动尾数直到S1=1,阶码相应变化,保证N值不变。如果尾数是补码,当N是正数时,S1必须是1,而N是负数时,S1必须是0,才称为规格化的形式。
4.数字编码十进制数在机内转换成二进制数时,有时也以一种中间数字编码形式存在,它把每一位十进制数用四位二进制编码表达,每一组只表达0~9的数值运算时,有专门的线路在每四位二进制间按"十"进位处理,故称为二进制编码的十进制数--BCD码(Binary Coded Decimal(或称二-十进制数。其编码种类很多,如格雷码、余3码等,最常用的叫8421 BCD码,4个二进制位自左向右每位的权分别是8、4、2、1。0~9的8421码与通常的二进制一样进位,十分简单,当计数超过9时,需要采取办法自动向十进制高位进一,即要进行"十进制调整"才能得到正确结果。
5.校验码由于器件质量不可靠,线路工艺不过关,远距离传送带来的干扰或受来自电源,空间磁场影响等因素,使得信息在存取、传送和计算过程中难免会发生诸如"1"误变为"0"的错误,计算机一旦出错,要能及时检测并纠正错误,其中一种方法是对数据信息扩充,加入新的代码,它与原数据信息一起按某种规律编码后具有发现错误的能力,有的甚至能指出错误所在的准确位置使机器自动纠正,能起这种作用的编码叫"校验码"(check code)。
奇偶校验码:
将每个数据代码扩展一个二进位作校验位(parity bit),这个校验取0还是取1的原则是:若是奇校验(odd parity),编码是含"1"的个数连同校验位的取值共有奇数个"1";若是偶校验(even parity),连同校验位在内编码里含"1"的个数是偶数个。
交叉校验:
计算机进行大量字节传送时一次传送几百甚至更多字节组成的数据块,如果不仅每一个字节有一个奇偶校验位--称横向校验,而且全部字节的同一位也设置了一个奇偶校验位--称纵向校验,对数据块代码的横向纵向同时校验,这种情况叫交叉校验。
循环冗余校验码--CRC码(Cyclic Redundancy Check):
计算机信息但向远方终端或传到另一个计算中心时,信息沿一条通信线路一位位传送,这种通信方式叫串行通信。循环冗余码(简称CRC码)就是一种检验能力很强,在串行通信中广泛采用的校验编码。
(1)CRC码串行传送的信息M(X)是一串k位二进制序列,在它被发送的同时,被一个事先选择的"生成多项式"相除,"生成多项式"长r+1位,相除后得到r位余数就是校验位,它拼接到原k位有效信息后面即形成CRC码。CRC码到达接收方时,接收方的设备一方面接收CRC码,一方面用同样的生成多项式相除,如果正好除尽,表示无信息差错,接收方去掉CRC码后面r位校验,收下k位有效信息;当不能除尽时,说明有信息的状态位发生了转变,即出错了。一般要求重新传送一次或立即纠错。
(2)CRC码计算传送信息时生成CRC码以及接收时对CRC码校验都要与"生成多项式"相除,这里除法是"模2运算",即二进位运算时不考虑进位和借位。作模2除法时,取商的原则是当部分余数首位为1时商取1,反之商取0,然后按模2减,求部分余数。这个余数不计高位。当被除数逐位除完时,最后余数的位数比除数少一位。该余数就是校验位。它拼接在有效信息后面组成CRC码。因为校验位扩充了传送部分的代码,所以这是一种基于"冗余校验"的思想的校验办法。
(3)生成多项式
CRC码是M(X)除以某一个预先选定的多项式后产生的,所以这个多项式叫生成多项式。并不是任何一个r+1位的编码都可以作生成多项式用,它应能满足当任何一位发生传送错误时都能使余数不为0,并且不同位发生错误时应当使余数也不同,这样不但能检错而且能推断是哪一位出错,从而有利准确的纠错。有两个生成多项式,其检错率很高。
X16+X15+X2+1
X16+X12+X6+1
6.非数值数据的表示方法计算机中数据的概念是广义的,机内除有数值数据之外,还有文字、符号、图象、语言和逻辑信息等等,因为它们也都是0、1形式存在,所以称为非数值数据。
(1)字符数据字符数据主要指数字、字母、通用符号、控制符号等,在机内它们都被变换成计算机能够识别的二进制编码形式。国际上被普遍采用的一种编码是美国国家信息交换标准代码(American Standard Code for Information Interchange),简称ASCII码。
ASCII码选择了四类共128种常用的字符:
①数字0~9。
②字母。
③通用符号。
④动作控制符。
(2)逻辑数据逻辑数据是指计算机不带符号位的一位二进制数。
逻辑数据在计算机中虽然也是"0"或"1"的形式,但是与数值有很大区别:
①逻辑数据的取值只有"0"和"1"两个值,不可能再有其他值,而数值数据与1的不同组合可以反映很多不同数值。
②逻辑数据的"0"和"1"代表两种成对出现的逻辑概念,与一般数学中代表"0"和"1"的数值概念截然不同。
③逻辑数据和逻辑数据运算可以表达事物内部的逻辑关系,而数值数据表达的是事物的数量关系。
汉字:
(1)汉字字音编码
(2)汉字字形编码
(3)汉字音形编码
(4)电报码
(5)整字编码为了能在不同的汉字系统之间交换信息、高效率高质量共享汉字信息,近年来国家推出了一系列有关中文信息处理的标准。比如1981年我国制定推行的GB2312-80国家标准信息交换用流字编码字符集(基本集)--简称国标码,以及若干辅助集。国标码收集、制定的基本图形字符有7千余个,其中常用汉字3755个,次常用汉字3008个,共6763个汉字,还有俄文字母、日语假名、拉丁字母、希腊字母、汉语拼音,每字节内占用7 bit信息,最高位补0,例如汉字"啊"的国际码,前一字节是01100000,后一字节是00100001,编码为3021H。汉字内部码是汉字在计算机内部存储、运算的信息代码,内部码的设计要求与西文信息处理有较好的兼容性,当一个汉字以某种汉字输入方案送入计算机后,管理模块立刻将它转换成两字节长的GB2312-80国标码,如果给国标码的每字节最高位加"1",作为汉字标识符,就成为一种机器内部表示汉字的代码--汉字内部码。
汉字内部码的特点十分明显:
①汉字内部码结构简短,一个汉字内部码只占两个字节,两字节足以表达数千个汉字和各种符号图形,且又节省计算机存储空间。
②便于和西文字符兼容。西文字符的ASCII码占一个字节,两字节的汉字内码可以看成是它扩展的字符代码,在同一个计算机系统中,只要从最高位标识符就能区分这两种代码。标识符是"0",即是ASCII码;标识符是"1",则是汉字内部码。
7.语音识别及语言表示原理语音产生机理的研究表明,每一种语言的语音都有自己特定的音素特征,语音是不同频率振动的结果。分析语音的音素特点,找出音素的基频和高次频率优分,就能在计算机中建立发音系统的模型,在实施中对语音采样,通过滤波器分解提取频率信息,由模/数转换设备转换成数字输入计算机,与机内的语言模型比较,由此达到识别语音的目的。与此相反,如果选择已知音素的参数,应用语音系统模型,就能得到指定的音素,进一步按照一定的规则合成语言。
【考点六】运算器
1.运算器的组成多功能算术/逻辑运算单元(ALU):
(1)基本思想关于一位全加器(FA)的逻辑表达式为:
Fi=Ai+Bi+Ci
Ci+1=AiBi+BiCi+CiAi
式中Fi是第i位的和数,Ai、Bi是第i位的被加数和加数,Ci是第i位的进位输入,Ci+1为第i位的进位输出。
一位算术/逻辑运算单元的逻辑表达式为:
Fi=Xi+Yi+Cn+i
Cn+i+1=XiYi+YiCn+i+Cn+iXi
上式中,进位下标用n+i代替原来一位全加器中的i,i代表集成在一片电路上的ALU的二进制位数,对于四位一片的ALU,i=0,1,2,3。n代表若干片ALU组成更长的运算器时每片电路的进位输入。
(2)逻辑表达式
ALU的某一位逻辑表达式.四位之间采用先行进位方式。
对一片ALU来说,可有三个进位输出。其中G称为进位发生输出,P称为进位传送输出。在电路中,多加这两个进位输出的目的是为了便于实现多片(组)ALU之间的先行进位,为此,还需一个配合电路,它称为先行进位发生器(CLA)。
内部总线:
根据总线所处位置,总线分为内部总线和外部总线两类。内部总线是指CPU内各部件的连线,而外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。
按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。所谓单向总线,就是信息只能向一个方向传送。所谓双向总线,就是信息可以向两个方向传送。换句话说,总线既可以用来发送数据,也可以用来接收数据。
总线的逻辑电路往往是三态的,即输出电平有三种状态:逻辑"1"、逻辑"0"和"浮空"状态。
2.运算器的基本结构运算器包括ALU、阵列乘除器件、寄存器、多路开关或三态缓冲器、数据总线等逻辑部件。现代计算机的运算器大体有如下三种结构形式。
①单总线结构的运算器;
②双总线结构的运算器;
③三总线结构的运算器。
【考点七】控制器
1.控制器在CPU中的位置中央处理器(CPU)由两个主要部分--控制器及运算器组成。其中程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器等组成了控制器。它是对计算机发布命令的"决策机构",协调和指挥整个计算机系统的操作,因此,它处于CPU中极其重要的位置。在CPU中,除算术逻辑单元(ALU)及累加器外,尚有下列逻辑部件:
(1)缓冲寄存器(DR)缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在这里。缓冲寄存器的作用是:
①作为CPU和内存、外部设备之间信息传送的中转站;
②补偿CPU和内存、外部设备之间在操作速度上的差别;
③在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。
(2)指令寄存器(IR)
指令寄存器用来保存当前正在执行的一条指令。指令划分为操作码和地址码字段,它们由二进制数字组成。为执行任何给定的指令,必须对操作码进行译码,以便指出所要求的操作。
指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
(3)程序计数器(PC)
为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器(PC)正是起到这种作用,所以通常又称其为指令计数器。
(4)地址寄存器
(AR)地址寄存器用来保存当前CPU所要访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
(5)累加寄存器(AC)
累加寄存器AC通常简称为累加器。它的功能是:当运算器的算术/逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。例如,在执行一个加法前,先将一个操作数暂时存放在AC中,再从存放中取出另一个操作数,然后同AC的内容相加,所得结果送回AC中,而AC中原有的内容随即被破坏。顾名思义,累加寄存器用来暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。
由于运算器的结构不同,可采用多个累加寄存器。
(6)状态寄存器(SR)
状态寄存器保存由算术指令和逻辑指令运行或测试结果建立的各种状态码内容。
(7)操作控制器操作控制器的功能,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。
根据设计方法不同,操作控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型三种。第一种称为常规控制器,它是采用组合逻辑技术来实现的;第二种称为微程序控制器,它是采用存储逻辑来实现的;第三种称为PLA控制器,它是吸收前两种的设计思想来实现的。
(8)时序产生器
CPU中除了操作控制器外,还必须有时序产生器,因为计算机高速地进行工作,每一动作的时间是非常严格的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间上的控制。
2.控制器的组成运算器包括ALU、累加器、数据缓冲寄存器和状态寄存器,而控制器的核心是操作控制器,围绕它的有程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)和时序产生器。
【考点八】存储器
1.存储器的基本组成及其读写操作
(1)存储器的基本组成部分主存储器由存储体、地址译码电路、驱动电路、读写电路和控制电路等组成。主存储器主要功能是:
①存储体:是信息存储的集合体,由某种存储介质按一定结构组成的存储单元的集合。通常是二维阵列组织,是可供CPU和计算机其他部件访问的地址空间。
②地址寄存器、译码电路与驱动器:即寻址系统,将CPU确定的地址先送至地址寄存器中,然后根据译码电路找到应访问的存储单元。在存储与译码器之间的驱动器的功能是减轻译码线驱动负载能力。由于一条译码线需要与它控制的所有存储单元相联,其负载很大。需要增加驱动器,以译码线连接驱动器的输入端,由驱动器的输出端控制连接在译码线上的所有存储单元。
③读写电路与数据寄存器:根据CPU的命令,将数据从数据寄存器中写入存储体中特定的存储单元或将存储体中指定单元的内容读到数据寄存器中。
④控制电路:接收CPU传来的控制命令,经过控制电路一系列的处理,产生一组时序信号控制存储器的操作。
在存储器的组成中,存储体是核心,其余部分是存储的外围线路。不同的存储器都是由这几部分组成,只是在选用不同的存储介质和不同的存取方式时,各部分的结构与工作方式略有变化。
(2)存储体阵列计算机存储器中存储的是"0"和"1"的信息,每一个能存取一位二进制并能保持两种状态的元件称为记忆元件。若干记忆元件组成存储单元,一个存储单元能够存取一个或几个字节的二进制信息。每个存储单元都有一个地址编号,用以唯一标识存储单元的位置。信息按地址存入指定的存储单元中,按地址从指定的存储单元中取出。存储单元的集合称为存储体。由于存储体中存储单元的每个二进制位必须并行工作,因此将存储单元按其地址的顺序组成存储阵列。
(3)存储器的地址译码系统
CPU要访问存储单元的地址由地址总线输入到地址寄存器中。地址译码器将地址转换为对应地址线(字线)上的控制信号,以表示选中某一单元,并驱动相应的读写电路,完成对存储单元的读写操作。
地址译码为两种方式:一种是单译码方式,仅有一个译码器。译码器输出的每条译码线对应一个存储单元。如地址位数N=10,即译码器可以有210=1024种状态,对应有1024条译码线(字线)即1024个存储单元。另外一种是双译码方式,将译码器分成X向和Y向两个译码器,通过双译码器的相互作用确定存储单元的地址。
设地址长度n仍为10,将其中的前5位输入到X地址译码器中,译出X0到X31译码线,分别选择0~31行。将后5位输入到Y地址译码器中译出Y0到Y31译码线,分别选择0~31列。X向译码器和Y向译码器引出的地址线都是25=32条。若采用X向和Y向交叉选择,可以选择从存储单元(0,0)至(31,31)共25×25=1024个存储单元地址。即同样可以提供1024种状态,而地址线只需要64条,比单译码器节省93.75%的地址线。
(4)存储器的读写操作在
CPU向存储体发生读操作命令时,首先由CPU将相应存储单元的地址码送至地址寄存器中;地址译码器将地址寄存器中的地址编码译成相应地址线(字线)的高电位,标志指定的存储单元;然后在CPU的统一控制下,由控制电路将读命令转换成读写电路的操作,执行将指定存储单元的内容传送到数据寄存器的操作,完成了整个存储器读的操作。存储器写的操作与读的操作相类似。
不同类型的存储器根据其特点有不同的读写操作控制电路、控制机构、读写电路及地址译码器,但它们的基本操作原理大同小异。
2.RAM的结构、组织及其应用半导体存储器有体积小、存取速度快、生产制造易于自动化等特点,其性能价格比远远高于磁芯存储器,因而得到广泛的应用。
半导体存储器的种类很多,就其制造工艺可以分成双极型半导体存储器和金属-氧化物-半导体存储器(简称MOS型存储器)。MOS型存储器按其工作状态又可以分为静态和动态两种。
动态存储器必须增设恢复信息的电路,外部线路复杂。但其内部线路简单,集成度高,价格较静态存储器便宜。因此经常用做大容量的RAM。
静态存储器和动态存储器的主要差别在于:静态存储器存储的信息不会自动消失,而动态存储器存储的信息需要在再生过程的帮助下才能保持。但无论双极型或MOS型存储器,其保持的信息将随电源的撤消而消失。
(1)RAM的组织半导体RAM芯片是在半导体技术和集成电路工艺支持下的产物。一般计算机中使用的RAM芯片均是有自己的存储体阵列、译码电路、读写控制电路和I/O电路。
①RAM的并联为扩展存储器的字长,可以采用并联存储器芯片的方式实现。
②RAM的串联为扩展存储器的存储单元数量,可以采用多个芯片地址串联的方式解决。
③地址复用的RAM组织随着大规模集成电路技术的发展,使得一块存储器芯片能够容纳更多的内容。其所需地址线随之增加,为了保持芯片的外部封装不变,一般采用地址复用的技术,采用地址分批送入的结构保证不增加芯片的地址引脚。
(2)RAM的实际应用由于一个存储器的芯片一般不能满足使用的要求,所以通常将若干个存储器芯片按串联和并联的两种方式相结合连接,组成一定容量和位数的存储器。
如果设计的存储器容量有x字,字长为y,而采用的芯片为N×M位。要组成满足字长要求的存储器所需芯片数为:y/M。根据容量要求,组成要求容量的RAM所需芯片数为:(x/N)×(y/M)。
3.ROM的工作原理及其应用使用时只读出不写入的存储器称为只读存储器(ROM)。ROM中的信息一旦写入就不能进行修改,其信息断电之后也仍然保留。一般用于存放微程序、固定子程序、字母符号阵列等信息。
ROM和RAM相比,使用时不需写入、再生和刷新等操作,所以其电路比较简单,但同样有地址译码器、数据读出电路等。制作ROM的半导体材料有二极管、MOS电路和双极型晶体管等。因制造工艺和功能不同,一般分为普通ROM、可编程ROM(PROM)、可擦写可编程ROM(EPROM)和电可擦写可编程ROM(EEPROM)等。
(1)ROM的工作原理一般的ROM使用掩模ROM。这类ROM由生产厂家做成,用户不能加以修改。掩模ROM的特点是其存储内容出厂时由生产厂家一次制成,用户不能对其内容进行修改,而依赖于生产厂家,这种RAM适用于定型批量制作。在实际使用过程中,部分用户希望自己根据需要填写ROM的内容,因此产生可编程ROM(PROM)。PROM与掩模ROM的主要区别是PROM在出厂时其内容均为"0"或"1",用户在使用前按照自己的需要利用工具将编码写入PROM中,一次写入不可修改。PROM的使用相当于由用户RAM生产中的最后一道工序--向RAM中写入编码,其余同掩模RAM的使用完全相同。
(2)EPROM和EEPROM的工作原理为了适应程序调试的要求,针对一般PROM的不可修改特性,设计出可以多次擦写的可编程ROM(EPROM)。其特点是可以根据用户的要求用工具擦去RAM中原有的存储内容,重新写入新的编码。擦除和写入可以根据用户的要求用工具擦去RAM中原有的存储内容,重新写入新的编码。擦除和写入可以多次进行,其信息的内容同样不会因断电而丢失。最常见的EPROM是UVEPROM,其存储元件常用浮置栅型MOS管组成。出厂时全部置"0"或"1",由用户通过高压脉冲写入信息。擦写时通过其外部的一个石英玻璃窗,利用紫外线的照射,使浮栅上的电荷获得高能而泄漏,恢复原有的全"0"或"1"状态,允许用户重新写入信息。平时窗口上必须贴有不透明胶纸,以防光线进入而造成信息流失。
另有一种EPROM是通过电气方法擦除其中的已有内容,也称为电可擦写可编程ROM(EEPROM)。
4.外存储器的工作原理外存储器是指那些不能被CPU直接访问的,读取速度较内存慢,容量比内存大,通常用来存放不常用的程序和数据的存储器。磁带、磁盘存储器是现今最常用的外存,因其利用磁表面介质存储数据,通常也称为磁表面存储器。而光盘是外存发展的方向,有必要了解它们的原理和应用。
(1)磁盘存储器磁盘存储器具有容量大,存取速度高(相对其他种类外存储器)的特点,因而在各种类型的计算机中普遍被用做主要的外存储器。磁盘存储器避免了磁带存储的缺点。磁盘存储器将磁性材料涂粘在以某种材料为主的盘形圆片上,用若干封闭的圆形磁道代替了磁带的长形磁道。使用时,通过磁盘面的高速旋转代替磁带的直线运动,减少寻找特定位置的时间。
磁盘存储器由磁盘、磁头、定位系统和传动系统等部分组成,一般也将这些部件统称为磁盘驱动器。根据盘片的基本组成材料将磁盘分为硬盘和软盘两种。所谓硬盘是指由金属材料制成一定厚度的盘片基体,这些盘片一般组合成盘片组构成硬盘驱动器的存储主体。
软盘和硬盘盘片记录信息的方式相同,都是将每个盘面由外向内分成若干个磁道,每个磁道也划分为多个扇区,信息以扇区为单位存储。
扇区是磁盘存放信息的最小物理单位。扇区包括头空、序标、数据区、检验字段和尾空等几个部分。通常对磁盘进行的所谓格式化操作就是在磁盘上划分磁道、扇区及扇区内各特定区域,刚出厂的磁盘上没有这些划分,所以必须在格式化后才能使用。
磁盘区域的划分随计算机系统而不同,其存储容量也有较大的差别。但可以通过查阅计算机系统相应的说明掌握磁盘容量的数据。计算一个磁盘容量的公式是:
磁盘存储容量=盘面数×每盘面磁道数×每磁道扇区数×每扇区存储容量
(2)光盘存储器所谓光盘(CD)是利用光学原理读写信息的存储器。由于光盘的容量大、速度较快、不易受干扰等特点,光盘的应用愈来愈广泛。
光盘系统一般是由光学、电气和机械部件组成。
从结构上看光盘存储器同磁盘存储基本相同,两者均有存储信息的盘片、机械驱动部件、定位部件和读写机构。不同的是后者利用磁性原理存储信息,利用磁头存取信息;而前者是利用光学原理存储信息并用光学读写头来存取这些信息。
光盘本身是靠盘面上一些能够影响光线反射的表面特征存储信息,例如现在常用的只读光盘(CD-ROM)上利用光盘表面的凹凸不平表示"0"和"1"。以CD-ROM为例,读取数据时,由机械驱动部件和定位部件负责确定读取的位置。激光器发出激光经光学线路至聚焦透镜射向光盘表面,表面的凹凸不平造成反射光的变化,利用数据光检测器将这些变化转换为数据"0"和"1"的电信号传输到数据输出端,整个读取工作完成。其他类型光盘的写入过程大体与此相同,唯一的差别是数据自数据输入端传来。
一般将光盘存储器分为只读式(readonly)、一次写入式(writeonce)和可擦式(erasable)或可逆式(reversible)三种。只读式光盘利用材料表面的凹凸不平的特征记录信息,在出厂前由生产厂家将有关信息存放到光盘上。对于一次写入式光盘,用户可以利用会聚的激光束在光盘表面照射使材料发生永久性变化而记录信息。这种光盘现已普遍用于多媒体系统。可擦式光盘利用激光在磁性材料上或相变材料上实现信息的存储和擦除。
光盘存储器的记录密度高,存储容量大,一片5.25英寸大小的一次写入式光盘可以存储680MB的信息,其容量远远大于外形同样大小的软磁盘。光盘信息的保存时间也比磁盘的长。目前影响光盘普遍应用的主要原因是光盘存储器的读写速度慢和光盘驱动器的成本高。随着技术的进步,以上问题是可以解决的。因此光盘存储器有广泛的应用前景。
5.虚拟存储的概念、作用和工作过程
(1)虚拟存储的概念、作用一般将由主存和部分辅存组成的存储结构称为虚拟存储器,其对应的存储地址称为虚拟地址(逻辑地址),其对应的存储容量称为虚拟容量。将实际主存地址称为物理地址或实地址,主存的容量称为实存容量。
当用虚拟地址访问主存时,系统首先查看所用虚拟地址对应的单元内容是否已装入主存。如果在主存中,可以通过辅助软、硬件自动把虚拟地址变成主存的物理地址后,对主存相应单元进行访问。如果不在主存中,通过辅助的软、硬件将虚拟地址对应的内容调入主存中,然后再进行访问。因此,对虚拟存储器的每次访问都必须进行虚实地址的变换。
虚拟存储器的作用是扩大整个主存的容量,允许在程序中使用比主存容量大得多的虚拟存储器。同时可以减轻人们编程中对程度进行分块的苦恼,从而提高软件开发的效率。虚拟存储器是实现利用小容量的主存运行大规模的程序的一种有效的办法。尽管实现虚拟存储要增加一些额外的投资和软件开销,虚拟存储技术在各种计算机系统中仍得到了广泛的应用。
虚拟存储器必须建立在主存-辅存结构上,但一般的主存-辅存系统并不一定是虚拟存储器,虚拟存储器与一般的主存-辅存系统的本质区别是:
①虚拟存储器允许人们使用比主存容量大得多的地址空间来访问主存,非虚拟存储器最多只允许人们使用主存的整个空间,一般只允许使用操作系统分配的主存中的某一部分空间。
②虚拟存储器每次访问主存时必须进行虚、实地址的变换,而非虚拟存储系统则不必变换。
(2)虚拟存储的工作原理虚拟存储技术,实际上是将编写程序时所用的虚拟地址(逻辑地址)转换成较小的物理地址。在程序运行时随时进行这种变换。为了便于主存与辅存之间信息的交换,虚拟存储器一般采用二维或三维的复合地址格式。采用二维地址格式时,将整个存储器划分为若干页(或段),每个页(或段)又包括若干存储单元。采用三维地址格式时将整个存储空间分为若干段,每段分为若干页,每页又包括若干存储单元。根据地址格式不同,虚拟存储器分为:页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。
在虚拟存储器中逻辑地址与物理地址之间的对应称为地址映象。通常有三种地址映象的方式:全相联映象、直接映象和组相联映象。
①全相联映象任一逻辑页能映象到实际主存的任意页面位置称为全相联映象,通常利用页表法进行地址间的变换。
②直接映象每个逻辑页只能映象到一个特定页面的方式称为直接映象。如主存实际有2P页,虚拟存储器的逻辑空间有2P页,则将逻辑空间按物理空间大小分为2P-P块,块内各页只能映象到主存的相应页中。即所有各块的第0页对应主存的第0页,各块的第n页对应主存的第n页。若程序需要轮流使用第i块和第j块的第m页,只能将两页交替在主存和辅存之间调入调出,形成存储页面的"抖动"。
③组相联映象组相联映象方法是先按直接映象方法将虚拟存储空间(逻辑空间)分成若干块,在主存和逻辑空间中的各块内划分为若干组,每个组间按直接映象方法控制。可以这样理解,如果将组相联映象方法中的组按直接映象方法的页来看待,组相联方法与直接映象方法相同,逻辑空间各组内的页只能与对应的物理空间组相联。但在组内各页与物理空间的页面之间采用全相联映象方法处理。因此,可以认为组相联映象是全相联映象和直接映象方法的结合。
6.缓冲技术使用缓冲技术就是为缓解慢速设备对整个计算机系统速度的影响,在计算机的某些部件中划定一块区域,模拟慢速设备的操作,将对慢速设备的操作先存放在此区域中,其他部件完成这一操作后可以继续其他工作,而慢速设备可以用自己的速度逐渐完成相应的操作。做为中间缓冲的区域称为缓冲区,相应的技术称为缓冲技术。
在整个存储体系的组织中,缓冲技术成为解决容量与速度之间矛盾的主要方法。实际上在计算机系统中缓冲技术解决了许多难题,促进了计算机系统的发展。在存储体系中,缓冲技术主要体现在Cache的应用和磁盘缓冲的使用。
(1)Cache的原理和作用
Cache的工作原理基于对大量典型程序运行实例的分析。分析结果表明,在较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间很小的范围内。指令地址的分布又是连续的,加上循环程序和子程序段的重复执行,对这些地址的访问自然具有时间上集中分布的倾向。这种对局部范围的存储器地址频繁访问,对此范围外的地址访问甚少的现象称为程序访问的局部性。程序访问的局部性为Cache的引入提供了理论依据。
Cache是缓冲技术在存储体系中的一个具体应用。Cache处于主存与CPU之间,负责解决主存与CPU之间速度的协调问题。Cache中存放着主存的一部分副本(主存中的部分内容),当存储器接到有关读取指令时,先在Cache中查找此信息是否存在,若有则不经主存直接从Cache中取出;否则直接从主存中取出,同时写入Cache,以备再次使用。当向存储器写入内容时,由辅助硬件采用各种方法保证主存中的内容同Cache中的内容保持一致。
为保证写入时两者内容一致的方法有:①将内容同时写入主存和Cache;②数据仅写入主存,若Cache中有此内容则将其释放;③数据只写入Cache,在规定的时候将修改过的Cache的内容写入主存。
Cache的主要特点是:①存取速度快,一般Cache的速度完全可以跟上CPU的运算速度;②存储量小,由于Cache的速度快,其价格也相当昂贵,因此为保证整个存储器的性能价格比,一般采用适当容量的Cache,其容量小于主存。
(2)磁盘缓冲技术磁盘缓冲技术的目的是减少由于主、辅存之间的速度差异对计算机总体性能的影响。磁盘是存储系统中的辅助部分,其主要作用是用来存储不常用的数据和程序等信息,减轻对主存容量的需求压力。由于磁盘中的信息不能被计算机的其他部件直接调用,因此在信息的输入/输出过程中必须在主存中开辟一定的空单位和为与磁盘上信息交换的中间过渡区域称为磁盘缓冲区。如从键盘(输入设备)向磁盘中输入一个信息,此信息必须通过总线先输入到主存中的特定区域中,通过程序控制将信息存放到主存中对应于磁盘输入/输出的一个特定区域内,然后将此信息转存到磁盘上。一般将主存中对应于磁盘的特定区域称为磁盘缓冲区。
为了提高磁盘的读写速度,操作系统一般根据程序运行的需要设置磁盘缓冲区的大小及输入/输出操作。同Cache技术相类似,不立即覆盖磁盘缓冲区的内容,当系统需要继续读入磁盘中的信息时,首先检查磁盘缓冲区中是否有所需要的信息,若有则直接使用,否则根据信息的位置将磁盘上特定扇区的内容调入磁盘缓冲区后再加以使用。这样可以提高磁盘的信息读取速度,减少因磁盘存取速度慢对系统整体性能的影响。
【考点九】输入与输出系统
1.输入输出系统的发展输入输出系统的发展大致分为五种方式,即程序控制的输入输出方式、中断方式,DMA方式、输入/输出通道方式和I/O处理机等五种方式。
程序查询方式和程序中断方式适用于数据传输率比较低的外部设备。而DMA方式、通道方式和I/O处理机方式适用于数据传输率比较高的设备。目前,小型机和微型机大都采用程序查询方式、程序中断方式和DMA方式。通道方式I/O处理机方式大都用在中、大型计算机中。为了介绍方便,我们把通道方式和I/O处理机方式视为一种方式。
2.程序查询方式程序查询方式又叫程序控制I/O方式。在这种方式中,数据在CPU和外部设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的,当输入/输出时,CPU暂停执行主程序,转去执行输入/输出的服务程序,根据服务程序中的I/O指令进行数据传送。
这是一种最简单、最经济的输入/输出方式。它只需很少的硬件,因此几乎所有的机器都具有程序查询方式。特别是在微、小型机中,常用程序查询方式来实现低速设备的输入输出管理。
3.程序中断方式
"中断"概念的提出,是计算机系统结构设计中的一个重大变革。在程序中断方式中,某一外设的数据准备就绪后,它"主动"向CPU发请求中断的信号,请求CPU暂时中断目前的工作而进行数据交换。当CPU响应这个中断时,便暂停运行主程序,并自动转移到该设备的中断服务程序。当中断服务程序结束以后,CPU又回到原来的主程序。其原理和调用子程序相仿,不过,这里要求转移到中断服务子程序的请求是由外部设备发出的。中断方式特别适合于随机出现的服务。
4.DMA方式
(1)DMA方式的基本概念直接访问内存DMA方式,是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU中完全接管对总线的控制,数据交换不经过CPU,而直接在内存储器和I/O设备之间进行。DMA方式一般用于高速地传送成组的数据。DMA控制器将向内存发出地址和控制信号、修改地址、对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。
DMA方式的主要优点是速度快。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,也不象中断方式那样,要进行保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数等,也不是由软件实现,而是用硬件线路直接实现的。
DMA的种类很多,但各种DMA至少能执行以下一些基本操作:
①从外部设备发出DMA请求;
②CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制;
③由DMA控制器对内存寻址,即决定数据传送的内存单元首地址及数据传送个数的计数,并执行数据传送的操作;
④向CPU报告DMA操作的结束。
(2)DMA技术的出现,使得外部设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序。那么DMA控制器与CPU怎样分时使用内存呢?通常采用以下三种方法:
①停止CPU访问;
②周期挪用;
③DMA与CPU交替访问。
(3)基本的DMA控制器一个DMA控制器实际上是采用DMA方式的外部设备与系统总线之间的接口电路。这个接口电路是在中断接口的基础上再加DMA机构组成。习惯上将DMA方式的接口电路称为DMA控制器。
①内存地址计数器用于存放内存中要交换的数据地址。在DMA传送前,需通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加"1",从而以增量方式给出内存中要交换的一批数据的地址。
②字计数器用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之间由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加"1",当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发出中断信号。
③数据缓冲寄存器用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。
④"DMA请求"标志每当设备准备好一个数据字后给出一个控制信号,使"DMA"请求标志置"1"。该标志置位后向"控制/状态"逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,"控制/状态"逻辑接收此信号后发出DMA响应信号,使"DMA请求"标志复位,为交换下一个字做好准备。
⑤"控制/状态"逻辑它由控制和时序电路,以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入输出),并对"DMA请求"信号和CPU响应信号进行协调和同步。
⑥中断机构当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。这里的中断与前面介绍的I/O中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是I/O系统中不同的中断事件。
5.通道方式
(1)通道的功能
DMA控制器的出现已经减轻了CPU对数据输入输出的控制,使得CPU的效率有显著的提高。而通道的出现则进一步提高了CPU的效率。这是因为通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将"传输控制"的功能下放给通道后只负责"数据处理"功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O设备的并行工作。
通道的基本功能是执行通道指令、组织外部设备和内存进行数据传输,按I/O指令要求启动外部设备,向CPU报告中断等,具体有以下五项任务:
①接受CPU的I/O指令,按指令要求与指定的外部设备进行通信;
②从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令;
③组织外部设备和内存之间进行数据传送,并根据需要提供数据中间缓存的空间,以及提供数据存入内存的地址和传送的数据量;
④从外部设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用;
⑤将外部设备的中断请求和通道本身的中断请求,按次序及时报告CPU。
(2)通道类型根据通道的工作方式,通道可分为:
①选择通道。
②数组多路通道。
③字节多路通道。
④通道适配器。
6.外部设备外部设备分为输入设备、输出设备、输入输出兼用设备、外存设备、数据通信设备和过程控制设备等。
①输入设备
②输出设备
③汉字设备
④数据通信设备
⑤过程控制设备
【考点十】微处理器
1.微处理器芯片发展简史多年来,微处理器的主流芯片一直是Intel体系结构的80x86芯片以及奔腾芯片。下表,给出微处理器发展的时间表。
微处理器芯片发展年表年份 芯片名称 位 说明
1971 4004/4040 4 2 300个晶体管,45条指令,时钟频率低于1MHz
1972 8008 8 3 500个晶体管,能处理字符型数据
1974 8080 8 6 000个晶体管,时钟频率2 MHz
1974 Motorola6800 8 4 000个晶体管,用于小型商业机器与汽车控制
1975 Zilog Z80 8 8 500个晶体管,时钟频率2.5MHz,配备CP/M操作系统
1976 MOS 6502 8 9 000个晶体管,组成Apple II,创立了个人计算概念
1978 8086 16 2.9万个晶体管,采用80x86指令集
1979 8088 8/16 2.9万个晶体管,组成IBM-PC/DOS个人电脑
1979 MC 68000 32 6.8万个晶体管,组成Macintosh,成为GUI象征
1982 80286 16 13.4万个晶体管,时钟频率8-12MHz,有保护模式、虚存管理
1985 80386 32 27.5万个晶体管,时钟频率20MHz,4GB空间,Windows出现
1986 MIPS R2000 32 18.5万个晶体管,第一个商用RISC芯片
1987 Sun SPARC 32 5万个晶体管,定义了RISC工作站
1989 80486 32 120万个晶体管,内置浮点处理与高速缓存
1993 经典奔腾 32 310万个晶体管,双整数单浮点,同时执行两条指令
1993 PowerPC 601 32 280万个晶体管,首批可乱序执行,组成高档Mac
1995 高能奔腾 32 550万个晶体管,同时执行3条指令
1997 多能奔腾 32 450万个晶体管,增加了57条多媒体指令集
1997 奔腾2 32 750万个晶体管,时钟频率233MHz~400MHz
1999 奔腾3 32 950万至2 900万个晶体管,450MHz~1GHz
1999 安腾 64 宣布为IA-64的品牌名称,用于服务器与工作站
2000 奔腾4 32 4 200万个晶体管,时钟频率突破2 GHz,采用NetBurst
2.奔腾芯片的技术特点
(1)超标量(superscalar)技术通过内置多条流水线来同时执行多个处理,其实质是以空间换取时间。
(2)超流水线(superpipeline)技术超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。
(3)分支预测在流水线运行时,总是希望预取到的指令恰好是处理器将要执行的指令。
(4)双Cache的哈佛结构:指令与数据分开
经典奔腾有两个8KB(可扩充为12KB)的超高速缓存,一个用于缓存指令,一个用于缓存数据,这就大大提高了访问Cache的命中率,从而不必去搜寻整个存储器,就能得到所需的指令与数据。这种把指令与数据分开存取的结构称为哈佛结构。
(5)固化常用指令奔腾把常用指令改用硬件实现,不再使用微代码操作,以使指令的运行速度能进一步加快。
(6)增强的64位数据总线奔腾的内部总线是32位的,但它与存储器之间的外部总线增为64位。如果采用突发模式,还可以在一个总线周期装入256位的数据,这就大大提高了指令与数据的供给能力。它还使用了总线周期通道技术,能在第一周期完成之前就开始第二周期,从而使内存子系统有更多的时间对地址进行译码。
(7)采用PCI标准的局部总线
PCI标准有更多的优越性,它能容纳更先进的硬件设计,支持多处理、多媒体以及数据量很大的应用。
(8)错误检测及功能冗余校验技术奔腾具有内部错误检测功能和功能冗余校验技术。前者可以在内部多处设置偶校验,以保证数据传送的正确;后者能通过比较双工系统的运算结果,判断系统是否出现异常操作,并提出报告。
(9)内建能源效率技术当系统不进行工作时,自动进入低耗电的睡眠模式,而只需毫秒级的时间,系统就能恢复到全速状态。
(10)支持多重处理多重处理是指多CPU系统,它是高速并行处理技术中最常用的体系结构之一。
3.安腾芯片的技术特点从奔腾到安腾(Itanium),标志着英特尔体系结构从IA-32向1A-64的推进。安腾是64位芯片,主要用于服务器和工作站。
安腾采用了超越CISC与RISC的最新设计理念EPIC,即简明并行指令计算(Explicitly Parallel Instruction Computing)技术。它基于推理、预测、简明并行性等创新特性,实现了更高的指令级的并行性,使安腾能同时完成20个操作或交易,从而能够提供高端企业级用户所需服务器的一流性能。
【考点十一】主机板与插卡的组成
1.主机板的组成主机板简称主板(mainboard)或母板(motherboard),它是计算机主机的主要部件。通常,主板由5部分组成:CPU、存储器、总线、插槽以及电源。通常,电源在主板上只是一个插座,电源电路不在板上。
2.主机板的种类
①按CPU芯片分类,如486主板、奔腾主板、奔腾IV主板等。②按CPU插座分类,如Socket 7主板、Slot 1主板等。③按主板的规格分类,如AT主板、Baby-AT主板、ATX主板等。④按存储器容量分类,如16MB主板、32MB主板、64MB主板等。⑤按芯片集分类,如TX主板、LX主板、BX主板等。⑥按是否即插即用分类:如PnP主板、非PnP主板等。⑦按系统总线的带宽分类,如66MHz主板、100MHz主板等。⑧按数据端口分类,如SCSI主板、EDO主板、AGP主板等。⑨按扩展槽分类,如EISA主板、PCI主板、USB主板等。⑩按生产厂家分类,如联想主板、华硕主板、海洋主板等。
3.网络卡简介网络卡也称为适配器卡(adapter card)。它插在主板的扩展槽内,一方面与计算机连接,另一方面与传输电缆连接。其主要功能是:
(1)实现与主机总线的通信连接,解释并执行主机的控制命令。(2)实现数据链路层的功能,如形成数据帧、差错校验、发送接收等。(3)实现物理层的功能,如对发送信号的传输驱动、对进来信号的侦听与接收、对数据的缓存以及串行并行转换等。在高集成化的主板中,常常把网络卡集成在板上,而不再有单独的网卡。
【考点十二】多媒体技术基础图形、声音和视频信息在计算机内的表示,多媒体计算机的组成,多媒体技术的应用与前景
1.计算机多媒体技术的特点计算机多媒体(Multimedia)技术是指在计算机中集成了文字、声音、图形、图像、视频、动画等多种信息媒体的技术。计算机多媒体技术的特点在于信息媒体的多样性、集成性和交互性。特别是交互性,这是计算机多媒体技术独具魅力的特点。
2.计算机图形学研究几何图形或矢量图形在计算机中的表示、处理和生成的方法是计算机图形学的任务。建立物体或场景的几何模型有3种:线框模型、面模型和体模型。计算机图形学的应用领域很广,包括计算机辅助设计和辅助制造、地理信息系统、军事系统、计算机动画、计算可视化技术和电子出版业等等。
3.图像信息的表示在计算机中,图像由若干离散的像点(即像素或像元,Pixel)组成,图像的颜色或灰度数目,可用2n表示,此处n就称为图像深度。
一幅图像的数据量=图像宽度×图像高度×图像深度/8(字节数)
例如:尺寸为1024×768,65536色(深度为16)的一幅图像所具有的数据量为:
1024×768×16/8=1536KB=1536/1024MB=1.5MB
4.超文本与超媒体超文本(Hypertext)是一种非线性的文本结构,也可以说是一种先进的电子信息管理技术。基于超文本的WWW信息服务技术在因特网上取得了巨大的成功,用户只需点击小的鼠标,便可漫游全球。显然,被链接结点的信息并不限于文字,还包括图像、图形、声音、动画、动态视频等多媒体信息,这就是所谓的超媒体。
5.多媒体计算机在硬件方面,多媒体计算机必须配置声卡(声音的数字化及音频输出适配器)、音箱适配器、CD-ROM光盘驱动器和高质量的显示卡与显示器。早期曾用视频卡来实现图像的压缩与解压,现在,由于CPU性能的提高,已可用软件来实现相应的功能。
在软件方面需要有支持多媒体功能的操作系统,需要有对声音与图像进行采集和处理的软件,需要有制作多媒体的软件,需要有播放多媒体作品的软件。
6.声音的数字化声音数字化的过程包括采样、A/D转换、编码和数据压缩。采样率通常是44.1kHz,22.05kHz或11.025kHz,采样率越高,信号失真越小,但数据量越大。A/D转换的位数通常有8位和16位之分,位数越多,噪音越小。声音数字化后产生的文件称为波形文件。
7.MIDI
MIDI(Musical Instrument Digital Interface)是乐器数字接口的英文缩写,通过MIDI键盘,可将弹奏的乐曲以MIDI的形式输入计算机,MIDI文件是记录音乐乐谱、产生合成音乐的文件,其数据量比波形文件小得多,但尚不能表示语言。
8.视频信息视频信息是指活动图像,典型的是576行、65536种彩色、25帧/秒的电视图像。由于连续播放时,数据量特别大,必须进行压缩才能在计算机中实现。VCD光盘采用MPEG-1标准压缩,每张VCD盘可存放74分钟的电视节目。DVD光盘采用MPEG-2标准压缩,可存放2小时以上高清晰度的电视节目。
9.多媒体技术的应用多媒体技术对传统的信息领域将会带来很大的变化,特别是对于出版业、广播与电视业、通信业将会带来全新的革命性的变化。