计算机组成原理实验报告3-数据输出实验 移位门实验
- 格式:docx
- 大小:255.46 KB
- 文档页数:5
DJ-CPT816计算机组成原理和系统结构实验仪产品介绍:·主要特点CPT816是我公司最新推出的八位、十六位计算机组成原理和系统结构实验仪,CPT816有CPTH 主板和CPT16实验板组成,CPTH主板以八位机模式,用TTL74系列器件+CPLD构建模型机部件,让学生以可视方式观察CPU内各部件工作过程和模型机的实现,CPT16实验板以十六位机模式,用10万门EP1K100 FPGA芯片构建模型机所有部件,并配置64K×16位存储器,在对八位机了解的基础上,让学生对十六位计算机组成原理有更深刻的理解,实现质的飞跃,为FPGA 设计CPU打下基础。
·CPTH主板简介DJ-CPTH是我公司最新推出的一款功能强、性能好,软件硬件都是一流的高性能计算机组成原理实验仪产品,系统电路采用了多片在线可编程CPLD大大提高了可靠性和功能提升的可能性,软件提供了详尽的信息窗口、运行图表和多类帮助信息,使教学的过程轻松自如。
一、系统特点⑴先进的硬件设计,充分展示计算机结构模型,每个模块均有实时监视,模块间线条明快,数据/指令流向一目了然。
⑵完善的硬件配置,实验电路以分立器件为主,同时配备CPLD,支持部分模块的重构。
⑶开放的软硬件设计,支持用户新建指令/微指令的系统设计。
⑷控制器的有机结合,只需拨动选择开关,就可实现微程序或组合逻辑控制的切换。
⑸提供多种工作方式,支持手动、脱机、联机。
⑹提供三总线接口和锁紧插座,支持I/O扩展。
⑺提供多种指令系统,支持基本模型机、指令流水线、RISC模型机实验。
⑻强大的指令功能,支持多种寻址方式和中断、调用等。
⑼丰富的调试手段,具有单步、微单步、运行、暂停等功能。
⑽提供联机调试软件,自带编译器、支持汇编语言源程序调试,图形化动态显示计算机结构模型的数据/指令流向,操作历史记录状态显示,方便用户查找历史记录。
⑾提供30路逻辑分析波形图,充分展示指令与时序的关系,可让学生在实验时直观地观测到指令与时序的关系,可有效的提高教学效果。
计算机组成原理实验报告实验报告运算器实验⼀、实验⽬的掌握⼋位运算器的数据传输格式,验证运算功能发⽣器及进位控制的组合功能。
⼆、实验要求完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运⽤。
三、实验原理实验中所⽤的运算器数据通路如图2-3-1所⽰。
ALU运算器由CPLD描述。
运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输⼊端分别由2个74LS574锁存器锁存,锁存器的输⼊端与数据总线相连,准双向I/O 输⼊输出端⼝⽤来给出参与运算的数据,经2⽚74LS245三态门与数据总线相连。
图2-3-1运算器数据通路图中A WR、BWR在“搭接态”由实验连接对应的⼆进制开关控制,“0”有效,通过【单拍】按钮产⽣的脉冲把总线上的数据打⼊,实现运算源寄存器A、暂存器B的写⼊操作。
四、运算器功能编码算术运算逻辑运算K23~K0置“1”,灭M23~M0控位显⽰灯。
然后按下表要求“搭接”部件控制路。
表2.3.2 运算实验电路搭接表算术运算1.运算源寄存器写流程通过I/O单元“S7~S0”开关向累加器A和暂存器B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K18=K17=“1”,按下流程分别读A、B。
3.加法与减法运算令M S2 S1 S0(K15 K13~K11=0100),为算术加,FUN及总线单元显⽰A+B的结果令M S2 S1 S0(K15 K13~K11=0101),为算术减,FUN及总线单元显⽰A-B的结果。
逻辑运算1.运算源寄存器写流程通过“I/O输⼊输出单元”开关向寄存器A和B置数,具体操作步骤如下:2.运算源寄存器读流程关闭A、B写使能,令K17= K18=1,按下流程分别读A、B。
①若运算控制位设为(M S2 S1 S0=1111)则F=A,即A内容送到数据总线。
②若运算控制位设为(M S2 S1 S0=1000)则F=B,即B内容送到数据总线。
广东工业大学广东工业大学实验报告计算机学院计算机科学与技术专业班成绩评定学号姓名(合作者号)教师签名实验五题目带移位运算模型机的设计与实现一、实验目的与要求:1、熟悉由微程序控制器控制模型机的数据通道。
2、掌握4条移位指令使用和编程。
3、学习设计与调试计算机的基本步骤及方法。
二、实验方案1、本实验是在基本模型机的基础上搭接移位控制电路,实现移位控制运算。
2、试验新增4条单字长(8位)一位运算指令,其格式如下:助记符机器指令码说明RR 将R0寄存器的数据循环右移一位。
RRC 将R0寄存器的数据带进位循环右移一位,即R0寄存器中数据右边第一位移入进位,而进位位移至R0的最左边。
RL 将R0寄存器的数据循环左移。
RLC 将R0寄存器的数据带进位循环左移一位,即R0寄存器中数据左边第一位移入进位,而进位位移至R0的最右边。
3、微指令格式其中A8、A9是2:4译码器(74LS139)的输入端,Y0、Y1、Y2、Y3是译码器输出端,其电路结构如下:其中Y0为SW-B ,Y1为CE ,Y2为LED-B ,Y3为空。
注意事项:(1) 详细的联机操作请参看附录1联机软件使用说明。
(2) 把串行通讯电缆分别插在实验仪及PC 微机的串口,即可实现实验仪与PC 的联机操作。
(3) 本实验用的程序文件名为EX2。
(4) 运行程序时,要把编程开关MJ20置为RUN(运行)状态,SWA 、SWB 、CLR 开关一定要处于为1、1、1状态。
实验仪上“STATE UNIT ”中的STEP 开关置为“STEP ”状态,STOP 开关置为“RUN ”状态。
(5) 每次运行前,都要拨动CLR 开关清零(1-0-1)。
清零后,微地址显示灯(实验仪上UA5-UA0)应为。
(6) 实验仪的微程序控制器单元中的微地址显示灯(UA5-UA0)显示的是后继微地址的二进制控制信息。
(7) 在屏幕下部显示相关微指令的详细表中,第三行第一列显示的是微地址,程序运行时默认显示为下一条微地址(八进制),括号里用N 表示,这时表中24~1各字段所显示的是下一条微指令的控制信息的二进制代码,最后一列显示微指令执行中主要的有效控制信号。
实验四多寄存器数据输出及运算器移位实验【实验要求】利用CP226 实验箱的K16..K23 开关做为DBUS 数据的输入端,其它开关做为控制信号的输入端,将指定寄存器的内容传送到数据总线DBUS上。
【实验目的】掌握模型机中不同寄存器中的数据传送到数据总线和运算器移位功能实现的工作原理与控制方法。
【主要集成电路芯片及其逻辑功能】1. 74HC138译码器本实验所涉及的主要集成电路芯片之一为74HC138,用于控制选择输出寄存器。
74HC138是一个3-8译码器,引脚结构及其逻辑功能如下图与表所示。
输入输出使能代码G1 G2=2BG C B A Y0Y1Y2Y3Y4Y5Y6Y72A G× 1 ××× 1 1 1 1 1 1 1 10 ×××× 1 1 1 1 1 1 1 11 0 0 0 0 0 1 1 1 1 1 1 11 0 0 0 1 1 0 1 1 1 1 1 11 0 0 1 0 1 1 0 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1 1 11 0 1 0 0 1 1 1 1 0 1 1 11 0 1 0 1 1 1 1 1 1 0 1 11 0 1 1 0 1 1 1 1 1 1 0 11 0 1 1 1 1 1 1 1 1 1 1 02. 74HC245译码器本实验所涉及的主要集成电路芯片之二为74HC245,用于ALU输出与总线连接。
74HC245是具有驱动能力的8位三态缓冲收发器,引脚结构如下图所示,其逻辑功能如下表所示。
DIR为输入输出转换端,置1时由A到B,置0时由B到A;OE为使能端,置1时A与B不通,置0时A与B连通。
【实验涉及的逻辑电路及原理】1. 多寄存器数据输出在CP226 实验箱中,有7 个寄存器可以向数据总线输出数据,但同一时刻只能有一个寄存器输出数据,且通过74HC138译码器决定7 个输出寄存器中哪个寄存器输出数据。
计算机组成原理移位运算实验报告移位运算是计算机中非常基础的运算之一,用于将二进制数的位数进行移动。
移位运算可分为左移和右移两种,左移是将二进制数的位数向左移动,右移则是将二进制数的位数向右移动。
移位运算通常用于二进制数的乘除运算、数据压缩、程序优化等方面。
在本次实验中,我们将通过Verilog HDL 设计一个移位器,实现移位运算。
1. 实验原理和设计设计移位器需要对移位运算的原理有一定的理解。
在二进制数的移位运算中,移位的方向和位移的距离都是明确的,因此我们可以通过调整输入信号的位置,分别实现左移和右移。
具体实现方法可以采用逻辑门电路实现,也可以采用移位指令指令直接实现。
在本次实验中,我们采用逻辑门的实现方法。
移位器的设计主要分为以下几个步骤:1. 采用Verilog HDL 自定义输入端口和输出端口。
2. 采用逻辑门电路实现移位器,包括左移和右移两种方式。
3. 对移位器进行仿真调试,验证移位器的正确性。
以下是实验所采用的Verilog HDL 代码:module shifter(input [15:0] in_data,input [1:0] shift_direction,input [3:0] shift_distance,output [15:0] out_data);wire [15:0] shift_out;assign shift_out = shift_direction[0] ? (in_data << shift_distance) : (in_data >> shift_distance);assign out_data = shift_direction[1] ? (in_data << shift_distance) : (in_data >> shift_distance);endmodule代码中定义了4 个输入端口和一个输出端口,在输入端口中,`in_data` 为需要进行移位的二进制数,`shift_direction` 为移动方向(0 为右移,1 为左移),`shift_distance` 为移动的距离。
实验指导DICE-CP226系统概述1.1 DICE-CP226特点1、采用总线结构DICE-CP226实验系统使用三组总线即地址总线ABUS、数据总线DBUS、指令总线IBUS和控制信号,CPU、主存、外设和管理单片机等部件之间通过外部数据总线传输,CPU内部则通过内部数据总线传输信息。
各部件之间,通过三态缓冲器作接口连接。
2、计算机功能模块化设计DICE-CP2226为实验者提供运算器模块ALU,众多寄存器模块(A,W,IA ,ST,MAR,R0…R3等),程序计数器模块PC,指令部件模块IR,主存模块EM,微程序控制模块〈控存〉uM,微地址计数器模块UPC,组合逻辑控制模块及I/O等控制模块。
各模块间的电源线、地线、地址总线和数据总线等已分别连通,模块内各芯片间数据通路也已连好,各模块的控制信号及必要的输出信号已被引出到主板插孔,供实验者按自己的设计进行连接。
3、智能化控制系统在单片机监控下,管理模型机运行和读写,当模型机停机时,实验者可通过系统键盘,读写主存或控存指定单元的内容,使模型机实现在线开发。
模型机运行时,系统提供单步一条微指令(微单步)、单步一条机器指令(程单步),连续运行程序及无限止暂停等调试手段,能动态跟踪数据,流向、捕捉各种控制信息。
4、提供两种实验模式①手动运行“Hand……”:通过拨动开关和发光二极管二进制电平显示,支持最底层的手动操作方式的输入/输出和机器调试。
②自动运行:通过系统键盘及液晶显示器或PC机,直接接输入或编译装载用户程序<机器码程序和微程序>,实现微程序控制运行。
5、开放性设计运算器采用了EDA技术设计,随机出厂时,已提供一套已装载的方案,能进行加、减、与、或、带进位加、带进位减、取反、直通八种运算方式,若用户不满意该套方案,可自行重新设计并通过JTAG 口下载。
用户还可以设计自己的指令/微指令系统。
系统中已带三套指令/微程序系统,用户可参照来设计新的指令/微程序系统。
实验三总线控制实验一、实验目的熟悉和了解地址总线的组成结构、地址来源及集合原理。
掌握程序段与数据段的寻址规则及地址部件的运用技巧。
二、实验原理地址总线的作用是传递地址信息,输出当前数据总线上发送信息的源地址或接收信息的目的地址。
如下图所示本系统设有内存与外设两条地址总线,通过PC计数器提供内存(程序存储器)地址,并由地址寄存器AR传递内存(数据存储器)地址与外设地址。
另外堆栈寄存器SP亦可视为地址寄存器,它的堆顶指向数据与程序指针存取地址。
图2-3-6地址总线组成通路1.11位程序地址本系统从提高信息存取效率的角度设计主内存地址通路,按现代计算机体系结构中最为典型的分段存取理念合成主存及外设地址总线addr,在指令操作“时段”(取操作码与取操作数),以当前程序指针PC为址,遇主存数据传递“时段”以当前数据指针AR为址。
addr 地址的合成通路见图2-3-6。
其寻址范围为0~7FFh。
2.16位数据地址本系统数据指针由地址锁存器AR直接提供,当LDAR=1时,在DRCK下降沿把数据总线打入AR。
其寻址范围为0~FFFFh,可达64KB。
三、实验内容表2.3.7PC程序计数器目标编码目标部件定义按钮功能说明E/M IP DRCK DRCK下降沿打图2-3-7所示的PC框由3片161构成按字方式寻址的11位PC计数器,计数器的输入端与总线相连构成置数通路,计数器的输出端途经三态门缓冲分离为两条通路,其一与总线相连构成可读通路,其二与地址寄存器(数据)集合组成主存EM地址总线。
它的清零端由中央外理器单元直控,上电时PC计数器自动淸零,实验中按复位钮亦可实现计数器的手动淸零。
手控状态,本实验由表2.6.1定义的目的编码控制PC计数器的预置与加1操作,并以准双向I/O部件的S10~S0为计数器预置源。
当IP=1时按单拍按钮,遇E/M=1在脉冲下降沿把S10~S0的内容装入PC计数器;遇E/M=0在脉冲下降沿PC计数器加1。
计算机组成原理实验报告一、实验目的本次计算机组成原理实验的主要目的是深入理解计算机的内部结构和工作原理,通过实际操作和观察,巩固和拓展课堂上学到的理论知识,培养实践动手能力和解决问题的能力。
二、实验设备本次实验所使用的设备包括计算机主机、逻辑分析仪、示波器、面包板、各种芯片(如 74LS 系列、8255 芯片等)、导线若干。
三、实验内容1、算术逻辑运算单元(ALU)实验通过使用芯片搭建一个简单的算术逻辑运算单元,实现加法、减法、与、或等基本运算,并观察运算结果。
2、存储单元实验构建一个存储单元,了解存储器的读写操作和存储原理,包括随机存储器(RAM)和只读存储器(ROM)。
3、控制器实验设计一个简单的控制器,实现指令的译码和执行,理解计算机如何按照指令序列进行工作。
4、总线结构实验研究计算机内部的总线结构,包括数据总线、地址总线和控制总线,了解它们在信息传输中的作用。
四、实验原理1、算术逻辑运算单元算术逻辑运算单元是计算机中进行算术和逻辑运算的核心部件。
它通常由加法器、减法器、逻辑门等组成。
通过对输入的操作数进行相应的运算操作,产生输出结果。
2、存储单元存储器用于存储程序和数据。
随机存储器(RAM)可以随时读写,但其数据在断电后会丢失;只读存储器(ROM)中的数据在制造时就已确定,只能读取不能修改,且断电后数据不会丢失。
3、控制器控制器是计算机的指挥中心,负责从存储器中取出指令,对指令进行译码,并产生控制信号,控制各个部件的操作。
4、总线结构总线是计算机内部各个部件之间传输信息的公共通道。
数据总线用于传输数据,地址总线用于传输地址信息,控制总线用于传输控制信号。
五、实验步骤(1)按照实验电路图,在面包板上正确连接 74LS 系列芯片,如74LS181 等,构建加法器和逻辑运算电路。
(2)通过改变输入信号的值,使用逻辑分析仪观察输出结果,验证运算的正确性。
2、存储单元实验(1)使用芯片搭建随机存储器(RAM)和只读存储器(ROM)电路。
2.3数据输出实验/移位门实验
一.实验要求:利用CPTH 实验仪的开关做为控制信号,将指定寄存器的内容读到数据总线DBUS上。
二.实验目的:1、了解模型机中多寄存器接数据总线的实现原理。
2、了解运算器中移位功能的实现方法。
三.实验电路:CPTH 中有7 个寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个寄存器输出数据,由X2,X1,X0决定那一个寄存器输出数据。
数据输出选择器原理图
连接线表
四.实验数据及步骤:
实验1:数据输出实验
置下表的控制信号,检验输出结果
实验2:移位实验
ALU直接输出和零标志位产生原理图
ALU左移输出原理图
ALU右移输出原理图
直通门将运算器的结果不移位送总线。
当X2X1X0=100 时运算器结果通过直通门送到数据总线。
同时,直通门上还有判0 电路,当运算器的结果为全0 时,Z=1,右移门将运算器的结果右移一位送总线。
当X2X1X0=101 时运算器结果通过右通门送到数据总线。
具体内部连接是:
Cy 与CN →DBUS7
ALU7→DBUS6
ALU6→DBUS5
ALU5→DBUS4
ALU4 →DBUS3
ALU3 →DBUS2
ALU2 →DBUS1
ALU1 →DBUS0
Cy 与CN →DBUS7
当不带进位移位时(CN=0):
0 →DBUS7
当带进位移位时(CN=1):
Cy →DBUS7
左移门将运算器的结果左移一位送总线。
当X2X1X0=110 时运算器结果通过左通门送到数据总线。
具体连线是:
ALU6 →DBUS7
ALU5→DBUS6
ALU4→DBUS5
ALU3→DBUS4
ALU2→DBUS3
ALU1→DBUS2
ALU0→DBUS1
当不带进位移位时(CN=0):
0 →DBUS0
当带进位移位时(CN=1):
Cy→DBUS0
将55H写入A寄存器
二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
S2S1S0=111 时运算器结果为寄存器A内容
注意观察:
移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。
但究竟把那一个结果送数据总线由X2X1X0输出选择决定。
五.心得体会:
这次实验我们感受和熟悉了计算机的移位算法,本实验可以说是前两次实验和这次实验的汇总,里面也包括了上两次实验的内容,像寄存器A,W;S1,S2,S3选择的运算。
通过本次实验让我学到很多运算器的知识。
还有就是关于移位运算的了,寄存器D显示的是不带移位的运算结果,寄存器R显示的是右移一位的运算结果,寄存器L显示的是左移一位的运算结果,当CN等于1,Cy 1N等于1的时候表示移位为一的移位运算。
移位的运算方法是,右移时,在移位后的空位也即最高位补上Cy 1N的值,0或者1;左移时,在移位后的空位也即最低位补上Cy 1N的值,0或者1。