第23讲_直接内存存取DMA_第1页
第23讲_直接内存存取DMA_第2页
第23讲_直接内存存取DMA_第3页
第23讲_直接内存存取DMA_第4页
第23讲_直接内存存取DMA_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,1,实验课题5 组合逻辑控制单元设计,实验内容:,按照题目要求用硬布线(组合逻辑)控制法设计一个简单模型机的控制单元CU(微操作信号产生电路),决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。,一、主要元件设计 1指令译码器 功能要求:3-8译码器。,(2学时),2,实验课题5 组合逻辑控制单元设计,实验内容:,一、主要元件设计 2控制单元 功能要求: 假设该模型机有8条不同类型的指令。包括:算术运算、逻辑运算、移位、数据传送、访存操作、转移等。根据每条指令的功能和时序,分析其执行过程中需要在各个阶段产生的全部微操作,导出产生这些

2、微操作控制信号的逻辑。 提示:需要决定指令周期包括哪几个机器周期,每个机器周期包括几拍,每拍包括几个时钟,以及时钟周期是多少nS。有些操作可能还需要规定是在时钟的上升沿或是在时钟的下降沿进行。,3,实验课题5 组合逻辑控制单元设计,二、顶层设计 用层次结构设计的方法设计一个控制单元CU(微操作控制信号产生电路)。包括指令译码器和控制单元。 功能要求: 能够正确产生8条不同指令在执行过程中(每个机器周期、每拍)发出的全部微操作。,三、仿真 设计仿真波形数据,要考虑到所有可能的情况。在实验报告中必须清楚说明仿真波形数据是怎样设计的。,提示:仿真输入波形包括三级时序信号。,计算机组成原理,Princ

3、iples of Computer Organization,广义双语教学课程,09/skyclass25/,青岛理工大学 校级精品课程,5,第10章 输入输出系统,Chapter 10 Input/output System,Many I/O tasks can be fairly complex and require logic to be applied to the data to convert formats and other similar duties.,(3),In these situations the simplest solut

4、ion is to ask the CPU to handle the logic, but due to the fact that the I/O devices are very slow, the CPU would end up wasting a huge amount of time (in computer perspective) sitting idle waiting for the data from the device.,6,103 DMA输入输出方式,DMA是I/O设备与主存储器之间由硬件组成的直接数据通路,用于磁盘等高速I/O设备与主存之间的成组数据传送。,DM

5、A数据传送是在DMA控制器的控制下进行的。,Direct Memory Access,7,10.3.1 DMA的工作方式,DMA传送需要使用系统总线,因而有4种可能的工作方式。,1CPU暂停方式,在DMA进行一个数据块的传送期间,CPU放弃总线,不访问主存。DMA完成一个数据块的传送后,把总线控制权还给CPU。,2交替方式,把每个总线周期分成两个时间片,CPU和DMA交替分时使用总线。,8,3CPU周期窃取方式 (Cycle-Stealing),DMA每传送一个字节/字,占用(窃取)CPU的一个总线周期。,在这个周期内,如果CPU(进行内部操作)正好不使用总线,则对CPU的工作无影响。,如果C

6、PU也需要使用总线,则必须等待DMA传送完成后(一个总线周期的时间)才能使用总线。,9,4仲裁方式,当系统中有多个主控设备(处理机,通道,IOP,DMAC),每个主控设备要使用系统总线都必须申请。,总线控制器根据申请总线的设备的优先级做出仲裁,把总线在该周期的控制权交给优先级最高的设备。,取得总线控制权的设备可以在该周期内使用总线访问存储器或进行输入/输出,然后交回总线控制权。,DMA的优先级高于CPU和其他设备。,实际在计算机系统中使用的是周期窃取方式和仲裁方式。,10,10.3.2 DMA控制器组成,DMA接口(DMA控制器)包括多个设备寄存器、中断控制和DMA控制逻辑等。,1设备寄存器,

7、 主存地址寄存器MAR,初始值为主存数据缓冲区的首地址,在传输前由程序写入。在DMA传送期间,每交换一个字,由硬件逻辑将MAR自动加1。, 外设地址寄存器ADR,存放I/O设备的设备码,或者表示该设备信息存储区的寻址信息。例如;磁盘的驱动器号、磁头号、柱面号等。,11, 控制与状态寄存器CSR,存放控制字和状态字。控制字是在传输前由程序写入的。, 数据缓冲寄存器DBR,当主存与I/O设备的数据宽度不一致时,用于暂存I/O设备与主存传送的数据。,若DMA与主存之间是按字传送的,而DMA与I/O设备之间是按字节或位传送的时候,DMA还要做数据的装配和分拆。, 字数计数器WC,在传输前由程序写入传送

8、数据的总字数。每传送一个字自动减1。当其内容为0时表示传输结束。,DMA控制器组成,12,2中断控制逻辑,每当一个数据块传输完毕,DMA通过中断请求CPU进行后处理和下次传输前的预处理。,3DMA控制逻辑,一般包括设备码选择电路,DMA优先排队电路,产生DMA请求的线路等。在DMA取得总线控制权后,控制主存与I/O设备之间的数据传送。,DMA与主机和DMA与I/O设备的接口,包括数据线、地址线、控制信号,以及有关收发和驱动线路。,DMA控制器组成,13,10.3.3 DMA的数据传送过程,当I/O设备准备好后,向DMA控制器发出传送请求。,DMA控制器用窃取处理机一个总线周期的方法完成I/O设

