东北大学计算机组成原理课设报告
- 格式:docx
- 大小:473.37 KB
- 文档页数:32
2013版软件工程一、统编序号:0841二、专业代码:X080902三、学位、学制:工学学士学位,学制为4年四、专业简介软件工程是研究大规模软件开发方法、工具和管理的一门工程科学。
其特点是按工程化的原则和方法来组织和规范软件开发过程,主要研究软件开发方法与环境、软件工具及集成技术、软件自动化及自动测试技术、软件质量控制、软件重用技术等内容。
软件工程专业培养系统掌握本专业所必需的基本理论、基本知识,掌握本专业的基本技能和方法,掌握较新的软件开发技术和软件项目管理方法,能熟练使用流行的软件环境与工具,特别是具备较强的软件开发实践能力和良好的软件工程素养,受到系统的软件开发技术的训练,具有获取新知识的能力,具有一定的软件工程职业技能,能在软件企业及其它企事业单位从事软件开发与应用、项目管理等工作的应用型高级技术人才。
五、培养目标及专业范围培养掌握软件工程领域基础理论知识和先进的开发技术,具备软件开发和管理能力,能从事软件系统分析、设计、开发和项目管理,适应社会主义市场经济和信息产业发展需要的实用性、复合型、国际化高级软件设计、开发及管理人才。
六、毕业生应获得知识和能力本专业毕业生应掌握软件工程领域坚实的基础理论和宽广的专业知识;具备工程实践能力,具备软件分析、设计、开发、维护能力,具备良好的系统分析与设计及项目管理能力,具备创新能力,具备国际竞争能力,具备独立工作能力和团队合作精神。
七、课程设置及学时分配比例注1:比例是本课群要到达的至少学分数占毕业要求至少总学分数的百分比注2:对于人文类选修课群至少到达学分的要求,除了本表所列出课程学分外,还包含其他的人文类选修课程(参见附表1)学分。
八、人文类选修课群4学分以上(特指以数字“3”开头的人文类选修课程)。
九、创新创业及技能选修课群凡完成学校规定的创新创业内容,按照《东北大学关于大学生创新学分工作的实施办法(讨论稿)》(东大教字[2009]17号)文件精神执行。
上海大学计算机组成原理实验报告(全)《计算机组成原理实验》报告一姓名学号时间地点行健楼 609机房评阅一.数据传送实验1. 实验内容及要求在试验箱上完成以下内容:将58H写入A寄存器。
将6BH写入W寄存器。
将C3H 写入R1寄存器。
2. 实验环境本实验箱用74HC574构成各种寄存器。
3. 实施步骤或参数①注视仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
②设置实验箱进入手动模式。
③K2接AEN,K1和K2接EX0和EX1,设置K2K1K0=010,设置K23~K16=01011000。
④注视A及DBUS的发光管,按下STEP键,应看到CK灯灭、A旁的灯亮。
记住看到的实际显示情况。
⑤放开STEP键,应看到CK灯亮、A寄存器显示58。
记住看到的实际情况。
⑥重复上述实验步骤,在做6BH时,K2接WEN,K1和K2接EX2和EX3,设置K2K1K0=010,设置K23~K16=01101011;重复上述实验步骤,在做C3H时,K2接RWR,K1和K2接SB 和SA,设置K2K1K0=001,设置K23~K16=10100011。
⑦关闭实验箱电源。
4. 测试或者模拟结果A寄存器显示58,W寄存器显示6B,R1寄存器显示C3,完成实验目的。
5. 体会本次实验相对简单,只需要三根线便可以完成整个实验,但是,今天认识了实验箱。
124并且在老师的带领下较为完整的认识了整个试验箱,还是很开心的,今后实验箱将是我们学习计算机组成原理的重要工具,也是我们的好朋友。
《计算机组成原理实验》报告二姓名学号时间地点行健楼 609机房评阅二.运算器实验1. 实验内容及要求在试验箱上完成以下内容:计算07H+6AH后左移一位的值送OUT输出。
把39H取反后同64H相或的值送入R2寄存器。
通过人工译码,加深对译码器基本工作原理的理解。
理解命令的顺序执行过程。
2024全国计算机专业大学排行榜2024全国计算机专业大学排名序列号学校名称专业档次办学层次1清华大学A++世界一流专业2国防科技大学A++世界一流专业3北京大学A++世界知名高水平、中国顶尖专业4北京航空航天大学A++世界知名高水平、中国顶尖专业5中国科学技术大学A++世界知名高水平、中国顶尖专业6中国科学院大学A++世界知名高水平、中国顶尖专业7浙江大学A++世界知名高水平、中国顶尖专业8上海交通大学A++世界知名高水平、中国顶尖专业9深圳大学A++世界知名高水平、中国顶尖专业10四川大学A+世界高水平、中国顶尖专业11电子科技大学A+世界高水平、中国顶尖专业12北京理工大学A+世界高水平、中国顶尖专业13哈尔滨工业大学A+世界高水平、中国顶尖专业14华中科技大学A+世界高水平、中国顶尖专业15河海大学A+世界高水平、中国顶尖专业16西北工业大学A+世界高水平、中国顶尖专业17东北大学A+世界高水平、中国顶尖专业18北京邮电大学A+世界高水平、中国顶尖专业19东南大学A+世界高水平、中国顶尖专业20中南大学A+世界高水平、中国顶尖专业21武汉大学A+世界高水平、中国顶尖专业22南京大学A+世界高水平、中国顶尖专业23大连大学A+世界高水平、中国顶尖专业24吉林大学A+世界高水平、中国顶尖专业25燕山大学A+世界高水平、中国顶尖专业26复旦大学A+世界高水平、中国顶尖专业27香港中文大学(深圳)A+世界高水平、中国顶尖专业28北京师范大学-香港浸会大学联合国际学院A+世界高水平、中国顶尖专业29中国人民大学A+世界高水平、中国顶尖专业30西安交通大学A+世界高水平、中国顶尖专业计算机专业的就业前景怎么样计算机专业的就业前景是比较乐观的。
随着现代经济和信息科技的发展,中国的IT行业正处于高速增长期。
据统计,IT人才的缺口每年都在百万以上,显示出对专业人才的高度需求。
计算机专业的学生在就业市场上通常能够找到较好的工作,尤其是在一线城市,具有3-5年以上工作经验的专业人士月薪可达15,000元左右,而计算机专业的实习生也能获得大约6,000至9,000元的月薪。
中南大学计算机操作系统实验报告................................................................................................................................................................................................................1、增强学生对计算机操作系统基本原理、基本理论、基本算法的理解;2、提高和培养学生的动手能力。
1、每人至少选作1 题,多做不限;2、每人单独完成,可以讨论,但每人的设计内容不得彻底相同,抄袭或者有2 人/多人设计彻底一样者,不能通过;3、设计完成后,应上交课程设计文档,文档格式应是学校课程设计的标准格式,所有学生的封面大小、格式也必须一样;4、同时上交设计的软盘(或者以班刻录光盘)。
调度算法的摹拟:摹拟各种调度算法,并进行调度性能分析。
摹拟了一个作业调度算法,其中用到了先来先服务算法(FCFS)、短作业优先算法(SJF)、最高响应比优先算法(HRN)三种算法。
如下,分别为三种算法的程序流程图。
图1 - 开始界面图 2 –输入作业的信息(名字、提交时间、运行时间) 图3 –选择算法(FCFS 、SJF、HRN)图4、5 –选择FCFS 算法后输出结果图6、7 –选择SJF 算法后输出结果图8、9 –选择HRN 算法后输出结果能体现公平性;一旦一个较长的作业进入系统后就会长期的占用系统的资源,这样如果有优先级较高的短作业需要执行的话需要等待很长期。
比前者改善了平均周转时间和平均带权周转时间,缩短作业的等待时间,提高系统的吞吐量;对长作业非常不利,可能长期得不到执行,未能一句作业的紧迫程度来划分执行的优先级,难以准确估计作业的执行时间,从而影响调度性能。
这种算法是对FCFS 方式和SJF 方式的一种综合平衡。
计算机接口技术实验报告学号:姓名:提交日期:成绩:东北大学秦皇岛分校计算机与通信工程学院实验1、IO地址译码一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、编程提示8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZASM程序:ioport equ 0d400h-0280hio8253a equ ioport+283hio8253b equ ioport+280hcode segmentassume cs:codestart: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30Hadd dl,7 ;否则为'A'-'F',ASCII码加37Hnum: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret;子程序返回disp endpcode endsend start实验现象:开始时代表低电平的灯亮,按单脉冲信号5次后高电平的等亮实验2、简单并行接口一、实验目的掌握8253的基本工作原理和编程方法。
接口技术课程设计
--8路抢答器一.实验功能
1.实验要求
设计一个具有8路抢答的抢答器,利用并行接口和开关键。
逻辑开关K1---K8代表抢答按钮,当某个逻辑开关闭合时,相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)。
2、实现过程
启动计算机,计算机自动为系统各芯片进行初始化,抢答器开始工作。
比赛开始,在主持人按下开始键,绿灯亮后,选手才可开始抢答,否则违规。
若选手抢答成功,LED显示器显示选手号码,扬声器鸣叫。
若选手抢答违规(主持人未按开妈键),LED显示器显示违规选手号码,红灯亮,扬声器报警,并根据比赛规则进行对该选手进行扣分。
若系统提示某号选手抢答违规,主持人仍未按开始键,此时该号选手又按下抢答键,LED显示器显示该选手的号码。
本系统开机后,若主持人既未按复位键又未按开始键,此时有选手按下抢答键,系统提示红灯亮,并报警。
注:
1、抢答成功,置8253通道2计数值为1000,扬声器的鸣叫声音频率为1MHz/1000=1KHz。
2、抢答失败,置8253通道2计数值为2000,扬声器的鸣叫声音频率为1MHz/2000=0.5KHz。
学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。
尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。
与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。
报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名: 日期:年月日目录第一章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3设计环境 (1)第二章详细设计方案 (3)2.1原理框图 (3)2.2功能模块的设计与实现 (3)2.2.1 选择译码电路设计与实现模块 (3)2.2.2 计数器模块设计与实现 (4)第三章仿真设计 (6)3.1输入数据 (6)3.2仿真输出 (6)参考文献 (8)附录(关键部分程序清单) (9)第一章总体设计方案1.1 设计原理CMI(Coded Mark Inversion)码是传号反转码的简称,与双相码类似,它也是一种双极性二电平码。
其编码规则是“1”码交替用“11”或“00”两位码表示;“0”码固定地用“01”表示。
CMI码易于实现,含有丰富的定时信息。
此外,由于10为禁用码组,不会出现三个以上的连码,这个规律可以用来宏观检错。
1.2 设计思路根据CMI码的原理特点,将需要转换的数据输入,然后判断输出,将输出的数据放入寄存器然后选择输出。
可以将电路分为以下几个部分:时钟控制电路,码分离以及信号编码电路,选择输出电路。
时钟控制电路:首先制定一个时钟控制电路,作为参考系统,一个二进制数据要对应两位CMI编码,即每个二进制数据占两个时钟周期,其对应的CMI编码占两个周期。
码分离以及信号编码电路:CMI编码的规则是当过来“0”码时,编码输出固定的“01”码;当过来的是“1”码时,编码输出“00”或者“11”码。
东北大学秦皇岛分校计算机与通信工程学院计算机组成原理课程设计专业名称计算机科学与技术班级学号学生姓名指导教师设计时间2014.12.22~2015.1.2课程设计任务书专业:计算机科学与技术学号:学生姓名(签名):设计题目:8位模型机设计-指令系统及通用寄存器设计一、设计实验条件综合楼808实验室二、设计任务及要求总的设计目标是:设计一个8 位的模型机,其组成为:总线结构:单总线,数据总线位数8位、地址总线8位;●存储器:内存容量64K*8bit●控制器:用硬联线控制器实现26位微操作控制信号●运算器:单累加器,实现加、减等8种操作外设:●输入:用开关输入二进制量●输出:7段数码管和LED显示指令系统规模:64 条指令,7种类型,5种寻址方式本组任务是:1.设计12、15、22、32号指令;2.模型机的通用寄存器R1设计;3.BCD编码器的设计。
三、设计报告的内容1.设计题目与设计任务(设计任务书)设计内容如下:1、指令系统设计:ADDC A, #II 将立即数II加入累加器A中带进位SUB A, EM 从A中减去存储器EM地址的值AND A, @R? 累加器A“与”间址存储器的值MOV A, #II 将立即数II送到累加器A中2、模型机硬件设计:通用寄存器R13、逻辑电路设计:BCD码编码器2.前言(绪论)(设计的目的、意义等)1.融会贯通计算机组成原理课程的内容,通过知识的综合运用,加深对计算机系统各个模块的工作原理及相互联系的认识;2.学习运用VHDL进行FPGA/CPLD设计的基本步骤和方法,熟悉EDA的设计、模拟调试工具的使用,体会FPGA/CPLD技术相对于传统开发技术的优点;3.培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。
3.设计主体(各部分设计内容、分析、结论等)【系统设计】1、模型机逻辑框图图1 模拟机整体逻辑框图图2 XCV200芯片引脚图3 CPU逻辑框图2、指令系统设计:ADDC A, #II 将立即数II加入累加器A中带进位助记符:ADDC A, #II类型:算数运算指令寻址方式:立即数寻址指令格式:第一字节001011XX第二字节立即数:SUB A, EM 从A中减去存储器EM地址的值助记符:SUB A, EM类型:算数运算指令寻址方式:存储器直接寻址指令格式:第一字节001110XX第二字节存储地址:AND A, @R? 累加器A“与”间址存储器的值助记符:AND A, @R?类型:算数运算指令寻址方式:寄存器间接寻址指令格式:第一字节010101XX:MOV A, #II 将立即数II送到累加器A中助记符:MOV A, #II类型:数据传送指令寻址方式:立即数寻址指令格式:第一字节011111XX第二字节立即数3、微操作控制信号:外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
本课主要讲述微型机的组成部分CPU、系统总线、I/O接口、存储器的工作原理和连接。
组成:算数逻辑部件、累加器和寄存器组、控制器三、总线片总线、内总线、外总线并行总线、串行总线并行总线:DB、AB、CB并行总线扩展:地址锁存,分离地址总线和数据总线译码电路:对存储器或接口电路器件操作选择。
对地址总线上的编码数据进行译码。
74LS138、139、GAL等四、存储器与I/O接口1 接口部件准备好系统如何知道接口部件已经准备好数据等待CPU提取,或准备接受CPU送来的数据查询方式:检测接口状态寄存器中“准备好”位或管脚,准备好则传输数据无条件传送:确定外设接口已经准备就绪,直接传输信息。
条件传送方式(查询方式):Step 1:读取状态字(或状态引脚)Step 2:检测(相应位)是否满足“就绪”条件,不满足回到Step 1.Step 3:传送数据中断方式:接口发中断请求响应中断,中断服务程序实现数据传输DMA方式:接口向DMA控制器发送请求,DMA控制器向CPU发送总线控制权请求DMA接管总线,传输数据2 优先级硬件确定:速度快,硬件开销大软件确定:简单、灵活、速度慢二者结合:3 要考虑的问题速度匹配问题总线的负载能力片选信号的产生机制4 接口接入总线要求输入缓冲:三态缓冲器,以便于数据总线相连。
输出锁存:将CPU写出的数据锁存,解决CPU与外设匹配的问题。
5 寻址各类信息在接口中进入不同的寄存器,通常称为I/O端口(port),每个端口有一个唯一的地址。
数据端口:对来自CPU和内存的数据或者发送到CPU和内存的数据起缓冲作用状态端口:存放外部设备或者接口部件本身的状态控制端口(命令端口):存放CPU发出的命令,以便控制接口或设备的动作。
数据输入端口、状态端口:只读数据输出端口、控制端口:只写通常:数据输入端口和数据输出端口的地址一致,通过读写指令区分。
状态端口和命令端口地址一致。
有了端口地址,CPU与外设的IO操作归结为接口芯片各端口的读写操作。
第1篇实验名称:微机原理实验实验日期:2023年10月25日实验地点:计算机实验室实验教师:[教师姓名]实验学生:[学生姓名]班级:[班级名称]一、实验目的1. 理解微机原理的基本概念和组成结构。
2. 掌握微机硬件的基本操作和调试方法。
3. 熟悉汇编语言编程和程序调试技巧。
4. 通过实验加深对微机原理课程的理解,提高动手能力。
二、实验内容本次实验主要分为以下几个部分:1. 微机硬件系统结构认识:了解微机硬件系统的组成,包括CPU、内存、I/O接口等,熟悉各部件的功能和相互关系。
2. 汇编语言编程:学习汇编语言的基本语法和指令系统,编写简单的汇编程序,实现特定功能。
3. 程序调试:使用调试工具(如DEBUG)对汇编程序进行调试,查找并修正错误。
4. 微机原理实验:完成以下实验任务:1. 编写程序实现两个多位十进制数的相加。
2. 编写程序实现字符串比较功能。
3. 编写程序实现乘除法运算。
三、实验步骤1. 微机硬件系统结构认识:- 观察实验室中的微机硬件系统,了解各部件的连接方式和功能。
- 使用示波器检测实验装置的信号是否正常。
2. 汇编语言编程:- 学习汇编语言的基本语法和指令系统。
- 编写程序实现两个多位十进制数的相加,程序如下:```;加数DATA1 DB 3,4,5,6,7;被加数DATA2 DB 2,3,4,5,6;结果SUM DB 5 DUP(0);程序开始MOV CX, 5 ;循环次数MOV AL, 0 ;结果初始化为0MOV SI, OFFSET DATA1 ;加数地址MOV DI, OFFSET DATA2 ;被加数地址ADD_LOOP:ADD AL, [SI] ;加数加到AL寄存器ADC AL, [DI] ;进位加到AL寄存器MOV [DI], AL ;结果存回DI寄存器ADD SI, 1 ;加数地址加1ADD DI, 1 ;被加数地址加1LOOP ADD_LOOP ;循环;程序结束```- 编写程序实现字符串比较功能,程序如下:```;字符串1STRING1 DB 'Hello';字符串2STRING2 DB 'World';比较结果RESULT DB 0;程序开始MOV SI, OFFSET STRING1 ;字符串1地址MOV DI, OFFSET STRING2 ;字符串2地址CMP_LOOP:MOV AL, [SI] ;读取字符串1的当前字符CMP AL, [DI] ;与字符串2的当前字符比较 JNE NOT_EQUAL ;不相等则跳转到NOT_EQUAL INC SI ;字符串1地址加1INC DI ;字符串2地址加1LOOP CMP_LOOP ;循环MOV RESULT, 1 ;相等则将结果设置为1JMP END ;跳转到ENDNOT_EQUAL:MOV RESULT, 0 ;不相等则将结果设置为0END:;程序结束```- 编写程序实现乘除法运算,程序如下:```;被乘数DATA1 DB 10;乘数DATA2 DB 5;结果PRODUCT DB 0;程序开始MOV AL, [DATA1] ;被乘数加载到AL寄存器MUL [DATA2] ;乘数乘到AL寄存器MOV [PRODUCT], AL ;结果存回PRODUCT;程序结束```3. 程序调试:- 使用DEBUG工具对汇编程序进行调试,查找并修正错误。
计算机组成原理课程设计报告 班级:计算机 XX 班 姓名: XX 学号: XXX 完成时间:2017.1.6 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、 课程设计使用的设备(环境) 1.硬件 COP2000实验仪 PC机 2.软件 COP2000仿真软件
四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现 该模型机指令系统的特点:COP2000模型机的指令为8位,根据操作的内容,可以有0到2个操作数。每个操作数支持5种寻址方式,包括累加器A寻址,寄存器R0~R3寻址,寄存器R0~R3间接寻址,内存直接寻址以及立即数寻址。 COP2000模型机指令的最低两位(IR0和IR1)用来寻址R0~R3四个寄存器;IR2和IR3与ELP微控制信号,Cy和Z两个程序状态信号配合,控制PC的置数即程序的转移。各种转移的条件判断逻辑如下所示: PC 置数逻辑 当ELP=1时,不允许PC被预置 当ELP=0时 当IR3=1时,无论Cy和Z什么状态,PC被预置 当IR3=0时 若IR2=0,则当Cy=1时PC被预置 若IR2=1,则当Z=1时PC被预置 本模型机时序控制采用不定长机器周期的同步控制方式,一条指令最多分四个节拍。 系统提供的默认指令系统包括以下7类指令: 算术运算指令: 逻辑运算指令: 数据传输指令: 跳转指令: ADD A, R? ADD A, @R? ADD A, MM ADD A, #II ADDC A, R? ADDC A, @R? ADDC A, MM ADDC A, #II SUB A, R? SUB A, @R? SUB A, MM SUB A, #II SUBC A, R? SUBC A, @R? SUBC A, MM SUBC A, #II AND A, R? AND A, @R? AND A, MM AND A, #II OR A, R? OR A, @R? OR A, MM OR A, #II CPL A MOV A, R? MOV A, @R? MOV A, MM MOV A, #II MOV R?, A MOV @R?,A MOV MM, A MOV R?,#II JCMM JZMM JMP MM CALL MM RET
移位指令: 中断返回指令: 输入/输出指令: RR A RL A RRC A RLC A RETI READ MM WRITE MM IN OUT
该模型机微指令系统的特点(包括其微指令格式的说明等): COP2000 模型机的微指令字长为 24 位,全部为操作控制部分,不含顺序控制字段。微指令编码采用混合表示法,微地址形成采用计数器方式。微指令格式为水平型微指令。下面分别从为操作控制和顺序控制两方面进行说明: a. 微操作控制 24 位微操作控制信号含义如下表: 表 1:COP2000 模型机 24 位微控制信号功能 控制信号 含义 XRD: 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR: 程序存储器EM写信号。 EMRD: 程序存储器EM读信号。 PCOE: 将程序计数器PC的值送到地址总线ABUS 上。 EMEN: 将程序存储器EM 与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS 数据写到EM中,还是从EM读出数据送到DBUS。 IREN: 将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN: 将数据总线DBUS 上数据打入地址寄存器MAR。 MAROE: 将地址寄存器MAR的值送到地址总线ABUS 上。 OUTEN: 将数据总线DBUS 上数据送到输出端口寄存器OUT 里。 STEN: 将数据总线DBUS 上数据存入堆栈寄存器ST 中。 RRD: 读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR: 写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN: 决定运算器是否带进位移位,CN=1 带进位,CN=0不带进位。 FEN: 将标志位存入 ALU 内部的标志寄存器。 X2 X1 X0: X2、X1、X0 三位组合来译码选择将数据送到 DBUS 上的寄存器。 WEN: 将数据总线 DBUS 的值打入工作寄存器 W 中。 AEN: 将数据总线 DBUS 的值打入累加器 A 中。 S2 S1 S0 S2、S1、S0 三位组合决定 ALU 做何种运算。
b. 顺序控制 COP2000 微程序控制器的微地址生成部件是一个计数器,分别控制该计数器的使能端(自动加一)和置数端(跳转至其他指令对应的位程序地址)生成微命令的地址。 2。计算机中实现乘法和除法的原理 (1)无符号乘法 ①实例演示:
1010×1011=1101110
无符号乘法的实例演示如图1所示: 1 0 1 0 × 1 0 1 1
0 0 0 0 + 1 0 1 0
1 0 1 0 + 1 0 1 0
1 1 1 1 0 + 0 0 0 0
0 1 1 1 1 0 + 1 0 1 0
X2 X1 X0 被选中寄存器 S2 S1 S0 运算 000 IN 000 A+W 001 IA 001 A-W 010 ST 010 A OR W 011 PC 011 A AND W 100 D 100 A+W+Cy 101 R 101 A-W-Cy 110 L 110 NOT A 111 无 111 A (0) 1 1 0 1 1 1 0 即:1001×0110=1101110
②硬件原理框图:
③算法流程图: 被乘数(不变) 0 M3 M2 M1 M0 000
ALU ADD ZF 控制逻辑
0 0 0 0 A3 A2 A1 A0
SHR
乘数(部分和) 图1:乘法硬件原理图 (2)无符号除法 ①实例演示: 无符号除法使用加减交替法,若余数为正,则下一步执行减法,商置1;反之商置0,下一步执行加法。 ②硬件原理框图: ③算法流程图: 被除数(部分余数+商)
D7 D6 D5D4 D3 D2 D1 D0
ALU ZF ADD SUB 控制逻辑
A3 A2 A1 A0 0 0 0 0 除数
SHR
0 1 1 1 1 0 1 1 - 1 1 0 1 1 0 1 0 1 0 1 1 + 1 1 0 1 0 0 0 1 0 0 1 1 - 1 1 0 1 1 1 0 1 1 1 1 1 + 1 1 0 1 1 1 1 1 1 0 0 1 + 1 1 0 1 0 0 0 0 0 1 1 0 123÷13商为9,余数为6 开始初始化被除数,除数,商,计数器
判断CF=1?
结束除数左移4位压栈被除数被除数-除数
判断除数=0?
取出堆栈的被除数除数右移一位商左移一位计数器-1
ZF=1压栈被除数被除数-除数
判断CF=1?除数右移一位商左移一位商+1计数器-1
ZF=1压栈被除数被除数-除数
判断CF=1?
置商位0FFHNY
YN
YN
YN
3.对应于以上算法如何分配使用COP2000实验仪中的硬件 由于循环控制运算时会占用累加器 A,因此参与运算的操作数均应保存在通用寄存器 R0~R3 中。资源分配如下: 直接乘法: R0:中间结果及最终结果 R1:被乘数(每次运算左移 1 位) R2:乘数(每次运算右移 1 位) 加减交替除法: R0:被除数(部分余数,最终得到余数) R1:除数(初始化时左移 4 位,每次计算时右移1位) R2:商(低 4 位) R3:计数器 4.在COP2000集成开发环境下设计全新的指令/微指令系统 设计结果如表所示(可按需要增删表项) (1) 新的指令集 (设计两个不同指令集要分别列表)
助记符 机器码1 机器码2 指令说明 _FATCH_ 000000XX 00-03 实验机占用,不可修改。复位后,所有寄存
器清0,首先执行 _FATCH_ 指令取指。 ADD R?,#II 000001XX 04-07 II R?←R?+立即数II
ADD R?,A 000010XX 08-0B R?←A+R?
SUB R?,#II 000011XX 0C-0F II R?←R?-立即数II
SUB R?,A 000100XX 10-13 R?←R?-A
MOV R?,#II 000101XX 14-17 R?←R?
MOV A, R? 000110XX 18-1B A←R?
SHL R? 000111XX 1C-1F3 R?不带进位左移1位
SHR R? 001000XX 20-23 R?不带进位右移1位
PUSH A 001001XX 24-27 A压栈
POP A 001010XX 28-2B 将栈顶元素值给A
MOV R?,A 001011XX 2C-2F R?←A
AND A,#II 001100XX 30-33 II A与立即数II进行与运算 JZ MM 001101XX 34-37 MM ZF=1 时跳转
JMP MM 001111XX 3C-3F MM 跳转