第1章 计算机功能与互连_第1页
第1章 计算机功能与互连_第2页
第1章 计算机功能与互连_第3页
第1章 计算机功能与互连_第4页
第1章 计算机功能与互连_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,计算机硬件与系统软件,第1章 计算机功能和互连 第1节 计算机的部件,一 IAS计算机,几乎所有当代计算机设计都是以普林斯顿高级研究院的冯.诺依曼提出的概念为基础。这种设计被称为“冯.诺依曼结构”,一 IAS计算机,IAS计算机结构包括: 主存贮器:用于存储数据和指令 算术逻辑单元(ALU):能够操作二进制数 程序控制器:负责翻译内存中的指令并执行 由控制器操纵的输入、输出设备(I/O),一 IAS计算机,“冯.诺依曼结构”计算机基于以下3个关键性的概念 数据和指令存储在单一的“读写存储器”中 存储器的内容通过位置寻址,而不考虑它容纳的数据是什么 以顺序的形式从一条指令到下一条指令(除非有

2、明确的修改)执行,IAS计算机存储器,IAS的存储器包含1000个存储单元,它们被称为字(word),每个字有40位(bit)。数据和指令都以二进制形式保存。,每个数由39个数值位和1个符号位组成。 一个字可以包含两条20位的指定。每条指令包含8位操作码,用以指定所执行操作的类型,还可以定义12位地址,用于指定存储器中某个字的地址。,二 IAS计算机结构扩展,寄存器,无论是控制器还是算术逻辑运算单元都包含存储区域:它们被称为寄存器。 存储缓冲寄存器(MBR):含有将要写到存贮器中或从存储器中接收到的一个字 存储地址寄存器(MAR):指定将要读到MBR或从MBR写到存储器的字的地址 指令寄存器(

3、IR):含有将要执行的8位操作码指令 指令缓冲寄存器(IBR):用来暂存来自内存某个字的右边一条指令 程序计数器(PC):存放将要从内存中获取的下一对指令的地址 累加器(AC)和乘商寄存器(MQ):用来暂存ALU运行的操作数和结果,IAS计算机指令,IAS计算机共有21条指令,可分为以下几类: 数据传送:在存储器和ALU的寄存器之间,或在两个ALU寄存器之间传送数据。 无条件转移:通常,控制器顺序执行存储器中的指令。这一顺序能通过跳转指令加以改变。它便于执行重复操作。 条件转移:可以依据条件来决定是否跳转,这样就允许选择从何处跳转 算术运算:由ALU完成的操作 地址修改:允许在ALU中计算地址

4、,并将它插入存储器的指令中,为程序寻址带来很大灵活性。,IAS计算机指令,三、现代计算机的结构,三 现代计算机结构,计算机有四个主要的结构化部件: 处理器(Processor):控制计算机的操作,执行数据处理能力。当只有一个处理器时,它通常指中央处理器(CPU)。 主存储器(Main Memory):存储数据和程序。 此类存储器通常是易失性的,当计算机关机时,存储器的内容会丢失。主存储器通常也称为实存储器(Real memory)或主存储器(primary memory)。 输入/输出模块(I/O modules):在计算机和外部环境(设备)之间移动数据。外部环境由各种外部设备组成,包括二级存

5、储器设备(如硬盘)、通信设备和终端。 系统总线(System Bus):为处理器、主存储器和输入/输出模块间提供通信的设施,寄存器,程序计数器(PC):存放将要从内存中获取的下一对指令的地址 指令寄存器(IR):含有将要执行的8位操作码指令 存储器地址寄存器(MAR):指定将要读到MBR或从MBR写到存储器的字的地址 存储器缓冲寄存器(MBR):含有将要写到存贮器中或从存储器中接收到的一个字 I/O地址寄存器(I/O AR):指定一个特定的I/O设备 I/O缓冲寄存器(I/O BR):用于I/O模块和CPU的数据交换,寄存器,CPU与内存交换数据,CPU一般使用两个内部寄存器 存储地址寄存器(

6、MAR):为一下次读或写指定内存地址 存储缓冲寄存器(MBR):容纳到内存或从内存接收的数据 CPU与I/O设备交换数据 I/O地址寄存器(I/O AR):指定了一个特定的I/O设备 I/O缓冲寄存器(I/O BR):用于I/O模块和CPU数据交换,实例:,逻辑图,第2节 计算机功能,计算机完成的基本功能是-执行程序。 要执行的程序由存于存储器中的一串指令组成 我们可以把指令处理看成由两个步骤组成: 1)处理器每次从内存中读取指令 2)处理器执行指令 程序的执行就是重复取指令和执行指令的过程,计算机指令周期,指令周期:一条指令所要求的处理过程 根据指令处理的过程,我们将CPU从 内存中读取指令

