计算机组成原理 第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条不同指令在执行过程中(每个机器周期、每拍)发出的全部微操作。

3、 三、仿真三、仿真 设计仿真波形数据,要考虑到所有可能的情况。在实验报告中必须清楚说明仿真波形数据是怎样设计的。提示提示:仿真输入波形包括三级时序信号。计算机组成原理Principles of Computer Organization广义双语教学课程09/skyclass25/青岛理工大学 校级精品课程http:/ 输入输出系统输入输出系统Chapter 10 Input/output SystemMany I/O tasks can be fairly complex and require logic to be applied to the data

4、 to convert formats and other similar duties.(3)In these situations the simplest solution 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

5、 the 6103 DMA输入输出方式输入输出方式 DMA是是I/O设备与主存储器之间由硬件组成的直接数据通设备与主存储器之间由硬件组成的直接数据通路,用于磁盘等高速路,用于磁盘等高速I/O设备与主存之间的成组数据传送。设备与主存之间的成组数据传送。DMA数据传送是在数据传送是在DMA控制器的控制下进行的。控制器的控制下进行的。Direct Memory A710.3.1 DMA的工作方式的工作方式DMA传送需要使用系统总线传送需要使用系统总线,因而有因而有4种可能的工作方式种可能的工作方式。1CPU暂停方式暂停方式 在在DMA进行一个数据块的传送期间进行一个数据块的传送期间,CPU放弃总线放

6、弃总线,不访不访问主存问主存。DMA完成一个数据块的传送后完成一个数据块的传送后,把总线控制权还给把总线控制权还给CPU。2交替方式交替方式 把每个总线周期分成两个时间片,把每个总线周期分成两个时间片,CPU和和DMA交替分时使交替分时使用总线。用总线。DMACPU总线周期83CPU周期窃取方式周期窃取方式 (Cycle-Stealing) DMA每传送一个字节每传送一个字节/字,占用(窃取)字,占用(窃取)CPU的一个总线的一个总线周期。周期。 在这个周期内,如果在这个周期内,如果CPU(进行内部操作)正好不使用总(进行内部操作)正好不使用总线,则对线,则对CPU的工作无影响。的工作无影响。

7、 如果如果CPU也需要使用总线,则必须等待也需要使用总线,则必须等待DMA传送完成后(一传送完成后(一个总线周期的时间)才能使用总线。个总线周期的时间)才能使用总线。94仲裁方式仲裁方式 当系统中有多个主控设备当系统中有多个主控设备(处理机处理机,通道通道,IOP,DMAC),每个主控设备要使用系统总线都必须申请。每个主控设备要使用系统总线都必须申请。 总线控制器根据申请总线的设备的优先级做出仲裁,把总总线控制器根据申请总线的设备的优先级做出仲裁,把总线在该周期的控制权交给优先级最高的设备。线在该周期的控制权交给优先级最高的设备。 取得总线控制权的设备可以在该周期内使用总线访问存储取得总线控制

8、权的设备可以在该周期内使用总线访问存储器或进行输入器或进行输入/输出,然后交回总线控制权。输出,然后交回总线控制权。DMA的优先级高于的优先级高于CPU和其他设备。和其他设备。实际在计算机系统中使用的是周期窃取方式和仲裁方式。实际在计算机系统中使用的是周期窃取方式和仲裁方式。1010.3.2 DMA控制器组成控制器组成 DMA接口(DMA控制器)包括多个设备寄存器、中断控制和DMA控制逻辑等。1设备寄存器设备寄存器 主存地址寄存器主存地址寄存器MAR 初始值初始值为主存数据缓冲区主存数据缓冲区的首地址首地址,在传输前由程序写入。在DMA传送期间,每交换一个字,由硬件逻辑将MAR自动加1。 外设

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

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