9、备与主存储器之间的直接数据传送。,当所要求的数据块传送完毕,DMA控制器向CPU发出中断请求。CPU做一些传送后处理工作。,DMA数据传送与CPU之间是并行工作的。,DMA的数据传送过程可以分为三个阶段:, 传送前预处理, DMA数据传送, 传送后处理。,其中,第和第阶段是CPU执行程序完成的,,第阶段是在DMA控制器硬件逻辑控制下完成的。,14,1传送前预处理,CPU执行一段程序,测试设备的状态,启动将要进行I/O的外部设备。,将数据在主存储器存放的首地址写入主存地址寄存器,,然后,CPU继续执行其他程序。,CPU对DMA控制器进行初始化:,要传送的数据字数写入数据字数寄存器,,I/O设备的

10、地址写入设备地址寄存器,,传送方式(输入/输出)写入控制与状态寄存器。,DACK,选通,状态,INTR,DRQ,CPU,MM,HRQ,HLDA,I/O设备,DRQ:DMA请求,HRQ:总线请求,DACK:DMA响应,HLDA:总线响应,2DMA数据传送,16,DMA数据输入的过程,I/O设备启动后,把准备好的数据送到I/O接口的数据缓冲寄存器,向DMAC请求DMA传送。,DMAC每传送一个字向CPU发出总线请求。CPU必须在当前机器周期结束时交出系统总线,并向DMAC发出总线允许信号。,DMAC取得总线控制权后,将主存地址寄存器中的内容送上地址总线,发I/O读命令和存储器写命令。I/O接口将数

11、据缓冲寄存器中的内容送上数据总线,同时将数据写入主存。,DMAC将字数寄存器减1,主存地址寄存器加1。,如果字数寄存器减1后不为0,准备下一次输入。,如果字数寄存器 = 0,表示一组数据传送结束,向CPU发中断请求。,如果I/O设备的数据宽度小于存储器的字长,就要由DMAC完成数据的拼接。,I/O设备把准备好的每个字节的数据送到I/O接口的数据缓冲寄存器,向DMAC请求DMA传送。,DMAC将数据读入。经过若干次输入,拼成一个完整的字后,DMAC向CPU发出总线请求,传送一个字。,18,DMA数据输出的过程,I/O设备启动并做好数据接受的准备后,通过I/O接口向DMAC请求DMA传送。,DMA

12、C向CPU发出总线请求。CPU必须在当前机器周期结束时交出系统总线,并向DMAC发出总线允许信号。,DMAC取得总线控制权后,将主存地址寄存器中的内容送上地址总线,发存储器读命令和I/O写命令。将从主存读出的数据写入I/O接口的数据缓冲寄存器中,再送给输出设备。,DMAC将字数寄存器减1,主存地址寄存器加1。,如果字数寄存器减1后不为0,准备下一次输出。,如果字数寄存器 = 0,表示一组数据传送结束,向CPU发中断请求。,DRQ:DMA请求,HRQ:总线请求,DACK:DMA响应,HLDA:总线响应,DMA数据输出的过程,如果I/O设备的数据宽度小于存储器的字长,就要由DMAC完成数据的分拆。

13、,DMAC把从主存读出的数据字分拆成一个个字节。,I/O设备每发一次DMAC请求,就向I/O设备输出一个字节,直到一个数据字输出完毕,再向CPU发出总线请求。,21,3后处理阶段,CPU响应DMA的中断请求后,如果需要继续进行数据传送,就再次对DMAC进行初始化。如果不需要继续进行数据传送,则停止外设。,DMA数据传送,第一和第三阶段是CPU执行程序完成的,第二阶段是在DMA控制器硬件逻辑控制下完成的。,22,Homework,10- 8, 10, 11,12,Very few computer languages include built-in support for fixed poin

14、t values, because for most applications, binary or decimal floating-point representations are usually simpler to use and accurate enough.,Floating-point representations are easier to use than fixed-point representations, because they can handle a wider dynamic range and do not require programmers to

15、 specify the number of digits after the radix point.,23,测验 4,请写好自己的姓名、学号、班级,一、(20分) 设CPU有16条地址线,8条数据线,访存控制信号 ,读/写信号 。现有存储芯片ROM(2K8,4K4), RAM(4K8,1K4,16K1)。试从上述芯片中选用合适的芯片,画出主存和CPU的连接图,要求主存的地址空间分配如下:最小4K空间为系统程序区,4096-16383为用户程序区。,请不要抄题,只写题号,二、(共25分) 设主存容量为256K字,Cache容量为2K字,块长为4。 (1)设计Cache地址格式,Cache中可

16、以装入多少块数据? (2)在直接映射方式下,设计主存地址格式。 (3)在四路组相联映射方式下,设计主存地址格式。 (4)在全相联映射方式下,设计主存地址格式。 (5)若存储字长为32位,存储器按字节编址,写出上述三种方式下主存的地址格式。,测验4,测验4,三、(共25分)) 设CPU有16条地址线,8条数据线,用 作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O), 为写命令(低电平有效), 为读命令(低电平有效)。试设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器。存储体有写 ,读 ,片选 等控制信号(均为低电平有效)。画出该存储系统的连接图,写出每个存储体的地址

17、范围。,二、(共25分) 设主存容量为256K字,Cache容量为2K字,块长为4 (1)设计Cache地址格式,Cache中可以装入多少块数据? (2)在直接映射方式下,设计主存地址格式。 (3)在四路组相联映射方式下,设计主存地址格式。 (4)在全相联映射方式下,设计主存地址格式。 (5)若存储字长为32位,存储器按字节编址,写出上述三种方式下主存的地址格式。,请不要抄题,只写题号,测验4,三、(共25分)) 设CPU有16条地址线,8条数据线,用 作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O), 为写命令(低电平有效), 为读命令(低电平有效)。试设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器。存储体有写 ,读 ,片选 等控制信号(均为低电平有效)。画出该存储系统的连接图,写出每个存储体的地址范围。,四、(共20分) 假设CPU执行某段程序时访问Cache共命中4800次,访问主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论