`
gengu
  • 浏览: 86757 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

CPU,主存,外设I/O读写速度不匹配的解决

阅读更多

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中大量使用了操作系统中使用到的概念。

 

 

 

分享到:
评论

相关推荐

    2020年《计算机组成原理》课程期末考卷(A卷)附答案

    本课程期末考卷的题目涵盖了计算机组成原理的核心概念,包括I/O外设与主机的交互、控制单元CU的功能、主存与I/O设备的数据传输、Cache与主存的地址映射等关键知识点。 1. I/O外设与主机的反馈线是计算机系统中实现...

    【复习指导】 简答题整理2.pdf

    - Cache—主存层次主要解决CPU与主存速度不匹配的问题,加速CPU访存速度。 - 主存—辅存层次主要解决存储容量问题,扩容存储系统。 静态RAM与动态RAM比较: - 静态RAM依赖双稳态触发器存储信息,不需要刷新,速度快...

    【复习指导】 简答题整理1.pdf

    - **Cache—主存**:用来解决CPU与主存速度不匹配的问题,通常由硬件自动管理。 - **主存—辅存**:解决存储系统容量问题,由硬件和操作系统共同管理。 2. **存储器带宽**:指单位时间内存储器能够存取的信息量。 ...

    微型计算机原理及应用:第6章 输入输出和中断技术.ppt

    I/O接口电路作为CPU与外设之间通信的桥梁,其主要作用包括但不限于: 1. **缓冲和锁存**:对外部数据进行暂存,确保数据的正确传输。 2. **信息格式转换**:实现数据格式的转换,如串行到并行或并行到串行。 3. **...

    计算机软件技术基础复习题

    - **缓冲技术**:解决CPU和I/O设备速度不匹配问题,如CPU与打印机速度差异。 3. **I/O管理** - **I/O通道**:允许存储设备与I/O设备直接交换信息,无需CPU参与。 - **缓冲技术**:解决高速CPU与低速外设间的速度...

    微型计算机原理及其接口技术模拟试卷和答案.pdf

    10. **8086CPU的外部操作**:包括存储器读写、I/O读写、中断处理等。 11. **8086/8088的数据存储**:8086/8088的数据可以存放在多个不连续的段中,这是由于其使用了分段内存管理模式。 12. **指令执行**:8086/...

    北语15秋《操作系统》作业4.docx

    1. 缓冲区技术:在设备数据传输速度与CPU处理速度不匹配的情况下,使用缓冲区可以解决这个问题。缓冲区可以暂时存储输入或输出数据,减少CPU等待时间,提高系统效率。在选择题中,A选项"缓冲区"被正确地选为了解决该...

    计算机组成原理试题.pdf

    14. Cache的作用:在主存和CPU之间增加Cache是为了解决速度不匹配问题,提高数据访问速度。 15. 闪速存储器:对于系统程序,如果不需要用户在运行时改变,可以选择非易失性的闪速存储器,即使断电数据也不会丢失。 ...

    北语15秋《操作系统》作业4.doc

    8. DMA(直接存储访问):是一种I/O控制方式,允许外设直接与主存交换数据,而不通过CPU,提高了数据传输速度。 9. 分页存储管理:主存分配以块为单位进行,每个进程的逻辑地址被分成固定大小的页,映射到物理地址...

    微机系统与接口课件:复习课(接口部分).ppt

    接口技术中,数字/模拟接口解决了CPU与外设速度不匹配的问题,如8255等可编程接口芯片,它们具有独立的片选、输出使能和写入使能信号,以适应不同速度的需求。简单的I/O连接通常涉及三态缓冲器(如74LS245)和输出...

    计算机操作系统课后习题答案

    - 解决人机矛盾及CPU和I/O设备之间速度不匹配的问题。 - 通过外围机控制,预先将用户程序和数据从低速输入设备输入到磁带上,再高速输入到内存中。 - 当程序运行完毕后,计算结果被高速输出到磁带上,之后在外围...

    计算机组成原理习题第三章存储系统.pdf

    5. **Cache**:Cache是一种高速缓冲存储器,它的存在是为了缓解CPU与主存速度不匹配的问题,通过将常用数据临时存储在Cache中,提高数据访问速度。 6. **虚拟存储器**:虚拟存储器通常由主存和辅存(如硬盘)两级...

    微机原理与接口技术复习题

    15. **高速缓存(Cache)**:用来解决CPU与主存速度不匹配的问题,提高数据存取速度。 16. **接口标准**:IEEE1284(如LPT接口的增强模式)、RS-422和RS-449都是用于改善RS-232C传输距离和效率的接口标准。 17. **...

    操作系统原理.docx

    21. 缓冲技术:操作系统使用缓冲来解决I/O设备与CPU速度不匹配的问题,以提高效率。 22. 处理机管理:操作系统中的一部分负责进程调度,确保公平、高效地使用CPU。 23. 程序性中断:除数为零是程序性中断事件,由...

    2020下半年数据系统工程师真题及答案.pdf

    所以正确答案是C、主存与CPU速度不匹配。 问题3中描述的DMA(Direct Memory Access,直接内存访问)是一种允许外部设备直接读写主存中的数据而不经过CPU的技术。这样可以减少CPU的负担,因为CPU不需要执行数据传输...

    2010-2011操作系统试题及答案

    - 在设备I/O中引入缓冲技术的目的并不是为了节省内存,而是为了提高I/O效率和改善CPU与I/O设备之间的速度匹配问题。 - 指令中的地址结构和外存容量是决定虚存作业地址空间的两个因素(选项B):这是正确的,虚存作业...

    计算机系统结构(复习题) .doc

    6. 输入输出控制器管理方式:直接存储器访问(DMA)方式对外设工作速度的影响最小,因为它允许数据直接在内存和I/O设备间传输,减少了CPU的参与,选项C正确。 7. 计算机系统层次结构:操作系统机器级的直接上层是...

    计算机系统结构(复习题).doc

    17. Cache存储器的引入:目的是解决CPU与内存速度不匹配的问题,通过高速缓存来减少CPU等待数据的时间。 18. 用户I/O操作:从源程序的读写语句到实际操作完成,需要经过编译系统将I/O语句转换为系统调用,再通过...

    (0013)计算机组成原理复习思考题.pdf

    14. **主辅存储器**:主辅存储器系统旨在解决主存速度与CPU速度不匹配以及扩大存储容量的问题。 15. **单地址指令**:在单地址指令中,第二个操作数可以通过地址码、立即数、堆栈寻址或隐含寻址等方式提供。 16. *...

Global site tag (gtag.js) - Google Analytics