计算机体系结构报告3_第1页
计算机体系结构报告3_第2页
计算机体系结构报告3_第3页
计算机体系结构报告3_第4页
计算机体系结构报告3_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、中南大学计算机体系结构实验报告学生姓名 惠苗壮 指导教师 余腊生 学 院 信息科学与工程学院 专业班级 计科0904班 学 号 0909091627 完成时间 2012年05月20日 字节多路通道运行机制一、 实验目的通过模拟实现通道处理过程,掌握通道技术。二、 实验要求通过上机用编程语言实现对计算机字节多路通道运行机制的模拟。三、 实验内容结合数据结构的相关知识,编写通道处理过程模拟程序。 1、通道完成一次数据输入输出的过程需三步(如图一所示): (1)在用户程序中使用访管指令进入管理程序,由 CPU 通过管理程序组织一个通道程序,启 动通道; (2)通道处理机执行通道程序,完成指定的数据输

2、入输出工作; (3)通道程序结束后第二次调用管理程序对输入输出请求进行处理每完成一次输入输出工, CPU只需要两次调用管理程序,大大减少了对用户程序的打扰。2 通道的主要功能: (1)接受 CPU 发来的指令,选择一台指定的外围设(2)执行 CPU 为通道组织的通道程序 (3)管理外围设备的有关地址 (4)管理主存缓冲区的地址 (5)控制外围设备与主存缓冲区间数据交换的个数 (6)指定传送工作结束时要进行的操作 (7)检查外围设备的工作状态,是正常或故障 (8)在数据传输过程中完成必要的格式的变换 四、 实验原理字节通道是一种简单的共享通道,主要为多台低速或中速的外围设备服务。它采用分时方式工

3、作,依靠它与cpu之间的高速数据通路分时为多台设备服务。如果通道上连接了多个外围设备,则此时通道上的各个设备轮流占用一个很短的时间片(通常小于100微秒)传输一个字节,或者说,不同的设备在他所分得的时间片内与通道在逻辑上建立传输连接,此方式也叫做字节交叉方式。与此同时,它还允许一个设备一次占用通道比较长的时间传输一组数据。或者说与通道的连接可以根据需要维持到一组数据全部传送完成,这也称为成组方式。本次试验主要模拟的是字节交叉方式。五、 实验结果数据为(要传输的数据)即:字符串:love,channal,architecture运行效果截图为:代码分为三个类:Device.classpackag

4、e arch;public class Device private String datas;/设备/存储器中的数据private int dataLength;public Device()public Device(String datas, ChannalManager cm)this.setDatas(datas);this.dataLength = datas.length();if(this.dataLength cm.getMaxDevCap()cm.setMaxDevCap(this.dataLength);public void setDataLength(int data

5、Length) this.dataLength = dataLength;public int getDataLength() return dataLength;public void setDatas(String datas) this.datas = datas;public String getDatas() return datas;ChannelManager.classpackage arch;import java.util.ArrayList;import java.util.List;public class ChannalManager implements Runna

6、ble private String interrupt;/提示中断信号private int maxDevCap=0;/所有设备的最大传输数据长度private List Devices;/所有外围设备private List memory;/存储器public ChannalManager()errupt=none;this.Devices = new ArrayList();this.Devices.add(new Device();this.Devices.add(new Device();this.Devices.add(new Device();this.memor

7、y = new ArrayList();this.memory.add(new Device(love,this);this.memory.add(new Device(channal,this);this.memory.add(new Device(architecture,this);public void setInterrupt(String interrupt) errupt = interrupt;public String getInterrupt() return interrupt;public void setMaxDevCap(int maxDevCap)

8、 this.maxDevCap = maxDevCap;public int getMaxDevCap() return maxDevCap;public void setDevices(List devices) Devices = devices;public List getDevices() return Devices;public void printDevice()for(Device d : this.Devices)System.out.println(d.getDatas();Overridepublic void run() /通道处理器进行数据传送/ TODO Auto

9、-generated method stubfor(int fence = 0 ;fence this.maxDevCap; fence+) for(int i = 0;i this.Devices.size() ; i+) if(fence this.memory.get(i).getDataLength() this.Devices.get(i).setDatas(this.memory.get(i).getDatas().substring(0, fence+1); printDevice(); printDevice(); errupt=finish;/传送完后发中断R

10、unningCpu.classpackage arch;public class RunningCpu private ChannalManager channalMg;public RunningCpu()this.channalMg = new ChannalManager();public void setChannalMg(ChannalManager channalMg) this.channalMg = channalMg;public ChannalManager getChannalMg() return channalMg;public void runCpu()while(

11、true)if(channalMg.getInterrupt().equals(none)System.out.println(the cpu is running users program.);System.out.println(the cpu is running users program.);channalMg.setInterrupt(noned);if(channalMg.getInterrupt().equals(init)System.out.println(CPU is interrupted);System.out.println(This is a I/0 Init instruction,The channalManager is init the device.);channalMg.setInterrupt(none);Thread t = new Thread(this.channalMg);t.start();if(channalMg.getInterrupt().equals(finish)System.out.println(CPU is interrupted);System.out.println(This is a I/0 finish instruction,The c

温馨提示

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

评论

0/150

提交评论