第一章 绪论
一、
微型计算机系统
(一)、概述:
由计算机的发展历史可总结出计算机发展的特点有如下几条:
(1)体积越来越小;
(2)价格越来越低;
(3)性能越来越好;
(4)应用越来越广。
(二)、微型计算机的发展阶段:
由第一台电子计算机到现在,短短半个多世纪,它历经了最神速的变化,从第一片微处理器Intel4004到现在的P6(Merced),这期间的发展速度远非其它学科可比。
(1) 4位机: 1971~1972;
代表芯片: Intel4004、4040、8008(低档8位机);
主频: 1MHZ;
执行指令速度: 20µS;
集成度: 1000~2000支管子/片;
支持的语言: 机器语言或简单的汇编语言。
(2) 8位机: 1973~1977;
代表芯片: Intel8080、8085,Motorola6800、6802,ZlogZ80;
主频: 2~4MHZ;
执行指令速度: 1~2µS;
集成度: 5000~10000支管子/片
支持的语言: 支持高级语言,具有DMA功能。
(3) 16位机: 1978~1982;
代表芯片: Intel8086、8088(80286:高性能),Motorola6800(68010:高性能
)、ZlogZ800
主频: 4~8MHZ
执行指令速度: 0.5µS;
集成度: 20000~60000支管子/片
此时期的计算机被人们称为第一代超大规模集成电路计算机,其软硬件都比较完善,最具代表性的是IBM公司1981年8月推出的8086/8088。
(4) 32位机: 1983~1992
代表芯片: Intel80386、80486,Motorola68020
主频: 16MHZ~32MHZ
指令执行时间: 0.05µS甚至更短;
集成度: 15万~50万支/片;
(5) 64位机: 1993年至今;
代表芯片:
Pentium(P5),PentiumⅡ、Ⅲ, PentiumⅣ,
Itanium(Intel代号为Merced) ;
主频: 66MHZ—上GMHZ;
执行指令时间: ns级;
集成度: 上千万只/片。
(三)、微型计算机系统(MCS)
1、
微处理器 (功能、结构及引脚)
(1)、微处理器的基本功能:
①数据传递
②数据运算
③计算机各部件控制。
(2)
微处理器的结构:
①早期微处理器的基本结构:
计算器(ALU),控制器、寄存器组及总线。
②现代微处理器的结构:
随着电子技术的发展,计算机的集成度越来越高,CPU的功能也越来越完善,结构图见教材P4。
[在讲结构图时先讲一些基本概念:
A.流水线:类似于工厂的流水线生产,Pentium有两条流水线U、V,每条流水线分五个步骤:指令预取、指令译码、地址生成、指令执行,回写。当一条指令完成预取,流水线便可对另一条指令开始操作;每条流水线都拥有自己的ALU、地址生成电路和数据CACHE接口;两条流水线可并行工作,故执行指令的速度比无标量结构的计算机快一倍。
B.分支预测:循环操作在软件设计中十分普遍,而每次循环当中对循环条件的判断占用了大量CPU时间,为此引入了分支预测的概念。Pentium提供了一个分支目标缓冲器BTB(Branch Target
Buffer,实际上是一个小Cache),来动态的预测程序的分支,当一条指令导致程序分支时,BTB记忆下这条指令及分支的目标地址,并用这些信息预测这条指令再次产生分支时的路径,CPU首先从此处预取。例如上学期学过的乘法运算流程]]
Pentium微处理器的结构包括:
A、总线接口部件(64位数据线、36位地址线、控制线)
B、控制部件
C、片上高速缓冲器(指令Cache和数据Cache)
D、预取缓冲器(Small Cache)
E、整型ALU
F、寄存器组
G、浮点部件
H、地址生成电路
整个指令执行过程采用双流水线。
(3) 微处理器的引脚信号
①地址引脚信号
②数据引脚信号
③控制引脚信号
2、
微计算机(MC)
用总线将CPU、MEMORY、I/O接口及设备连接为一体,则构成了微计算机,微计算机又分单总线机和多总线机。
(1)单总线机(见教材P5):只有一组总线,CPU处于主控地位,MEMORY及I/O接口均使用同一组总线,故CPU对MEMORY及I/O接口总线的操作只能分时进行,速度低,属低档次。
(2)多总线机(见教材P6图1-3):这种微机中有多组总线,MEMORY、I/O接口及显示器等可使用不同的总线,CPU可在多组总线上进行信息传输,速度快,属高档机。其中的每一组总线称为局部总线。
3、
微计算机系统
微计算机系统的硬件部分称为微机,加上相应的软件部分才构成微机系统(微机、操作系统、应用软件),计算机又分:小型机、大型机、巨形机,我们讲的主要是小型机,即微机或叫PC机。
二、
接口技术的基本概念
(一)、何谓接口?接口的分类。
1.接口(Interface):
使CPU与外设进行匹配的一种界面,或者说承担CPU与外设交换信息工作的电路,这种电路我们称为硬接口。硬接口必须在软件的支持下方能工作。
2. 接口的分类:
(1)内置接口:嵌在主板上的接口电路,如:
①硬盘接口IDE
②通用串行端口USB
③软盘接口
④键盘、鼠标接口
⑤内置声卡、显卡、网卡(集成在主板上)。
(2)外置接口:通过扩展槽引出的接口,如:
①插入插槽的MODEM
②插入图形加速端口的显卡
③各种仪器上使用的带计算机的专用接口
(二)、插槽的类型:
1. 8位ISA(Industries Standard Association)插槽
原始IBM机上用的双列、62脚插槽。
2. 16位ISA插槽:
IBM286机上用的插槽,增加了36个脚,与8位机兼容,8位接口板插入插槽的前半部分,16位接口板插入插槽的两部分。
3. 32位EISA插槽:
这种插槽是由康柏公司提供的386机上使用的插槽,与8位、16位兼容,四列直插式,与16位很相似。
以上三种插槽都有个共同特点:慢(8M)!这种“慢”是由最初的PC机带来的,那时的总线是与CPU匹配的,但随着CPU的速度越来越快(从8M到数GHZ),而总线的速度依然是8MHZ,无法与CPU匹配;通常情况下这种速度并不讨厌,因为外设的速度大部分都不高;而在磁盘读写、图形用户接口中,速度却显得极为重要。由此引入了以下三种插槽:
4.
VESA局部总线插槽:
这种插槽是486机上引入的,将486CPU芯片的引脚直接引入插槽,接口与CPU的信息传输可达33MHZ。
5. PCI总线插槽:
该插槽是由Intel公司研制出的,重新设计了PC机的总线,用桥的办法在CPU与本地I/O间插入另一组总线,并研制出一套芯片来扩展这组总线,PCI总线又称夹层总线,该总线配合32位CPU,能以132MB/S传递数据,该总线配合64位CPU,能以264MB/S传递数据。PCI插槽是目前最流行的插槽,现代微机都配有PCI插槽。
6. 图形加速端口(AGP):
AGP端口是专为视频卡设计的点对点的高性能连接,计算机中只有一个AGP 插槽,AGP为高速连接,可以66MHZ的基频运行,配合32位CPU,能以266MB/S传递数据。
(作业:设置→控制面板→属性框中选“诊断”→选择你安装了MODEM的端口COM→
点击“详细信息”查出“UART”的型号)
(三)、为何引入接口;接口的功能是什麽;有哪几种类型。
1.为何引入接口:
(1)速度匹配
(2)时序匹配
(3)
信息格式匹配
(4)
信号电平匹配
2.接口的功能:
(1)数据缓存:协调CPU与外设的数据传送速率
(2)端口寻址:寻找某一外设端口
(3)命令译码:产生相应的控制信号
(4)同步控制;使各部件协调工作
3. 接口的种类:(按接口电路所连外设的功能分)
(1)与主板配套的接口:中断控制接口、DMA控制接口,总线裁决接口。
(2)与专用外设配套的接口:硬盘接口、软盘接口、光驱接口、键盘接口及鼠标接口等。
(3)
与通用外设配套的接口:并行I/O接口、串行I/O接口等
(四)接口处理信息的种类及I/O端口寻址的方式:
不同的信息放入不同的端口内,CPU通过相应的地址信号来访问不同的端口信息。
1. 接口处理信息的种类:(分三类)
(1)数据信息:数字量、开关量、模拟量。
(2)状态信息:反映外设的状态,由外设送给CPU,由CPU进行监视,如READY、BUSY等信 号。
(3)控制信号:由CPU给外设,以控制外设的工作。
2. I/O端口寻址方式
(1)端口:以上三类信息分别放入不同的端口(数据端口、信息端口、控制端口)
端口实为不同寄存器(见教材P9图1-4)
(2)端口寻址方式:每个端口都有一个地址,CPU通过IN、OUT指令或存储器访问指令对端口进行访问。
端口寻址方式有两种:
①.端口统一寻址:I/O与存储器使用同一地址空间,利用访存指令而不是I/O指令去访问端口。该寻址方式简化了指令系统,但占用了存储器的部分空间。
②.端口独立寻址:现在流行的个人计算机几乎都采用独立的端口寻址,即端口的地址是与存储器的地址分开的。这样可利用专门的I/O指令访问端口。
A.电路连接:将CPU 的低位地址线连接到端口寄存器上,算出各端口寄存器的地址。
B.例如:若一数据端口中存放55H的字节,设该数据端口的地址为40H,要将55H字节传送到AL寄存器中,可采用端口输入指令:
IN AL,40H
同样若将AL寄存器中的字节输出给端口40H,则可用端口输出指令:
OUT 40H,AL
(五)CPU与外设之间的数据传送方式:
我们注意到:
● 对I/O的访问比对存储器的访问要复杂,原因有二:
☆ 各种外设间的速度差异很大。
☆外设与CPU的速度及时序差异很大
●以上的差异使CPU与外设的时间同步上产生了问题:
☆何时外设有空(EMPTY)或忙(BUSY),CPU可向它写入数据。
☆何时外设准备好(READY),CPU可读取外设的数据。
亦既CPU如何与外设进行数据传送。一般来说CPU
与外设数据传送采用以下三种方式:
1. 程序查询传送方式
(1)无条件传送方式(又称同步传送)
①无条件:外设总是处于就绪状态,CPU无须查询外设的状态,直接执行端口指令传送数据。
这样的外设如开关、继电器等简单外设。
②所需端口:输入时需数据缓冲器,输出时需数据锁存器,即数据端口;无须状态端口,因无须查询状态。
③在IO/M#为高电平(既选中端口)且地址译码有效时,选中相应的端口,执行IN或OUT 指令(见P11图1-5)
(2)条件传送方式(或查询传送方式):
①
条件传送:CPU与外设交换数据必须在具备一定条件下方能进行,即:外设准备好数据或外设空闲可接受数据;这就需要CPU不停地查询外设的状态,故必须设有状态寄存器端口。
②
所需端口:数据端口、状态端口及控制端口。CPU与外设最基本的工作就是传送数据,因此数据端口是必须的;由上可知状态端口也不可少,为了查询外设状态,必须由相应的控制寄存器端口来给出控制信号,因此也需控制端口。
③
查询式输入电路框图:(见教材图1-7)
所谓空闲是指数据锁存器中的数据已被外设取走,外设在取走数据的同时将D触发器复位,使Q端为零,在地址信号及IO/M#信号有效时BUSY为零,CPU查询到BUSY为零,既可进行数据传送。
☆以上两种传送方式的优缺点:
|
|
无条件传送方式 |
条件传送方式 |
|
优点 |
电路非常简单 |
不会丢失数据,电路及程序也简单。 |
|
缺点 |
外设需任何时候都处于准备好状态,而这样的外设并不多。倘若外设有没有准备好的状态,就会丢失数据。 |
CPU大部分时间都处于查询及等待状态,用于处理数据的时间非常少,CPU的效率极低,外设总处于被动状态。 |
2 .中断传送方式:
(1)中断:所谓中断是外设或其它中断源终止当前CPU执行的程序,使CPU转向该外设执行的程序,为外设服务,一旦服务结束,即返回原程序继续工作。
(2)IRT:CPU在每条指令执行的结尾阶段,均查询是否有中断请求信号IRT,这种查询由硬件执行,不占用CPU的工作时间。
(3)优点:极大地提高了CPU 的工作效率。
缺点:需程序传送数据及保护断点、恢复断点,占用了一些时间。
3.直接存储器存取(DMA)传送:
(1)DMA方式:是一种由专门的硬件(DMA控制器)电路执行的I/O传送方式,使CPU交出对总线的控制权,让外设高速接口可直接与存储器进行数据交换。
(2)DMA方式传送数据的过程:接口READY→向DMA发出DMA请求信号→CPU通过HOLD引脚接受DMAC的请求→CPU完成当前总线操作后就会在HLDA引脚上向DMAC发出一允许信号。
(六)、中断技术
中断是一种软、硬结合的非常复杂的技术,它的出现给计算机带来了新的突破,本部份主要讲中断的基本概念、中断的响应及处理过程、优先权安排等的问题。
1.中断的概述
(1)中断与中断源:
①何为中断:CPU终止当前执行的主程序,转去执行中断源所要求的子程序,此过程称为中断。
②何为中断源:引起中断的事件及原因
③中断源的种类:A、外部中断
B、 实时时钟
C、故障源
D、为调试程序设置的中断源
(2)中断系统及其功能:
①中断系统:为实现中断而设置的各种软、硬件,包括中断控制逻辑及各种管理中断的指令。
②中断系统的功能:A、能响应中断,处理中断及返回主程序。
B、能实现优先权的排队
C、高级中断源能中断低级中断源,即能实现中断嵌套。
2.单个中断源的中断:
先讨论单各中断源的简单情况,简单的中断应包括:
A、中断请求
B、中断响应
C、中断处理
D、中断返回
(1)中断源向CPU发中断请求的条件:中断源是通过接口向CPU发请求信号的,请求信号能否发给CPU ,应满足下列两个条件:
①接口电路中必须设置中断请求触发器。
②接口电路中必须设置中断屏蔽触发器。
(2)CPU响应中断的条件:当中断源向CPU发出INTR信号,CPU若响应它应满足下列两个条件:
①IFF(CPU内部中断允许触发器)=1(开中断),当CPU采样到INTR时,同时IFF=1,则响应中断。
②CPU在现行指令结束后响应中断.
(3)CPU执行中断后的处理过程:
在当前指令结束后
响应中断的条件 采样到INTR信号 满足该条件即响应中断,转入中断执行周期,在
IFF=1(开中断)
执行中断时,有以下几部操作:
① 关中断
② 保护断点
③ 保护现场
④ 给出中断入口地址,转入相应的服务程序
⑤ 恢复现场
⑥ 开中断
⑦ 返回主程序
3.(多个中断源的中断时)中断优先权
CPU的中断请求线(INTR)只有一条,当有多个中断源时,就要求:
A.CPU按多个中断源由高至低依次响应中断请求
B.CPU正在处理中断时,还能响应更高级的中断而屏蔽同级或低级的中断请求.
(1)中断优先级的判断方法:
①中断优先级:根据中断服务的轻重缓急进行排队。
②中断优先级的判别方法:
A、软件优先级查询方法。
B、 硬件优先级链式排队电路:响应最高优先级别的中断源、响应期应提供最高优先级的中断矢量、可进行中断嵌套。
C、专用优先级编码电路:输出最高优先级的中断类型码。
(2)中断嵌套:
允许嵌套的多级中断过程:
①关中断
②保护断点
③保护现场
④开中断
⑤给出中断服务地址,转入相应的服务程序
⑥关中断
⑦恢复现场
⑧开中断
⑨返回主程序
4.可编程的中断控制器
中断优先级管理的最常用方法是采用可编程的中断控制芯片,如8259。
(1)可编程中断控制器的功能
①可寄存每个中断源的请求信号
②通过设置,可屏蔽中断请求信号
③具有优先级控制功能