11、理机一个总线周期的方法完成控制器用窃取处理机一个总线周期的方法完成I/O设备与主存储器之间的直接数据传送。设备与主存储器之间的直接数据传送。 当所要求的数据块传送完毕,当所要求的数据块传送完毕,DMA控制器向控制器向CPU发出中发出中断请求。断请求。CPU做一些传送后处理工作。做一些传送后处理工作。DMA数据传送与数据传送与CPU之间是并行工作的。之间是并行工作的。DMA的数据传送过程可以分为三个阶段:的数据传送过程可以分为三个阶段: 传送前预处理,传送前预处理, DMA数据传送,数据传送, 传送后处理。传送后处理。其中,第其中,第和第和第阶段是阶段是CPU执行程序完成的,执行程序完成的,第第

12、阶段是在阶段是在DMA控制器硬件逻辑控制下完成的。控制器硬件逻辑控制下完成的。141传送前预处理传送前预处理 CPU执行一段程序,测试设备的状态,启动将要进行执行一段程序,测试设备的状态,启动将要进行I/O的外部设备。的外部设备。将数据在主存储器存放的首地址写入主存地址寄存器,将数据在主存储器存放的首地址写入主存地址寄存器,然后,然后,CPU继续执行其他程序。继续执行其他程序。CPU对对DMA控制器进行初始化:控制器进行初始化:要传送的数据字数写入数据字数寄存器,要传送的数据字数写入数据字数寄存器,I/O设备的地址写入设备地址寄存器,设备的地址写入设备地址寄存器,传送方式(输入传送方式(输入/

13、输出)写入控制与状态寄存器。输出)写入控制与状态寄存器。DACK选通状态INTRDRQ系统总线I/O接口数据端口 控制/状态端口数据寄存器控制逻辑DMAC主存地址寄存器字计数器控制/状态寄存器外设地址寄存器CPUMMHRQHLDAI/O设备DRQ:DMA请求HRQ:总线请求DACK:DMA响应HLDA:总线响应2DMA数据传送数据传送16wDMA数据输入的过程数据输入的过程 I/O设备启动后,把准备好的数据送到设备启动后,把准备好的数据送到I/O接口的数据缓冲接口的数据缓冲寄存器,向寄存器,向DMAC请求请求DMA传送。传送。 DMAC每传送一个字向每传送一个字向CPU发出总线请求发出总线请求

14、。CPU必须在当必须在当前机器周期结束时交出系统总线前机器周期结束时交出系统总线,并向并向DMAC发出总线允许信发出总线允许信号号。 DMAC取得总线控制权后,将主存地址寄存器中的内容送取得总线控制权后,将主存地址寄存器中的内容送上地址总线,发上地址总线,发I/O读命令和存储器写命令。读命令和存储器写命令。I/O接口将数据缓接口将数据缓冲寄存器中的内容送上数据总线,同时将数据写入主存。冲寄存器中的内容送上数据总线,同时将数据写入主存。 DMAC将字数寄存器减将字数寄存器减1,主存地址寄存器加,主存地址寄存器加1。如果字数寄存器减如果字数寄存器减1后不为后不为0,准备下一次输入。,准备下一次输入

15、。 如果字数寄存器如果字数寄存器 = 0,表示一组数据传送结束,向,表示一组数据传送结束,向CPU发中发中断请求。断请求。系统总线INTRDACKDRQCPUMMHRQHLDAI / O设备I/O接口数据端口控制/状态端口数据寄存器控制逻辑DMAC主存地址寄存器字计数器控制/状态寄存器外设地址寄存器数据缓冲寄存器 如果I/O设备的数据宽度小于存储器的字长,就要由DMAC完成数据的拼接。 I/O设备把准备好的每个字节的数据送到I/O接口的数据缓冲寄存器,向DMAC请求DMA传送。 DMAC将数据读入。经过若干次输入,拼成一个完整的字后,DMAC向CPU发出总线请求,传送一个字。18wDMA数据输