7、称为取指周期, 将执行指令的过程称为执行周期。 除非遇到特殊情况,否则程序将不会停止执行。,一、指令的获取和执行,在典型的CPU中 用一个称为程序计数器(PC)的寄存器来保存待取指令的地址。除非特别指明,否则CPU在每次取指令之后总是将PC的值加上一个增量,以便顺序地取下一条指令。 读取的指令装入CPU中的指令寄存器(IR) 指令以二进制形式存在,它规定了CPU将要执行的动作。CPU解释这条指令并完成所要求的操作,例:,指令周期,指令周期,指令周期,1)指令地址计算(iac):决定下一条要执行指令的地址。通常是将一个固定的值与前一条指令的地址相加。例如,如果每条指令有16位长,并且内存是由16

8、位字构成的,则将原地址加1;如果存储器是由可独立寻址的8位字节构成的,则将原地址加2。 2)读取指令(if):将指令从内存单元读到CPU中 3)指令操作译码(iod):分析指令,以决定执行何种操作及其所用的操作数 CPU指令集(instruction set):CPU能执行的各种不同指令的集合。 CPU的指令集目前有两种: 复杂指令集:CISC Intel、AMD PC机 精简指令集:RISC IBM、Motorolla 小型机、大型机 4)操作数地址计算(oac):如果操作包含对存储器或通过I/O的操作数的访问,那么必须决定操作数的地址。 5)取操作数(of):从存储器或从I/O中读取操作数

9、 6)数据操作(do):完成指令所给出的操作 7)存储操作数(os):将结果写入存储器或输出到I/O,二 中断,目的:提供中断主要是为了提高处理效率 中断(Sun): 是硬件设备或更广义地说是内核(通过软件中断)使用的一种机制,用于打断当前执行的流程,迫使处理器转而运行某个中断处理程序 例:硬盘速度比处理器慢400万倍 假设一台1G Hz CPU的PC机,大约每秒执行109 条指令 一个典型的硬件速度是7200转/秒,大约旋转半转的时间是4ms,二 中断,1中断的分类,1)、程序(陷阱):陷进的出现是与进程同步的 原因:出现陷阱一般是由于发生了意外错误, 如除0,或者访问一个无效的指针。 调用

10、陷阱处理程序处理陷阱的过程为: 保存进程状态 陷阱处理程序先确定陷阱的类型,再适时决定发送一个信号或产生一个页面调入请求。 返回:没有返回值,中断,中断,2)、I/O设备中断 设备中断是异步出现的。 请求中断服务的进程不可能是当前正在运行着的进程。 I/O以及其它设备所产生的中断,都是由中断处理例程来处理的,这些例程做为内核地址空间的一部分被载入内存。 FreeBSD5.2内核会给每台设备驱动程序创建一个“上下文(Context)环境”。由于每台设备都有“Context”,所以它也有自己的栈,而且在自己的栈上运行。,中断,3)、时钟中断 整个计算机系统是由一个时钟驱动的,这个时钟以固定的时间间

11、隔产生中断。每一次中断称为一个节拍(tick)。 在PC上,时钟每秒种产生100次节拍,每次节拍,系统都会更新当前系统时间,以及用户进程和系统的定时器(用于统计和分时)。 例:计算机时间是从UTC(Universal Coordinated Time,世界协调时)时间1970年1月1日起计算的时间偏移量,1970年1月1日称作元年(Epoch)。,时钟中断,石英振荡器-时钟信号源,中断,4)、硬件故障 如电源故障或存储器奇偶校验差错这类的故障产生,2 中断和指令周期,从用户程序的角度来看,中断只是打断正常的执行序列,当中断处理完成后,恢复执行原来的序列。 处理器和操作系统负责用户程序的挂起和在

12、中断点恢复操作,2 中断和指令周期,为适应中断,将中断周期(Interrupt Cycle)加入指令周期中。 在中断周期中,处理器检查是否发生了中断,这将由中断请求信号的出现来指示。如果没有中断请求,则处理器继续进入取指周期,读取当前程序的下一条指令,2 中断和指令周期,如果出现中断请求,则处理器执行如下操作: 1)、挂起当前正在执行的程序,并保存状态。这意味着保存下一条即将执行的指令的地址(程序计数器的当前内容)和任何与处理器当前活动相关联的数据。 2)、将程序计数器(PC)设置为中断处理例程的起始地址。,2 中断和指令周期,考虑到中断的指令周期状态图,3 多重中断,多重中断:在中断周期检查

