如何配置pc的dma控制器
Ⅰ 怎么更改电脑的DMA模式
Windows 2000、XP、2003系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这就造成在使用以上系统中硬盘性能突然下降,其中最明显的现象有:系统起动速度明显变慢,一般来说正常Windows XP系统启动时那个由左向右运动的滑条最多走2~4次系统就能启动,但这一问题发生时可能会走5~8次或更多!而且在运行系统时进行硬盘操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达到100%而产生停顿,玩一些大型3D游戏时(比如极品飞车6)画面时有明显停顿(很多人这时以为是自己的显卡问题,当然如果你使用的是三年前的显卡玩这些游戏是有点老了,但如果你用的是今年才买的GF显卡那就不是它的问题了),出现以上问题时大家最好看看自己硬盘的DMA模式是不是被Windows 系统自行关闭了。查看自己的系统是否打开DMA模式:
1. 双击“管理工具”,然后双击“计算机管理”;
2. 单击“系统工具”,然后单击“设备管理器”;
3. 展开“IDE ATA/ATAPI 控制器”节点;
4. 双击您的“主要IDE控制器”;
5. 点击“高级设置”。
看到“设备0”,下面的传输模式应设为“DMA(若可用)”,再下面“当前传输模式”,如果是“Ultra DMA Mode *(*为数字,DMA33为2,DMA66为4,DMA100为5、DMA133为6)”,那么你的系统正常,但如果以前你自己设的是“Ultra DMA Mode 6”又没有改动,而现在是“Ultra DMA Mode 4”或“Ultra DMA Mode 2”更或者是“PIO 模式”而且改不过来!可能就是系统自行关闭了DMA模式了。
分析问题:
好了,先来说说问题是如何产生的。在Windows 2000/XP/2003中有这样一个设定: Windows IDE/ATAPI 端口驱动程序 (Atapi.sys) 累积收到总共6个超时或循环冗余检验 (CRC) 错误后,驱动程序将把通信速度(传送模式)从最快的直接内存访问 (DMA) 模式分步骤降为较慢的 DMA 模式。如果驱动程序继续收到超时或 CRC 错误,则驱动程序最终将把传送模式降为最慢的模式(PIO 模式)。 问题就在这里!一般来说一个正常的硬盘很少会有超时或循环冗余检验 (CRC) 错误,但是当我们使用这些系统里的挂起(也有叫休眠)并恢复计算机后就很容易造成超时或循环冗余检验 (CRC) 错误。因为系统设定的超时值为4秒,当系统向 ATA 磁盘发出读取请求时如果硬盘回应时间超过 4 秒的超时值时才会产生超时或循环冗余检验 (CRC) 错误,但因为系统在挂起(也有叫休眠)时硬盘是在停转状态中,恢复计算机时硬盘有个从停止到运动的过程,这就很容易造成大部分硬盘回应时间超过 4 秒的超时值。也就是说当我们使用计算机挂起6次后系统就会把通信速度(传送模式)从最快的直接内存访问 (DMA) 模式分步骤降为较慢的 DMA 模式。如果挂起6次以上则驱动程序最终将把传送模式降为最慢的模式(PIO 模式)。这就是Windows 系统突然变慢的原因。
成功以后:主要IDE控制器和次要IDE控制器全部变成英文的了,正常Windows XP系统启动时那个由左向右运动的滑条最多走2次系统就能启动,但这一问题发生时可能会走5~10次或更多!
而且也没有了高级设置这一项了,看来再也不会出现把传送模式从最快的直接内存访问DMA降为最慢的模式(PIO 模式)。
Ⅱ DMA控制的基本过程
(1)初始化:DMA接口等的初始化
(2)DMA请求:外设向CPU发请求
(3)DMA响应:将总线控制权交给DMA控制器
(4)数据传输:有DMA控制器控制数据传输
(5)结束处理:发DMA结束中断请求到CPU
Ⅲ CPU在启动DMA控制器时要做什么操作
CPU停止访问主存,DMA请求信号迫使CPU让出总线控制权。
DMA传送期间,CPU处于保持状态,停止访问主存,仅能进行一些与总线无关的内部操作。
Ⅳ 什么是中断控制器什么是DMA控制器
DMA(Direct Memory Access) ,即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。DMA技术的重要性在于,利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。
在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传送至内存,需要两步操作。首先,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存的适当地址。DMA控制器将这些操作简化为一步,它操作总线上的控制信号,使写字节一次完成。这样大大提高了计算机运行速度和工作效率。
计算机发展到今天,DMA已不再用于内存到内存的数据传送,因为CPU速度非常快,做这件事,比用DMA控制还要快,但要在适配卡和内存之间传送数据,仍然是非DMA莫属。要从适配卡到内存传送数据,DMA同时触发从适配卡读数据总线(即I/O读操作)和向内存写数据的总线。激活I/O读操作就是让适配卡把一个数据单位(通常是一个字节或一个字)放到PC数据总线上,因为此时内存写总线也被激活,数据就被同时从PC总线上拷贝到内存中。
对于每一次写操作,DMA控制器都控制地址总线,通知应将数据写到哪段内存中去。 DMA控制数据从内存传送到适配卡的方法与上面类似。对每一个要传送的单位数据,DMA控制器激活读内存和I/O写操作的总线。内存地址被放到地址总线上,像从适配卡到内存传送数据一样,以数据总线为通道,数据从源地址直接传送到目的地址。 DMA从DMA请求线(DREQ)上接收DMA请求,正像中断控制器从中断请求线(IRQ)上接收中断请求一样。
一个典型的从适配卡到内存的数据传送是这样进行的,首先,对DMA控制器编程,写入数据要到达的内存地址和要传送的字节数。适配器可以开始传送数据时,它将激活DREQ线,与DMA控制器连通。DMA控制器在与CPU取得总线控制权后,输出内存地址,发送控制信号,使得一个字节或一个字从适配器读出并写入相应内存中,然后更新内存地址,指向下一个字节(或字)要写入的地址,重复上面的操作,直至数据传送完毕。对控制器进行不同编程,就可以实现单字节传送(即每传送一个字节都要求一个DREQ信号)或块数据传送(即全部数据传送只需要一个DREQ信号)。
如果你要往计算机中插一块适配卡,而且适配卡使用DMA,通常安装程序会让你选择一个DMA通道,设定DIP开关或跳线,来为相应适配器设置DMA通道。尽管从理论上讲,只要不是同时使用DREQ线,不同的适配卡可以共享这条线的,但是按常规,我们最好为每个适配卡单独安排一个DMA通道,这样就可以保证不会发生DMA冲突。附表是DMA的缺省分配情况。通道 功能 通道 功能 O 空闲 4 用于级联DMA控制器 1 空闲 5 空闲 2 软盘 6 空闲 3 空闲 7 空闲 从中可以看出,DMA通道2和4已被占用,在大多数微机上,通道1、3、5、6和7可由你任意分配。我们平时最好对自己的计算机上DMA通道的分配情况记录下来,以免我们向计算机增加新硬件时出现两个适配卡共用一个通道,导致冲突。
DMA---Direct Memory Access,直接内存访问,是一种数据传输模式。DMA方式下由于不直接访问计算机的CPU,而直接在RAM与设备之间传输,因而大大提高了数据传输速度。
PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源,二者在传输速度上的差异并不十分明显。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。
Ⅳ DMA寄存器怎样配置
楼上真有意思,把说明书传真?哪个商家愿意这么干?补寄都不一定愿意呢。
你说的是哪两个液晶的数字吧?
这东西说明书也没有说的,是状态代码。
1、特殊代码“00”和“FF”及其它起始码有三种情况出现:
①已由一系列其它代码之后再出现:“00”或“FF”,则主板OK。
②如果将CMOS中设置无错误,则不严重的故障不会影响BIOS自检的继续,而最终出现“00”或“FF”。
③一开机就出现“00”或“FF”或其它起始代码并且不变化则为板没有运行起来。
2、本表是按代码值从小到大排序,卡中出码顺序不定。
3、未定义的代码表中未列出。
4、对于不同BIOS(常用的AMI、Award、Phoenix)用同一代码所代表的意义有所不同,因此应弄清您所检测的电脑是属于哪一种类型的BIOS,您可查问你的电脑使用手册,或从主板上的BIOS芯片上直接查看,也可以在启动屏幕时直接看到。
5、有少数主板的PCI槽只有前一部分代码出现,但ISA槽则有完整自检代码输出。且目前已发现有极个别原装机主板的ISA槽无代码输出,而PCI槽则有完整代码输出,故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。另外,同一块主板的不同PCI槽,有的槽有完整<代码送出,如DELL810主板只有靠近CPU的一个PCI槽有完整的代码显示,一直变化到“00”或“FF”,而其它槽走到“38”则不继续变化。
6、复位信号所需时间ISA与PCI不一定同步,故有可能ISA开始出代码,但PCI的复位灯还不熄,故PCI代码停在起始码上。
代码 Award BIOS Ami BIOS Phoenix BIOS或Tandy 3000 BIOS
00 . 已显示系统的配置;即将控制INI19引导装入。 .
01 处理器测试1,处理器状态核实,如果测试失败,循环是无限的。 处理器寄存器的测试即将开始,不可屏蔽中断即将停用。 CPU寄存器测试正在进行或者失败。
02 确定诊断的类型(正常或者制造)。如果键盘缓冲器含有数据就会失效。 停用不可屏蔽中断;通过延迟开始。 CMOS写入/读出正在进行或者失灵。
03 清除8042键盘控制器,发出TESTKBRD命令(AAH) 通电延迟已完成。 ROM BIOS检查部件正在进行或失灵。
04 使8042键盘控制器复位,核实TESTKBRD。 键盘控制器软复位/通电测试。 可编程间隔计时器的测试正在进行或失灵。
05 如果不断重复制造测试1至5,可获得8042控制状态。 已确定软复位/通电;即将启动ROM。 DMA初如准备正在进行或者失灵。
06 使电路片作初始准备,停用视频、奇偶性、DMA电路片,以及清除DMA电路片,所有页面寄存器和CMOS停机字节。 已启动ROM计算ROM BIOS检查总和,以及检查键盘缓冲器是否清除。 DMA初始页面寄存器读/写测试正在进行或失灵。
07 处理器测试2,核实CPU寄存器的工作。 ROM BIOS检查总和正常,键盘缓冲器已清除,向键盘发出BAT(基本保证测试)命令。 .
08 使CMOS计时器作初始准备,正常的更新计时器的循环。 已向键盘发出BAT命令,即将写入BAT命令。 RAM更新检验正在进行或失灵。
09 EPROM检查总和且必须等于零才通过。 核实键盘的基本保证测试,接着核实键盘命令字节。 第一个64K RAM测试正在进行。
0A 使视频接口作初始准备。 发出键盘命令字节代码,即将写入命令字节数据。 第一个64K RAM芯片或数据线失灵,移位。
0B 测试8254通道0。 写入键盘控制器命令字节,即将发出引脚23和24的封锁/解锁命令。 第一个64K RAM奇/偶逻辑失灵。
0C 测试8254通道1。 键盘控制器引脚23、24已封锁/解锁;已发出NOP命令。 第一个64K RAN的地址线故障。
0D 1、检查CPU速度是否与系统时钟相匹配。2、检查控制芯片已编程值是否符合初设置。3、视频通道测试,如果失败,则鸣喇叭。 已处理NOP命令;接着测试CMOS停开寄存器。 第一个64K RAM的奇偶性失灵
0E 测试CMOS停机字节。 CMOS停开寄存器读/写测试;将计算CMOS检查总和。 初始化输入/输出端口地址。
0F 测试扩展的CMOS。 已计算CMOS检查总和写入诊断字节;CMOS开始初始准备。 .
10 测试DMA通道0。 CMOS已作初始准备,CMOS状态寄存器即将为日期和时间作初始准备。 第一个64K RAM第0位故障。
11 测试DMA通道1。 CMOS状态寄存器已作初始准备,即将停用DMA和中断控制器。 第一个64DK RAM第1位故障。
12 测试DMA页面寄存器。 停用DMA控制器1以及中断控制器1和2;即将视频显示器并使端口B作初始准备。 第一个64DK RAM第2位故障。
13 测试8741键盘控制器接口。 视频显示器已停用,端口B已作初始准备;即将开始电路片初始化/存储器自动检测。 第一个64DK RAM第3位故障。
14 测试存储器更新触发电路。 电路片初始化/存储器处自动检测结束;8254计时器测试即将开始。 第一个64DK RAM第4位故障。
15 测试开头64K的系统存储器。 第2通道计时器测试了一半;8254第2通道计时器即将完成测试。 第一个64DK RAM第5位故障。
16 建立8259所用的中断矢量表。 第2通道计时器测试结束;8254第1通道计时器即将完成测试。 第一个64DK RAM第6位故障。
17 调准视频输入/输出工作,若装有视频BIOS则启用。 第1通道计时器测试结束;8254第0通道计时器即将完成测试。 第一个64DK RAM第7位故障。
18 测试视频存储器,如果安装选用的视频BIOS通过,由可绕过。 第0通道计时器测试结束;即将开始更新存储器。 第一个64DK RAM第8位故障。
19 测试第1通道的中断控制器(8259)屏蔽位。 已开始更新存储器,接着将完成存储器的更新。 第一个64DK RAM第9位故障。
1A 测试第2通道的中断控制器(8259)屏蔽位。 正在触发存储器更新线路,即将检查15微秒通/断时间。 第一个64DK RAM第10位故障。
1B 测试CMOS电池电平。 完成存储器更新时间30微秒测试;即将开始基本的64K存储器测试。 第一个64DK RAM第11位故障。
1C 测试CMOS检查总和。 . 第一个64DK RAM第12位故障。
1D 调定CMOS配置。 . 第一个64DK RAM第13位故障。
1E 测定系统存储器的大小,并且把它和CMOS值比较。 . 第一个64DK RAM第14位故障。
1F 测试64K存储器至最高640K。 . 第一个64DK RAM第15位故障。
20 测量固定的8259中断位。 开始基本的64K存储器测试;即将测试地址线。 从属DMA寄存器测试正在进行或失灵。
21 维持不可屏蔽中断(NMI)位(奇偶性或输入/输出通道的检查)。 通过地址线测试;即将触发奇偶性。 主DMA寄存器测试正在进行或失灵。
22 测试8259的中断功能。 结束触发奇偶性;将开始串行数据读/写测试。 主中断屏蔽寄存器测试正在进行或失灵。
23 测试保护方式8086虚拟方式和8086页面方式。 基本的64K串行数据读/写测试正常;即将开始中断矢量初始化之前的任何调节。 从属中断屏蔽存器测试正在进行或失灵。
24 测定1MB以上的扩展存储器。 矢量初始化之前的任何调节完成,即将开始中断矢量的初始准备。 设置ES段地址寄存器注册表到内存高端。
25 测试除头一个64K之后的所有存储器。 完成中断矢量初始准备;将为旋转式断续开始读出8042的输入/输出端口。 装入中断矢量正在进行或失灵。
26 测试保护方式的例外情况。 读出8042的输入/输出端口;即将为旋转式断续开始使全局数据作初始准备。 开启A20地址线;使之参入寻址。
27 确定超高速缓冲存储器的控制或屏蔽RAM。 全1数据初始准备结束;接着将进行中断矢量之后的任何初始准备。 键盘控制器测试正在进行或失灵。
28 确定超高速缓冲存储器的控制或者特别的8042键盘控制器。 完成中断矢量之后的初始准备;即将调定单色方式。 CMOS电源故障/检查总和计算正在进行。
29 . 已调定单色方式,即将调定彩色方式。 CMOS配置有效性的检查正在进行。
2A 使键盘控制器作初始准备。 已调定彩色方式,即将进行ROM测试前的触发奇偶性。 置空64K基本内存。
2B 使磁盘驱动器和控制器作初始准备。 触发奇偶性结束;即将控制任选的视频ROM检查前所需的任何调节。 屏幕存储器测试正在进行或失灵。
2C 检查串行端口,并使之作初始准备。 完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。 屏幕初始准备正在进行或失灵。
2D 检测并行端口,并使之作初始准备。 已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。 屏幕回扫测试正在进行或失灵。
2E 使硬磁盘驱动器和控制器作初始准备。 从视频ROM控制之后的处理复原;如果没有发现EGA/VGA就要进行显示器存储器读/写测试。 检测视频ROM正在进行。
2F 检测数学协处理器,并使之作初始准备。 没发现EGA/VGA;即将开始显示器存储器读/写测试。 .
30 建立基本内存和扩展内存。 通过显示器存储器读/写测试;即将进行扫描检查。 认为屏幕是可以工作的。
31 检测从C800:0至EFFF:0的选用ROM,并使之作初始准备。 显示器存储器读/写测试或扫描检查失败,即将进行另一种显示器存储器读/写测试。 单色监视器是可以工作的。
32 对主板上COM/LTP/FDD/声音设备等I/O芯片编程使之适合设置值。 通过另一种显示器存储器读/写测试;却将进行另一种显示器扫描检查。 彩色监视器(40列)是可以工作的。
33 . 视频显示器检查结束;将开始利用调节开关和实际插卡检验显示器的关型。 彩色监视器(80列)是可以工作的。
34 . 已检验显示器适配器;接着将调定显示方式。 计时器滴答声中断测试正在进行或失灵。
35 . 完成调定显示方式;即将检查BIOS ROM的数据区。 停机测试正在进行或失灵。
36 . 已检查BIOS ROM数据区;即将调定通电信息的游标。 门电路中A-20失灵。
37 . 识别通电信息的游标调定已完成;即将显示通电信息。 保护方式中的意外中断。
38 . 完成显示通电信息;即将读出新的游标位置。 RAM测试正在进行或者地址故障>FFFFH。
39 . 已读出保存游标位置,即将显示引用信息串。 .
3A . 引用信息串显示结束;即将显示发现信息。 间隔计时器通道2测试或失灵。
3B 用OPTI电路片(只是486)使辅助超高速缓冲存储器作初始准备。 已显示发现<ESC>信息;虚拟方式,存储器测试即将开始。 按日计算的日历时钟测试正在进行或失灵。
3C 建立允许进入CMOS设置的标志。 . 串行端口测试正在进行或失灵。
3D 初始化键盘/PS2鼠标/PNP设备及总内存节点。 . 并行端口测试正在进行或失灵。
3E 尝试打开L2高速缓存。 . 数学协处理器测试正在进行或失灵。
40 . 已开始准备虚拟方式的测试;即将从视频存储器来检验。 调整CPU速度,使之与外围时钟精确匹配。
41 中断已打开,将初始化数据以便于0:0检测内存变换(中断控制器或内存不良) 从视频存储器检验之后复原;即将准备描述符表。 系统插件板选择失灵。
42 显示窗口进入SETUP。 描述符表已准备好;即将进行虚拟方式作存储器测试。 扩展CMOS RAM故障。
43 若是即插即用BIOS,则串口、并口初始化。 进入虚拟方式;即将为诊断方式实现中断。 .
44 . 已实现中断(如已接通诊断开关;即将使数据作初始准备以检查存储器在0:0返转。) BIOS中断进行初始化。
45 初始化数学协处理器。 数据已作初始准备;即将检查存储器在0:0返转以及找出系统存储器的规模。 .
46 . 测试存储器已返回;存储器大小计算完毕,即将写入页面来测试存储器。 检查只读存储器ROM版本。
47 . 即将在扩展的存储器试写页面;即将基本640K存储器写入页面。 .
48 . 已将基本存储器写入页面;即将确定1MB以上的存储器。 视频检查,CMOS重新配置。
49 . 找出1BM以下的存储器并检验;即将确定1MB以上的存储器。 .
4A . 找出1MB以上的存储器并检验;即将检查BIOS ROM数据区。 进行视频的初始化。
4B . BIOS ROM数据区的检验结束,即将检查<ESC>和为软复位清除1MB以上的存储器。 .
4C . 清除1MB以上的存储器(软复位)即将清除1MB以上的存储器. 屏蔽视频BIOS ROM。.
4D 已清除1MB以上的存储器(软复位);将保存存储器的大小。 .
4E 若检测到有错误;在显示器上显示错误信息,并等待客户按<F1>键继续。 开始存储器的测试:(无软复位);即将显示第一个64K存储器的测试。 显示版权信息。
4F 读写软、硬盘数据,进行DOS引导。 开始显示存储器的大小,正在测试存储器将使之更新;将进行串行和随机的存储器测试。 .
50 将当前BIOS监时区内的CMOS值存到CMOS中。 完成1MB以下的存储器测试;即将高速存储器的大小以便再定位和掩蔽。 将CPU类型和速度送到屏幕。
51 . 测试1MB以上的存储器。 .
52 所有ISA只读存储器ROM进行初始化,最终给PCI分配IRQ号等初始化工作。 已完成1MB以上的存储器测试;即将准备回到实址方式。 进入键盘检测。
53 如果不是即插即用BIOS,则初始化串口、并口和设置时种值。 保存CPU寄存器和存储器的大小,将进入实址方式。 .
54 . 成功地开启实址方式;即将复原准备停机时保存的寄存器。 扫描“打击键”
55 . 寄存器已复原,将停用门电路A-20的地址线。 .
56 . 成功地停用A-20的地址线;即将检查BIOS ROM数据区。 键盘测试结束。
57 . BIOS ROM数据区检查了一半;继续进行。 .
58 . BIOS ROM的数据区检查结束;将清除发现<ESC>信息。 非设置中断测试。
59 . 已清除<ESC>信息;信息已显示;即将开始DMA和中断控制器的测试。 .
5A . . 显示按“F2”键进行设置。
5B . . 测试基本内存地址。
5C . . 测试640K基本内存。
60 设置硬盘引导扇区病毒保护功能。 通过DMA页面寄存器的测试;即将检验视频存储器。 测试扩展内存。
61 显示系统配置表。 视频存储器检验结束;即将进行DMA#1基本寄存器的测试。 .
62 开始用中断19H进行系统引导。 通过DMA#1基本寄存器的测试;即将进行DMA#2寄存器的测试。 测试扩展内存地址线。
63 . 通过DMA#2基本寄存器的测试;即将检查BIOS ROM数据区。 .
64 . BIOS ROM数据区检查了一半,继续进行。 .
65 . BIOS ROM数据区检查结束;将把DMA装置1和2编程。 .
66 . DMA装置1和2编程结束;即将使用59号中断控制器作初始准备。 Cache注册表进行优化配置。
67 . 8259初始准备已结束;即将开始键盘测试。 .
68 . . 使外部Cache和CPU内部Cache都工作。
6A . . 测试并显示外部Cache值。
6C . . 显示被屏蔽内容。
6E . . 显示附属配置信息。
70 . . 检测到的错误代码送到屏幕显示。
72 . . 检测配置有否错误。
74 . . 测试实时时钟。
76 . . 扫查键盘错误。
7A . . 锁键盘。
7C . . 设置硬件中断矢量。
7E . . 测试有否安装数学处理器。
80 . 键盘测试开始,正在清除和检查有没有键卡住,即将使键盘复原。 关闭可编程输入/输出设备。
81 . 找出键盘复原的错误卡住的键;即将发出键盘控制端口的测试命令。 .
82 . 键盘控制器接口测试结束,即将写入命令字节和使循环缓冲器作初始准备。 检测和安装固定RS232接口(串口)。
83 . 已写入命令字节,已完成全局数据的初始准备;即将检查有没有键锁住。 .
84 . 已检查有没有锁住的键,即将检查存储器是否与CMOS失配。 检测和安装固定并行口。
85 . 已检查存储器的大小;即将显示软错误和口令或旁通安排。 .
86 . 已检查口令;即将进行旁通安排前的编程。 重新打开可编程I/O设备和检测固定I/O是否有冲突。
87 . 完成安排前的编程;将进行CMOS安排的编程。 .
88 . 从CMOS安排程序复原清除屏幕;即将进行后面的编程。 初始化BIOS数据区。
89 . 完成安排后的编程;即将显示通电屏幕信息。 .
8A . 显示头一个屏幕信息。 进行扩展BIOS数据区初始化。
8B . 显示了信息:即将屏蔽主要和视频BIOS。 .
8C . 成功地屏蔽主要和视频BIOS,将开始CMOS后的安排任选项的编程。 进行软驱控制器初始化。
8D . 已经安排任选项编程,接着检查滑了鼠和进行初始准备。 .
8E . 检测了鼠标以及完成初始准备;即将把硬、软磁盘复位。 .
8F . 软磁盘已检查,该磁盘将作初始准备,随后配备软磁盘。 .
90 . 软磁盘配置结束;将测试硬磁盘的存在。 硬盘控制器进行初始化。
91 . 硬磁盘存在测试结束;随后配置硬磁盘。 局部总线硬盘控制器初始化。
92 . 硬磁盘配置完成;即将检查BIOS ROM的数据区。 跳转到用户路径2。
93 . BIOS ROM的数据区已检查一半;继续进行。 .
94 . BIOS ROM的数据区检查完毕,即调定基本和扩展存储器的大小。 关闭A-20地址线。
95 . 因应鼠标和硬磁盘47型支持而调节好存储器的大小;即将检验显示存储器。 .
96 . 检验显示存储器后复原;即将进行C800:0任选ROM控制之前的初始准备。 “ES段”注册表清除。
97 . C800:0任选ROM控制之前的任何初始准备结束,接着进行任选ROM的检查及控制。 .
98 . 任选ROM的控制完成;即将进行任选ROM回复控制之后所需的任何处理。 查找ROM选择。
99 . 任选ROM测试之后所需的任何初始准备结束;即将建立计时器的数据区或打印机基本地址。 .
9A . 调定计时器和打印机基本地址后的返回操作;即调定RS-232基本地址。 屏蔽ROM选择。
9B . 在RS-232基本地址之后返回;即将进行协处理器测试之初始准备。 .
9C . 协处理器测试之前所需初始准备结束;接着使协处理器作初始准备。 建立电源节能管理。
9D . 协处理器作好初始准备,即将进行协处理器测试之后的任何初始准备。 .
9E . 完成协...
参考资料:http://blog.tom.com/liling1208/article/1675.html
打字不易,如满意,望采纳。
Ⅵ 请教Altera PCIE核和DMA控制器的配置问题
dma控制器还是在fpga端。先将采样数据保存到一片ram空间中,再将数据拷贝的bar0所对应的memory中,再通知pc将数据读走。 实验出真知!XILINX有实例参考 记得采纳啊
Ⅶ 请举两例说明一下DMA,谢谢
DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。
利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。
在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传送至内存,需要两步操作。首先,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存的适当地址。DMA控制器将这些操作简化为一步,它操作总线上的控制信号,使写字节一次完成。这样大大提高了计算机运行速度和工作效率。
计算机发展到今天,DMA已不再用于内存到内存的数据传送,因为CPU速度非常快,做这件事,比用DMA控制还要快,但要在适配卡和内存之间传送数据,仍然是非DMA莫属。要从适配卡到内存传送数据,DMA同时触发从适配卡读数据总线(即I/O读操作)和向内存写数据的总线。激活I/O读操作就是让适配卡把一个数据单位(通常是一个字节或一个字)放到PC数据总线上,因为此时内存写总线也被激活,数据就被同时从PC总线上拷贝到内存中。
题目:何谓DMA方式? DMA控制器可采用哪几种方式与CPU分时使用内存?
【解】直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。DMA控制器从CPU完全接管对总线的控制。数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA控制器采用以下三种方式:
①停止CPU访问内存:当外设要求传送一批数据时,由DMA控制器发一个信号给CPU。DMA控制器获得总线控制权后,开始进行数据传送。一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。
②周期挪用:当I/O设备没有 DMA请求时,CPU按程序要求访问内存:一旦 I/O设备有DMA请求,则I/O设备挪用一个或几个周期。
③DMA与CPU交替访内:一个CPU周期可分为2个周期,一个专供DMA控制器访内,另一个专供CPU访内。不需要总线使用权的申请、建立和归还过程。
Ⅷ DMA控制器的DMA控制器的设置
目前有两类主要的DMA传输结构:寄存器模式和描述符模式。无论属于哪一类DMA,表1的几种信息都会在DMA控制器中出现。当DMA以寄存器模式工作时,DMA控制器只是简单地利用寄存器中所存储的参数值。在描述符模式中,DMA控制器在存储器中查找自己的配置参数。
1)基于寄存器的DMA
在基于寄存器的DMA内部,处理器直接对DMA控制寄存器进行编程,来启动传输。基于寄存器的DMA提供了最佳的DMA控制器性能,因为寄存器并不需要不断地从存储器中的描述符上载入数据,而内核也不需要保持描述符。基于寄存器的DMA由两种子模式组成:自动缓冲(Autobuffer)模式和停止模式。在自动缓冲DMA中,当一个传输块传输完毕,控制寄存器就自动重新载入其最初的设定值,同一个DMA进程重新启动,开销为零。如果将一个自动缓冲DMA设定为从外设传输一定数量的字到 L1数据存储器的缓冲器上,则DMA控制器将会在最后一个字传输完成的时刻就迅速重新载入初始的参数。这构成了一个“循环缓冲器”,因为当一个量值被写入 到缓冲器的最后一个位置上时,下一个值将被写入到缓冲器的第一个位置上。
自动缓冲DMA特别适合于对性能敏感的、存在持续数据流的应用。DMA控制器可以在独立于处理器其他活动的情况下读入数据流,然后在每次传输结束时,向内核发出中断。
停止模式的工作方式与自动缓冲DMA类似,区别在于各寄存器在DMA结束后不会重新载入,因 此整个DMA传输只发生一次。停止模式对于基于某种事件的一次性传输来说十分有用。例如,非定期地将数据块从一个位置转移到另一个位置。当你需要对事件进 行同步时,这种模式也非常有用。例如,如果一个任务必须在下一次传输前完成的话,则停止模式可以确保各事件发生的先后顺序。此外,停止模式对于缓冲器的初 始化来说非常有用。
2)描述符模型
基于描述符(descriptor)的DMA要求在存储器中存入一组参数,以 启动DMA的系列操作。该描述符所包含的参数与那些通常通过编程写入DMA控制寄存器组的所有参数相同。不过,描述符还可以容许多个DMA操作序列串在一 起。在基于描述符的DMA操作中,我们可以对一个DMA通道进行编程,在当前的操作序列完成后,自动设置并启动另一次DMA传输。基于描述符的方式为管理 系统中的DMA传输提供了最大的灵活性。
Ⅸ 如何打开DMA模式
DMA模式是针对硬盘以及光盘驱动器的直接存储器访问(DMA,Direct Memory Access的缩写)来最大限度提升系统性能,因为现在个人计算机的最大瓶颈就是在磁盘的输入输出上。DMA可使PC机直接访问硬盘驱动器上的数据,但并不占用太多的CPU时间(与PIO模式相比),从而使CPU可执行其它任务。
具体打开DMA模式步骤如下:
【我的电脑】->【控制面板】->【系统】,选中“设备管理器”标签,展开【硬盘控制器】或【CDROM项】,选择展开中相应的驱动设备,单击“属性”,接着选“设置”并选中DMA复选框 ,重新开机后即可。
温馨提示:要使用DMA模式,CDROM及硬盘要支持相应的功能才可以。如果CDROM和硬盘都太老,可能就不能享受该功能的优越性了。