第21讲-输入输出系统_第1页
第21讲-输入输出系统_第2页
第21讲-输入输出系统_第3页
第21讲-输入输出系统_第4页
第21讲-输入输出系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

实验课题4控制器设计实验内容:按照题目要求设计计算机控制器的基本逻辑(不包括微操作信号产生电路),决定外部的端口(名称、有效电平)和内部各元件的连接,画出系统框图和逻辑图,设计仿真数据,用VHDL编程和仿真。用层次结构设计的方法设计控制器的指令部件。下层元件的设计已经在实验3中完成。包括:程序计数器、指令寄存器、数据寄存器、地址寄存器、指令译码器等。本实验只需要做顶层设计。(2学时)1jlsheng@实验课题4控制器设计实验内容:二、顶层设计

功能要求:

具有控制器的部分基本功能,能够控制取指令操作、控制访存取数据操作、控制访存存数据操作、指令译码,等。

取指令机器周期:把程序计数器的内容送到地址总线,延迟一段时间后把从存储器中读出的指令(通过数据总线读入),送到指令寄存器;每取一个指令字程序计数器加1。

取数据机器周期:把地址寄存器的内容送到地址总线,延迟一段时间后把从存储器中读出的数据(通过数据总线)送到数据寄存器。

存数据机器周期:把地址寄存器的内容送到地址总线,把数据寄存器中的数据送到数据总线,延迟一段时间后结束。指令译码:假设操作码在指令字的最高3位。2jlsheng@实验课题4控制器设计

提示1:控制器内部数据通路,可以是总线结构,也可以是直接连接结构。

提示2:控制器与系统总线的连接方法,有两种结构可以考虑:①程序计数器、指令寄存器、数据寄存器、地址寄存器都与系统总线有直接连接。②只有数据寄存器和地址寄存器与系统总线连接。程序计数器和指令寄存器不与系统总线连接。程序计数器内容必须先送到地址寄存器,然后才能到地址总线。从存储器中读出的指令必须先送到数据寄存器,然后才能到指令寄存器。三、仿真设计仿真波形数据,模拟取指令、访存取数据、访存存数据等操作。要考虑到所有可能的情况。在实验报告中必须清楚说明仿真波形数据是怎样设计的。3jlsheng@计算机组成原理Principlesof

ComputerOrganization广义双语教学课程09/skyclass25/青岛理工大学

校级精品课程/ec/C84/4jlsheng@第10章输入输出系统Chapter10Input/outputSystemInputsarethesignalsordatareceivedbythesystem,andoutputsarethesignalsordatasentfromit.I/Odevicesareusedbyaperson(orothersystem)tocommunicatewithacomputer.输入输出设备的编址输入输出的控制方式中断方式DMA方式接口总线5jlsheng@输入输出系统包括外部设备(I/O设备,辅助存储器)及其与主机之间的控制部件。§10.1输入输出系统概述Incomputing,input/output,orI/O,referstothecommunicationbetweenaninformationprocessingsystem(suchasacomputer),andtheoutsideworld–possiblyahuman,oranotherinformationprocessingsystem.I/OInterfaceisrequiredwhenevertheI/Odeviceisdrivenbytheprocessor.Theinterfacemusthavenecessarylogictointerpretthedeviceaddressgeneratedbytheprocessor.6jlsheng@在计算机系统中实际应用的有两类编址方法:①主存与I/O统一编址(Memory-mappedI/O),②主存与I/O分开独立编址(IsolatedI/O)

。1.独立编址IsolatedI/O主存与I/O分开独立编址是将主存储器与I/O设备放在两个独立的地址空间。必须有专门的控制信号来区分出现在地址总线上的地址是访存还是访问I/O,有专门的输入输出指令。I/O指令的指令地址码短,但不能对端口进行运算操作。输入输出设备的编址7jlsheng@2.统一编址Memory-mappedI/O

主存与I/O统一编址是将主存储器与I/O设备放在同一个地址空间,CPU用和访问主存相同的方法访问I/O设备。没有专门的I/O指令,用对存储器的数据传送指令进行输入输出。

所有能够对存储器进行运算操作的指令都可以用于对端口进行运算操作。缺点是访问I/O设备的指令地址码太长。Acomputerthatusesmemory-mappedI/Oaccesseshardwarebyreadingandwritingtospecificmemorylocations,usingthesameassemblerlanguageinstructionsthatcomputerwouldnormallyusetoaccessmemory.8jlsheng@不同的外部设备在数据宽度(1/8/16/32位),传送方式(串行/并行),控制信号/状态信号,一次交换的数据量(位/字符/数据块),等方面都有或多或少的差别。接口、设备控制器、设备适配器控制并实现主机与外部设备之间的数据传送。

