标签:height 时间 系统调用 发送 显示器 bsp 计算机系 灰度 组成原理
I/O 系统基本概念
I/O 系统中的几个基本概念如下:
一般来说,I/O 系统由 I/O 软件和 I/O 硬件两部分构成:
在输入/输出系统中,经常需要进行大量的数据传输,而传输过程中有各种不同的 I/O 控制方式,基本的控制方式有以下 4 种:
其中,方式 1 和方式 2 主要用于数据传输率较低的外部设备,方式 3 和方式 4 主要用于数据传输率较高的设备。
I/O 设备不可能直接与主板总线相连,它总是通过设备控制器来相连的。
I/O 指令是指令系统的一部分,时及其指令的一类,但其为了反映与 I/O 设备交互的特点,格式和其他通用指令相比有所不同。
通道程序存放在主存而非通道中,由通道从主存中取出并执行。通道程序由通道执行,且只能在具有通道的 I/O 系统中执行。
显示器的主要参数:
分辨率:所能表示的像素个数,屏幕上的每个光点就是一个像素,以宽和高的像素数的乘积表示,如 800 * 600、1280 * 1024等。
灰度级:灰度级是指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚,典型的有 8 位(256级)、16 位等。
刷新:光点只能保持极短的时间便会消失,为此必须在广电消失之前再重新扫描显示一遍,这个过程称为刷新。
刷新频率:指单位时间内扫描整个屏幕内容的次数。按照人的视觉生理,刷新频率大于 30 Hz 时才不会感到闪烁,通常显示器的刷新频率为 60~120 Hz。
显示存储器(VRAM):也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多。刷新存储器容量越大。VRAM 容量 = 分辨率 * 灰度级位数,VRAM 带宽 = 分辨率 * 灰度级位数 * 帧频。
RAID(廉价冗余磁盘阵列)是指将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。RAID 通过同时使用多个磁盘,提高了传输率;通过在多个磁盘上并行存取来大幅提高存储系统的数据吞吐量;通过镜像功能,提高安全可靠性;通过数据校验,提供容错能力。
在字符显示器的 VRAM 中存放 ASCII 码以显示字符。
刷新存储器中存储单元的字长取决于显示的颜色数,颜色数为 m,字长为 n,二者的关系为 2n = m。
I/O 接口
I/O 接口(I/O 控制器)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。主机和外设具有各自的工作特点,它们在信息形式和工作速度上具有很大的差异,接口正是为了解决这些差异而设置的。
I/O 接口的主要功能如下:
CPU 与外设之间的信息传送,实质上是对接口中的某些寄存器(即端口)进行读或写,如传送数据是对数据端口 DBR 进行读写操作。
内部接口:内部接口与系统总线相连,实质上是与内存、CPU 相连。数据的传输方式只能是并行传输。
外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此 I/O 接口需具有串/并转换功能。
接口和端口是两个不同的概念。端口是指接口电路中可以进行读/写的寄存器,若干端口加上相应的控制逻辑才可以组成接口。
从不同的角度看,I/O 接口可以分为不同的类型。
I/O 端口是指接口电路中可被 CPU 直接访问的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口。通常,CPU 能对数据端口执行读写操作,但对状态端口只能执行读操作,对控制端口只能执行写操作。
I/O 端口要想能够被 CPU 访问,必须要有端口地址,每个端口对应一个端口地址。而对 I/O 端口的编址方式有与存储器统一编址和独立编址两种。
在统一编址的方式下,区分存储单元和 I/O 设备是靠不同的地址线。
I/O 的编址方式采用统一编址方式时,进行输入/输出的操作的指令是访存指令。统一编址时,直接使用指令系统中的访存指令来完成输入/输出操作;独立编址时,则需要使用专门的输入/输出指令来完成输入/输出操作。
程序员进行系统调用访问设备使用的是逻辑地址。
I/O 方式
常用的 I/O 方式有程序查询、程序中断、DMA 和通道等,其中前两种方式更依赖于 CPU 中程序指令的执行。
外中断是指来自处理器和内存以外的部件引起的中断,包括 I/O 设备发出的 I/O 中断、外部信号中断(如用户按 Esc 键),以及各种定时器引起的时钟中断等。外中断在狭义上一般称为中断。
内中断主要是指在处理器和内存内部产生的中断,包括程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算术溢出操作、数据格式非法、除数为 0、非法指令、用户程序执行特权指令、分时系统中的时间片中断及用户态到核心态的切换等。
硬件中断:通过外部的硬件产生的中断。硬件中断属于外中断。
软件中断:通过某条指令产生的中断,这种中断是可以编程实现的。软件中断是内中断。
非屏蔽中断:非屏蔽中断是一种硬件中断,此种中断通过不可屏蔽中断请求 NMI 控制,不受中断标志位 IF 的影响,即使在关中断(IF = 0)的情况下也会被响应。
可屏蔽中断:可屏蔽中断也是一种硬件中断,此种中断通过中断请求标记触发器 INTR 控制,且受中断标志位影响,在关中断情况下不接受中断请求。
中断判优既可以用硬件实现,又可用软件实现。硬件实现是通过硬件排队器实现的,它既可以设置在 CPU 中,又可以分散在各个中断源中,软件实现是通过查询程序实现的。一般来说,硬件故障中断属于最高级,其次是软件中断,非屏蔽中断优于可屏蔽中断,DMA 请求优于 I/O 设备传送的中断请求,高速设备优于低速设备,输入设备优于输出设备,实时设备优于普通设备等。
CPU 响应中断后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的,我们将它称为中断隐指令。中断隐指令并不是系统中的一体真正的指令,它没有操作码,所以中断隐指令是一种不允许也不可能为用户使用的特殊指令。它所完成的操作如下:
不同的设备有不同的中断服务程序,每个中断服务程序都有一个入口地址,CPU 必须找到这个入口地址,即中断向量。
中断处理过程:(1)关中断(2)保存断点(3)引出中断服务程序(以上三步由硬件完成)(4)保存现场和屏蔽字(5)开中断(6)执行中断服务程序(7)关中断(8)恢复现场和屏蔽字(9)开中断、中断返回(以上六步由中断程序完成)
在 DMA 方式中,中断的作用仅限于故障和正常传送结束时的处理。
主存和 DMA 接口之间有一条直接数据通路。由于 DMA 方式传送数据不需要经过 CPU,因此不必中断现行程序,I/O 与主机并行工作,程序和传送并行工作。
DMA 方式具有以下特点:
当 I/O 设备需要进行数据传输时,通过 DMA 控制器向 CPU 提出 DMA 传送请求,CPU 响应后将让出系统总线,由 DMA 控制器接管总线进行数据传送。其主要给功能如下:
主存和 DMA 控制器之间有一条数据通路,因此主存和 I/O 设备之间交换信息时,不通过 CPU。但当 I/O 设备和 CPU 同时访问主存时,可能发生冲突,为了有效地使用主存,DMA 控制器与 CPU通常采用以下 3 种方式使用主存:
DMA 方式和中断方式的区别:
中断向量的地址是中断服务程序入口地址的地址。(俄罗斯套娃再现)
只有具有 DMA J接口的设备才能产生 DMA 请求。
一条指令执行完毕不可能发生中断请求,而可能响应中断请求。
允许中断触发器置 0 表示关中断,由中断隐指令完成,即由硬件自动完成。
多重中断系统在保护被中断进程现场时关中断,执行中断处理程序时开中断,即中断处理期间 CPU 不一定处于关中断状态。
程序中断方式和 DMA 方式都有中断请求,但目的不同。
CPU 响应中断方式的特点是 CPU 和外设并行工作,传送与主程序串行工作;DMA 方式的特点是 CPU 与外设并行工作,传送与主程序并行工作。
CPU 响应 DMA 请求的条件是当前机器周期执行完。DMA 在与主存交换数据时通过周期窃取方式,窃取的是存储周期。
DMA 方式传送数据时,挪用周期不会改变 CPU 现场,因此无须占用 CPU 的程序计数器和寄存器。
中断响应优先级是由硬件排队线路或中断查询程序的查询顺序决定的,不可动态改变;而中断处理优先级可以由中断屏蔽字来改变,反映的是正在处理的中断是否比新发生的中断的处理优先级低(屏蔽位为“0”,对新中断开放),若是,则中止正在处理的中断,转到新中断去处理,处理完后再回到刚才被中止的中断继续处理。
以上均来自王道书籍及课程等
标签:height 时间 系统调用 发送 显示器 bsp 计算机系 灰度 组成原理
原文地址:https://www.cnblogs.com/oneMr/p/11497617.html