‘壹’ 比较通道,dma,中断三种基本l/o方式的异同点
一、相同点:通道、DMA、中断三种基本I/O方式均为外围设备和内存之间的输入/输出控制方式。
二、不同胡吵点:
1、驱动方式不同:
中断:允许I/O设备主动打断CPU的运行并请求服务,从而“解放”CPU,使得其向I/O控制器发送读命猜做局令后可以继续做其他有用的工作;
DMA:直接存储器存取方式的基本思想是在I/O设备和内存之间开辟直接的数据交换通路,彻底“解放” CPU;
I/O通道方式:DMA方式的发展,它可以进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。穗让
2、适用场景不同:
中断:适用于高效场合
DMA:不需要CPU干预介入的控制器来控制内存与外设之间的数据交流的场合
I/O通道方式:适用于以字节为单位的干预,同时实现CPU、通道和I/O设备三者并行操作的场合
3、处理方法不同:
中断:在系统中具有多个中断源的情况下,常用的处理方法有,多中断信号线法.中断软件查询法.雏菊链法、总线仲裁法和中断向量表法。
DMA:获取总线的3种方式分别为:暂停方式、周期窃取方式和共享方式。
I/O通道方式:通道是一种通过执行通道程序管理I/O操作的控制器,它使主机与1/0操作之间达到更高的并行程度。按照所采取的传送方式,可将通道分为字节多路通道、选择通道和数组多路通道3种。
‘贰’ 直接存储器存取(DMA)方式是__方式
DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。
-------------------------------------------------
DMA方式的数据传送过程
DMA方式具有如下特点:
1、 外部设备的输入输出请求直接发给主储存器。
主存储器既可以被CPU访问,也可以被外围设备访问。因此,在主存储器中通常要有一个存储管理部件来为各种访问主存储器的申请排队,一般计算机系统把外围设备的访问申请安排在最高优先级。
2、 不需要做保存现场和恢复现场等工作,从而使DMA方式的工作速度大大加快。
由于在外围设备与主存储器之间传送数据不需要执行程序,因此,也不动用CPU中的数据寄存器和指令计数器等。
3、在DMA控制器中,除了需要设置数据缓冲寄存器、设备状态寄存器或控制寄存器之外,还要设置主存储器地址寄存器,设备地址寄存器和数据交换个数计数器。
外围设备与主存储器之间的整个数据交换过程全部要在硬件控制下完成。另外,由于外围设备一般是以字节为单位传送的,而主存储器是以字为单位访问的,因此,在DMA控制器中还要有从字节装配成字和从字拆卸成字节的硬件。
4、在DMA方式开始之前要对DMA控制器进行初始化,包括向DMA控制器传送主存缓冲区首地址、设备地址、交换的数据块的长度等,并启动设备开始工 作。在DMA方式结束之后,要向CPU申请中断,在中断服务程序中对主存储器中数据缓冲区进行后处理。如果需要继续传送数据的话,要再次对DMA控制器进 行初始化。
5、在DMA方式中,CPU不仅能够与外围设备并行工作,而且整个数据的传送过程不需要CPU的干预。如果主存储器的频带宽度足够的话,外围设备的工作可以丝毫不影响CPU运行它自身的程序。
DMA方式的工作流程如下:
对于输入设备:
从输入介质上读一个字节或字到DMA控制器中的数据缓冲寄存器BD中,如果输入设备是面向字符的,则要把读入的字符装配成字。
若一个字还没有装配满,则返回到上面;若校验出错,则发中断申请;若一个字已经装配满,则将BD中的数据送入主存数据寄存器。
把主存地址寄存器BA(在DMA控制器中)中的地址送入主存地址寄存器,并且将BA中的地址增值至下一个字地址。
把DMA控制器内的数据交换个数计数器BC中的内容减"1"。
若BC中的内容为"0",则整个DMA数据传送过程全部结束,否则返回到最上面继续进行。
对于输出设备:
把主存地址寄存器BA(在DMA控制器中)中的地址送入主存地址寄存器,并启动主存储器,同时将BA中的地址增值至下一个字地址。
将主存储器数据寄存器中的数据送入DMA控制器的数据缓冲寄存器BD中。如果输出设备是面向字符的,则要把BD中的数据拆卸字符。
把BD中数据逐个字符(对于面向字符的设备)或整个字写到输出介质上。
把DMA控制器内的数据交换个数计数器BC中的内容减"1"。
若BC中的内容为"0",则整个DMA数据传送过程全部结束,否则返回到最上面继续进行。
目前使用的DMA方式实际上有如下三种:
1、周期窃取方式
在每一条指令执行结束时,CPU测试有没有DMA服务申请,如果有,则CPU进入一个DMA周期。在DMA周期中借用CPU完成上面所列出的DMA工作流程。包括数据和主存地址的传送,交换个数计数器中的内容减"1",主存地址的增值及一些测试判断等。
采用周期窃取方式时,主存储器可以不与外围设备直接相连接,而只与CPU连接,即仍然可以采用如图4.4那样的连接方式,因为外围设备与主存储器的数据交换与程序控制输入输出方式和中断输入输出方式一样都是要经过CPU的。
周期窃取方式与程序控制输入输出方式和中断输入输出方式的不同处主要在:它不需要使用程序来完成数据的输入或输出,只是借用了一个CPU的周期来完成DMA流程。因此,其工作速度是很快的。
周期窃取方式的优点是硬件结构很简单,比较容易实现。缺点是在数据输入或输出过程种实际上占用了CPU的时间。
2、直接存取方式
这是一种真正的DMA方式。DMA控制器的数据传送申请不是发向CPU,而是直接发往主存储器。在得到主存储器的响应之后,整个DMA工作流程全部在DMA控制器中用硬件完成。
直接存取方式的优点与缺点正好与周期窃取方式相反。
目前的多数计算机系统均采用直接存取方式工作。
3、数据块传送方式
在设备控制器中设置一个比较大的数据缓冲存储器,一般要能够存放下一个数据块,如在软磁盘存储器中通常设置512个字节的数据缓冲存储器。与设备介质之间的数据交换在数据缓冲存储器中进行。设备控制器与主存储器之间的数据交换以数据块为单位,并采用程序中断方式进行。
数据块传送方式实际上并不是DMA方式,只是它在每次中断输入输出过程中是以数据块为单位获得或发送数据的,这一点与上面两种DMA方式相同,因此,通常也把这种输入输出方式归入DMA方式。
采用数据块传送方式的外围设备还有行式打印机,激光打印机,卡片阅读机,部分绘图仪等。
‘叁’ 存储器的存储方式
存储器中数据常用的存取方式有顺序存取、直接存取、随机存取和相联存取等四种。
(1)顺序存取:存储器的数据以记录的形式进行组织。对数据的访问必须按特定的线性顺序进行。磁带存储器采用顺序存取的方式。
(2)直接存取:与顺序存取相似,直接存取也使用一个共享的读写装置对所有的数据进行访问。但是,每个数据块都拥有惟一的地址标识,读写装置可以直接移动到目的数据块的所在位置进行访问。存取时间也是可变的。磁盘存储器采用直接存取的方式。
(3)随机存取:存储器的每一个可寻址单元都具有自己惟一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问,而与先前的访问序列无关。主存储器采用随机存取的方式。
(4)相联存取:相联存取也是一种随机存取的形式,但是选择某一单元进行读写是取决于其内容而不是其地址。与普通的随机存取方式一样,每个单元都有自己的读写装置,读写时间也是一个常数。使用相联存取方式,可以对所有的存储单元的特定位进行比较,选择符合条件的单元进行访问。为了提高地址映射的速度,cache采取相联存取的方式。
存储器系统的性能主要由存取时间、存储器带宽、存储器周期和数据传输率等来衡量。
‘肆’ 随机存取与直接存取有什么区别
随机存取和直接存取是同一个概念,两者没有任何的区别,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。随机存储最典型的代表为链式存储。
随机存取和具有逻辑上相邻的节点物理上不必相邻;插入、删除数据灵活,不必移动节点,只要改变节点中的指针;每个结点是由数据域和指针域组成的特点。
(4)什么叫直接存储器存取方式扩展阅读
随机存取存储器依赖电容器存储数据。电容器充满电后代表1(二进制),未充电的代表0。由于电容器或多或少有漏电的情形,若不作特别处理,数据会渐渐随时间流失。刷新是指定期读取电容器的状态,然后按照原来的状态重新为电容器充电,弥补流失了的电荷。
随机存取存储器(RAM)是计算机存储器中最为人熟知的一种。之所以RAM被称为“随机存储”,是因为您可以直接访问任一个存储单元,只要您知道该单元所在记忆行和记忆列的地址即可。
‘伍’ I/O数据有几种传送方式各有什么特点
I/O数据有几种传送方式?各有什么特点?
程序方式:指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。
无条件传送方式接姿猛口简单,适用于那些能随时读写的设备。条件传送方式(查询方式) 的特点是接口电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态。适用于CPU不太忙,传送速度要求不高的场合。要求各种外设不能同时工作,外设处于被动状态。
中断方式:当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许的情况下,暂停执行当前正在执行的程序,响应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序。其特点是CPU的利用率高,外设具有申请CPU中断的主动权, CPU和外设之间处于并行工作状态。但中断服务需要保护断点和恢复断点(占用存储空间,降低速度), CPU和外设之间需要中断控制器。适用于CPU的任务较忙、传送速度要求不高的场合,尤其适合实时控制中的紧急事件处理。
存储器直接存取方式(DMA):外设利用专用的接口(DMA控制器)直接与存储器进行高速数据传送,并不经过CPU(CPU不参与数据传送工作),总线控制权不在CPU处,而由DMA 控制器控制。其特点是接口电路复杂,硬件开销大。大批量数据传送速度极快。适用于存储器与存储器之间、存储器与外设之间的大批量数据传送的场合。
I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系统[1] ,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。
I/O数据有几种传送方式?各有什么特点?求解
程序方式:指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。
无条件传送方式接口简单,适用于那些能随时读写的设备。条件传送方式(查询方式) 的特点是接口迹兄桥电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态。适用于CPU不太忙,传送速度要求不高的场合。要求各种外设不能同时工作,外设处于被动状态。
中断方式:当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许的情况下,暂停执行当前正在执行的程序,响尘蚂应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序。其特点是CPU的利用率高,外设具有申请CPU中断的主动权, CPU和外设之间处于并行工作状态。但中断服务需要保护断点和恢复断点(占用存储空间,降低速度), CPU和外设之间需要中断控制器。适用于CPU的任务较忙、传送速度要求不高的场合,尤其适合实时控制中的紧急事件处理。
存储器直接存取方式(DMA):外设利用专用的接口(DMA控制器)直接与存储器进行高速数据传送,并不经过CPU(CPU不参与数据传送工作),总线控制权不在CPU处,而由DMA 控制器控制。其特点是接口电路复杂,硬件开销大。大批量数据传送速度极快。适用于存储器与存储器之间、存储器与外设之间的大批量数据传送的场合。
I/O端口的编址方式有几种?各有什么特点?
有两种,即独立编址和统一编址。 1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中 (1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计 (2)缺点:需要有专用的I/O指令,程序设计的灵活性较差 2.统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间 (1)优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数量几乎不受限制 (2)缺点:I/O端口占用了内存空间的一部分,影响了系统的内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加
CPU传送数据最快的I/O方式是什么传送方式?
C
CPU的I/O传送控制方式中,效率高、实时性强的方式是 中断传送
CPU的I/O传送控制方式中,传送速度最快的方式为 DMA传送
数控车床主轴有几种传动方式?各有什么特点
对于机床主轴,传动件的作用是以一定的功率和最佳切削速度完成切削加工。按传动功能不同可将主传动作如下分类:
1、有变速功能的传动:为了简化结构、在传动设计时,将主轴当做传动变速组,常用变速副是滑移齿轮组。为了保证主轴传动精度及动平衡,可将固定齿轮装于主轴上或在主轴上装换档离合器,这类传动副多装与两支承中间。对于不频繁的变速,可用交换齿轮、塔轮结构等,此时变速传动副多装于主轴尾端。
2、固定变速传动方式:这种传动方式是为了将主轴运动速度(或扭矩)调整到适当范围。考虑到受力和安装、调整的方便,固定传动组可装在两支承之外,尽量靠近某一支承,以减少对主轴的弯矩作用,或采用卸荷机构。常用的传动方式有齿轮方式、带传动、链传动等。
3、主轴功能部件:将原动机与主轴传动合为一体,组成一个独立的功能部件,如用于磨削加工的各类磨床用主轴部件或用于组合机床的标准主轴组(又称主轴单元)。们的共同特点是主轴本身无变速功能,主轴转速的调节可采用机械变速器或与电气、液(气)压控制等方式,但可调范围小。
在i/o数据传送方式中,中断方式和dna方式有什么主要异同
dna?不是dma么……中断是由软件或外部需要进行数据传输时,向cpu提出中断申请,经cpu回传信号后开始数据传递。而dma不经由cpu的控制,直接进行数据的存取传递。
cpu与外设的数据传送方式有哪些?各有什么特点?用在什么场合?
8.2 CPU与外设数据传送的方式
8.2.1 查询传送方式
CPU与I/O设备的工作往往是异步的,很难保证当CPU执行输入操作时,外设已把要输入的信息准备好了;而当CPU执行输出时,外设的寄存器(用于存放CPU输出数据的寄存器)一定是空的.所以,通常程序控制的传送方式在传送之前,必须要查询一下外设的状态,当外设准备就绪了才传送;若未准备好,则CPU等待.
1.查询式输入
在输入时,CPU必须了解外设的状态,看外设是否准备好.
当输入设备的数据已准备好后,发出一个选通信号,一边把数据送入锁存器,一边使D触发器为"1",给出"准备好"Ready的状态信号.而数据与状态必须由不同的端口输至CPU数据总线.当CPU要由外设输入信息时,先输入状态信息,检查数据是否已准备好,当数据已经准备好后,才输入数据.读入数据的指令,使状态信息清"0".
这种查询输入方式的程序流程图,如图8-11所示.
2.查询式输出
同样的,在输出时CPU也必须了解外设的状态,看外设是否有空(即外设不是正处在输出状态,或外设的数据寄存器是空的,可以接收CPU输出的信息),若有空,则CPU执行输出指令,否则就等待.
查询式输出的程序流程图如图8-14所示.
8.2.2 中断传送方式
在上述的查询传送方式中,CPU要不断地询问外设,当外设没有准备好时,CPU要等待,不能进行别的操作,这样就浪费了CPU的时间.而且许多外设的速度是较低的,如键盘,打印机等等,它们输入或输出一个数据的速度是很慢的,在这个过程中,CPU可以执行大量的指令.为了提高CPU的效率,可采用中断的传送方式:在输入时,若外设的输入数据已存入寄存器;在输出时,若外设已把上一个数据输出,输出寄存器已空,由外设向CPU 发出中断请求,CPU就暂停原执行的程序( 即实现中断),转去执行输入或输出操作(中断服务),待输入输出操作完成后即返回,CPU再继续执行原来的程序.这样就可以大大提高CPU的效率,而且允许CPU与外设(甚至多个外设)同时工作.
8.2.3 直接数据通道传送(DMA)
中断传送仍是由CPU通过程序来传送,每次要保护断点,保护现场需用多条指令,每条指令要有取指和执行时间.这对于一个高速I/O设备,以及成组交换数据的情况,例如磁盘与内存间的信息交换,就显得速度太慢了.
所以希望用硬件在外设与内存间直接进行数据交换(DMA),而不通过CPU,这样数据传送的速度的上限就取决于存储器的工作速度.但是,通常系统的地址和数据总线以及一些控制信号线(例如IO/,,等)是由CPU管理的.在DMA方式时,就希望CPU把这些总线让出来(即CPU连到这些总线上的线处于第三态——高阻状态),而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束等信号.这些都是由硬件实现的.
1.DMA控制器的基本功能
DMAC是控制存储器和外部设备之间直接高速地传送数据的硬件电路,它应能取代CPU,用硬件完成图8-17所示的各项功能.具体地说应具有如下功能:
(1)能接收外设的请求,向CPU发出DMA请求信号.
(2)当CPU发出DMA响应信号之后,接管对总线的控制,进入DMA方式.
(3)能寻址存储器,即能输出地址信息和修改地址.
(4)能向存储器和外设发出相应的读/写控制信号.
(5)能控制传送的字节数,判断DMA传送是否结束.
(6)在DMA传送结束以后,能结束DMA请求信号,释放总线,使CPU恢复正常工作.
2.DMA传送方式
各种DMAC一般都有两种基本的DMA传送方式:
(1)单字节方式:每次DMA请求只传送一个字节数据,每传送完一个字节,都撤除DMA请求信号,释放总线.
(2)字节(字符)组方式:每次DMA请求连续传送一个数据块,待规定长度的数据块传送完了以后,才撤除DMA请求,释放总线.
细胞增殖有几种方式?各有什么特点?
真核细胞增殖分为有丝分裂,无丝分裂和减数分裂。
一.
有丝分裂过程包括1.物质准备(间期),2.细胞分裂 其中间期时间较长
间期细胞体积变大,有核膜核仁,和成丝状的染色质,此时染色质复制,包括DNA和Pr.复制
分列期分为以下几个阶段
1.前期;核膜核仁消失,染色质高度螺旋化变成染色体。细胞两极发出纺锤丝形成纺锤体
2.中期;染色体着丝点排列在赤道板上,染色体数目形态清晰,便于观察
3.后期;着丝点一分为二,姐妹染色单体分离,在纺锤丝牵引下移向两级,染色体数目暂时加倍,染色单体数目为0.
4.末期;核膜核仁重新出现,纺锤体消失,染色体消失变成了染色质,赤道板位置出现了细胞板,将细胞一分为二.
二.无丝分裂。
没有纺锤丝的出现,没有染色体的变化,始终有细胞核。
三.减数分裂
减数分裂只发生在真核生物有性生殖的过程中。
原核生物为二分裂方法。
希望可以帮到你。。
主机与外部设备之间的数据传送方式有哪些?各有什么特点
1.程序查询方式
2.中断方式
3.DMA方式
4.通道方式
特点啥的就不是很清楚了哎
‘陆’ 微机中,cpu与外设之间有哪几种传送的方式,他们的工作原理是什么啊!!
方式有四种:程序直接控制方式、中断控制方式、DMA方式、通道方式。
(1)程序直接控制方式:就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。
(2)中断控制方式:被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。
(3)DMA方式:又称直接存取方式。其基本思想是在外围设备和内存之间开辟直接滑顷携的数据交换通道。
(4)通道方式:与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。
知识延展:
1. 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。主要包括运算器和控制器两大部件。此外,还包括若干个寄存器和高速缓冲存储器及实现它们之间联系的数据、控制及状态的总线。
2. 中央处理器拥有多线程、多核心、 乱序执行、NUMA技术、分枝技术和SMP等多项处理技术,与内部存乎兆储器和输入/输出设备合称为电子计算机三信伏大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。
‘柒’ 直接存储器存取的用途
DMA方式主要适用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,如果用输入输出指令樱晌或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。
DMA控制器或接口一般包括四个寄存器:
状态控制寄存器、数据寄存器、地址寄存器和字节计数器。
这些寄存器在信息传送之前需要进行初始化设置。即在输入输出程序中用汇编语言谨州指脊晌锋令对各个寄存器写入初始化控制字。
‘捌’ 直接存储器存取的工作原理
一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号脊态或。外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对闭拿某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。
实现DMA传送的基本操作如下:
(1)外设可通过DMA控制器向CPU发出DMA请求:
(2)CPU响应DMA请求,系统樱伍转变为DMA工作方式,并把总线控制权交给DMA控制器;
(3)由DMA控制器发送存储器地址,并决定传送数据块的长度;
(4)执行DMA传送;
(5)DMA操作结束,并把总线控制权交还CPU。
‘玖’ 计算机组成原理(三)存储系统
辅存中的数据要调入主存后才能被CPU访问
按存储介质,存储器可分为磁表面存储器(磁盘、磁带)、磁心存储器半导体存储器(MOS型存储器、双极型存储器)和光存储器(光盘)。
随机存取存储器(RAM):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关,如内存条等
顺序存取存储器(SAM):读写一个存储单元所需时间取决于存储单元所在的物理位置,如磁盘等
直接存取存储器(DAM):既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。如硬盘等
相联存储器,即可以按内容访问的存储器(CAM)可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器
读写存储器—即可读、也可写(如:磁盘、内存、Cache)
只读存储器—只能读,不能写(如:实体音乐专辑通常采用CD-ROM,实体电影采用蓝光光盘,BIOS通常写在ROM中)
断电后,存储信息消失的存储器——易失性存储器(主存、Cache)
断电后,存储信息依然保持的存储器——非易失性存储器(磁盘、光盘)
信息读出后,原存储信息被破坏——破坏性读出(如DRAM芯片,读出数据后要进行重写)
信息读出后,原存储信息不被破坏——非破坏性读出(如SRAM芯片、磁盘、光盘)
存储器芯片的基本电路如下
封装后如下图所示
图中的每条线都会对应一个金属引脚,另外还有供电引脚、接地引脚,故可以由此求引脚数目
n位地址对应2 n 个存储单元
假如有8k×8位的存储芯片,即
现代计算机通常按字节编址,即每个字节对应一个地址
但也支持按字节寻址、按字寻址、按半字寻址、按双字寻址
(Dynamic Random Access Memory,DRAM)即动态RAM,使用栅极电容存储信息
(Static Random Access Memory,SRAM)即静态RAM,使用双稳态触发器存储信息
DRAM用于主存、SRAM用于Cache,两者都属于易失性存储器
简单模型下需要有 根选通线,而行列地址下仅需 根选通线
ROM芯片具有非易失性,断电后数据不会丢失
主板上的BIOS芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统(开机)。逻辑上,主存由 辅存RAM+ROM组成,且二者常统一编址
位扩展的连接方式是将多个存储芯片的地址端、片选端和读写控制端相应并联,数据端分别引出。
字扩展是指增加存储器中字的数量,而位数不变。字扩展将芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。
实际上,存储器往往需要同时扩充字和位。字位同时扩展是指既增加存储字的数量,又增加存储字长。
两个端口对同一主存操作有以下4种情况:
当出现(3)(4)时,置“忙”信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。
多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交义工作。多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种.
①高位交叉编址
②低位交叉编址
采用“流水线”的方式并行存取(宏观上并行,微观上串行),连续取n个存储字耗时可缩短为
宏观上,一个存储周期内,m体交叉存储器可以提供的数据量为单个模块的m倍。存取周期为T,存取时间/总线传输周期为r,为了使流水线不间断,应保证模块数
单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。
缺点:每次只能同时取m个字,不能单独取其中某个字;指令和数据在主存内必须是连续存放的
为便于Cache 和主存之间交换信息,Cache 和主存都被划分为相等的块,Cache 块又称Cache 行,每块由若干字节组成。块的长度称为块长(Cache 行长)。由于Cache 的容量远小于主存的容盘,所以Cache中的块数要远少于主存中的块数,它仅保存主存中最活跃的若干块的副本。因此 Cache 按照某种策略,预测CPU在未来一段时间内欲访存的数据,将其装入Cache.
将某些主存块复制到Cache中,缓和CPU与主存之间的速度矛盾
CPU欲访问的信息已在Cache中的比率称为命中率H。先访问Cache,若Cache未命中再访问主存,系统的平均访问时间t 为
同时访问Cache和主存,若Cache命中则立即停止访问主存系统的平均访问时间t 为
空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的
时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息
基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”的部分数据放到Cache中
直接映射方式不需要考虑替换算法,仅全相联映射和组相联映射需要考虑
①随机算法(RAND):若Cache已满,则随机选择一块替换。实现简单,但完全没考虑局部性原理,命中率低,实际效果很不稳定
②先进先出算法(FIFO):若Cache已满,则替换最先被调入Cache的块。实现简单,依然没考虑局部性原理
③近期最少使用算法(LRU):为每一个Cache块设置一个“计数器”,用于记录每个Cache块已经有多久没被访问了。当Cache满后替换“计数器”最大的.基于“局部性原理”,LRU算法的实际运行效果优秀,Cache命中率高。
④最不经常使用算法(LFU):为每一个Cache块设置一个“计数器”,用于记录每个Cache块被访问过几次。当Cache满后替换“计数器”最小的.并没有很好地遵循局部性原理,因此实际运行效果不如LRU
现代计算机常采用多级Cache,各级Cache之间常采用“全写法+非写分配法”;Cache-主存之间常采用“写回法+写分配法”
写回法(write-back):当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存。减少了访存次数,但存在数据不一致的隐患。
全写法(写直通法,write-through):当CPU对Cache写命中时,必须把数据同时写入Cache和主存,一般使用写缓冲(write buffer)。使用写缓冲,CPU写的速度很快,若写操作不频繁,则效果很好。若写操作很频繁,可能会因为写缓冲饱和而发生阻塞访存次数增加,速度变慢,但更能保证数据一致性
写分配法(write-allocate):当CPU对Cache写不命中时,把主存中的块调入Cache,在Cache中修改。通常搭配写回法使用。
非写分配法(not-write-allocate):当CPU对Cache写不命中时只写入主存,不调入Cache。搭配全写法使用。
页式存储系统:一个程序(进程)在逻辑上被分为若干个大小相等的“页面”, “页面”大小与“块”的大小相同 。每个页面可以离散地放入不同的主存块中。CPU执行的机器指令中,使用的是“逻辑地址”,因此需要通“页表”将逻辑地址转为物理地址。页表的作用:记录了每个逻辑页面存放在哪个主存块中
逻辑地址(虚地址):程序员视角看到的地址
物理地址(实地址):实际在主存中的地址
快表是一种“相联存储器”,可以按内容寻访,表中存储的是页表项的副本;Cache中存储的是主存块的副本
地址映射表中每一行都有对应的标记项
主存-辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache-主存:解决了主存与CPU速度不匹配的问题