16、出的过程数据输出的过程 I/O设备启动并做好数据接受的准备后,通过设备启动并做好数据接受的准备后,通过I/O接口向接口向DMAC请求请求DMA传送。传送。 DMAC向向CPU发出总线请求。发出总线请求。CPU必须在当前机器周期结必须在当前机器周期结束时交出系统总线,并向束时交出系统总线,并向DMAC发出总线允许信号。发出总线允许信号。 DMAC取得总线控制权后,将主存地址寄存器中的内容送取得总线控制权后,将主存地址寄存器中的内容送上地址总线,发存储器读命令和上地址总线,发存储器读命令和I/O写命令。将从主存读出的写命令。将从主存读出的数据写入数据写入I/O接口的数据缓冲寄存器中,再送给输出设备

17、。接口的数据缓冲寄存器中,再送给输出设备。 DMAC将字数寄存器减将字数寄存器减1,主存地址寄存器加,主存地址寄存器加1。如果字数寄存器减如果字数寄存器减1后不为后不为0,准备下一次输出。,准备下一次输出。 如果字数寄存器如果字数寄存器 = 0,表示一组数据传送结束,向,表示一组数据传送结束,向CPU发中发中断请求。断请求。选通状态INTRDACKDRQ系统总线I/O接口数据端口 控制/状态端口数据寄存器控制逻辑DMAC主存地址寄存器字计数器控制/状态寄存器外设地址寄存器CPUMMHRQHLDAI/O设备DRQ:DMA请求HRQ:总线请求DACK:DMA响应HLDA:总线响应wDMA数据输出的

18、过程数据输出的过程系统总线INTRDACKDRQCPUMMHRQHLDAI / O设备I/O接口数据端口控制/状态端口数据寄存器控制逻辑DMAC主存地址寄存器字计数器控制/状态寄存器外设地址寄存器数据缓冲寄存器 如果I/O设备的数据宽度小于存储器的字长,就要由DMAC完成数据的分拆。DMAC把从主存读出的数据字分拆成一个个字节。 I/O设备每发一次DMAC请求,就向I/O设备输出一个字节,直到一个数据字输出完毕,再向CPU发出总线请求。213后处理阶段后处理阶段 CPU响应响应DMA的中断请求后,如果需要继续进行数据传的中断请求后,如果需要继续进行数据传送,就再次对送,就再次对DMAC进行初始

19、化。如果不需要继续进行数据进行初始化。如果不需要继续进行数据传送,则停止外设。传送,则停止外设。 DMA数据传送,第一和第三阶段是数据传送,第一和第三阶段是CPU执行程序完成的,执行程序完成的,第二阶段是在第二阶段是在DMA控制器硬件逻辑控制下完成的。控制器硬件逻辑控制下完成的。22Homework10- 8, 10, 11,12Very few computer languages include built-in support for fixed point values, because for most applications, binary or decimal floating

20、-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 specify the number of digits after the radix 23测验 4请写好自己的姓名、学号、班级一、

21、(20分) 设CPU有16条地址线,8条数据线,访存控制信号 ,读/写信号 。现有存储芯片ROM(2K8,4K4), RAM(4K8,1K4,16K1)。试从上述芯片中选用合适的芯片,画出主存和CPU的连接图,要求主存的地址空间分配如下:最小4K空间为系统程序区,4096-16383为用户程序区。请不要抄题,只写题号请不要抄题,只写题号 MREQWR /二、(共25分) 设主存容量为256K字,Cache容量为2K字,块长为4。(1)设计Cache地址格式,Cache中可以装入多少块数据?(2)在直接映射方式下,设计主存地址格式。(3)在四路组相联映射方式下,设计主存地址格式。(4)在全相联映射方式下,设计主存地址格式。(5)若存储字长为32位,存储器按字节编址,写出上述三种方式下主存的地址格式。测验4测验4三、(共25分)) 设CPU有16条地址线,8条数据线,用 作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O), 为写命令(低电平有效), 为读命令(低电平有效)。试设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器。存储体有写 ,读 ,片选 等控制信号(均为低电平有效)。画出该存储系统的连接图,写出每个存储体的地址范围。二、(共25分

温馨提示

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

评论

0/150

提交评论