计算机组成原理与接口技术实验报告
接口技术实验报告
接口技术实验报告接口技术实验报告导言:接口技术在现代科技发展中扮演着重要的角色。
它是不同系统之间进行数据交换和通信的桥梁,为各种设备和软件提供了互联互通的能力。
本实验旨在通过实际操作,深入了解接口技术的原理和应用。
一、实验目的本次实验的目的是探索接口技术在实际应用中的作用和效果。
通过搭建一个简单的接口系统,我们可以了解接口的基本原理、数据传输方式以及如何进行接口的配置和测试。
二、实验设备和材料本次实验所需的设备和材料包括:一台计算机、一个串口转USB线缆、一块开发板、一根网线。
三、实验步骤1. 连接计算机和开发板将串口转USB线缆的USB接口插入计算机的USB接口,然后将串口转USB线缆的串口接口插入开发板的串口接口上。
2. 配置串口参数打开计算机的设备管理器,找到串口转USB线缆所对应的串口号,记录下来。
然后打开开发板上的串口配置界面,将串口号设置为与计算机上一致。
3. 编写测试程序使用C语言编写一个简单的测试程序,通过串口与开发板进行通信。
程序中包括发送数据和接收数据的功能,可以进行双向通信测试。
4. 运行测试程序将编写好的测试程序下载到开发板上,然后在计算机上运行相应的接收程序。
通过观察计算机上的输出和开发板上的LED灯状态,判断数据的传输是否成功。
5. 测试结果分析根据实际测试结果,分析接口技术的稳定性和可靠性。
如果数据传输成功率较高,说明接口配置正确,接口技术应用良好。
四、实验结果与讨论通过本次实验,我们成功搭建了一个简单的接口系统,并进行了数据传输测试。
实验结果显示,接口技术在数据传输方面表现出较高的稳定性和可靠性。
通过合理的配置和编程,我们能够实现计算机与外部设备之间的数据交换和通信。
接口技术的应用范围非常广泛,涉及到计算机、通信、自动化控制等领域。
例如,USB接口被广泛应用于外部设备的连接,如打印机、扫描仪等;串口接口则常用于嵌入式系统和单片机的通信;网口接口则用于实现计算机之间的局域网通信等等。
《计算机组成原理》实验报告一
《计算机组成原理》实验报告一一、实验目的:编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
通过本次实验, 学习、掌握运行汇编程序的相关知识。
1、二、实验内容:2、熟悉实验用微机的软、硬件配置(1)硬件: Intel Celeron 500GHz CPU、128M内存(8M作共享显存)、intel810芯片主板、集成i752显卡、maxtro20G硬盘、ps/2接口鼠标、PS/2接口键盘。
(2)软件:DOS 操作系统Windows98 seMASM汇编语言程序3、熟悉运行汇编语言所需的应用程序汇编程序使MASM连接程序使用LINK程序调试程序使用DEBUG程序4、熟悉汇编语言源程序上机操作过程(1)编辑源文件(选择可使用的文本编辑器)(2)汇编源程序文件(3)连接目标文件(4)运行可执行文件5、汇编操作举例用edit编辑myprog.asm文件;(见下图)用MASM.exe编译myprog.asm生成myprog.obj文件;C:\masm\bin> masm.exe由图中可以看出:0 个警告错误0个严格错误汇编通过, 生成mygrog.obj目标文件(如果有严格错误, 汇编不能通过, 必须返回编辑状态更改程序。
)用link.exe命令链接myhprog.obj生成myprog.exe文件!C:\masm\bin> link.exeC:\masm\bin> myprog.exe运行程序结果为:屏幕显示“Hi! This is a dollar sign terminated string.”三、实验总结:1.可以在DOS或Windows状态编辑汇编源程序2.可以使用EDIT 或记事本编辑汇编源程序, 源程序必须以.asm为扩展名。
在记事本中保存文件时, 可以加双引号“myprog.asm”,文件名就不会出现myprog.asm.txt的错误3.熟悉相关的DOS 命令cd 进入子目录mkdir 建立子目录xcopy *.* /s 拷贝当前目录下所有文件及子目录format a: 格式化A盘4.在Windows 系统下运行汇编程序, 有时会有问题, 建议大家熟悉DOS命令,DOS编辑工具, 在DOS状态下运行汇编程序。
微型计算机原理及接口技术实验报告
成都理工大学微型计算机原理及接口技术实验报告学院: 核技术与自动化工程学院专业: 电气工程及其自动化班级:学号:姓名:指导老师:完成时间:实验一EMU 8086软件的使用1、实验目的通过对emu8086的使用,来理解《微型计算机原理及接口技术》课本上的理论知识,加深对知识的运用,以及emu8086交互式学习汇编语言(Assembly Language)、计算机结构(Computer Architecture)和逆向工程(Reverse Engineering)的完整仿真体系。
以及了解创建,编译,链接,调试运行,拟屏幕、源代码观察、复位、辅助工具、变量、DEBUG、堆栈及FLAGS(标志寄存器)观察等功能。
2、实验环境及设备实验中用到的硬件:记本电脑。
软件:emu8086编程程序emu8086.exe。
3、实验内容1.emu8086的编辑面板:其中编程时要做好三个要点1.数据段:segmentends2.堆栈段:segmentends3.代码段e segmentends这三个框架。
编辑好程序如下; multi-segment executable file template.data segment; add your data here!a db 0b db 1c db 0pkey db "press any key...$"endsstack segmentdw 128 dup(0)endscode segmentstart:; set segment registers:mov ax, datamov ds, axmov es, ax; add your code heremov al ,aadd al,bmov c,allea dx, pkeymov ah, 9int 21h ; output string at ds:dx; wait for any key....mov ah, 1int 21hmov ax, 4c00h ; exit to operating system.int 21hendsend start ; set entry point and stop the assemble d1 segment进行编译后:无错误后点击运行:程序中实现了赋值,传址,加法,中断等功能。
微机原理与接口技术实验报告
微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。
一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。
根据显示屏上的自检信息,可以判断计算机硬件的工作状态。
2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。
首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。
在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。
通过观察实验结果,判断串口通信是否正常。
3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。
首先,将并行口接口连接到计算机主机。
然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断并口通信是否正常。
4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。
首先,将USB接口连接到计算机主机。
然后,在计算机中安装相应的驱动程序。
通过编写程序,实现计算机与外设设备之间的数据交互。
观察实验结果,判断USB接口是否正常工作。
5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。
首先,将计算机连接到局域网中的其他计算机。
然后,进行相应的设置,包括IP地址、子网掩码等。
通过编写程序,实现计算机之间的数据交互。
观察实验结果,判断网络接口是否正常工作。
三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。
通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。
计算机原理实验报告
实验名称:计算机原理实验实验日期:2023年X月X日实验地点:计算机实验室实验目的:1. 理解计算机的基本工作原理和组成结构。
2. 掌握计算机各部件的功能和相互关系。
3. 熟悉计算机指令系统和工作流程。
4. 培养动手能力和实验技能。
实验内容:一、计算机硬件组成实验1. 实验目的:了解计算机硬件的组成和各部件的功能。
2. 实验步骤:(1)观察计算机主机,识别各硬件部件,如CPU、内存、硬盘、显卡等。
(2)了解各硬件部件的功能和相互关系。
(3)拆装计算机,练习硬件组装和维修。
二、计算机指令系统实验1. 实验目的:熟悉计算机指令系统,掌握指令的格式和功能。
2. 实验步骤:(1)学习计算机指令系统的基础知识,了解指令的分类和功能。
(2)分析指令的格式,掌握指令的编码方式。
(3)编写简单的程序,实现指令的功能。
三、计算机工作流程实验1. 实验目的:理解计算机的工作流程,掌握程序执行的过程。
2. 实验步骤:(1)学习计算机工作流程的基本知识,了解程序的加载、执行和存储过程。
(2)观察计算机运行程序的过程,分析程序执行过程中的指令执行顺序。
(3)编写程序,验证程序执行的正确性。
实验结果与分析:一、计算机硬件组成实验实验结果:通过观察和拆装计算机,掌握了计算机硬件的组成和各部件的功能,熟悉了计算机的硬件结构。
分析:计算机硬件是计算机系统的基础,了解硬件组成有助于更好地理解计算机的工作原理。
二、计算机指令系统实验实验结果:学习了计算机指令系统的基础知识,掌握了指令的格式和功能,能够编写简单的程序实现指令的功能。
分析:计算机指令系统是计算机执行程序的基础,熟悉指令系统对于程序设计和开发具有重要意义。
三、计算机工作流程实验实验结果:理解了计算机的工作流程,掌握了程序执行的过程,能够分析程序执行过程中的指令执行顺序。
分析:计算机工作流程是计算机执行程序的关键,了解工作流程有助于优化程序设计和提高程序执行效率。
实验总结:本次计算机原理实验使我对计算机的基本工作原理和组成结构有了更深入的了解。
计算机组成原理及接口技术实验报告
二实验步骤
(1)连接实验线路,仔细检查无误后接通电源。
(2)形成时钟脉冲信号T3。在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。将运行控制开关设置为运行状态,运行方式设置为连续状态,按动运行启动开关,则T3有连续的放信号输出,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号。
DR1
加数2
DR2
S3 S2 S1 S0
M=0(算术运算)
M=1
(逻辑运算)
Cn=1无进位
Cn=0有进位
35
35
48
48
0 0 0 0
F=00010011
F=00100100
F=11011100
0 0 0 1
F=00110011
F=00110100
F=11001100
0 0 1 0
F=11101111
(3)移位,改变S0,S1,M,299B的状态,按动手动脉冲开关以产生时钟脉冲T4,观察移位结果。
三实验结果
35H(00110101)
299B S1 S0 M
0 1 0 0
0 1 0 1
0 0 1 1
0 0 1 0
功能
循环右移
带进位循环右移
CY
带进位循环左移
CY
循环左移
第一次
10011010
00011010
(3)送数据63到寄存器,数据20送地址寄存器,然后将R0寄存器内的数送人存储器,最后将存储器的内容输出到LED上显示。数据开关置数(KD0~KD7=01100011),开输入三态门(SWB=0),存入寄存器R0,按下LDR0。数据开关置数(KD0~KD7=00100000),开输入三态门(SWB=0),存入寄存器R0,按下LDAR。关输入三态门,开R0三态门(SWB=1,ROB=0),R0寄存器的数存入存储器AR(CE=0,WE=1),关R0三态门,关存储器(CE=1,ROB=1),存储器输出到LED显示(WE=0,CE=0,LEDB=0,OUTWR=0)。
机综实验报告
一、实验模块计算机组成原理实验二、实验标题计算机组成原理实验报告三、实验内容本次实验主要围绕计算机组成原理展开,通过实际操作和理论分析,加深对计算机硬件组成和工作原理的理解。
四、实验目的1. 理解计算机硬件的基本组成,包括CPU、内存、I/O接口等。
2. 掌握计算机各组成部分之间的数据传输和通信方式。
3. 了解计算机的基本工作原理,包括指令的执行过程和中断处理等。
4. 通过实验,提高动手能力和问题解决能力。
五、实验环境实验地点:学校机房实验设备:计算机组成原理实验箱(EL-JY-II型)实验软件:相关实验软件六、实验步骤及实验结果1. CPU实验(1)实验连线:将CPU、内存、I/O接口等设备按照实验要求进行连接。
(2)写数据:向内存写入数据,通过CPU读取数据并输出。
(3)实验结果:观察数据是否正确传输,分析CPU的工作原理。
2. 内存实验(1)实验连线:将内存与CPU、I/O接口等设备连接。
(2)往存储器写数据:向内存写入数据。
(3)从存储器读数据:从内存读取数据,观察数据是否正确。
(4)实验结果:分析内存的工作原理,验证内存读写功能。
3. I/O接口实验(1)实验连线:将I/O接口与CPU、内存等设备连接。
(2)实验步骤:通过I/O接口进行数据传输。
(3)实验结果:观察数据是否正确传输,分析I/O接口的工作原理。
4. 中断实验(1)实验连线:将中断设备与CPU、内存等设备连接。
(2)实验步骤:模拟中断发生,观察CPU如何响应中断。
(3)实验结果:分析中断处理过程,理解中断在计算机中的作用。
七、实验结果的分析与总结1. 通过本次实验,我们深入了解了计算机硬件的基本组成和工作原理,掌握了CPU、内存、I/O接口等设备的工作方式。
2. 实验过程中,我们学会了如何进行实验连线、数据传输和中断处理等操作,提高了动手能力和问题解决能力。
3. 实验结果表明,计算机硬件各部分之间协同工作,共同完成指令的执行和数据的处理。
计算机组成原理综合实验报告
计算机组成原理综合实验报告一、实验目的本次计算机组成原理综合实验旨在深入理解计算机组成的基本原理,通过实际操作和设计,巩固所学的理论知识,并培养实践动手能力和创新思维。
二、实验设备本次实验所使用的设备包括计算机硬件实验平台、数字逻辑实验箱、示波器、万用表等。
三、实验内容1、运算器实验设计并实现一个简单的运算器,能够完成加法、减法、乘法和除法运算。
通过实验,深入理解运算器的工作原理,包括数据的输入、运算过程和结果的输出。
2、控制器实验构建一个基本的控制器,实现指令的读取、译码和执行过程。
了解控制器如何控制计算机的各个部件协同工作,以完成特定的任务。
3、存储系统实验研究计算机的存储系统,包括主存和缓存的工作原理。
通过实验,掌握存储单元的读写操作,以及如何提高存储系统的性能。
4、输入输出系统实验了解计算机输入输出系统的工作方式,实现与外部设备的数据传输。
四、实验步骤1、运算器实验步骤(1)确定运算器的功能和架构,选择合适的逻辑器件。
(2)连接电路,实现加法、减法、乘法和除法运算的逻辑。
(3)编写测试程序,输入不同的数据进行运算,并观察结果。
2、控制器实验步骤(1)分析控制器的工作流程和指令格式。
(2)设计控制器的逻辑电路,实现指令的译码和控制信号的生成。
(3)编写测试程序,验证控制器的功能。
3、存储系统实验步骤(1)连接存储单元,设置地址线、数据线和控制线。
(2)编写读写程序,对存储单元进行读写操作,观察数据的存储和读取情况。
(3)通过改变缓存策略,观察对存储系统性能的影响。
4、输入输出系统实验步骤(1)连接输入输出设备,如键盘、显示器等。
(2)编写程序,实现数据的输入和输出。
(3)测试输入输出系统的稳定性和可靠性。
五、实验结果1、运算器实验结果通过测试程序的运行,运算器能够准确地完成加法、减法、乘法和除法运算,结果符合预期。
2、控制器实验结果控制器能够正确地译码指令,并生成相应的控制信号,使计算机各个部件按照指令的要求协同工作。
计算机组成原理 实验报告
计算机组成原理实验报告计算机组成原理实验报告引言:计算机组成原理是计算机科学与技术专业的重要课程,通过学习该课程,我们可以深入了解计算机的工作原理和内部结构。
本次实验旨在通过实际操作,加深对计算机组成原理的理解,并掌握一些基本的计算机硬件知识。
实验目的:1. 理解计算机的基本组成部分,包括中央处理器(CPU)、存储器、输入输出设备等;2. 掌握计算机的运行原理,了解指令的执行过程;3. 学习使用计算机组成原理实验箱,进行实际的硬件连接和操作。
实验过程:1. 实验一:组装计算机本次实验中,我们需要从零开始组装一台计算机。
首先,我们按照实验指导书的要求,选择合适的硬件组件,包括主板、CPU、内存、硬盘等。
然后,我们将这些硬件组件逐一安装到计算机箱中,并连接好电源线、数据线等。
最后,我们将显示器、键盘、鼠标等外设连接到计算机上。
2. 实验二:安装操作系统在计算机组装完成后,我们需要安装操作系统。
本次实验中,我们选择了Windows 10作为操作系统。
首先,我们将Windows 10安装盘插入计算机的光驱中,并重启计算机。
然后,按照安装向导的指引,选择安装语言、时区等相关设置。
最后,我们根据自己的需求选择安装方式,并等待操作系统安装完成。
3. 实验三:编写并执行简单的汇编程序在计算机组装和操作系统安装完成后,我们需要进行一些简单的编程实验。
本次实验中,我们选择了汇编语言作为编程工具。
首先,我们编写了一个简单的汇编程序,实现两个数相加的功能。
然后,我们使用汇编器将程序翻译成机器码,并将其加载到计算机的内存中。
最后,我们通过调试器来执行这个程序,并观察程序的执行结果。
实验结果与分析:通过本次实验,我们成功地组装了一台计算机,并安装了操作系统。
在编写并执行汇编程序的实验中,我们也成功地实现了两个数相加的功能。
通过观察程序的执行结果,我们发现计算机能够按照指令的顺序逐条执行,并得到正确的结果。
这进一步加深了我们对计算机的工作原理的理解。
微机原理与接口技术实验报告
微机原理与接口技术实验报告微机原理与接口技术实验报告一、引言微机原理与接口技术是计算机科学与技术专业中的一门重要课程,通过学习该课程可以了解计算机硬件的基本原理和接口技术的应用。
本实验报告旨在总结和分析我们小组在该课程中进行的实验内容和实验结果,以及对所学知识的理解和应用。
二、实验目的本次实验的主要目的是通过实际操作,深入理解微机原理和接口技术的相关知识,掌握计算机硬件的基本原理和接口技术的应用方法。
具体实验目标如下:1. 熟悉计算机硬件的基本组成和工作原理;2. 学习并掌握接口技术的基本原理和应用方法;3. 能够使用接口技术实现不同设备之间的数据传输和通信。
三、实验内容本次实验主要包括以下几个方面的内容:1. 计算机硬件的基本组成和工作原理:通过拆解和组装计算机主机,了解主板、CPU、内存、硬盘等硬件组件的作用和相互连接方式,以及计算机的工作原理。
2. 接口技术的基本原理和应用方法:学习串口、并口、USB等接口的工作原理和应用场景,了解不同接口的特点和使用方式。
3. 使用接口技术实现数据传输和通信:通过编写程序和使用相应的接口设备,实现计算机与外部设备之间的数据传输和通信,如串口通信、并口通信等。
四、实验过程与结果在实验过程中,我们首先进行了计算机硬件的拆解和组装实验,通过拆解主机并观察各个硬件组件,深入了解了计算机的内部结构和工作原理。
然后,我们学习了串口和并口的基本原理和使用方法,并通过实际操作进行了串口和并口通信的实验。
最后,我们使用USB接口实现了计算机与外部设备之间的数据传输和通信。
在实验中,我们成功地通过串口实现了计算机与打印机之间的数据传输和通信,实现了打印机的控制和数据输出。
同时,我们还通过并口实现了计算机与外部设备之间的数据传输和通信,成功地控制了外部设备的运行和数据输入。
此外,我们还成功地使用USB接口实现了计算机与移动存储设备之间的数据传输和通信,实现了文件的读写和存储。
微型计算机原来与接口技术实验报告(全)
微机接口实验报告实验一简单I/O口扩展实验一、实验目的1、熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
二、实验内容1、由键盘输入字符,然后通过74LS273将其ASCII码锁存输出,并通过LED显示出来。
2、逻辑电平开关的状态输入74LS244,经过PCI总线读入并以16进制显示在屏幕上。
3、逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
三、实验原理介绍本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
四、实验步骤1、实验接线:(←→表示相互连接)CS0←→CS244,CS1←→CS273,平推开关的输出K1~K8←→IN0~IN7(对应连接)00~07←→发光二极管的输入LED1~LED8。
2、编辑程序,用debug调试程序,单步运行。
3、调试通过后,全速运行程序,观看实验结果。
4、编写实验报告。
五、实验提示74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
六、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2 应该点亮。
七、程序框图(如图1)实验程序:实验 1; * cs0<->cs273,D0~D7依次接LED1~LED8*;IOPOR T EQU 0A800HLS273 EQU IOPORT+0A0HCODE SEGMENTASSUME CS:CODESTART: MOV AH,2 ;回车符MOV DL,0DHINT 21HMOV AH,1 ;等待键盘输入INT 21HCMP AL,27 ;判断是否为ESC键JE EXIT ;若是则退出MOV DX,LS273 ;若不是,从2A8H输出其ASCII码OUT DX,ALJMP START ;转startEXIT: MOV AH,4CH ;返回INT 21HCODE ENDSEND START实验结果:从键盘输入数字0~9可以通过LED显示相应的二进制代码(亮灯为0,熄灯为1)例如从键盘输入数字3,灯亮情况led4~led1对应0011;即led4~led1从到左表示0011,led4、led3低位,led2、led1高位。
计算机组成原理实验报告
计算机组成原理实验报告实验目的:本次实验旨在通过构建一个简单的计算机系统,了解和掌握计算机组成原理的基本知识和相关操作技能。
实验仪器和材料:1.计算机硬件:CPU、内存、硬盘、主板等。
2. 操作系统:Windows。
3. 实验软件:C++ 编程语言、IDE(如Visual Studio)。
4.实验文档:笔记本电脑。
实验原理:1.CPU:中央处理器,是计算机系统的核心组成部分,负责所有数据的处理和执行。
2.内存:主要用于存储计算机程序和数据,是计算机系统的临时存储器。
3.硬盘:主要用于长期存储计算机程序、数据和操作系统等。
4.主板:是计算机系统的主要组成部分,承载了CPU、内存、硬盘等主要硬件,并提供各种接口和插槽。
5.操作系统:是计算机系统的核心软件,负责管理和协调各种硬件和软件资源,为用户提供友好的界面和功能。
实验步骤:1.准备实验材料和工具,搭建计算机系统。
将CPU、内存、硬盘等硬件安装到主板上,连接好相应的电源线和数据线,确保硬件正常工作。
2. 启动计算机,在操作系统中打开C++编程语言的IDE(如Visual Studio)。
3. 编写一个简单的程序,例如输出"Hello, world!"。
4.进行编译和链接,生成可执行文件。
5.运行程序,观察计算机系统的运行情况。
6.分析程序的运行结果,查看计算机系统的资源占用情况。
7.修改程序,并再次进行编译、链接和运行,观察结果。
实验结果和分析:通过以上实验步骤,我们成功搭建了一个计算机系统,并在操作系统中编写、编译和运行了一个简单的程序。
从实验结果可以看出,计算机系统能够正常工作,在屏幕上正确地输出了"Hello, world!"。
根据程序的运行情况,我们可以观察到计算机系统的CPU占用率、内存占用率和硬盘读写速度等性能指标。
在修改程序并重新运行后,我们可以观察到不同的运行结果,进一步分析计算机系统的性能和资源占用情况。
计算机组成原理的实验报告
计算机组成原理的实验报告一、实验目的本次实验的主要目的是深入理解计算机组成原理中的关键概念和组件,通过实际操作和观察,增强对计算机硬件系统的认识和掌握能力。
具体包括:1、了解计算机内部各部件的工作原理和相互关系。
2、熟悉计算机指令的执行流程和数据的传输方式。
3、掌握计算机存储系统的组织和管理方法。
4、培养分析和解决计算机硬件相关问题的能力。
二、实验设备本次实验使用的设备包括计算机、逻辑分析仪、示波器以及相关的实验软件和工具。
三、实验内容1、运算器实验进行了简单的算术运算和逻辑运算,如加法、减法、与、或等操作。
观察运算结果在寄存器中的存储和变化情况。
2、控制器实验模拟了指令的取指、译码和执行过程。
分析不同指令对计算机状态的影响。
3、存储系统实验研究了内存的读写操作和地址映射方式。
考察了缓存的工作原理和命中率的计算。
4、总线实验观察数据在总线上的传输过程和时序。
分析总线竞争和仲裁的机制。
四、实验步骤1、运算器实验步骤连接实验设备,将运算器模块与计算机主机相连。
打开实验软件,设置运算类型和操作数。
启动运算,通过逻辑分析仪观察运算过程中的信号变化。
记录运算结果,并与预期结果进行比较。
2、控制器实验步骤连接控制器模块到计算机。
输入指令序列,使用示波器监测控制信号的产生和变化。
分析指令执行过程中各个阶段的状态转换。
3、存储系统实验步骤搭建存储系统实验电路。
进行内存读写操作,改变地址和数据,观察存储单元的内容变化。
分析缓存的替换策略和命中率的影响因素。
4、总线实验步骤连接总线模块,配置总线参数。
多个设备同时发送数据,观察总线的仲裁过程。
测量数据传输的时序和带宽。
五、实验结果与分析1、运算器实验结果加法、减法等运算结果准确,符合预期。
逻辑运算的结果也正确无误。
观察到在运算过程中,寄存器的值按照预定的规则进行更新。
分析:运算器的功能正常,能够准确执行各种运算操作,其内部的电路和逻辑设计合理。
2、控制器实验结果指令能够正确取指、译码和执行,控制信号的产生和时序符合指令的要求。
计算机组成原理实验报告
计算机组成原理实验报告一、实验目的本次计算机组成原理实验的主要目的是深入理解计算机的内部结构和工作原理,通过实际操作和观察,巩固和拓展课堂上学到的理论知识,培养实践动手能力和解决问题的能力。
二、实验设备本次实验所使用的设备包括计算机主机、逻辑分析仪、示波器、面包板、各种芯片(如 74LS 系列、8255 芯片等)、导线若干。
三、实验内容1、算术逻辑运算单元(ALU)实验通过使用芯片搭建一个简单的算术逻辑运算单元,实现加法、减法、与、或等基本运算,并观察运算结果。
2、存储单元实验构建一个存储单元,了解存储器的读写操作和存储原理,包括随机存储器(RAM)和只读存储器(ROM)。
3、控制器实验设计一个简单的控制器,实现指令的译码和执行,理解计算机如何按照指令序列进行工作。
4、总线结构实验研究计算机内部的总线结构,包括数据总线、地址总线和控制总线,了解它们在信息传输中的作用。
四、实验原理1、算术逻辑运算单元算术逻辑运算单元是计算机中进行算术和逻辑运算的核心部件。
它通常由加法器、减法器、逻辑门等组成。
通过对输入的操作数进行相应的运算操作,产生输出结果。
2、存储单元存储器用于存储程序和数据。
随机存储器(RAM)可以随时读写,但其数据在断电后会丢失;只读存储器(ROM)中的数据在制造时就已确定,只能读取不能修改,且断电后数据不会丢失。
3、控制器控制器是计算机的指挥中心,负责从存储器中取出指令,对指令进行译码,并产生控制信号,控制各个部件的操作。
4、总线结构总线是计算机内部各个部件之间传输信息的公共通道。
数据总线用于传输数据,地址总线用于传输地址信息,控制总线用于传输控制信号。
五、实验步骤(1)按照实验电路图,在面包板上正确连接 74LS 系列芯片,如74LS181 等,构建加法器和逻辑运算电路。
(2)通过改变输入信号的值,使用逻辑分析仪观察输出结果,验证运算的正确性。
2、存储单元实验(1)使用芯片搭建随机存储器(RAM)和只读存储器(ROM)电路。
南昌大学PC机原理及接口技术实验报告1
《PC机原理与接口技术》实验报告班级:学号:姓名:2016 年 6 月实验一熟悉DOS环境和汇编软件的使用一、实验目的1.熟悉DOS环境和DOS基本操作。
2.掌握汇编程序的使用方法:MASM, LINK, EDIT(TC), DEBUG。
二、实验内容1.熟悉DOS环境MS-DOS的启动。
2.熟悉一些常用的DOS命令①更改盘符。
②显示/更改当前目录。
③建立子目录(文件夹)。
④显示磁盘目录的内容。
3.熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常用命令三、实验要求在屏幕上显示“Hello, world!”。
四、主要仪器设备与耗材计算机五、实验步骤与结果1.熟悉一些常用的DOS命令。
①更改盘符。
②显示/更改当前目录。
显示当前目录:dir更改当前目录:cd [文件名]③建立子目录(文件夹)。
1.汇编语言源程序的建立①先在文本编辑器中输入以下代码并保存源程序的文件名为hello.asm。
DATA SEGMENTstring DB 'Hello, world!$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET stringMOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND START②将源程序文件汇编成目标程序文件masm hello.asmMASM宏汇编程序的主要功能:⑴检查源程序中存在的语法错误,并给出错误信息。
⑵若源程序经汇编后没有语法错误,则产生扩展名为.OBJ的目标程序文件。
⑶若源程序中使用了宏指令,则汇编程序将展开宏指令。
源程序建立后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编。
③用连接程序生成可执行程序文件link hello.obj如果汇编过程中有错误产生,则汇编程序将显示出错行号和错误信息。
计算机组成原理与接口技术实验报告
计算机组成原理与接口技术课程设计实验报告学院:计算机科学与工程专业:计算机科学与技术班级:计科二班学号:姓名:指导老师:评分:2016年12月28日实验一验证74LS181运算和逻辑功能1、实验目的(1)掌握算术逻辑单元(ALU)的工作原理;(2)熟悉简单运算器的数据传送通路;(3)画出逻辑电路图及布出美观整齐的接线图;(4)验证4位运算功能发生器(74LS181)组合功能。
2、实验原理ALU能进行多种算术运算和逻辑运算。
4位ALU-74LS181能进行16种算术运算和逻辑运算。
74ls181芯片介绍:该芯片总共由22个引脚,其中包括8个数据输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、~B3,其中八个输入端中A3和B3是高位),这八个都是低电平有效。
还包括S0、S1、S2、S3这四个控制端,这四个控制端主要控制两个四位输入数据的运算,例如加、减、与、或。
CN端处理进入芯片前进位值,M控制芯片的运算方式,包括算术运算和逻辑运算。
F0、F1、F2、F3是四个二进制输出端,以一个四位二进制形式输出运算的结果。
CN4记录运算后的进位。
功能表如下:方式M = 1 逻辑运算M = 0算术运算S3 S2 S1 S0 逻辑运算CN=1 (无进位) CN =0 (有进位)0 0 0 0 F=/A F=A F=A加10 0 0 1 F=/(A + B) F=A + B F=(A + B) 加10 0 1 0 F=(/A ) B F=A + /B F=( A + /B )加10 0 1 1 F=0 F=负1(补码形式)F=00 1 0 0 F=/(A B) F=A加A ( / B) F=A加A / B加10 1 0 1 F=/B F=(A + B) 加A / B F=(A + B)加A / B加10 1 1 0 F=A B F=A减B减1 F=A减B3、实验内容实验电路图:4、总结及心得体会本实验通过一个设计一个简单的运算器,使我熟悉了Multisim软件的一些基本操作方法,并掌握了一些简单的电路设计与分析的能力,并对我做下一个运算器的实验有一定的帮助。
微机原理及接口技术实验报告
微机原理及接口技术实验报告一、实验目的本实验旨在通过掌握微机原理和接口技术的实验操作,实践相关理论知识,加深对微机原理和接口技术的理解。
二、实验设备和材料1.计算机主机2.操作系统3.接口卡4.编程软件三、实验原理微机原理是指通过学习微机的结构、功能和工作原理,从硬件层面掌握微机的基本知识。
接口技术是指连接不同设备之间的通信和数据交换技术,通过学习接口技术可以实现设备的互联和数据的传输。
四、实验步骤1.将接口卡插入计算机主机的扩展槽中。
2.启动计算机,并加载操作系统。
3.打开编程软件,编写实验程序。
4.将编写好的程序烧录到接口卡中。
5.连接外部设备和接口卡,并确认连接正确无误。
6.运行程序,并观察外部设备和接口卡之间的数据交互情况。
7.分析实验结果,并记录实验数据。
8.关闭程序和计算机。
五、实验结果及分析通过实验我们成功连接了外部设备和接口卡,并实现了数据的传输和交互。
在程序运行过程中,我们观察到外部设备正常工作,并且与接口卡之间的通信稳定可靠。
根据实验数据分析,我们可以得出接口卡的性能良好,并且能够满足实际应用需求。
六、实验心得通过这次实验,我对微机原理和接口技术有了更深入的理解。
实践操作让我加深了对硬件设备和软件编程的认识,掌握了实现设备互联和数据传输的基本方法。
在实验过程中,我遇到了一些问题,如接口卡的插入和连接问题,但通过查阅资料和请教老师同学,最终成功解决了这些问题。
我发现实验不仅帮助我巩固了理论知识,也提高了我的实践能力和解决问题的能力。
总结起来,微机原理和接口技术是计算机相关专业的基础课程之一,通过实验的方式学习可以更好地将理论知识与实际应用相结合。
我相信通过不断的实践和学习,我会在微机原理和接口技术方面有进一步的提高和发展。
《计算机接口技术》实验报告
《计算机接口技术》实验报告专业:电信息科学与技术班级:姓名:学号:年月日实验一:8255A并行口实验实验目的:掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容:一、实验原理实验原理图如图5-9所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A 工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
二、实验线路连接(1) CS-8255插孔连译码输出Y7插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3三、实验软件清单见随机光盘,文件名为H8255-2.ASM四、实验步骤1、按图5-9连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073H ;设置控制端常量IOAPT EQU 0070H ;设置数据端口A地址常量IOBPT EQU 0071H ;设置数据端口B地址常量IOCPT EQU 0072H ;设置数据端口C地址常量IOBDATA EQU 0500HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式0OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式0输出MOV DX,IOBPT ;读PB口数据存0601H单元IN AL,DXnot almov al,00hnopnopMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPT ;写方式控制字均为输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;置PB0,PB4~PB6为1,其余为0MOV AL,DS:[0501H]OR AL,0FH ;使PB0~PB3为1,PB4~PB7为0OUT DX,AL ;即熄灭红灯,点亮绿灯MOV DX,IOCPT ;使PC1,PC4~PC6为1,其余为0MOV AL,0FH ;使PC0~PC3为1,PC4~PC7为0OUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ;使2,4路口绿灯亮,1,3口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭2,4路口绿灯OUT DX,ALMOV CX,8H ;只计数器值为8IOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,01011111B ;点亮2,4路口黄灯OUT DX,ALCALL DELAY2 ;短暂延时and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALMOV AL,10100101B ;点亮1,3口红灯和2,4路口绿灯OUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭掉红灯OUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,10101111B ;点亮1,3路口黄灯OUT DX,ALCALL DELAY2and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2JMP IOLED0 ;循环DELAY1: PUSH AXPUSH CX ;延时子程序MOV CX,0030HDELY2: CALL DELAY2LOOP DEL Y2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07HJA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DH ADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START实验二:定时/计数器实验目的:1. 学会8253芯片和微机接口原理和方法。
南邮微机实验报告
一、实验名称微机原理与接口技术实验二、实验目的1. 理解微机的基本工作原理和硬件组成。
2. 掌握计算机常用接口芯片的基本功能和使用方法。
3. 熟悉微机实验系统的操作流程。
4. 培养动手实践能力和分析问题、解决问题的能力。
三、实验内容1. 微机硬件系统认知- 了解微机的硬件组成,包括CPU、内存、主板、硬盘、显卡、声卡等。
- 通过实验观察微机硬件各部分的功能和连接方式。
2. 微机接口芯片实验- 学习并行接口芯片8255的使用方法和编程技巧。
- 实现键盘输入和LED显示,设计一个简单的定时显示装置。
3. 微机实验系统操作- 熟悉微机实验系统的使用方法和操作流程。
- 掌握实验软件的安装和使用。
4. 汇编语言程序设计- 学习汇编语言的基本语法和编程技巧。
- 编写简单的汇编语言程序,实现特定功能。
四、实验步骤1. 微机硬件系统认知- 观察微机硬件各部分的功能和连接方式。
- 使用实验设备观察CPU、内存、主板、硬盘等硬件的工作状态。
2. 微机接口芯片实验- 根据实验指导书,配置并行接口芯片8255。
- 编写程序实现键盘输入和LED显示功能。
- 设计定时显示装置,实现时间显示和按键控制。
3. 微机实验系统操作- 安装实验软件,熟悉实验系统的操作流程。
- 使用实验软件进行实验操作。
4. 汇编语言程序设计- 学习汇编语言的基本语法和编程技巧。
- 编写汇编语言程序,实现特定功能。
五、实验结果与分析1. 微机硬件系统认知- 通过实验观察,了解了微机硬件各部分的功能和连接方式。
- 掌握了微机实验系统的使用方法和操作流程。
2. 微机接口芯片实验- 成功实现了键盘输入和LED显示功能。
- 设计的定时显示装置能够正常工作。
3. 微机实验系统操作- 熟练掌握了微机实验系统的操作流程。
4. 汇编语言程序设计- 成功编写了汇编语言程序,实现了特定功能。
六、实验心得体会通过本次实验,我对微机原理和接口技术有了更深入的了解。
实验过程中,我学会了如何使用微机实验系统,掌握了微机接口芯片的编程技巧,提高了动手实践能力。
单周期CPU设计实验报告
《计算机组成原理与接口技术实验》实验报告学院名称:学生姓名:学号:专业(班级):合作者:时间:2016年4月25日成绩:实验二:一.实验目的1.掌握单周期CPU数据通路图的构成、原理及其设计方法;2.掌握单周期CPU的实现方法,代码实现方法;3.认识和掌握指令与CPU的关系;4.掌握测试单周期CPU的方法。
二.实验内容设计一个单周期CPU,该CPU至少能实现以下指令功能操作。
需设计的指令与格式如下:==> 算术运算指令说明:以助记符表示,是汇编指令;以代码表示,是机器指令功能:rd←rs + rt。
reserved为预留部分,即未用,一般填“0”。
功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。
完成功能:rd←rs - rt==> 逻辑运算指令做“0”扩展再参加“或”运算。
(5)and rd , rs , rt功能:rd←rs & rt;逻辑与运算。
==> 传送指令(7)move rd , rs功能:rd←rs + $0 ;$0=$zero=0。
==> 存储器读/写指令(8)sw rt ,immediate(rs) 写存储器功能:memory[rs+ (sign-extend)immediate]←rt;immediate符号扩展再相加。
(9) lw rt , immediate (rs) 读存储器功能:rt ← memory[rs + (sign-extend)immediate ];immediate 符号扩展再相加。
==> 分支指令(10)beq rs,rt,immediate功能:if(rs=rt) pc ←pc + 4 + (sign-extend)immediate <<2;特别说明:immediate 是从PC+4地址开始和转移到的指令之间指令条数。
immediate 符号扩展之后左移2位再相加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理与接口技术实验报告一.实验目的1.掌握单周期CPU数据通路图的构成、原理及其设计方法;2.掌握单周期CPU的实现方法,代码实现方法;3.认识和掌握指令与CPU的关系;4.掌握测试单周期CPU的方法。
二.实验内容设计一个单周期CPU,该CPU至少能实现以下指令功能操作。
需设计的指令与格式如下:==> 算术运算指令(1)add rd , rs, rt(说明:以助记符表示,是汇编指令;以代码表示,是机器指令)功能:rd←rs + rt。
reserved为预留部分,即未用,一般填“0”。
(2)addi rt , rs ,immediate功能:rt←rs + (sign-extend)immediate;immediate符号扩展再参加“加”运算。
(3)sub rd , rs , rt完成功能:rd←rs - rt==> 逻辑运算指令(4)ori rt , rs ,immediate功能:rt←rs | (zero-extend)immediate;immediate做“0”扩展再参加“或”运算。
(5)and rd , rs , rt功能:rd←rs & rt;逻辑与运算。
(6)or rd , rs , rt功能:rd←rs | rt;逻辑或运算。
==> 传送指令(7)move rd , rs功能:rd←rs + $0 ;$0=$zero=0。
==> 存储器读/写指令(8)sw rt ,immediate(rs) 写存储器功能:memory[rs+ (sign-extend)immediate]←rt;immediate符号扩展再相加。
(9) lw rt , immediate(rs) 读存储器功能:rt ← memory[rs + (sign-extend)immediate];immediate符号扩展再相加。
==> 分支指令(10)beq rs,rt,immediate功能:if(rs=rt) pc←pc +4 + (sign-extend)immediate <<2;特别说明:immediate是从PC+4地址开始和转移到的指令之间指令条数。
immediate符号扩展之后左移2位再相加。
为什么要左移2位?由于跳转到的指令地址肯定是4的倍数(每条指令占4个字节),最低两位是“00”,因此将immediate放进指令码中的时候,是右移了2位的,也就是以上说的“指令之间指令条数”。
==> 停机指令(11)halt功能:停机;不改变PC的值,PC保持不变。
三.实验原理单周期CPU指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令的执行,即一条指令用一个时钟周期完成。
电平从低到高变化的瞬间称为时钟上升沿,两个相邻时钟上升沿之间的时间间隔称为一个时钟周期。
时钟周期一般也称振荡周期(如果晶振的输出没有经过分频就直接作为CPU的工作时钟,则时钟周期就等于振荡周期。
若振荡周期经二分频后形成时钟脉冲信号作为CPU的工作时钟,这样,时钟周期就是振荡周期的两倍。
)CPU在处理指令时,一般需要经过以下几个步骤:(1) 取指令(IF):根据程序计数器PC中的指令地址,从存储器中取出一条指令,同时,PC根据指令字长度自动递增产生下一条指令所需要的指令地址,但遇到“地址转移”指令时,则控制器把“转移地址”送入PC,当然得到的“地址”需要做些变换才送入PC。
(2) 指令译码(ID):对取指令操作中得到的指令进行分析并译码,确定这条指令需要完成的操作,从而产生相应的操作控制信号,用于驱动执行状态中的各种操作。
(3) 指令执行(EXE):根据指令译码得到的操作控制信号,具体地执行指令动作,然后转移到结果写回状态。
(4) 存储器访问(MEM):所有需要访问存储器的操作都将在这个步骤中执行,该步骤给出存储器的数据地址,把数据写入到存储器中数据地址所指定的存储单元或者从存储器中得到数据地址单元中的数据。
(5) 结果写回(WB):指令执行的结果或者访问存储器中得到的数据写回相应的目的寄存器中。
单周期CPU,是在一个时钟周期内完成这五个阶段的处理。
图1 单周期CPU 指令处理过程MIPS32的指令的三种格式:R 类型:31 26 25 21 20 16 15 11 10 6 5 0 op rs rt rd sa func6位 5位 5位 5位 5位 6位I 类型:31 26 25 21 20 16 15 0op rs rt immediate6位 5位 5位 16位J 类型:3126 25op address 6位 26位取指令IF 指令译码 ID 指令执行 EXE 存储器访问 MEM 结果写回 WB其中,op:为操作码;rs:为第1个源操作数寄存器,寄存器地址(编号)是00000~11111,00~1F;rt:为第2个源操作数寄存器,或目的操作数寄存器,寄存器地址(同上);rd:为目的操作数寄存器,寄存器地址(同上);sa:为位移量(shift amt),移位指令用于指定移多少位;func:为功能码,在寄存器类型指令中(R类型)用来指定指令的功能;immediate:为16位立即数,用作无符号的逻辑操作数、有符号的算术操作数、数据加载(Laod)/数据保存(Store)指令的数据地址字节偏移量和分支指令中相对程序计数器(PC)的有符号偏移量; address:为地址。
图2 单周期CPU数据通路和控制线路图图2是一个简单的基本上能够在单周期上完成所要求设计的指令功能的数据通路和必要的控制线路图。
其中指令和数据各存储在不同存储器中,即有指令存储器和数据存储器。
访问存储器时,先给出地址,然后由读/写信号控制(1-写,0-读。
当然,也可以由时钟信号控制,但必须在图上标出)。
对于寄存器组,读操作时,先给出地址,输出端就直接输出相应数据;而在写操作时,在 WE使能信号为1时,在时钟边沿触发写入。
图中控制信号作用如表1所示,表2是ALU运算功能表。
表1 控制信号的作用相关部件及引脚说明:Instruction Memory:指令存储器,Iaddr,指令存储器地址输入端口IDataIn,指令存储器数据输入端口(指令代码输入端口) IDataOut,指令存储器数据输出端口(指令代码输出端口)RW,指令存储器读写控制信号,为1写,为0读Data Memory:数据存储器,Daddr,数据存储器地址输入端口DataIn,数据存储器数据输入端口DataOut,数据存储器数据输出端口RW,数据存储器读写控制信号,为1写,为0读Register File:(寄存器组)Read Reg1,rs寄存器地址输入端口Read Reg2,rt寄存器地址输入端口Write Reg,将数据写入的寄存器端口,其地址来源rt 或rd字段Write Data,写入寄存器的数据输入端口Read Data1,rs寄存器数据输出端口Read Data2,rt寄存器数据输出端口WE,写使能信号,为1时,在时钟上升沿写入ALU:result,ALU运算结果zero,运算结果标志,结果为0输出1,否则输出0表2 ALU运算功能表A B需要说明的是根据要实现的指令功能要求画出以上数据通路图,和确定ALU的运算功能(当然,以上指令没有完全用到提供的ALU所有功能,但至少必须能实现以上指令功能操作)。
从数据通路图上可以看出控制单元部分需要产生各种控制信号,当然,也有些信号必须要传送给控制单元。
从指令功能要求和数据通路图的关系得出以上表1,这样,从表1可以看出各控制信号与相应指令之间的相互关系,根据这种关系就可以得出控制信号与指令之间的关系表(留给学生完成),再根据关系表可以写出各控制信号的逻辑表达式,这样控制单元部分就可实现了。
指令执行的结果总是在下个时钟到来前开始保存到寄存器、或存储器中,PC的改变也是在这个时候进行。
另外,值得注意的问题,设计时,用模块化的思想方法设计,关于ALU设计、存储器设计、寄存器组设计等等,也是必须认真考虑的问题。
可以参考其他资料文档,里面有相应的设计方法介绍.四.实验器材电脑一台、Xilinx ISE 软件一套。
五.实验分析与设计模块分析:根据单周期CPU数据通路和控制线路图,大致可以将CPU分为右图七个模块,每个模块负责一个部分的功能:(代码存于code文件夹)(图的下方为各个模块的变量,在后图会出现,故省略)CPU:负责各模块之间的数据的传输,如同C语言中的头文件,将其他的子模块连接在一起,其中clk信号在此声明。
CU:CU负责指令的解析,即将由ROM读取的指令转化为操作发送给其他子模块进行操作。
PC:负责指令的计数,已经指令的向前或向后跳动,每个时钟周期计数加一。
ROM:即存储器,发送信息,CPU的指令文件即由ROM读取,只读,在电脑中表现为BIOS的数据文件。
RAM:内存,可读可写,用来保存临时数据,汇编语言中的$s的储存地点。
RF:寄存器,可读可写,数据由寄存器发送向ALU计算,汇编语言中的$t的储存地点。
SE:产生立即数,将发送过来的半数零拓展或符号拓展。
ALU:算术单元,加减乘除逻辑运算等等,都在这里计算。
测试数据输入00000000000000000000000000000000(不操作)可得到如上图,CPU正确运行实验测试:(根据实验内容指令表格)0,1,2,3 算术运算指令 4,5,6 逻辑运算指令7 传送指令 8,9 存储器读/写指令10,11 分支指令 14 停机指令因为都为0,没有变化如上表,$4为3$2 = $4 + 8 = 11$1 = $2 - $4 = 8$5 = $2 | 0000 0000 0000 1000 = 11 $6 = $1 & $2 = 8$7 = $1 | $2 = 117.move$8 = $78.swregisterRAM$s15 = $110.beq 不相等情况由于这里两个寄存器不相等,立即数为0,即跳转到下1 + 0/4条指令,故这里进入下一条指令。
相等情况,跳过指令12跳转到13,$1没有变化13.halt停机,如图,下一条指令被锁测试完成六.实验心得本次实验的难度较第一次实验要高很多,很多问题都是半知半解的状态,尤其是CU部分,CU是按照实验资料中的页5中的表格生搬硬套的,有许多不理解,同学也帮助了很多。
实验有很多和图上是有区别的,主要表现在CPU的位数,基本没有算法,都是理解和想象的问题,有些模块要自己构想,不能通过看图就知道,但是图中给了很多的提示,每个部件的输入和输出基本上在图中都有显示。
CPU的难度也很大,主要是变量十分得多,很容易就造成错误,在写模块的时候很容易就造成错误。