CPU与主存
我们都知道计算机的存储器分为:寄存器,主存,辅存,更加具体的分类如下
CPU寄存器 |
寄存器 |
主存 |
高速缓存 |
主存 |
磁盘缓存 |
辅存 |
磁盘 |
可移动存储介质 |
在计算机存储层次中,寄存器和主存储器都是可执行存储器,存储于其中的信息与存放在辅存中的信息相比较而言,计算机所采取的访问机制是不一样的,所需耗费的时间也不同,进程可以在很少的始终周期使用一条load和store指令对可执行存储器进行访问,但对辅存的访问则需要I/O设备来实现,因此,访问中将涉及到中断,设备驱动程序以及物理设备的运行,所需耗费的时间远远高于对可执行存储器访问的时间。
主存储器:计算机系统中的一个主要部件,用于存储进程运行时的程序和数据,也称为可执行存储器,CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器读取并将他们装入到寄存器中,或者从寄存器存入到主存储器,CPU与外围设备交换的信息一般也依托于主存储器地址空间。
一:由于主存储器的访问速度与CPU执行指令的速度不一致,在计算机系统中引入了寄存器和高速缓存。
寄存器
:访问速度非常快,能与CPU的速度匹配,但价格昂贵,它的长度一般以字(word)为单位。它用于加速存储器的访问速度,如用寄存器存放操作数,或用做地址寄存器加快地址转换速度等。
高速缓存
:访问速度很快,但是也低于CPU和寄存器,但容量远远大于寄存器。由于程序执行的局部性原理,如果将主存中一些经常访问的信息房子啊高速缓存中,减少访问主存储器的次数,通常进程的程序和数据是存放在主存中,每当使用时,被临时复制到速度叫快得缓冲中,CPU要访问某些程序或者数据时,会先检查高速缓存中是不是存在,如果有,就直接使用。大多数的操作系统都有指令高速缓存,用来存储下一条要执行的指令。
二:由于I/O传输数据的速度远远低于CPU的执行熟读,在计算机系统中引入了缓冲区
为了缓和CPU和I/O之间速度不匹配的矛盾,提高CPU与I/O设备的并行性,在现代操作系统中,几乎所有的I/O设备与处理机交换数据时都用了缓冲区。
1:缓和CPU与I/O设备间速度不匹配的矛盾。
2:减少对CPU的中断操作,放宽对CPU中断响应时间的限制。
3:提高CPU与I/O设备间的并行性,缓冲的引入可以显著的提高CPU和I/O设备间的并行操作程度,提高系统的吞吐量和设备的利用率。
缓冲技术一般分为四种:单缓冲,双缓冲,循环缓冲,缓冲池
三:既然I/O是计算机系统速度的最大瓶颈,那么操作系统采取了什么措施来优化呢?
CPU一共有四种方式控制I/O设备与内存或者CPU的数据传送方式。
程序直接控制方式:
程序直接控制方式就是由用户进程来直接控制内存或CPU与外设之间的信息传送,这种控制方式的管理者是用户进程,当用户需要数据时,它通过CPU发出设备准备启动的命令,然后进程进入等待状态,在这期间,CPU不断的用测试指令检查描述外设的工作状态的控制状态寄存器,而外设只有将数据传送的准备工作做好之后,才将寄存器置为“完毕”状态,只有CPU检测到该状态时,设备才开始真正的传输数据,反之,当用户进程需要传出数据时,也必须同样发送启动命令来启动设备。
优点:控制简单
缺点:CPU与外设串行工作,由于I/O速度慢,所以CPU大部分时间都在等待;CPU在一段时间内只能和一台外设交换数据信息。
中断方式:
在中断方式中,当进程需要数据时,首先通过CPU发出指令启动外设准备数据,然后该进程放弃CPU。这时CPU可以去处理其他的任务。当输入完毕之后,I/O控制器向CPU发出中断信号,CPU接收到中断信号之后,运行预先设计好的中断处理程序对数据传送工作进行响应的处理。所以这样CPU不用等待I/O传输完。当数据传输到缓冲寄存器并发出中断信号之后,CPU接受中断信号,并进行处理。
优点:使CPU的利用率大大提高,并且能支持躲到程序和设备的并行操作
缺点:由于缓冲寄存器容量有限,所以,可能在一次传输中会产生的中断请求过多,这样也会消耗大量的CPU处理时间;如果外设过多,则可能会由于中断次数的急剧增加而造成CPU无法响应中断和出现数据丢失现象;
DMA方式:
它的基本思想是,通过DMA控制器在外设和内存之间开辟直接的数据交换通路,从而在无需CPU控制的情况下实现内存和设备之间的成批数据交换。
它与中断方式最大的不同在于,中断方式是在缓冲寄存器满的时候就向CPU发送中断信号,而DMA是在所有的数据块都传送结束时才要求CPU进行处理,这大大减少了CPU的干预次数;另外中断方式的控制者是CPU,而DMA方式是在DMA控制器的控制下不需要经过CPU控制完成的,这就降低了由于外设过多造成CPU来不及处理而造成数据丢失的现象。
I/O通道方式:
是独立与CPU的专用于I/O控制的处理机,他控制设备与内存直接进行数据交换,它有自己的通道指令,这些指令有CPU启动,并在结束时向CPU发出中断信号。
在通道方式下,CPU只需要发出启动指令,指出通道响应的操作和I/O设备,该指令就可以启动通道并使通道从内存中调出响应的通道指令并执行。通道指令一般包括:数据在内存中英占据的位置。传送方向,数据长度以及被控制的I/O设备的地址信息,特征信息等。
可以看到在java.nio中大量使用了操作系统中使用到的概念。
分享到:
相关推荐
STEP7专业版V11如何访问S7-300外设I / O地址pdf,西门子之STEP7专业版V11如何访问S7-300外设I / O地址:本文描述如何在STEP7专业版V11中访问S7-300 CPU外设物理地址
所有IO地址一览表
PCI电平标准即外设器件互联电平标准,该标准支持33MHz和66MHz的总线应用,包括PCI-X、PCI-33、PCI-66等各类电平标准。
c-periphery, 在Linux中,用于外围 I/O ( GPIO,SPI,I2C,MMIO,串行)的一个C 库 c 外围 适用于Linux外设 I/O ( GPIO,SPI,I2C,MMIO,串行)的 C 库C 外围是一个小型的C 库,用于 GPIO 。SPI 。I2C 。MMIO和串行...
汇编语言的由来及其特点 CPU资源和存储器 操作数的寻址方式 标识符和表达式 微机CPU的指令系统 程序的基本结构 输入输出和中断 应用程序的设计 数值运算协处理器 汇编语言和C语言
FPGA器件拥有着丰富的I/O资源,它的可扩展性非常强,这也是我们使用它的一个很重要原因。如果说前面四个部分电路的设计相对而言都比较固定,那么I/O引脚应用则相对要自由很多。
几乎每一种外设都是通过读写设备上的寄存器来进行...CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。
随着计算机的发展,微机的外设也在不断发展和更新,因此微机与外设之间的通信接口也必须有相应的发展。...这样,在设计PC机系统时就必须预留出尽可能多的I/O接口, 因此系统成本高,外设连接过程繁琐。
网指玩手键盘就是玩计算机、网络、周边外设/外接、它们的影音图文、应用程序及场景,实施现场、远程和移动漫游的变控操作和兼合处理的一个实用装置,置于计算机USB接口,包括一个64键遥控手键盘、I/O处理盒(外接...
TMS320C28x系列DSP的CPU与外设 张卫宁 上下册
1.微机与外设的数据交换方式:包括查询方式、中断方式、DMA 方式和通道控制方式。 2.可编程中断控制器:介绍 8259 的结构与工作原理,编程方法与实际应用。...4.多功能 I / O 接口芯片:讲述 82380 的基本构造。
高性能模拟和混合信号产品厂商意法半导体(ST)日前推出了新的Xpander Logic系列产品,该系列产品有助于客户解决在基于微控制器和微处理器的嵌入式系统中遇到的输入输出端口(I/O)数量有限的难题。现在,现有的或新增加...
C8051F的每个I/O口引脚都可以被配置为推挽或漏极开路输出。同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3 的端口引脚。...必须在访问这些外设的I/O之前配置和允许交叉开关。
CPU与外设之间的数据传送方式及实现 与外设之间的数据传送方式及实现
I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。 时序不匹配: 各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU...
BittWare是混合(DSP和FPGA)电路板级方案供应商,它采用AD公司的TigerSHARC及Altera的FPGA技术,推出了...ATLANTiS集成了DSP、PCI桥、PMC接口和I/O外设及板载FPGA,可配置并路由I/O,提高了多处理器的性能和灵活性。
用I2C总线扩展I/O 在系统应用中,需监控不同的输入信号或控制几个输出信号,有时把这些信号线直接连接到微处理器引脚。这些监控和控制用软件来做。然而,这种技术需要很多微处理器引脚。 为了节省微处理器引脚,另一...
查询传送需要CPU不断地查询外设状态,等待外设就绪才执行I/O指令,进行数据的传送; 中断传送方式需要引入中断机制,通过中断的方式CPU在中断服务程序中执行I/O指令来完成数据的传送。 ……………… ………… ……
BittWare是混合(DSP和FPGA)电路板级方案供应商,日前该公司采用ADI的TigerSHARC及Altera的FPGA技术,推出...ATLANTiS集成了DSP、PCI桥、PMC接口和I/O外设及板载FPGA,可配置并路由I/O,提高了多处理器的性能和灵活性。