2-实验二 指令系统
《自动控制原理》实验2(线性系统时域响应分析)
实验二 线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。
二、基础知识及MATLAB 函数(一)基础知识时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,具有直观、准确的特点。
为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。
本次实验从分析系统的性能指标出发,给出了在MATLAB 环境下获取系统时域响应和分析系统的动态性能和稳态性能的方法。
用MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以s 的降幂排列写为两个数组num 、den 。
由于控制系统分子的阶次m 一般小于其分母的阶次n ,所以num 中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。
1.用MATLAB 求控制系统的瞬态响应1)阶跃响应 求系统阶跃响应的指令有:step(num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随即绘出step(num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10)[y ,x]=step(num,den) 返回变量y 为输出向量,x 为状态向量在MATLAB 程序中,先定义num,den 数组,并调用上述指令,即可生成单位阶跃输入信号下的阶跃响应曲线图。
考虑下列系统:25425)()(2++=s s s R s C 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s的降幂排列。
则MATLAB 的调用语句:num=[0 0 25]; %定义分子多项式 den=[1 4 25]; %定义分母多项式step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线grid %画网格标度线 xlabel(‘t/s’),ylabel(‘c(t)’) %给坐标轴加上说明 title(‘Unit -step Respinse of G(s)=25/(s^2+4s+25)’) %给图形加上标题名 则该单位阶跃响应曲线如图2-1所示:为了在图形屏幕上书写文本,可以用text 命令在图上的任何位置加标注。
实验二_指令系统相关程序的编写与调试实验
重庆大学学生实验报告实验课程名称汇编语言程序设计开课实验室DS1502学院软件学院年级16 专业班软件工程5班学生姓名吉沼橙学号********开课时间2017 至2018 学年第 1 学期软件工程学院制《汇编语言程序设计》实验报告Add sp,4Pop axPop bxPush axPush bxPop axPop bxMov ah,4chInt 21h Code endsEnd start先转换成asm格式然后转换成obj格式然后转换成exe格式(2)用debug跟踪lab2.exe 的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容。
开始每一步的执行:1:AX=20002:SS=20003:SP=00044: AX=0000 SP=00065: BX=0000 SP=00086.7:AX与BX入栈SP由0008到00048:AX与BX出栈SP由0004到0008(5)习题:3.37 -教材114页。
MOV AL, STATUSAND AL, 00010101B ;只保留第1、3、5位CMP AL, 00010101BJZ ROUTINE_1 ;3位全为1转ROUTINE_1JZ ROUTINE_2 ;两位为1转ROUTINE_2 JZ ROUTINE_3 ;1位为1转ROUTINE_3JZ ROUTINE_4 ;3位全为0转ROUTINE_4 ROUTINE_3:JMP EXITROUTINE_1:JMP EXITROUTINE_2:JMP EXITROUTINE_4:EXIT: INT 21H。
计算机组成原理实验报告
计算机组成原理实验报告实验目的,通过本次实验,深入了解计算机组成原理的相关知识,掌握计算机硬件的基本组成和工作原理。
实验一,逻辑门电路实验。
在本次实验中,我们学习了逻辑门电路的基本原理和实现方法。
逻辑门电路是计算机中最基本的组成部分,通过逻辑门电路可以实现各种逻辑运算,如与门、或门、非门等。
在实验中,我们通过搭建逻辑门电路并进行实际操作,深入理解了逻辑门的工作原理和逻辑运算的实现过程。
实验二,寄存器和计数器实验。
在本次实验中,我们学习了寄存器和计数器的原理和应用。
寄存器是计算机中用于存储数据的重要部件,而计数器则用于实现计数功能。
通过实验操作,我们深入了解了寄存器和计数器的内部结构和工作原理,掌握了它们在计算机中的应用方法。
实验三,存储器实验。
在实验三中,我们学习了存储器的原理和分类,了解了不同类型的存储器在计算机中的作用和应用。
通过实验操作,我们进一步加深了对存储器的认识,掌握了存储器的读写操作和数据传输原理。
实验四,指令系统实验。
在本次实验中,我们学习了计算机的指令系统,了解了指令的格式和执行过程。
通过实验操作,我们掌握了指令的编写和执行方法,加深了对指令系统的理解和应用。
实验五,CPU实验。
在实验五中,我们深入了解了计算机的中央处理器(CPU)的工作原理和结构。
通过实验操作,我们学习了CPU的各个部件的功能和相互之间的协作关系,掌握了CPU的工作过程和运行原理。
实验六,总线实验。
在本次实验中,我们学习了计算机的总线结构和工作原理。
通过实验操作,我们了解了总线的分类和各种总线的功能,掌握了总线的数据传输方式和时序控制方法。
结论:通过本次实验,我们深入了解了计算机组成原理的相关知识,掌握了计算机硬件的基本组成和工作原理。
通过实验操作,我们加深了对逻辑门电路、寄存器、计数器、存储器、指令系统、CPU和总线的理解,为进一步学习和研究计算机组成原理奠定了坚实的基础。
希望通过不断的实践和学习,能够更深入地理解和应用计算机组成原理的知识。
02实验二 ARM汇编语言程序设计
实验二 ARM汇编语言程序设计一、实验目的1.了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程2.掌握ARM汇编指令二、实验设备1. EL-ARM-830教学实验箱,PentiumII以上的PC机,仿真器电缆。
2. PC操作系统WIN98或WIN2000或WINXP, ADS1.2集成开发环境,仿真器驱动程序。
三、汇编语言简介1.ARM汇编的一些简要的书写规范ARM汇编中,所有标号必须在一行的顶格书写,其后面不要添加“:”,而所有指令均不能顶格书写。
ARM汇编对标识符的大小写敏感,书写标号及指令时字母大小写要一致。
在ARM汇编中,ARM指令、伪指令、寄存器名等可以全部大写或者全部小写,但不要大小写混合使用。
注释使用“;”号,注释的内容由“;”号起到此行结束,注释可以在一行的顶格书写。
详细的汇编语句及规范请参照ARM汇编的相关书籍、文档。
2. ARM汇编语言程序的基本结构在ARM汇编语言程序中,是以程序段为单位来组织代码。
段是相对独立的指令或数据序列,具有特定的名称。
段可以分为代码段的和数据段,代码段的内容为执行代码,数据段存放代码运行时所需的数据。
一个汇编程序至少应该有一个代码段,当程序较长时,可以分割为多个代码段和数据段,多个段在程序编译链接时最终形成一个可执行文件。
可执行映像文件通常由以下几部分构成:◆一个或多个代码段,代码段为只读属性。
◆零个或多个包含初始化数据的数据段,数据段的属性为可读写。
◆零个或多个不包含初始化数据的数据段,数据段的属性为可读写。
链接器根据系统默认或用户设定的规则,将各个段安排在存储器中的相应位置。
源程序中段之间的相邻关系与执行的映象文件中的段之间的相邻关系不一定相同。
3. 简单的小例子下面是一个代码段的小例子AREA Init,CODE,READONLYENTRYLDR R0, =0x3FF5000LDR R1, 0x0fSTR R1, [R0]LDR R0, =0x3F50008LDR R1, 0x1STR R1, [R0]……END在汇编程序中,用AREA指令定义一个段,并说明定义段的相关属性,本例中定义了一个名为Init的代码段,属性为只读。
实验二布尔运算类指令练习和数据排序实验免费范文精选
实验二 3.3 布尔运算类指令练习和数据排序实验系别专业:电子系12级电信2班学号:3121003210 姓名:李书杰指导老师:刘志群老师3.3.1 实验要求1. 进一步熟悉 Keil C51软件的使用。
2. 复习布尔运算类指令及冒泡排序的思想方法。
3.3.2 实验设备PC 机一台,TD-NMC+教学实验系统3.3.3 实验目的1. 了解布尔处理机在设计逻辑电路中的应用。
2. 学会数据冒泡排序的方法。
3. 体会 8051单片机布尔运算类指令的功能,进一步掌握汇编语言设计和调试方法。
3.3.4 实验内容实验1程序:ORG 0000HSJMP STARTORG 0030HX BIT 00HY BIT 01HZ BIT 02HF BIT 03HSTART: MOV C,ZANL C,/YMOV F,CMOV C,YANL C,/ZORL C,FMOV F,CMOV C,XANL C,YORL C,/FMOV F,CSJMP $END(1)X、Y、Z和 F代表内部 RAM20H的 00H、01H、02H和 03H的位地址。
按下表修改内RAM数据窗口的值,从 00H开始直到 07H(即取X、Y和Z的每种组合),调试结果填于下表。
(2)分析上述程序,并把分析(理论)结果和实验结果进行比较,二者结果应该相同。
实验 1表实验2编写并调试一个排序程序,其功能为用冒泡法将内部 RAM的50H~56H中几个单元字节的无符号正整数,按从小到大的次序重新排列。
其实验参考流程图如图 3.3.1所示。
ORG 0000HSJMP STARTORG 0030HSTART:;------------------------下面先准备6个数字MOV 50H, #03HMOV 51H, #01HMOV 52H, #08HMOV 53H, #02HMOV 54H, #07HMOV 55H, #04HCALL SORT6 ;调用排序子程序SJMP $ ;停止,此时可以观察排序结果;-------------------------------------SORT6: ;排序子程序MOV R6, #5 ;6个数字,比较5次S1:MOV R0, #50H ;起始地址MOV B, R6MOV R7, BCLR PSW.5 ;交换标志清零S2:MOV B, @R0 ;取出前一个数INC R0MOV A, @R0 ;取出后一个数CJNE A, B, S3 ;后-前S3:JNC N_JH ;够减就不用交换MOV @R0, B ;交换存放DEC R0MOV @R0, AINC R0SETB PSW.5 ;设立交换标志位N_JH:DJNZ R7, S2JNB PSW.5, S_END ;没有交换过,就结束DJNZ R6, S1S_END:RET;-------------------------------------END3.3.5 思考题1. 分析实验程序1,写出 F的表达式,并画出其逻辑电路图。
《单片机应用系统设计》教学大纲及知识点
《单片机应用系统设计》课程教学大纲一、本课程的地位、作用和任务本课程是在学生学完电子技术类基础课程和微机应用类基础课程之后,为加强对学生技术应用能力的培养而开设的体现电子技术、计算机技术综合应用的综合性课程。
本课程的任务是使学生获得单片机应用系统设计的基本理论、基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,并了解单片机在测量、控制等电子技术应用领域的应用。
初步具备应用单片机进行设备技术改造、产品开发的能力。
二、理论教学内容绪论单片机概述0.1 引言0.2 单片机的特点0.3 单片机的发展0.4 MCS-51单片机系列简介第一章MCS–51单片机的结构和原理1. 1 单片机的内部结构1. 2 MCS–51的外部引脚及功能1. 3 MCS–51的存储器配置1. 4 并行输入/输出接口电路1. 5 时钟电路与时序1. 6 MCS –51最小系统设计第二章MCS-51的指令系统2.1 MCS-51指令系统概述2.2 数据传送类指令2.3 算术运算类指令2.4逻辑运算及移位类指令2.5 控制转移类指令2.6 布尔变量操作类指令第三章汇编语言程序设计3.1 汇编语言源程序的格式3.2 伪指令3.3 汇编语言程序举例第四章MCS—51的中断与定时4.1 MCS—51单片机的中断系统4.2 MCS–51的定时/计数器第五章存储器扩展技术5.1 概述5.2 程序存储器的扩展5.3 数据存储器的扩展5.4 PROME2及其扩展第六章I/O扩展技术6.1 I/O接口概述6.2 MCS-51并行I/O口的直接使用6.3 简单I/O扩展6.4 8255并行I/O口6.5 8155简介第七章键盘/显示器扩展技术7.1 单片机应用系统中的人机通道7.2 键盘及其接口7. 3 显示器及接口7.4 专用的8279键盘/显示器接口第八章模拟量输入/输出通道8.1 模拟量输入通道8.2 模拟量输出通道第九章MCS-51的串行通信9.1 串行通信基础9.2 串行接口的构成与工作方式9.3 串行口的典型应用9.4 单片机的多机通信9.5 RS-232C串行总线第十章应用程序设计技术10.1 智能仪表的一般结构10.2 单片机应用系统设计举例第十一章高性能单片机PIC16F8XX介绍11.1 PIC16F87X的特点11.2 PIC16F87X的结构与配置11.3 PIC16F87X的功能部件11.4 PIC16F87X的应用举例三、实践教学的内容和要求实验一联机仿真操作练习实验目的:进一步掌握开发工具的应用实验内容:学习PC机与开发机联机仿真的操作方法实验二指令系统和编程练习实验目的:掌握8051单片机常用指令的使用和编程实验内容:用8051单片机的常见指令编写简单的多字节加减法程序。
实验二运算器实验
实验二运算器实验实验二运算器am2901实验该实验操作不需用到电脑,不需实现电脑和实验箱的连接,操作全部在实验箱上完成。
实验过程当中,必须认真展开,避免损毁设备,分析可能将碰到的各种现象,推论结果与否恰当,记录运转结果。
实验目的:1、深入细致介绍am2901运算芯片的功能、结构;2、深入细致介绍4片am2901的级联方式;3、深化运算器部件的组成、设计、控制与使用等知识。
教学计算机的运算器部件主体由4片4位的运算器芯片am2901彼此串联形成,它输入16位的数据运算的结果(用y则表示)和4个结果特征位(用cy,f=0000,over,f15则表示)。
它的输出(用d则表示)就可以源自于内部总线。
确定运算器运算的数据来源、运算功能、结果处置,需要使用控制器提供的i8~i0、b3~b0、a3~a0共17个信号。
运算器的输入轻易相连接至地址寄存器ar的输出插槽,用作提供更多地址总线的信息来源。
运算器的输入还经过两个8位的244器件的掌控(采用dc1译码器的ytoib#信号)被送至内部总线ib,用作把运算器中的数据或者运算结果载入内存储器或者输入输出USB芯片。
运算器产生的4个结果特征位的信息需要保存,为此设置一个4位的标志寄存器flag,用于保存这4个结果特征信息,标志寄存器的输出分别用c、z、v、s表示。
控制标志寄存器何时和如何接收送给它的信息,需要使用控制器提供的sst2~sst0三位信号。
运算器还须要按照指令继续执行的建议,正确地获得最高位的位次输出信号,最高位和最低位的移位输出信号,为此须要布局另一个shift的线路,在控制器提供更多的ssh和sci1~sci0三位信号的掌控下,产生运算器最高位的位次输出信号,最高位和最低位的移位输出信号。
相关器件:4片am2901(alu)两片ar(74ls374)一片flag(gal20v8)一片shift(gal20v8)2片244(alutoib,74ls244)2个12位微动开关(红色)3个手动掌控信号内存芯片(hand,74ls240)am2901芯片的结构和功能:参考教材附录部分芯片具体内容线路表明:1、芯片输出受oe#信号控制,仅当其为低电平时,才有y值正常逻辑信号输出,否则输出为高阻态。
微机原理的实验报告
一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
北邮高级计算机系统结构实验二三四五
实验二指令流水线相关性分析·实验目的通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC 处理器的特点的理解。
·实验原理:指令流水线中主要有结构相关、数据相关、控制相关。
相关影响流水线性能。
·实验步骤一.使用WinDLX模拟器,对Fact.s做如下分析:(1)观察程序中出现的数据/控制/结构相关。
指出程序中出现上述现象的指令组合。
(2)考察增加浮点运算部件对性能的影响。
(3)考察增加forward部件对性能的影响。
(4)观察转移指令在转移成功和转移不成功时候的流水线开销。
·实验过程一.使用WinDLX模拟器,对Fact.s做如下分析:浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1:图1 初始设置将fact.s和input.s加载至WinDLX中,如图2示。
图2 加载程序1.观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。
1)数据相关点击F7,使程序单步执行,当出现R-Stall时停止,运行过程中出现下图3所示,输入整数6。
图3 输入整数6打开Clock Diagram,可以清楚的看到指令执行的流水线如图4所示。
图4 指令流水线双击第一次出现R-Stall的指令行,如图5所示。
图5 指令详细信息对以上出现的情况分析如下:程序发生了数据相关,R-Stall(R-暂停)表示引起暂停的原因是RAW。
lbu r3,0×0(r2)要在WB周期写回r3中的数据;而下一条指令seqi r5,r3,0×a要在intEX周期中读取r3中的数据。
上述过程发生了WR冲突,即写读相关。
为了避免此类冲突,seq r5,r4,0×a的intEX指令延迟了一个周期进行。
由此,相关指令为:2)控制相关由图6可以看出,在第4时钟周期:第一条指令处于MEM段,第二条命令处于intEX段,第三条指令出于aborted状态,第四条命令处于IF段。
操作系统实验答案-实验2Linux的基本操作及vi的使用(答案)
实验二Linux的基本命令操作及vi的使用实验目的:1、熟悉Linux操作系统环境2、熟悉Linux操作系统的文件结构3、熟悉Linux操作系统的基本命令4、熟悉Linux操作系统的文件组织方式5、学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。
实验内容及要求:1、登陆实验室的Linux服务器。
启动电脑,进入Windows操作系统,在“开始”-〉“运行”中输入“Telnet 10.200.41。
178”,即可登陆实验室的Linux服务器.在“Login:”提示后输入“stu”+学号(如02号同学输入stu02),按下回车键。
在“Password:”提示后输入“123”(注意输入密码时屏幕上不会有“*”等符号出现,这和Windows 不同),按下回车键,若出现“[os@root os]$”或“-bash—2。
05b$”,表示已成功登陆系统,可以开始输入指令操作。
思考:(用pwd指令)查看自己登陆后位于Linux的哪个目录,写出该目录的路径,与自己周围的同学比较,看是否相同.(可查阅Linux资料了解“/home"目录的功能介绍)2、在Linux中进行以下基本操作:1)在当前目录下新建一个名为(自己姓名首字母缩写+学号后3位数)的子目录。
写出你所用的指令.(例如:mkdir zq000 )2)进入刚创建的子目录环境下.(提示:指令cd)3)在刚创建的子目录下新建一个名为abc.txt的文件。
写出你所用的指令。
(提示:新建文件的指令是touch)4)将/目录下(即根目录下)的welcome.txt文件复制到自己的子目录下,写出你所用的指令.cp –i /root/stu62/abc.txt /home/welcome.txt5)写出welcome.txt文件的内容。
(提示:用cat指令查看)Hello, Boys and girls ,welcome to the wonderful Linux world!3、在Linux中进行以下基本操作:1)进入自己的主目录。
MCS51_Exp
第二章指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
第一节指令系统实验实验一熟悉键盘操作及数传指令编程设计一、实验目的1.熟悉软件模拟调试的环境及键盘操作。
2.掌握汇编语言程序设计的方法,加深对指令的理解。
3.学会软件模拟调试和察看修改观察项的方法。
二、实验内容印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
三、实验步骤1.进入调试软件环境,输入源程序;2.汇编源程序;3.用单步方式运行程序;4.检查并记录各寄存器和存储单元内容的变化。
四、程序清单1.内部RAM数据传送需要查看的数据有30H,31H,A,R0等。
ORG 0000HMOV R0,#30HMOV 30H,#45HMOV 31H,#46HMOV R2,30HMOV 02H,31HMOV A,#87HMOV 0E0H,30HMOV 30H,AMOV 31H,@R0SJMP $END2.外部数据传送需要查看的数据有外部数据存储器单元2000H,外部程序存储器单元2001H。
ORG 0000HMOV A,#89HMOV DPTR,#2000HMOVX @DPTR,AINC DPTRCLR AMOVC A,@A+DPTRSJMP $ORG 2000HDB 44HDB 78HDB 67HEND3.堆栈操作需要查看的数据有50H、51H、A及SP指针和堆栈区中数据随PUSH和POP指令执行后的变化情况和数据的存放次序等。
1)可用于保护现场和恢复现场的程序ORG 0000HMOV SP,#5FHMOV 50H,#3BHMOV 51H,#2FHMOV A,#12HPUSH 50HPUSH 51HPUSH ACCPOP 0E0HPOP 51HPOP 50HSJMP $END2)可用于数据交换的程序ORG 0100HMOV SP,#6FHMOV 50H,#3BHMOV 51H,#2FHPUSH 50HPUSH 51HPOP 50HPOP 51HSJMP $END4.数据交换记录每条指令运行后的结果,从而加深对各种不同的交换指令的理解。
计算机组成原理实验2
表6-1 累加器A使用法
图6-2是累加器A判零线路
图6-2 累加器A判零线路
此线路利用内存模块中的与门7411(U21) 对或非门7427(U22)的三个输出组合,产生 ZD信号。ZD为1表示累加器A当前的内容为 零。当ZC电平正跳时ZD状态被存人触发器 7474(U19),信号Z是它的输出。
图6-3是进位发生线路
计算机提供了一系列功能模块,这里逐一 介绍它们的组成和使用。
6.2 运算器模块
运算器模块(ALU)主要由累加器A(74198)运算器 ALU(74181x2)、累加器暂存器ACT(74377)、暂 存器TMP(74373)、输出缓冲器BUFFER(74245), 以及进位产生线路、累加器判零线路等构成。
运算器模块上的开关KA、KB、KC以及寄存器堆 模块上的开关KR的不同组合,决定了实验计算机的 运算器结构。
从理论上讲, KA、KB、KC和KR可有16种不同 组合,但有实际逻辑意义的组合为以下几种(L表示 置左、R表示置右): (1).KA、KB、KC 、KR置为R、L、L、R,这种组 合的运算器结构如图6-5(a)。如果不使用寄存器堆, 则它简化为如图6-5(e)。
IR2(U10)是三态输出的8位寄存器。当它的接 数控制脉冲端CL出现电平正跳变时接数,当它的输 出控制OI为低电平输出,OI为高电平时IR2输出呈 高阻。
计算机组成原理实验报告-西北农林科技大学
西北农林科技大学信息工程学院计算机组成原理实习报告班级信息管理与信息系统年级 11级2班姓名刘佳学号 2011013316实验一基础汇编语言程序设计实验目的1.学习和了解TEC-XP教学实验系统监控命令的用法;2.学习和了解TEC-XP教学实验系统的指令系统;3.学习简单的TEC-XP教学实验系统汇编程序设计。
实验内容1.学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC。
2.使用监控程序R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
实验步骤1.用R命令查看寄存器内容或修改寄存器的内容1)在命令行提示符状态下输入:R↙;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。
2)在命令行提示符状态下输入:R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有—个或数个空格主机显示:寄存器原值:_在后面输入新的值0036再用R命令显示寄存器内容,则R0的内容变为0036。
2.用D命令显示存储器内容在命令行提示符状态下输入:D 2000↙会显示从2000H地址开始的连续128个字的内容;连续使用不带参数的D命令,起始地址会自动加128(即80H)。
3.用E命令修改存储器内容在命令行提示符状态下输入:E 2000↙屏幕显示:2000 地址单元的原有内容:光标在此闪烁等待输入输入0000依次改变地址单元2001~2005的内容为:1111 2222 3333 4444 5555注意:用E命令连续修改内存单元的值时,每修改完—个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。
4.用D命令显示这几个单元的内容D 2000↙可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。
实验2 循环展开及指令调度
实验报告(2010-2011 第二学期)实验课程:计算机系统结构班级:计科0802姓名:陈江华学号:200826140229成绩:实验2 循环展开及指令调度2.1 实验目的1.加深对指令调度技术的理解。
2.加深对延迟分支技术的理解。
3.熟练掌握用指令调度技术解决流水线中的数据冲突的方法。
4.进一步理解指令调度技术对CPU性能的改进。
5.进一步理解延迟分支技术对CPU性能的改进。
2.2 实验平台实验平台采用指令级和流水线操作级模拟器MIPSsim2.3 实验内容和步骤首先要掌握MIPSsim模拟器的使用方法。
1. 启动MIPSsim2. 根据相关知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。
(用鼠标双击各段,就可以看到各流水寄存器的内容)3. 选择“配置”→“流水方式”选项,使模拟器工作在流水方式下。
4. 用指令调度技术解决流水线中的数据冲突。
(1)启动MIPSsim(2)用MIPSsim “文件”→“载入程序”选项,加载schedule.s。
(3)关闭定向功能。
这是通过“配置”→“定向”(使该项前面没有√号)来实现的。
(4)执行所载入的程序。
通过查看统计数据和时钟周期图,找出并记录程序执行过程中各种冲突发生的次数,发生冲突的指令组合以及程序执行的总时钟周期数。
RAW停顿16次,自陷停顿1次;ADDIU $r1,$r0,A与LW $r2,0($r1)冲突;LW $r2,0($r1)与ADD $r4,$r0,$r2冲突;LW $r6,4($r1)与ADD $r8,$r6,$r1冲突;MUL $r12,$r10,$r1与ADD $r16,$r12,$r1冲突;ADD $r16,$r12,$r1与ADD $r18,$r16,$r1冲突;LW $r20,8($r1)与MUL $r22,$r20,$r14冲突;总时钟周期数:33.(5)采用指令调度技术对程序进行指令调度,消除冲突。
操作系统实验二Linux的常用命令
实验2一解释下列Linux的常用命令1.ls名称: ls使用权限: 所有使用者使用方式: ls [-alrtAFR] [name...]说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数:-a 显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出) -l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出-r 将档案以相反次序显示(原定依英文字母次序)-t 将档案依建立时间之先后次序列出-A 同-a ,但不列出"." (目前目录) 及".." (父目录)-F 在列出的档案名称后加一符号;例如可执行档则加"*", 目录则加"/"-R 若目录下有档案,则以下之档案亦皆依序列出范例:列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面:ls -ltr s*将/bin 目录以下所有目录及档案详细资料列出:ls -lR /bin列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*" : ls –AF2.chmod指令名称: chmod使用权限: 所有使用者使用方式: chmod [-cfvR] [--help] [--version] mode file...说明: Linux/Unix 的档案调用权限分为三级: 档案拥有者、群组、其他。
利用chmod 可以藉以控制档案如何被他人所调用。
参数:mode : 权限设定字串,格式如下: [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
计算机组成原理实验
1. 采用 Cache-Memory 存储层次。 2. 地址长度为 16 位,数据寄存器长度 16 位,存储字长是 8 位,采用小端存储模式。 3. Cache 采用二路组相联,Cache 大小为 1KB,每个字块 4 个字,字长为 2B。 4. 能根据有效地址读 Cache 和内存,把数据读入数据寄存器中;能根据有效地址把
1、 运算器由 ALU,状态寄存器,通用寄存器组成。 2、 ALU 能够进行加、减、乘、除等四则运算,与、或、非、异或等逻辑运算以及移
位求补等操作。其中乘除法要实现原码 1 位乘、补码 1 位乘(Booth)、原码加减 交替除法、补码加减交替除法 4 种算法。选作原码/补码 2 位乘算法。 3、 通用寄存器组用于保存参加运算的操作数和运算结果。 4、 状态寄存器用于记录算术、逻辑运算的结果状态。程序设计中,这些状态通常用 作条件转移指令的判断条件,所以又称为条件码寄存器。一般均设置如下几种状 态位:零标志位(Z),负标志位(N),溢出标志位(v),仅为或借位标志(C)。 【输入】从 ins_input.txt 读入。每行有一个操作码和两个操作数,用空格分开,操作数用原 码表示。 e.g. Add 0.110111 1.101110 Sub 0.100111 0.101011 Mul 1.101110 0.110111 【输出】将运算过程和结果输入到 output.txt 例如: ori_onebit_times [x]ori=1.101110 [y]ori=0.110111 x*=0.101110 y*=0.110111 0.000000 110111 + 0.101110 -------------------------------0.101110 0.010111 0 11011 + 0.101110 -------------------------------1.000101 0 0.100010 10 1101 + 0.101110 -------------------------------1.010000 10 0.101000 010 110 0.010100 0010 11 + 0.101110 -------------------------------1.000010 0010 0.100001 00010 1 + 0.101110 --------------------------------
TEC-2说明
第一章TEC-2实验计算机系统原理§1.1 TEC-2机硬件系统的基本组成1.TEC-2机硬件的基本组成TEC-2机硬件的基本组成如图1.1.1所示,实物图见1.1.2所示。
图 1.1.1 TEC-2机硬件的基本组成图1.1.1中粗方框内部分,是TEC-2机的主体,被做在图1.1.2中两块垂直插接在一起的大印刷电路板上,它包括计算机主机的3个重要组成部件:运算器、控制器、主存储器。
此外,还配备了2个串行接口电路,可以接计算机终端、IBM/PC机或另一台TEC-2机等。
水平板上还设置了26个钮子开关,两个12位的微型开关,3个按键,16个发光二极管。
能支持高级(有终端或PC机)、初级(仅用开关、按键与指示灯完成实验)2个层次上的主机部分的实验。
图1.1.1中粗线框外的DMA接口、并行接口、实时钟设备是TEC-2机提供的3个任选件。
可以分别接软磁盘驱动器(要带接口驱动电路)、8位并行口打印机或其它8位入/出设备,并提供实时钟支持。
这为TEC-2机提供了强有力的入/出实验功能。
带虚线的4个框,表示的是计算机标准外设或PC机,需要时,可以将它们接入TEC-2机系统中,以进行相应的实验。
图1.1.1中最右上角的框,表示的是通过一个50芯的扁平电缆,将TEC-2机的信号引出到实验板上,可以在实验板上搭接各种逻辑电路,以方便地进行诸如实时钟、并行口、DMA 接口、主存扩展、中断等各种类型的实验。
12图 1.1.2 TEC-2机实物图2.TEC-2机的简化逻辑框图在详细讲解TEC-2机各部件的具体组成与运行原理之前,先看懂TEC-2机的简化逻辑框图是很重要的,这对理解TEC-2计算机的整机结构、各功能部件之间的连接关系很有益处。
TEC-2机的简化逻辑框图如图1.1.3所示。
TEC-2机主要由以下几部分组成:(1)TEC-2机的运算器部件,主要由4片AM2901芯片组成,还包括由一片Gal20v8组成的状态寄存器,以及其它一些辅助电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术实验报告实验二指令系统**:**班级:电16-3学号:**********完成时间:2018.10.24****:***实验成绩:实验二指令系统一、实验目的1.使用Debug命令进行程序调试。
2.学习移位、转移、子程序调用与返回、堆栈操作指令。
3.学习状态标志与条件转移指令。
4.学习系统功能调用。
5.熟悉ASCII码表及振铃、回车、换行符的使用。
二、实验内容与实验记录1.运行程序EXA2.EXE,记录运行时的键操作与对应的屏幕显示。
(注:可截图)答:键操作:123456789qwertyuiopasdfghjkl$2.从程序开始处运行至第一个09号系统功能调用后,记录显示的字符及DS:0000开始的数据区的内容。
(注:可截图)3.继续执行至第一个02号系统功能调用后,记录显示的字符并回答问题。
⑴显示的字符。
答:“$”⑵问题:为什么09号系统功能调用不能显示‘$’字符?答:因为在09号功能调用中,‘$’是结束的标志,当输出遇到‘$’的时候,输出结束。
所以无法输出‘$’。
4.将001B处的指令改为MOV DL,07H,重复2、3步骤,记录程序执行情况。
⑴按顺序写出修改指令并重复执行2、3步骤用到的主要调试命令(含参数)为:修改指令A 001BMOV DL,07G 19G 1f⑵程序的执行情况。
5.继续执行至第一个01号系统功能调用后,键入8,记录AX的内容。
(注:可截图)答:AX=0138H6.用T命令逐条跟踪,直至转移到0029处(MOV AH,01),记录每次比较所产生的Z标志与C标志,以及转移方向并总结,如表2-1所示:⑴填表。
表2-1比较指令Z C 条件转移后的指令地址002D CMP AL,24 NZ NC 0031(不转移)0031 CMP AL,0D NZ NC 003A (转移)003A:CMP AL,30 NZ NZ 003E(不转移)003E:CMP AL,39 NZ CY 0045(转移)⑵简要总结转移指令,包括各种转移条件及指令执行情况。
答:JZ:ZF标志等于零的时候发生转移,此时因为AL中的值不等于24H,所以不发生跳转JNZ:ZF标志不等于零的时候发生转移,因为AL中的值为38H不等于0DH,所以不发生转移。
JB:两数比较,小于等于之后发生转移,因为38H大于30H,所以不发生转移。
JB:两数相比较之后,小于等于发生转移,因为38H小于39H,所以发生转移。
7.分别键入‘X’,回车符,‘$’,重复6的步骤,并作记录。
⑴键入‘X’时,如表2-2所示:表2-2比较指令Z C 条件转移后的指令地址:0090 RET:0072 POP AX 00360038007200731B3B:36 A3011B3B:38 0A00:0073 CALL 007A 0036 007A 1B3B:36 7600:0090 RET:0075 POP DX : POP CX : POP BX : RET0038003A003C0030000400076007700780079005E1B3B:38 01001B3B:3A 01001B3B:3C 01001B3B:3E 5E001B3B:40 空⑵简要总结子程序调用与返回指令及堆栈操作指令,包括指令的操作及执行此类指令对SP及堆栈内容的影响。
答:子程序调用与返回指令:将下一指令的地址入栈,sp减2,堆栈中存入当前IP的值。
执行返回指令的时候,SP中的值退出到IP中,SP的值加二。
PUSH指令:例如 PUSH AX,将AX中的值存入到堆栈中,堆栈中先存入AH,SP=SP-1,再存入AL,SP=SP-1。
POP指令:例如POP BX,将当前IP的指向的值存入到BL中,SP=SP+1,再将当前SP 指向的内容存入到BH中,SP=SP+1;9.将00A1处子程序中输出的回车符改为换行符,从开始处运行程序,记录执行情况。
(注:可截图)答:10.同实验内容9,将换行符改为回车符。
(注:可截图)答:11.跟踪:0080 ROL DL,CL指令,记录DL和CL的变化情况并总结。
(注:可列表表示)⑴填表。
⑵简要总结移位指令,包括指令操作及其使用方法。
答:一、算数移位指令:算数移位指令分为:算数左移SAL(Shift Algebraic Left)和算数右移SAR(Shift Algebraic Right);指令格式: SAL/SAR DL,CL受影响的标志位:CF,OF,PF,SF,ZF;对AF的影响无定义;算数左移SAL:把目的操作数的低位部分向高位方向移动CL指定的位数;移位后,空出的低位部分全部用0填充;移出的高位存放在CF中;如果只向左移动1位,那么,空出的最低位填0,移出的最高位存放在CF中;如果向左移动N位,那么,空出的N个低位全部用0填充,移出的N个高位中,只把最后一次移出的那一位存放在CF中,即:CF中只存放最后一次移出的内容;SAL效果如下图所示:算数右移SAR:把目的操作数的高位部分向低位方向移动CL指定的位数;移位后,空出的高位部分全部用目的操作数原来的最高位(符号位)填充;如果只是向右移动1位,那么,空出的最高位用目的操作数原来的最高位(符号位)来填充,移出的最低位存放到CF中;如果向右移动N位,那么空出的N个高位全部都用目的操作数原来的最高位(符号位)填充,而移出的N个低位中,只把最后一次移出的那一位放到CF中,即:CF中存放的是最后一次移出的内容;换句话说,算数右移时,空出的高位上移入的是目的操作数原来的最高位的值,即:最高位保持不变,最低位同样移入到CF中;算数右移常用于带符号数的右移;SAR效果如下图所示:二、逻辑移位指令:逻辑移位分为:逻辑左移SHL(Shift Logic Left)和逻辑右移SHR(Shift Logic Right);指令格式: SHL/SHR DL,CL受影响的标志位: CF,OF,PF,SF,ZF;对AF的影响无定义;逻辑左移SHL:把目的操作数的低位部分向高位方向移动CL指定的位数;移位后,空出的低位部分全部填充0,移出的高位存放到CF中;如果向左移动N位,则只把最后一次移出的内容存放到CF中逻辑右移SHR:把目的操作数的高位部分向低位方向移动CL指定的位数;移位后,空出的高位部分全部填充0,移出的低位存放到CF中;如果向右移动N位,则只把最后一次移出的内容存放到CF中;SHR效果如下图所示:三、循环移位:循环移位指令分为:循环左移ROL(Rotate Left)和循环右移ROR(Rotate Right);指令格式: ROL/ROR DL,CL受影响的标志位只有:CF、OF;这两条指令不会把进位标志CF纳入循环位中;循环左移ROL:把操作数的低位部分向高位方向循环移动CL指定的位数,空出的低位部分由移出的高位部分来填充,同时,移出的高位部分仍然会存放在CF中;如果是循环左移N 位,那么,就空出N个低位,移出N个高位,然后,把移出的这N个高位按照移出的顺序依次填入空出的N个低位中,同时,CF中只保存最后一次移出的那一位的内容;ROL效果如下图所示:循环右移ROR:把操作数的高位部分向低位方向循环移动CL指定的位数,空出的高位部分由移出的低位部分来填充,同时,移出的低位部分仍然会存放在CF中;如果是循环右移N 位,那么,就空出N个高位,移出N个低位,然后,把移出的这N个低位按照移出的顺序依次填入空出的N个高位中,同时,CF中只保存最后一次移出的那一位的内容;ROR效果如下图所示:五、带进位的循环移位指令:带进位的循环移位指令分为:带进位的循环左移RCL(Rotate Left Through Carry)和带进位的循环右移RCR(Rotate Right Through Carry)指令格式: RCL/ROR DL,CL受影响的标志位只有:CF,OF;这两条指令把进位标志CF纳入了循环位中;带进位的循环左移指令RCL:把操作数的低位部分向高位方向循环移动CL指定的位数,每向左移动一位,RCL指令都会先把CF的原有值填充到空出的最低位上,再把移出的最高位存放到CF中;这样循环左移N位之后,CF中保存的仍然是最后一次移出的那一位的内容带进位的循环右移指令RCR:把操作数的高位部分想低位方向循环移动CL/imm指定的位数,每向右移动一位,RCL指令都会先把CF的原有值填充到空出的最高位上,再把移出的最低位存放到CF中;这样循环右移N位之后,CF中保存的仍然是最后一次移出的那一位的内容移位指令中,溢出标志位OF的设置规则为:如果只移动一位,则系统按照操作数的最高符号位在移位前后是否发生改变,来相应地设置溢出标志OF的值:如果移位前操作数的最高符号位与移位后操作数的最高符号位不相同(有变化),则设置OF=1,认为溢出了;否则,设置OF=0,认为没有溢出;但是,如果移位位数大于1,则OF的值不确定;也就是说,溢出标志OF的值只有在移位位数为1时才有意义;进位标志CF的设置规则:系统按照移入的位来设置进位标志CF,根据移位后的结果影响SF,ZF,PF,而对AF的影响没有定义;《微机原理与接口技术》实验报告实验二指令系统电16-3 侯辉152016338212.简要总结01、02和09号功能调用的使用方法及其所实现的功能。
答:01号功能调用:给AH赋值01H,然后执行语句INT 21H实现的功能:输入一个字符存入到AL中,并回显。
02号功能调用:将想要输出的字符的存入AL中,将AH赋值01H,然后执行语句 INT 21H实现的功能:输出字符。
09号功能调用:将想要输出的字符串的偏移地址赋给DX,默认地址赋给DS,然后给AH赋值09H,执行语句INT 21H实现的功能:输出字符串,并在遇到字符串中的“$”字符时结束输出。
13.根据实验记录,画图表示CALL 0069处的子程序嵌套关系及堆栈区的变化情况。
11。