13、是否有中断时,有多个 中断请求存在或中断处理例程本身又被 中断 多种中断的处理方法有两种: 1)、是在中断处理过程中禁止其它中断,2 多重中断,2)、定义中断的优先级,且允许优先级高的中断引起低级中断处理例程本身被中断,例:Intel 8259A可编程中断控制器(APIC),在80 x86的PC机中,采用了两片8259A可编程中断控制器,共可管理15个中断向量,控制与地址传输,相互连接: 从芯片的INT引脚连接至主芯片IR2引脚上;主8259A芯片的端口地址是0 x20,从芯片基本地址是0 xA0 中断请求传输: 8259A芯片对外部设备提出的中断请求(IRQ0IRQ15)选中当前最高优先级的

14、中断请求,通过主芯片的INT引脚通告CPU(指令状态字寄存器的中断位由01) 中断向量传输: CPU响应后,芯片从数据总线D7D0,将中断号传入CPU,处理器由此获得中断向量值(将其地址放入PC寄存器中),并执行此中断向量值定义的中断例行程序,三、 总线(BUS),1 总线与系统总线 总线(bus):是连接两个或多个设备的的通信通路 总线的关键特征是共享传输介质。多种设备连接到总线上,一个设备发出的信号可以被其它所有连接到总线上的设备所接收。 系统总线:连接计算机主要部件(处理器、存储器I/O)的总线称为系统总线。 最常见的计算机互连结构使用一个或多个系统总线,总线,2、系统总线,系统总线包含

15、50到上百条分立的导线,每条导线被赋予一个特定的功能。 虽然总线的设计有多种,但任何总线的线路都可以分成如下3个功能:数据总线、地址总线和控制总线。,1)、数据总线,数据总线:数据线提供系统模块间传送数据的路径,这些线组合在一起称为数据总线。 典型的数据总线包含8、16、32、64,这些线的数目称为数据总线的宽度。 每条线每次能传送1位,所以线的数目决定了每次能同时传送多少位。 数据总线的宽度是决定系统总体性能的关键因素。,2)、地址总线,地址线用于指定数据总线上数据的来源或去向。例如 如果CPU希望从存储器中读一个字(8位、16位或32位),它将所需要的字的地址放在地址线上。 地址总线的宽度

16、决定了系统能够使用的最大的存储器容量。,3)、控制总线,控制线用来控制对数据地址线的存取和使用。 由于数据线和地址线被所有模块共享,因此必须用一种方法控制它们的使用。控制信号在系统模块之间发送命令和时序信号。 时序信号指定了数据和地址信息的有效性。 命令信号指定了要执行的操作,典型的控制信号如下所示,存储器写(Memory Write):引起总线上的数据写入被寻址单元 存储器读(Memory Read):使所寻址单元的数据放到总线上。 I/O写(I/O Write):引起总线上的数据输出到被寻址的I/O端口 I/O读(I/O Read):使被寻址的I/O端口的数据放到总线上 传输响应(Tran

17、sfer ACK):表示数据已经被接收,或已把数据放到了总线上 总线请求(Bus Request):表示某个模块需要获得对总线的控制 总线准许(Bus Grant):表示发出请求的模块已经被允许控制总线 中断请求(Interrupt Request):表示某个中断正在等待处理 中断响应(Interrupt ACK):等待处理的中断请求被响应 时钟(Clock):用于同步操作 复位(Reset);初始化所有模块,信号与引脚-引脚,信号与引脚-SDRAM引脚,信号与引脚-SDRAM引脚的作用,(二)总线的操作,1、一个模块向另一个模块发送数据,两个过程 1)、获得总线的使用权 2)、通过总线传送数

18、据 2、一个模块向另一个模块请求数据 1)、获得总线的使用权 2)、通过适当的控制线和地址线向另一个模块发送请求,然后它必须等待另一个模块发送数据。,总线,从物理上讲,系统总线实际上是多条平行的导线。这些导线在卡或板上蚀刻出来的金属线。 总线延伸至所有的系统部件,每一个系统部件都连接了总线的全部或部分线。,(三) 多总线的层次结构,性能降低 如果大量的设备连接到总线上,性能就会下降,这主要有两个原因 1)、总线上连接的设备越多,传输延迟就越大 2)、当聚集的传输请求接近总线容量时,总线便会成为瓶颈 因此,多数计算机系统在体系结构中都选择使用多总线结构,多总线的层次结构,中间层结构,为满足这些不断增长的需要,工业上采用的普遍方法是构造与系统其余部分紧密集成的高速总线,而它仅要求一个在局部总线和高速总线之间的桥,有时称这种方案为中间层结构。,实例,PCI总线实例-台式计算机,PCI总线实例-服务器,(四) 总线设计要素,1、总线类型 总线的信号线要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论