设备控制器(接口)CPU必须通过接口与外部设备交换数据。主机与外部设备之间交换的信息包括:数据信息、控制信息、状态信息和外设识别信息等。外部设备多是慢速的光机电设备。外设的工作与CPU是异步的。外设不仅速度远低于主机,而且信号类型(模拟/数字)和工作电平往往与主机不同。9jlsheng@接口(Interface)的基本功能:(1)实现主机与外部设备之间的数据传送控制。其中包括:同步控制,设备选择和中断控制等。DMA接口还有直接访问存储器的功能。CPU必须给出设备的地址,发出输入/输出控制命令。(2)实现数据缓冲。在接口电路中一般有1个或几个数据缓冲寄存器,用于数据的暂存,以避免因为速度不一致而丢失数据。

接口的功能和组成

通过数据缓冲达到主机与外设之间的速度匹配。

10jlsheng@Handshakingshouldbeimplementedbytheinterfaceusingappropriatecommandslike(BUSY,READY,WAIT)theprocessorcancommunicatewithI/Odevicethroughtheinterface.Ifincasedifferentdataformattedbeingexchanged,interfacemustbeabletoconvertserialdatatoparallelformandvice-versa.(3)传递控制命令和状态信息接口接受处理机的命令,提供设备接口的状态,并按照主机的命令控制设备。(4)数据格式的变换

如果主机与外部设备之间的数据宽度或数据格式不同,就需要做数据格式的变换。例如,串行/并行转换,模拟/数字转换,码制转换等。

11jlsheng@接口的基本组成:

控制/状态信息主机外设地址数据系统总线数据选通/联络信息接口数据缓冲端口控制逻辑Interface

Theinterfacebetweenahumanandacomputeriscalledauserinterface.Interfacesbetweenhardwarecomponentsarephysicalinterfaces.12jlsheng@§10.1.2

I/O设备数据传送控制方式输入输出的控制方式分为:程序直接控制,程序中断传送,直接存储器存取,I/O通道控制和外围处理机。1.程序直接控制方式(ProgrammedDirectControl)程序直接控制I/O方式是CPU通过执行一段程序完成输入/输出。分为无条件输入/输出和(条件)查询式输入/输出。无条件输入/输出不需要知道I/O设备的状态,直接用输入输出指令完成输入/输出。例如,读入某开关的状态,使某指示灯亮/灭,使喇叭发出声音,等。

查询式输入/输出(条件输入/输出)是在数据传送前,必须先查询I/O设备的状态。只有当I/O设备的状态为Ready时,才能够用输入输出指令完成数据的输入/输出。13jlsheng@由于I/O设备的速度远比CPU低。而且二者又是异步工作的,往往需要花费大量的CPU时间进行查询,效率很低。Y预置传送参数启动外设取外设状态外设准备好?传送1次数据修改传送参数传送完否?结束NNYCPU与I/O设备之间是串行工作的。程序查询式输入/输出方式的工作过程:

查询14jlsheng@EarlycomputersperformedI/Obywaitinginaloopfortheperipheraltobecomeready.EngineersthusarrangedfortheperipheralstointerrupttheCPU.Thiswasawasteoftimeforprogramsthathadothertaskstodo.Also,iftheprogramattemptedtoperformthoseothertasks,itmighttaketoolongfortheprogramtocheckagain,resultinginlossofdata.2.程序中断传送方式(ProgrammedInterruptTransfer)Hardwareinterruptswereintroducedasawaytoavoidwastingtheprocessor'svaluabletimeinpollingloops,waitingforexternalevents.

15jlsheng@程序中断传送方式是CPU在启动I/O设备后,就可以执行其他程序。当I/O设备准备好后,主动向CPU发出中断请求。CPU响应中断后,暂时停止正在运行的程序,转而执行一个中断服务程序,完成输入/输出或其他服务。处理完后再返回继续执行原来的程序。CPU与I/O设备之间是并行工作的,效率很高,但不适用于高速设备的成组数据输入/输出。Theinterruptshadtobeprioritized,becausetheCPUcanonlyexecutecodeforoneperipheralatatime,andsomedevicesaremoretime-criticalthanothers.16jlsheng@3.直接存储器存取方式(DirectMemoryAccess)DMA是I/O设备与主存储器之间由硬件组成的直接数据通路。DMA方式是CPU在启动将要进行I/O的外部设备,并完成DMA控制器的初始化后,就可以执行其他程序。当I/O设备准备好后,向DMA控制器发出传送请求。DMA控制器用窃取处理机一个总线周期的方法完成I/O设备与主存储器之间的直接数据传送。当所要求的数据块传送完毕,DMA控制器向CPU发出中断请求。CPU做一些传送后处理工作。DMA数据传送与CPU之间是并行工作的,适用于磁盘等高速设备的成组数据输入/输出。17jlsheng@4.I/O通道控制方式(I/OChannelControl)小型机、微型机用中断方式和DMA方式进行输入输出处理是有效的。大型机的外部设备多,数据传输频繁。如果仍然用DMA方式有以下问题:

如果大量的外设都配置专用的DMA控制器将大幅度增加硬件成本。而且还要解决多个DMA同时访存的冲突,使控制复杂化。在DMA方式下,外设由CPU管理和初始化,过多占用CPU时间。频繁的总线窃取会降低CPU的效率。AchannelisanindependenthardwarecomponentthatcoordinatesallI/Otoasetofcontrollersordevices.通道(I/OChannel)是计算机系统中代替CPU控制外设的独立部件,能执行有限的I/O指令(通道命令)。18jlsheng@通道能独立地执行用通道命令编写的输入输出控制程序,产生相应的控制信号送给由它管辖的设备控制器,完成复杂的输入输出过程。通道是一种通用性和综合性都较强的输入输出方式,代表了现代计算机组织向功能分布方向发展的初始发展阶段。通道有自己的简单指令系统,并能实现指令所控制的操作。但仅仅是面向外部设备的控制和数据的传送。通道要在CPU的I/O指令指挥下启动、停止或改变工作状态。Incomputerscience,channelI/Oisagenerictermthatreferstoahigh-performanceinput/output(I/O)architecturethatisimplementedinvariousformsonanumberofcomputerarchitectures,especiallyonmainframecomputers.19jlsheng@CPUMM

BUS通道通道CUCUDDDCUCUDDDDCUD设备控制器I/O设备采用通道方式组织I/O系统,多为主机-通道-设备控制器-I/O设备四级连接方式。一个主机可连接几个通道,每个通道又可连接多台I/O设备。20jlsheng@5.外围处理机方式(PeripheralProcessor)外围处理机的结构接近一般的处理机,甚至就是一般的完整的小型计算机或微型计算机。外围处理机基本上独立于主机工作。它可完成I/O通道所要完成的I/O控制,还可完成码制变换、格式处理,数据块的检错、纠错等操作;可具有相应的运算处理部件、缓冲部件,还可形成I/O程序所必需的程序转移手段。在某些大型、巨型计算机系统中,设置多台外围处理机,分别承担I/O控制、通信、维护、诊断等任务。有了外围处理机后,计算机系统结构从功能集中式发展为功能分散的分布式系统。CPUMMBUS外围处理机外围处理机CUCUDDDCUCUDDDDCUD21jlsheng@Homework补充题1.WhatisthedifferencebetweenisolatedI/Oandmemory-mappedI/O?Whataretheadvantagesanddisadvantagesofeachother?10-1,3,8,22jlsheng@测验3参考答案23jlsheng@②设控制器采用微程序控制,有92个微命令,直接两地址指令14条及三地址指令15条。CPU结构如下图一.某计算机的指令系统有零地址指令16条,一地址指令31条,解释,问最多可能有多少条微指令?分析控制存储器的容量。MDRinPCout地址总线数据总线PCinAd(IR)outMDRoutMARinALURiYZYinZinRiinRioutZoutALUinALU控制+-PCMARMDR+1IRinIR①写出指令MOV@R4,R2在指令分析和执行阶段发出的控制信号(不包括取指令)。@表示间接寻址。控制法。如果每个零地址指令需要2条微指令解释,一地址指令需要3条微指令解释,两地址指令需要5条微指令解释,三地址指令需要8条微指令24jlsheng@解:操作表达式为:(R2)→((R4))CPU结构如下图一、(20分)MDRinPCout地址总线数据总线PCinAd(IR)outMDRoutMARinALURiYZYinZinRiinRioutZoutALUinALU控制+-PCMARMDR+1IRinIR①写出指令MOV@R4,R2在指令分析和执行阶段发出的控制信号(不包括取指令)。@表示间接寻址。指令分析和执行阶段发出的控制信号:R2OUT,MDRIN,R4OUT,MARIN,Write25jlsheng@一、(20分)某计算机有零地址指令16条,一地址指令31条,两地址指令14条及三地址指令15条。②设控制器采用微程序控制,有92个微命令,直接控制法。如果每个零地址指令需要2条微指令解释,一地址指令需要3条微指令解释,两地址指令需要5条微指令解释,三地址指令需要8条微指令解释,问最多可能有多少条微指令?分析控制存储器的容量。测验3参考答案解:微指令可能有=16×2+31×3+14×5+15×8=32+93+70+120=315条控制存储器的字数为512,微指令的顺序控制字段=9bit微指令的操作控制字段为92bit微指令字长=9+92=101bit控制存储器的容量=512×101bit26jlsheng@二、(共20分)设控制器采用微程序控制,控制存储器容量为2K×50bit,影响微程序转移的条件有5个。问微指令的各个字段分别为几位?若采用字段直接编码法,每个小字段3位,最多可以有多少个微命令?微指令字长=50bit根据控存有2K字,微指令的顺序控制字段=11bit5个转移条件,若采用编码法,需要3位。微指令的操作控制字段=50—11—3=36bit每个小字段3位,分成12个小字段。如果每个小字段都表示7个微命令,则最多可以有12×7=84个微命令解1:27二、(共20分)设控制器采用微程序控制,控制存储器容量为2K×50bit,影响微程序转移的条件有5个。问微指令的各个字段分别为几位?若采用字段直接编码法,每个小字段3位,最多可以有多少个微命令?微指令字长=50bit根据控存有2K字,微指令的顺序控制字段=11bit5个转移条件,若采用直接控制,需要5位或者:微指令的操作控制字段=50—11—5=34bit分成11个3位的小字段和1个1位的小字段。如果每个小字段都表示7个微命令,最多可以有11×7+1=78个微命令解2:28CPT1T2(rs1)→ALUALU→PCPC→ABPC+1PC→ALUALU→GRDB→DRALU→DRDR→ALUDR→DBDB→IRALU→ARAR→ABrs1→GRResetimm/disp→ALUrs,rd→GR程序计数器PC指令寄存器IR指令译码器ID微操作控制信号形成部件脉冲源启停线路时序信号产生部件ALU通用寄存器组GRFlag数据寄存器DR地址寄存器ARCLK2DBABCB主存储器(rs)→ALUOPimm/disprs1rs,rdCLK+ADS-三.CPU结构如教材122页图6.6,29jlsheng@三.(共20分)CPU结构如教材122页图6.6,写出指令ANDAC,X在指令分析和执行阶段发出的控制信号(不包括取指令)。X是某一存储单元的地址,在指令的disp字段中。AC是累加器(在通用寄存器组中)。该指令的操作表达式为:(AC)∧(X)→AC解:指令分析阶段:把操作数地址送到存储器地址寄存器AR,取数阶段:将AR中的地址送上地址总线AB,发访存控制信号,等待一段时间后从数据总线DB将取来的数送到存储器数据寄存器DR执行阶段:将AC中的数与DR中的数送到ALU进行与运算,结果送到AC,置标志寄存器30CPT1T2(rs1)→ALUALU→PCPC→ABPC+1PC→ALUALU→GRDB→DRALU→DRDR→ALUDR→DBDB→IRALU→ARAR→ABrs1→GRResetimm/disp→ALUrs,rd→GR程序计数器PC指令寄存器IR指令译码器ID微操作控制信号形成部件脉冲源启停线路时序信号产生部件ALU通用寄存器组GRFlag数据寄存器DR地址寄存器ARCLK2DBABCB主存储器(rs)→ALUOPimm/disprs1rs,rdCLK+ADS-三.CPU结构如教材122页图6.6,指令ANDAC,X分析和执行阶段31jlsheng@三.(共20分)CPU结构如教材122页图6.6,写出指令ANDAC,X在指令分析和执行阶段发出的控制信号(不包括取指令)。X是某一存储单元的地址,在指令的disp字段中。AC是累加器(在通用寄存器组中)。该指令的操作表达式为:(AC)∧(X)→AC解:指令分析阶段发出的控制信号:disp→ALU,“+”,ALU→AR,取数阶段发出的控制信号:AR→AB,ADS,,,DB→DR执行阶段发出的控制信号:rs→GR,(rs)→ALU,DR→ALU,“∧”,rd→GR,ALU→rd,置标志寄存器32四.(共10分)某CPU的主频为10MHz,若已知每个机器周期平均含4个时钟周期,该机的平均指令执行速度为1MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度是多少MIPS?若要得到平均每秒80万次的指令执行速度,则应采用主频为多少的CPU芯片?(1)主频=10MHz,解:时钟周期TC=1/10MHz=0.1×10—6S=0.1μs机器周期TM=4×0.1μs=0.4μs平均指令周期TI=1/1MIPS=1μs每个指令周期含2.5个机器周期。33四.(共10分)某CPU的主频为10MHz,若已知每个机器周期平均含4个时钟周期,该机的平均指令执行速度为1MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度是多少MIPS?若要得到平均每秒80万次的指令执行速度,则应采用主频为多少的CPU芯片?(2)若改用时钟周期为0.4μs的CPU芯片,则解:机器周期TM=4×0.4μs=1.6

温馨提示

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

评论

0/150

提交评论