计算机组织与结构上机实验M以及MX实验报告牛添识_第1页
计算机组织与结构上机实验M以及MX实验报告牛添识_第2页
计算机组织与结构上机实验M以及MX实验报告牛添识_第3页
计算机组织与结构上机实验M以及MX实验报告牛添识_第4页
计算机组织与结构上机实验M以及MX实验报告牛添识_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

计算机组织与结构 实验报告 指导老师 李晨 学院 软件学院 班级 软件 94 学号 姓名 牛添识 联系方式 上机实验部分 上机实验部分 实验一实验一 一 一 实验内容实验内容 算术逻辑运算单元 ALU 设计实验 二 二 实验原理实验原理 算术逻辑单元 ALU 的数据通路如下所示 其中 ALU181 根据 74LS181 的功能用 VHDL 硬件描述语言编辑而成 构成 8 位字长的 ALU 参加运算的两个八位数据分别为 A 7 0 和 B 7 0 运算模式由 S 3 0 的 16 种组合决定 而 S 3 0 的值由 4 位二进制计数 器 LPM COUNTER 产生 计数时钟是 Sclk 此外 设 M 0 选择算术运算 M 1 位逻 辑运算 CN 为低位的进位位 F 7 0 为输出结果 C0 为运算后的输出进位位 两个 8 位 数据由总线 IN 7 0 分别通过两个电平锁存器 74373 锁入 PIN 235 VCC AO B1 INPUT PIN 240 VCC M INPUT PIN 239 VCC CN INPUT PIN 238 VCC Sclk INPUT PIN 1 PIN 2 PIN 3 PIN 4 PIN 6 PIN 7 PIN 8 PIN 12 VCC IN 7 0 INPUT PIN 161 CN4 OUTPUT PIN 165 PIN 166 PIN 167 PIN 168 S 3 0 OUTPUT PIN 137 PIN 138 PIN 139 PIN 140 PIN 141 PIN 158 PIN 159 PIN 160 F 7 0 OUTPUT PIN 21 PIN 41 PIN 128 PIN 132 PIN 133 PIN 134 PIN 135 PIN 136 B 7 0 OUTPUT PIN 13 PIN 14 PIN 15 PIN 16 PIN 17 PIN 18 PIN 19 PIN 20 A 7 0 OUTPUT S 3 0 A 7 0 B 7 0 M CN F 7 0 COUT 3 0 CO FZ ALU181 inst up counter clock q 3 0 lpm counter0 inst1 OCTAL LATCHES D 8 1 G OENQ 8 1 74373b inst2 OCTAL LATCHES D 8 1 G OENQ 8 1 74373b inst3 NOT inst4 GND 选择端高电平作用数据 M H M L 算术操作 S3 S2 S1 S0逻辑功能Cn H 无进位 Cn L 有进位 0 0 0 0AF AF 1加AF 0 0 0 1BAF BAF 加 1 BAF 0 0 1 0BAF BAF BAF 0 0 1 1 0 F减 1 2 的补码 F0 F 0 1 0 0ABF BAAF加 加 1BAAF加 0 1 0 1BF 加 BAF BA 0 1 1 0 BAF 1减减BAF BAF减 0 1 1 1BAF 1减BAF BAF 1 0 0 0BAF ABAF加 加 1ABAF加 1 0 0 1BAF BAF加 加 1BAF加 1 0 1 0BF ABBAF 加 加 1ABBAF加 1 0 1 1ABF 1减ABF ABF 1 1 0 01 F AAF加 1加加AAF 1 1 0 1BAF ABAF 加 加ABAF 加 1 1 1 1 0BAF ABAF 加 加ABAF 加 1 1 1 1 1AF 1减AF AF ALU 算术逻辑功能 三 三 实验任务实验任务 1 按原理图所示 在此验证性示例中用 A0 B1 键 3 产生锁存信号 将 IN 7 0 的 8 位数据进入对应的 8 位数据锁存器中 即首先使 A0 B1 键 3 0 用键 2 键 1 分 别向 A 7 0 置数 55H 这时在数码管 2 1 上显示输入的数据 55H 然后用键 3 输入高 电平 1 再用键 2 键 1 分别向 B 7 0 置数 AAH 这时在数码管 4 3 上显示输入的数据 AAH 这时表示在图中的两个 8 位数据锁存器 lpm dff 锁存器中分别被锁入了加数 55H 和被加数 AAH 2 设定键 8 为低电平 即 M 0 允许算术操作 键 6 控制时钟 SCLK 可设置表 4 1 的 S 3 0 0 F 现连续按动键 6 设置操作方式选择 S 3 0 9 加法操作 使数码管 8 显示 9 以验证 ALU 的算术运算功能 当键 7 设置 cn 0 最低位无进位 时 数码管 7 6 5 0FF 55H AAH 0FFH 当键 7 设置 cn 1 最低位有进位 时 数码管 7 6 5 100 55H AAH 1 100H 3 若设定键 8 为高电平 即 M 1 键 KEY6 控制时钟 SCLK 设置 S 3 0 0 F KEY7 设置 cn 0 或 cn 1 验证 ALU 的逻辑运算功能 并记录实验数据 4 验证 ALU181 的算术运算和逻辑运算功能 下表给定了寄存器 DRl A 7 0 和 DR2 B 7 0 的数据 十六进制 要求根据此数据对照逻辑功能表所得的理论值 要求课前完 成 与实验结果值进行比较 均采用正逻辑 0 四 四 实验过程实验过程 1 设计 ALU 元件 在 Quartus II 环境下 用文本输入编辑器 Text Editor 输入 ALU181 VHD 算术逻辑单元文件 编译 VHDL 文件 并将 ALU181 VHD 文件 例 4 1 制作成一个可调用的原理图元件 2 以原理图方式建立顶层文件工程 选择图形方式 根据图 4 50 输入实验电路图 从 Quartus II 的基本元件库中将各元件调入图形编辑窗口 连线 添加输入输出引脚 将所设计的原理图图形文件 ALU bdf 保存到原先建立的文件夹中 将当前文件设置成 工程文件 以后的操作就都是对当前工程文件进行的 3 器件选择 选择 Cyclone 系列 在 Devices 中选择器件 EP1C6QC240C8 编译 引脚 锁定 再编译 引脚锁定后需要再次进行编译 才能将锁定信息确定下来 同时生成芯片 编程 配置所需要的各种文件 4 芯片编程 Programming 也可以直接选择光盘中的示例 打开编程窗口 将配置文 件 ALU sof 下载进 GW48 系列现代计算机组成原理系统中的 FPGA 中 5 选择实验系统的电路模式是 NO 0 验证 ALU 的运算器的算术运算和逻辑运算功能 根据表 4 1 用按键输入数据 A 7 0 和 B 7 0 并设置 S 3 0 M CN 验证 ALU 运算 器的算术运算和逻辑运算功能 记录实验数据 五 五 仿真波形图及分析仿真波形图及分析 1 对输入进行仿真 如下图所示 分别对 IN 7 0 进行赋值 同时设定计数器的值 2 对输出结果进行仿真 0 500ns 时 CN 设为 0 可看出的值为 0FFH 500 1000ns 时 CN 的 值设为 1 可看出 F 的值为 100H 六 六 实验结果实验结果 1 按照实验任务 1 2 的要求 验证了 ALU 的算术运算功能 2 ALU 实验数据表 算术运算 M 0 S3 S2 S1 S0A 7 0 B 7 0 cn 0 无进位 cn 1 有进位 逻辑运算 M 1 0000AA55 F AA 55 F AB 55 F AA 1AA 0001AA55 F FF FF F 100 100 F 00 00 0010AA55 F 154 155 F 155 156 F 55 AA 0011AA55 F 1FF 00 F 0 1FF F 0 00 0100FF01 F 1FD 1FD F 1FE 1FE F FE 1FE 0101FF01 F 1FE 1FD F 1FF 1FE F FE 1FE 0110FF01 F FE FD F FD FE F FE FE 0111FF01 F 1FD 1FF F 1FC FD F FE FE 1000FF01 F 100 100 F 101 101 F 01 00 1001FF01 F 100 100 F 101 101 F 01 101 1010FF01 F 1FE 00 F 1FF 00 F 01 101 1011FF01 F 01 01 F 00 00 F 01 01 11005501 F FF 1FE F AB 1FF F 1 01 11015501 F AB AA F AC AB F FE 1FF 11105501 F 1A8 54 F 1A9 55 F 56 55 11115501 F 55 55 F 54 54 F 55 55 表 2 5 种常用的算术与逻辑运算 操作S3 S2 S1 S0MCNDR1DR2运算关系及结果显示CN4 逻辑乘10111 66FFDR1 DR2 DR2 66 0 传送10101 6666DR1 DR2 66 0 按位加01101 6666DR1 DR2 DR2 100 0 取反00001 6600 DR2 99 1 DR1 加 10000016699 DR2 1 DR2 67 0 实验二实验二 一 一 实验内容实验内容 LPM ROM 以及 LPM RAM 实验 二 二 实验原理实验原理 a a LPM ROMLPM ROM ALTERA 的 FPGA 中有许多可调用的 LPM Library Parameterized Modules 参数化 的模块库 可构成如 lpm rom lpm ram io lpm fifo lpm ram dq 的存储器结构 CPU 中的重要部件 如 RAM ROM 可直接调用他们构成 因此在 FPGA 中利用嵌入式阵 列块 EAB 可以构成各种结构的存储器 lpm ROM 是其中的一种 lpm ROM 有 5 组信号 地址信号 address 数据信号 q 时钟信号 inclock outclock 允许信号 memenable 其参数都是可以设定的 由于 ROM 是只读存储器 所以它的数据口是单向 的输出端口 ROM 中的数据是在对 FPGA 现场配置时 通过配置文件一起写入存储单元 的 图 3 1 1 中的 lpm ROM 有 3 组信号 inclk 输入时钟脉冲 q 23 0 lpm ROM 的 24 位数据输出端 a 5 0 lpm ROM 的 6 位读出地址 如下图所示 实验中主要应掌握以下三方面的内容 lpm ROM 的参数设置 lpm ROM 中数据的写入 即 LPM FILE 初始化文件的编写 lpm ROM 的实际应用 在 GW48 CP 实验台上的调试方法 PIN 1 PIN 2 PIN 3 PIN 4 PIN 6 PIN 7 VCC a 5 0 INPUT PIN 240 VCC clk INPUT PIN 21 PIN 41 PIN 128 PIN 132 PIN 133 PIN 134 PIN 135 PIN 136 PIN 137 PIN 138 PIN 139 PIN 140 PIN 141 PIN 158 PIN 160 PIN 159 PIN 161 PIN 162 PIN 163 PIN 164 PIN 165 PIN 166 PIN 167 PIN 168 q 23 0 OUTPUT address 5 0 clock q 23 0 rom00 inst b LPM RAM 在 FPGA 中利用嵌入式阵列块 EAB 可以构成存储器 lpm ram dp 的结构如下图所示 R W 读 写控制端 高电平时进行读操作 低电平时进行写操作 CLK 读 写时钟脉冲 DATA 7 0 RAM dp 的 8 位数据输入端 A 7 0 RAM 的读出和写入地址 Q 7 0 RAM dp 的 8 位数据输出端 VCC r w INPUT VCC clk0 INPUT VCC d 7 0 INPUT VCC a 7 0 INPUT q 7 0 OUTPUT data 7 0 wren address 7 0 clock q 7 0 ram00 inst PIN 173 PIN 1 PIN 2 PIN 3 PIN 4 PIN 6 PIN 7 PIN 8 PIN 12 PIN 169 PIN 233 PIN 234 PIN 235 PIN 236 PIN 237 PIN 238 PIN 239 PIN 240 PIN 21 PIN 41 PIN 128 PIN 132 PIN 133 PIN 134 PIN 135 PIN 136 三 三 实验过程实验过程 1 1 LPM ROMLPM ROM 1 1 在 MAX PLUS II 环境下 用图形编辑 Graphic Editer 进入 max2lib mega lpm 元件库 调用 lpm rom 元件 设置地址总线宽度 address 和数据总线宽度 q 并 添加输入 输出引脚 2 2 在设置 lpm rom 数据参数选择项 lpm file 的对应窗口中 用键盘输入 lpm ROM 配置文件的路径 3 3 用初始化存储器编辑窗口编辑 lpm ROM 配置文件 文件名 mif 原理图输入完 成后 打开仿真器窗口 Simulator 选择 Initialize 菜单中的 Initialize Memory 选项 并在此编辑窗口中完成 ROM 数据的编辑 然后按 Export File 键 将文件以 mif 后缀存盘 2 2 LPM RAMLPM RAM 1 在 MAX PLUS II 环境下 按原理图输入电路图 并进行编译 引脚锁定 FPGA 配 置 2 通过 K1 K2 输入 RAM 数据 K3 K4 输入存储器的地址 K5 R W 读 写控 制端 高电平时进行读操作 低电平时进行写操作 K6 CLK 产生读 写时钟脉冲 向存储器中 1 号地址 2 号地址中分别写入 2 个不同的数据 然后读出这 2 个数据 观察是否与写入的数据相同 3 在 simulator 窗口下 用 Initialize Memory 功能对 lpm ram dp 数据初始化设 置 并完成第 2 项功能 四 四 仿真波形图及分析仿真波形图及分析 1 LPM ROM 的波形图 输入地址后输出数据 2 LPM RAM 的波形图 当 r w 位为 1 时 向 RAM 中写入数据 当 r w 位为 0 时 从 RAM 中读出数据 五 五 问题分析问题分析 1 如何建立 lpm ram dq 的数据初始化 如何导入和存储 lpm ram dq 参数文件 生成 一个 mif 文件 并导入以上的 RAM 中 答 在设置 lpm ram dq 数据参数选择项 mem init 的对应窗口中 输入 lpm RAM 配置 文件的路径 ram mif 然后设置在系统 ROM RAM 读写允许 以便能对 FPGA 中的 RAM 在系统读写 用初始化存储器编辑窗口编辑 lpm RAM 配置文件 文件名 mif File New Other File Memory Initialization File ram mif 2 使用 VHDL 文件作为顶层文件 学习 lpm ram dq 的 VHDL 语言的文本设计方法 实验三 一 一 实验内容实验内容 微控制器实验 1 节拍脉冲发生器时序电路实验 二 二 实验原理实验原理 计算机之所以能够按照人们事先规定的顺序进行一系列的操作或运算 就是因为 它的控制部分能够按一定的先后顺序正确地发出一系列相应的控制信号 这就要求计 算机必须有时序电路 控制信号就是根据时序信号产生的 时序电路由 4 个 D 触发器组成 可产生 4 个等间隔的时序信号 T1 T4 其中 CLK 为时钟信号 由实验台右边的方波信号源 CLOCK0 提供 可产生 1Hz 12MHz 的方波 信号频率 学生可根据实验自行选择信号频率 当 RST1 为低电平时 T1 输出为 1 而 T2 T3 T4 输出为 0 当 RST1 输入为一个负脉冲 T1 T4 将在 CLK1 的输入脉 冲作用下 周期性地轮流输出正脉冲 机器进入连续运行状态 EXEC 各电路的实 验原理图如下 VCC CLK1 INPUT VCC RST1 INPUT T1 OUTPUT T2 OUTPUT T3 OUTPUT T4 OUTPUT CLRN D PRN Q DFF inst CLRN D PRN Q DFF inst1 CLRN D PRN Q DFF inst2 CLRN D PRN Q DFF inst3 PIN 28 PIN 173 PIN 137 PIN 138 PIN 139 PIN 140 图图 1 连续节拍发生电路设计 连续节拍发生电路设计 VCC RST1 INPUT VCC CLK1 INPUT T1 OUTPUT T2 OUTPUT T3 OUTPUT T4 OUTPUT CLRN D PRN Q DFF inst CLRN D PRN Q DFF inst1 CLRN D PRN Q DFF inst2 CLRN D PRN Q DFF inst3 CLRN D PRN Q DFF inst4 NOR4 inst5 OR2 inst6 PIN 28 PIN 173 PIN 137 PIN 138 PIN 139 PIN 140 图图 2 单步节拍发生电路设计 单步节拍发生电路设计 VCC CLK1 INPUT VCC RST1 INPUT T1 OUTPUT T2 OUTPUT T3 OUTPUT T4 OUTPUT CLRN D PRN Q DFF inst CLRN D PRN Q DFF inst1 CLRN D PRN Q DFF inst2 CLRN D PRN Q DFF inst3 CLRN D PRN Q DFF inst4 MULTIPLEXER S B A Y 21mux inst5 MULTIPLEXER S B A Y 21mux inst6 OR2 inst7 GND NOR3 inst12 NOR4 inst13 PIN 28 PIN 173 PIN 137 PIN 138 PIN 139 PIN 140 图图 3 单步 单步 连续节拍发生电路设计连续节拍发生电路设计 三 三 实验任务实验任务 1 连续节拍发生电路连续节拍发生电路 Clock0 4Hz 发光管分别显示 T1 T2 T3 T4 的输出电平 2 单步节拍发生电路单步节拍发生电路 CLK1 时钟输入信号 可以选择实验台上 clock0 为 1Hz 2MHz RST1 复位控制信号 低电平有效 在单步方式下 每当 RST 由低电平转为高电平时 输出一组 T1 T2 T3 T4 节拍信 号 3 单步单步 连续节拍发生电路连续节拍发生电路 S0 21MUX 的 2 选 1 控制端 当 S0 0 时 Y A 单步方式 当 S0 1 时 Y B 连 续方式 CLK1 时钟输入信号 可以选择实验台上 clock0 为 1Hz 2MHz RST 复位控制信号 低电平有效 在单步方式下 每当 RST 由低电平转为高电平时 输出一组 T1 T2 T3 T4 节 拍信号 在连续方式下 当 RST 由低电平转为高电平时 连续输出周期性 T1 T2 T3 T4 节拍信号 四 四 实验过程实验过程 1 1 将实验电路与输入开关组和 LED 输出显示电路连接 2 2 按 KEY8 键 产生 CLK 信号 3 3 观察在不同的 CLK 信号下所产生的节拍 显示 LED 的亮灭 4 4 重复步骤 2 3 产生不同的节拍脉冲 观察显示灯 LED 的亮灭 5 5 绘出相应的时序波形图 五 五 仿真波形图及分析仿真波形图及分析 1 连续节拍发生电路波形图如下 当 连续节拍发生电路波形图如下 当 RST 为为 1 时 输出连续的波形时 输出连续的波形 2 单步节拍发生电路波形图如下 当 单步节拍发生电路波形图如下 当 RST 为为 1 时 输出一次波形时 输出一次波形 3 单步单步 连续节拍发生电路波形图如下 连续节拍发生电路波形图如下 SO 可调节当前状态可调节当前状态 六 六 问题分析问题分析 1 1 单步运行与连续运行有何区别 它们各自的使用环境怎样 答 单步运行只运行固定时钟周期的信号 而连续运行会一直发生信号 2 如何实现单步 连续运行工作方式的切换 S0 21MUX 的 2 选 1 控制端 当 S0 0 时 Y A 单步方式 当 S0 1 时 Y B 连续方式 实验四 一 一 实验内容实验内容 微控制器实验 2 程序计数器 PC 与地址寄存器 AR 实验 二 二 实验原理实验原理 1 采用总线多路开关连接方式采用总线多路开关连接方式 地址单元主要由三部分组成 地址寄存器和多路开关 程序计数器 PC 用以指出下 条指令在主存中的存放地址 CPU 正是根据 PC 的内容去主存取得指令的 因程序中指令是 顺序执行的 所以 PC 有自增功能 程序计数器提供下一条程序指令的地址 在 T4 时钟脉 冲的作用下具有自动加 1 的功能 在 LDPC 信号的作用下可以预置计数器的初值 当 LDPC 为高电平时 计数器装入 data 端输入的数据 aclr 是计数器的清 0 端 高电平有效 使计数器清零 aclr 为低电平时 允许计数器正常计数 地址寄存器 AR 74273 锁存访问内存 SRAM 的地址 地址来自两个渠道 一是程序 计数器 PC 的输出 通常是下一条指令的地址 二是来自于内部数据总线的数据 通常是被 访问操作数的地址 为了实现对两路输入数据的切换 在 FPGA 的内部通过总线多路开关 BUSMUX 进行选择 LDAR 与选择控制端 sel 相连接 当 LDAR 为低电平 即选择控制端 sel 为 0 时 选择程序计数器的输出 当 LDAR 为高电平时 即选择控制端 sel 为 1 时 选择内部数据总线的数据 原理图如下所示 VCC CLK1 INPUT VCC RST1 INPUT T1 OUTPUT T2 OUTPUT T3 OUTPUT T4 OUTPUT CLRN D PRN Q DFF inst CLRN D PRN Q DFF inst1 CLRN D PRN Q DFF inst2 CLRN D PRN Q DFF inst3 CLRN D PRN Q DFF inst4 MULTIPLEXER S B A Y 21mux inst5 MULTIPLEXER S B A Y 21mux inst6 OR2 inst7 GND NOR3 inst12 NOR4 inst13 PIN 28 PIN 173 PIN 137 PIN 138 PIN 139 PIN 140 2 采用 采用 PC AR 通过三态门通过三态门 lpm bustri 与与 BUS 联接联接 程序计数器 PC 与地址寄存器 AR 结合 产生对存储器 RAM 进行读写的地址 地址单 元主要有三部分组成 程序计数器 PC 地址寄存器 AR 和三态门 lpm bustri 电路图如下 所示 程序计数器 PC 用于指出下一条指令在内存中的地址 CPU 正是根据 PC 的内容去 存取指令的 程序计数器提供下一条指令的地址 在时钟脉冲的作用下具有自动加一的功 能 在 LOAD PC 的作用下可以预置计数器的初值 当 LOAD PC 为高电平时 计数器装 入 data 的输入数据 RST 时计数器的清零端 高电平有效 RST 为低电平时 允许计数器 正常计数 VCC load pc INPUT VCC rst INPUT VCC pc clk INPUT VCC input b INPUT VCC pc b INPUT VCC ar clk INPUT VCC data 7 0 INPUT pc 7 0 OUTPUT ar 7 0 OUTPUT up counter sload sset data 7 0 clock q 7 0 lpm counter2 inst data 7 0 gate q 7 0 lpm latch1 inst1 88 lpm bustri1 inst2 88 lpm bustri1 inst3 PIN 240 PIN 238 PIN 237 PIN 239 PIN 236 PIN 235 PIN 13 PIN 14 PIN 15 PIN 16 PIN 17 PIN 18 PIN 19 PIN 20 PIN 1 PIN 2 PIN 3 PIN 4 PIN 6 PIN 7 PIN 8 PIN 12 PIN 21 PIN 41 PIN 128 PIN 132 PIN 133 PIN 134 PIN 135 PIN 136 三 三 实验任务与过程实验任务与过程 a 采用总线多路开关连接方式采用总线多路开关连接方式 1 按照 图 3 2 1 程序计数器原理图编辑 输入电路 实验台选择 NO 1 工作模式 对输入原理图进行编译 引脚锁定 并下载到实验台 2 通过 B 7 0 设置程序计数器的预加载数据 当 LDPC 0 时 观察程序计数器自动 加 1 的功能 当 LDPC 1 时 观察程序计数器加载输出情况 3 分别观察当 LDAR 0 时和 LDAR 1 时 地址寄存器 AR 的输入和输出情况 2 采用采用 PC AR 通过三态门通过三态门 lpm bustri 与与 BUS 联接联接 按照原理图的编辑输入电路 采用 LPM 库中的元件 lpm latch 锁存器 lpm counter 计数器计数器和 lpm bustri 总线三态输出缓冲器进行设计 采用 NO 0 工作模式 按照以上方式完成实验 四 四 仿真波形图及分析仿真波形图及分析 1 采用总线多路开关连接方式的实验波形图如下所示 采用总线多路开关连接方式的实验波形图如下所示 2 采用采用 PC AR 通过三态门通过三态门 lpm bustri 与与 BUS 联接的实验波形图如下所示 联接的实验波形图如下所示 五 五 问题分析问题分析 1 说明顺序执行程序时 将 PC 值送 AR 从 AR 所指向的 RAM 地址单元取出指令的操作 步骤 答 PC AR AR Adress Bus Adress Bus RAM PC 1 2 执行分支转移程序与执行顺序程序是 对地址单元的操作有何区别 答 对三态门的控制不同 分支转移时打开数据总线与 AR 间的三态门 关闭 PC 与 AR 间 的三态门 顺序执行打开 PC 与 AR 间的三态门 关闭数据总线与 AR 间的三态门 3 请说明实现 PC 值自动加 1 指向下一个地址单元的操作过程 给出控制信号的时序波 形 答 如下图所示 4 请说明在图 4 66 电路中 在实行程序转移时 从 DATA 7 0 输入转移地址送 PC 和 AR AR 输出新的转移地址的操作过程 答 LOAD PC 输入高电平 INPUT B 输入高电平 PC B 输入低电平 PC CLK 输入一 个时钟脉冲 DATA 中的数据读入 PC 和 AR 中 同时 AR 输出新的地址 5 要实现程序的分支转移 需对图 4 64 中的程序计数器 PC 和地址寄存器 AR 做怎样的操 作 应改变那些控制信号 请给出控制信号的时序波形 并在实验台上实现程序分支和程 序转移功能 答 LDPC 和 LDAR 均输入为高电平 从 T4 输入时钟脉冲 则 PC 和 AR 均读入总线上的 数据 时序波形如下 6 从存储器读取运算数据和执行取指令操作时 地址控制单元完成的操作有何不同 请给 出对存储器进行读写操作时控制信号的时序波形 并在实验台上完成对地址单元的相应操 作 答 存取运算数据时 PC 计数器加一 AR 从 PC 中读取数据 取指令操作时 PC 和 AR 均从总线中读取数据 读取运算数据的波形图 读取指令的波形图 实验五实验五 一 一 实验内容实验内容 微控制器实验 3 微控制器组成实验 二 二 实验原理实验原理 微程序控制器的组成下图所示 其中控制存储器由 FPGA 中的 LPM ROM 构成 输出 24 位控制信号 在 24 位控制信号中 微命令信号 18 位 微地址信号 6 位 在不判别测试的 情况下 T2 时刻打入微地址寄存器 uA 的内容即为下一条微指令地址 当 T4 时刻进行测试 判别时 转移逻辑满足条件后输出的负脉冲通过强制端将某一触发器置为 1 状态 完成 地址修改 微程序控制器中的微控制代码可以通过对 FPGA 中 LPM ROM 的配置进行输入 通过编 辑 LPM ROM mif 文件修改微控制代码 详细情况可参考实验二中 FPGA 中 LPM ROM 的配置方 法 微程序控制电路 三 三 实验任务实验任务 1 微指令控制电路 微指令控制电路 输入下图所示的微指令控制电路 并按照图中说明锁定引脚 编译 下载到实验系统 中 选择实验台工作模式 No 0 记录当 FC FZ 变化时 微指令的变化 对输出微地址控制型号的影响 观察 记录当微指令的变化时 SE 6 1 的变化 观察记录分值控制信号有效时 微指令的变化对输出微地址控制信号的影响 观察记录 SWA SWB 对输出微地址信号的影响 VCC FC INPUT VCC FZ INPUT VCC T4 INPUT VCC P 1 INPUT VCC P 2 INPUT VCC P 3 INPUT VCC P 4 INPUT VCC SWA INPUT VCC SWB INPUT VCC I 7 INPUT VCC I 6 INPUT VCC I 5 INPUT VCC I 4 INPUT VCC I 3 INPUT VCC I 2 INPUT SE 5 OUTPUT SE 4 OUTPUT SE 3 OUTPUT SE 2 OUTPUT SE 1 OUTPUT SE 6 OUTPUT NAND3 inst NAND3 inst1 NAND3 inst2 AND3 inst3 AND3 inst4 AND3 inst5 AND3 inst6 AND3 inst7 AND3 inst8 NOR3 inst9 NOR3 inst10 NOT inst11 NOT inst12 NOT inst13 NOT inst14 OR2 inst15 VCC PIN 239 PIN 240 PIN 238 PIN 237 PIN 236 PIN 235 PIN 234 PIN 233 PIN 4 PIN 3 PIN 2 PIN 1 PIN 6 PIN 7 PIN 173 PIN 18 PIN 17 PIN 16 PIN 15 PIN 14 PIN 13 2 微地址寄存器控制电路 微地址寄存器控制电路 输入下图所示微地址寄存器电路 并按照图中说明锁定引脚 编译 下载到实验系统中 选择实验台工作模式 No 0 观察记录微地址寄存器在正常工作情况下 由 d 6 1 输入 q 6 1 输出的微地址实验数 据 以及在发生控制 转移情况下 当 s6 s1 信号有效时 q 6 1 输出的微地址发生变化的 情况 VCC S 1 INPUT VCC d 1 INPUT VCC S 2 INPUT VCC d 2 INPUT VCC S 3 INPUT VCC d 3 INPUT VCC S 4 INPUT VCC d 4 INPUT VCC S 5 INPUT VCC d 5 INPUT VCC S 6 INPUT VCC d 6 INPUT VCC CLR INPUT VCC clk INPUT q 1 OUTPUT q 2 OUTPUT q 3 OUTPUT q 4 OUTPUT q 5 OUTPUT q 6 OUTPUT PRN CLRN D ENA Q DFFE inst PRN CLRN D ENA Q DFFE inst1 PRN CLRN D ENA Q DFFE inst2 PRN CLRN D ENA Q DFFE inst3 PRN CLRN D ENA Q DFFE inst4 PRN CLRN D ENA Q DFFE inst5 VCC PIN 173 PIN 169 PIN 238 PIN 237 PIN 236 PIN 235 PIN 234 PIN 233 PIN 134 PIN 133 PIN 132 PIN 128 PIN 41 PIN 21 PIN 7 PIN 6 PIN 4 PIN 3 PIN 2 PIN 1 3 数据寄存器译码控制实验 数据寄存器译码控制实验 按下图所示输入电路图 编译 下载到实验系统中 选择工作模式 NO 5 观察 记录微指令信号中的变化 控制信号 LDRI RD B RJ B 的变化 对输出选通信 号 LDR0 LDR2 R0 B R2 Bde 影响 VCC I0 INPUT VCC I1 INPUT VCC RD B INPUT VCC I2 INPUT VCC I3 INPUT VCC RJ B INPUT VCC RS B INPUT VCC LDRI INPUT LDR0 OUTPUT LDR1 OUTPUT LDR2 OUTPUT R0 B OUTPUT R1 B OUTPUT R2 B OUTPUT 2 4 DECODER A1 A2 B1 B2 G1N G2N Y10N Y20N Y13N Y12N Y11N Y21N Y22N Y23N 74139 inst 2 4 DECODER A1 A2 B1 B2 G1N G2N Y10N Y20N Y13N Y12N Y11N Y21N Y22N Y23N 74139 inst1 AND2 inst2 AND2 inst3 AND2 inst4 AND2 inst5 NOT inst6 NOT inst7 NOT inst8 NOT inst9 PIN 233 PIN 234 PIN 235 PIN 236 PIN 237 PIN 238 PIN 239 PIN 240 PIN 7 PIN 8 PIN 12 PIN 1 PIN 2 PIN 3 四 四 仿真波形图及分析仿真波形图及分析 1 微指令控制电路的实验波形图如下 微指令控制电路的实验波形图如下 2 微地址寄存器控制电路实验波形图如下 微地址寄存器控制电路实验波形图如下 3 数据寄存器译码控制实验波形图如下 数据寄存器译码控制实验波形图如下 五 五 问题分析问题分析 1 在微指令控制电路中 当 FC 或 FZ 有效时 对其输出 S 6 1 有何影响 对微地址 寄存器的输出会有何影响 如何实现对程序的控制 转移功能 答 只有当 FC 或 FZ 有效时 S 5 才会受收 T4 和 P 3 的控制 而 S 5 有效为 1 时 触 发器才会工作 微地址寄存器的输出 Q 5 才可能为 1 控制转移靠 P 4 1 来控制 2 说明 P 4 1 信号分别有效时 对微指令控制电路中输出 S 6 1 有何影响 答 P 1 有效时 S 3 和 S 4 为 1 P 1 P 2 P 4 都为 1 时 S 1 与 S 2 为 1 P 3 有效时 S 5 为 1 3 当控制信号 SWA SWB 取不同的值时 对微指令控制电路中输出 S 6 1 有何影 响 答 当两项取 00 时 S 1 S 2 不受 P 4 的影响 当两项取 01 时 S 1 不受 P 4 的影响 当两项取 10 时 S 2 不受 P 4 的影响 当两项取 11 时 对 S 1 S 2 不影响 实验总结实验总结 通过这五次实验我初步了解了计算机各部件的工作原理对 Quartes 软件的 使用也更加熟练 实验过程中出现的问题通过与同组者的交流和老师的帮助得 到了妥善解决 最终圆满的完成了全部试验 感谢老师的悉心指导与殷切关怀 MMX 指令实验部分 指令实验部分 一一 实验题目实验题目 使用MMX指令 完成图片的淡入淡出效果 并与不使用MMX的 普通淡入淡出进行比较 二二 实验分析实验分析 图片是由一个个像素组成 对照片的每个像素逐一处理 就可达 到渐变效果 常用的渐变公式为 Pixel C Pixel A Pixel B fade Pixel B 等价的公式为 Pixel C Pixel A fade Pixel B 1 fade 其中fade为渐变因子 当fade从1到0逐渐改变时 就可产生渐变效果 MMX指令是为高速处理多媒体数据而设计的一组汇编指令 它 提供了8个64位寄存器 像素的格式为BGR 分别为蓝色 绿色和红色 其值域为0到 255 三三 实验代码实验代码 本实验中在 visual C 6 0 平台上编写MFC应用程序 通过比较 采用C 内联汇编方式调用的MMX指令和调用API对图片像素逐个 处理方法的处理效率 学习体会提高数据处理速度的方法 主要代码如下 1 未使用MMX 技术的代码如下 本程序采用的是像素描点的方 法 一共225针 分十次扫描完毕 实现的淡入淡出效果 MMX1View cpp implementation of the CMMX1View class CMMX1View CMMX1View TODO add construction code here HBITMAP hBitmap HBITMAP LoadImage NULL T 1 bmp IMAGE BITMAP 0 0 LR CREATEDIB SECTION LR DEFAULTSIZE LR LOADFROMFILE this m Bitmap Attach hBitmap BITMAP BM this m Bitmap GetBitmap 目标图像 HBITMAP tarhBitmap HBITMAP LoadImage NULL T 4 bmp IMAGE BITMAP 0 0 LR CREATEDI BSECTION LR DEFAULTSIZE LR LOADFROMFILE this m tarBitmap Attach tarhBitmap BITMAP BM2 this m tarBitmap GetBitmap this m newptr new BYTE BM bmWidth BM bmHeight 3 this m newptr2 new BYTE BM bmWidth BM bmHeight 3 BYTE temp BYTE BM bmBits BYTE temp2 BYTE BM2 bmBits if this m newptr NULL return BYTE pSrc NULL BYTE pDes NULL BYTE pSrc2 NULL BYTE pDes2 NULL for int h 0 h BM bmHeight h for int w 0 wm newptr w 3 h BM bmWidthBytes 按位复制 memcpy pDes pSrc 3 pSrc2 temp2 w 3 h BM bmWidthBytes pDes2 this m newptr2 w 3 h BM bmWidthBytes 按位复制 memcpy pDes2 pSrc2 3 this m BM bmBitsPixel BM bmBitsPixel this m BM bmHeight BM bmHeight this m BM bmPlanes BM bmPlanes this m BM bmType BM bmType this m BM bmWidth BM bmWidth this m BM bmWidthBytes BM bmWidthBytes CMMX1View drawing void CMMX1View OnDraw CDC pDC CMMX1Doc pDoc GetDocument ASSERT VALID pDoc TODO add draw code for native data here BITMAP BM this m Bitmap GetBitmap BITMAP BM2 this m tarBitmap GetBitmap CDC MemDC MemDC CreateCompatibleDC NULL BYTE pSrc NULL BYTE pDes NULL BYTE pSrc2 NULL BYTE pDes2 NULL CString count for int fade 0 fade 250 fade 10 for int h 0 h BM bmHeight h Ax 1 x B A B x B for int w 0 w1 w 3 pSrc BYTE BM bmBits w 3 h BM bmWidthBytes pSrc2 BYTE BM2 bmBits w 3 h BM2 bmWidthBytes int blue int pSrc int green int pSrc 1 int red int pSrc 2 int tarblue int pSrc2 int targreen int pSrc2 1 int tarred int pSrc2 2 int realblue blue tarblue float fade 255 0 tarblue int realred red tarred float fade 255 0 tarred int realgreen green targreen float fade 255 0 targreen pDC SetPixel w BM bmHeight h RGB realred realgreen realblue count Format d fade pDC TextOut 800 100 count CMMX1View printing ifdef DEBUG 2 使用MMX技术的代码如下 CMMX3View CMMX3View CMMX3View TODO add construction code here HBITMAP hBitmap HBITMAP LoadImage NULL T 1 bmp IMAGE BITMAP 0 0 LR CREATEDIB SECTION LR DEFAULTSIZE LR LOADFROMFILE this m bitmap Attach hBitmap HBITMAP tarhBitmap HBITMAP LoadImage NULL T 4 bmp IMAGE BITMAP 0 0 LR CREATEDI BSECTION LR DEFAULTSIZE LR LOADFROMFILE this m tarbitmap Attach tarhBitmap BITMAP BM this m bitmap GetBitmap BITMAP BM2 this m tarbitmap GetBitmap this m newptr new BYTE BM bmWidth BM bmHeight 3 this m newptr2 new BYTE BM bmWidth BM bmHeight 3 BYTE temp BYTE BM bmBits BYTE temp2 BYTE BM2 bmBi

温馨提示

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

评论

0/150

提交评论