计算机组成实验报告

来源:公共英语 发布时间:2020-12-08 点击:

 计 算 机 组 成 原 理

  实 验 报 告 实 验 报 告

  姓名:

  班级:

 学号:

 2.1 总线设计实验

 【实验目的】

 一、熟悉触发器的用法

 二、熟悉总线单部件写和多部件读的功能特性。

 【实验内容】

 一、熟悉触发器用法,能够对触发器进行读写 二、在触发器的基础上,利用统一时序实现“总线写”和“统一读”的功能

 【实验步骤】

 一、熟悉触发器的用法,能够对触发器进行读写(本实验主要讲述 D 触发器,对于其他类型的触发器,其原理是类似的)

 1、为本设计实验建立一个专门文件夹。

 2、双击桌面上 Multimedia Logic 的图标,即新建一个文档。

 3、选择元器件 在默认的条件下,文档区域会出现一个可以移动的工具箱。通过单击工具箱中的工具,即选定相应的工具,然后在文档中单击,即可以把相应的工具放置在文档中单击的位置。最后,按照下面的原理框图绘制逻辑电路图。

 4、存盘 File→Save As,将已经设计好的逻辑电路图保存到刚才建立的文件夹中,其扩展名为.lgi。

  5、运行

  在运行的过程中,通过拨动开关实现 0 或 1 的锁存。

 二、在触发器的基础上,利用统一时序实现“总线写”和“统一读” 1、为本设计实验建立一个专门文件夹。

 2、双击桌面上 Multimedia Logic 的图标,即新建一个文档。

 3、选择元器件 在默认的条件下,文档区域会出现一个可以移动的工具箱。通过单击工具箱中的工具,即选定相应的工具,然后在文档中单击,即可以把相应的工具放置在文档中单击的位置。最后,按照下面的原理框图绘制逻辑电路图。

 D开关触发器CP开关LED显示触发器CP开关LED显示触发器LED显示触发器LED显示CP开关开关开关开关开关

 4、存盘 File→Save As,将已经设计好的逻辑电路图保存到刚才建立的文件夹中,其扩展名为.lgi。

  5、运行

  在运行的过程中,通过拨动开关实现单个部件总线写操作和多个部件总线读操作。

 【实验报告

 一、MML 环境下绘制的原理图 1.1 触发器原理图(D 触发器)

 1.2“总线写”和“统一读”

  二、记录实验数据 2.1 触发器 D CP Q Q’ 0 ↑ 0 1 1 ↑ 0 0

  2.2“总线写”和“统一读”

 实现“总线写”操作的开关波动序列为:

 1、 在总线上写入逻辑“1”, 先将开关 C1 置 1,在将开关 C2 置 1,最后将三态门开关 C3 置 1,此时,总线上便写入了逻辑“1”;

  2、 在总线上写入逻辑“0”, 先将开关 C1 置 0,在将开关 C2 置 1,最后将三态门开关 C3 置 1,此时,总线上便写入了逻辑“0”。

  实现“统一读”操作的开关波动序列为:

 将总线上的信号读入到触发器 D1 中:

 将开关 C4 置 1;

 将总线上的信号读入到触发器 D2 和 D3 中:

 将开关 C7 置 1;

 将触发器 D1 的输出信号写入总线中:

 将开关 C3 置 0,再将对应的三态门开关 C5 置 1,以免总线会有不同的输入信号。

 将触发器 D2 和 D3 的输出信号写入总线:

 同上

  2.2 存储器设计实验

  【实验目的】

 一、熟悉 MML 的运行环境,并利用本软件完成相关的电路设计。

 二、熟悉存储器的用法 三、熟悉 ROM 和 RAM 的功能特性

 【实验内容】

 【实验内容】

 一、利用 Memory 部件构造 ROM

 二、利用 Memory 部件构造 RAM

  【实验步骤】

 由于一些通用的步骤在 2.1 节总线设计实验中已经有提到,这里不再详述。这里主要讲解一些在设计过程中比较重要的过程,以及给出重要步骤中一些原理框图。

 一、利用 Memory,开关和显示器构造 MAR 和 MDR 及其输入与输出

  上图给出了 MAR 和 MDR 的框图,在构造 MAR 和 MDR 的过程中,将地址输入端开关置零,数据输入端开关用 8 个开关进行控制,而读写控制端开关用 1 个开关进行控制。Memory 的输出对于 MAR 和 MDR 而言,其连接方式是不同的。对于 MAR,Memory的输出是与 RAM 或 ROM 的地址输入端相连;对于 MDR,Memory 的输出是与 RAM 的数据输入端相连。为了能够显示 Memory 的输出结果,其输出端与 RAM 或 ROM 连接的同时,也与 8 段 LED 相连。

 二、利用 Memory 部件构造 ROM 和 RAM,并且实现读写功能 对于利用 Memory 部件构造 ROM,将 ROM 的数据输入端和读写控制端置零,地址输入端与 MAR 的输出信号相连,其输出信号连接 8 段 LED 灯。下图给出了 ROM 的逻辑框图,根据逻辑框图,画出其电路原理图。

 对于利用 Memory 部件构造 RAM,将 RAM 的数据输入端与 MDR 的输出信号相连,地址输入端与 MAR 的输出信号相连,用开关连接其读写控制端,其输出用 8 端 LED灯显示。下图给出了 RAM 的逻辑框图,根据逻辑框图,画出其电路原理图。

 三、利用数据文件对存储器内容进行初始化的步骤

 由于在设计这些器件时,都用到了 Memory 这个最基本的器件,而对于 Memory这个器件,必须利用数据文本对其进行初始化。对于设计 MAR 和 MDR 器件,由于Memory 器件的地址输入端的输入信号不变,我们就在其数据文本中写入“00”,这样便可在运行之初,使 MAR 和 MDR 输出为“00”。而对于 ROM 和 RAM 器件,由于 Memory器件的地址输入端的输入信号会改变,同时为了能够更加清楚地看到自己的实验结果,因此我们在 MAR 和 MDR 的数据文本中写入“00”~“FF”,这样,我们就能根据其地址输入端的输入信号判断其输出是否正确。

 【实验报告】

 一、在 MML 环境下绘制的原理图 1.1 MAR 原理图

 实现 MAR 写操作的开关波动序列为:

 由于我们在 MAR 的数据文本中写入的是“00”,因此在运行之初,MAR 的输出信号为“00”。你可以将 MAR 的数据输入端的输入信号任意设置一个值,比如“FF”,即数据输入端的所有开关都置 1。再将 MAR 读写控制端开关置 1,此时,“FF”已经输入到 MAR 中地址为 0 的空间中,即“FF”替代了最初的“00”,但并没有通过输出端进行显示。最后将读写控制端信号置 0,即将 MAR 中地址为 0 的内容输出,此时,MAR 的输出显示为“FF”

 1.2 MDR 原理图

  实现 MDR 写操作的开关波动序列为:

 实现 MDR 写操作的开关波动序列为:由于我们在 MDR 的数据文本中写入的是“00”,因此在运行之初,MDR 的输出信号为“00”。你可以将 MDR 的数据输入端的输入信号任意设置一个值,比如“FF”,即数据输入端的所有开关都置 1。再将MAR 读写控制端开关置 1,此时,“FF”已经输入到 MDR 中地址为 0 的空间中,即“FF”替代了最初的“00”,但并没有通过输出端进行显示。最后将读写控制端信号置 0,即将 MDR 中地址为 0 的内容输出,此时,MDR 的输出显示为“FF”。

 1.3 ROM 原理图

  实现 ROM 读操作的开关波动序列为:对于 ROM 读操作,我们要先得到 ROM 的地址,才能从 ROM 中相应地址读出对应的数据。然而,怎么得到 ROM 的地址呢?我们是用 MAR 的输出信号给出 ROM 的地址的。因此,我们先在 MAR 的数据输入端的开关C1 给出一个输入信号,再将 MAR 的读写控制端从低电平换到高电平,再换到低电平,此时,MAR 数据输入端的信号已经通过 MAR 显示在其输出端了。由于 ROM 读写控制

 端始终为 0,因此,当 MAR 的输出信号改变时,此时,便将 ROM 中地址为 MAR 输出信号的内容进行输出。最后,将 MDR 读写控制端开关 C2 从低电平换到高电平,再换到低电平,便将相应的数值写入 MDR 并通过 8 位 LED 灯进行显示。

 1.4 RAM 原理图

  实现 RAM 写操作的开关波动序列为:要实现 RAM 写操作,需要按照以下步骤进行操作:1、拨动 MAR 的数据输入端的开关给出任意一个值,比如“00000010”;2、拨动 MAR 读写控制端开关 C1,使其从低电平变到高电平,再变到低电平,此时,MAR的输出信号显示为“02”;3、由于 RAM 读写控制端开关 C3 的初始状态为低电平,且由于 RAM 的数据文本为“00”~“FF”,此时,便将 RAM 中地址为“02”位的内容进行输出,即 RAM 的输出信号为“02”;4、在 MDR 的数据输入端的开关中任意输入一个值,为了能够更好的体现 RAM 的功能,此时不要将输入设置为“00000000”或者“00000010”,这里我们假定输入为“00000011”;5、拨动 MDR 读写控制端开关C2,使其从低电平变到高电平,再变到低电平,此时,MDR 的输出信号显示为“03”;6、最后拨动 RAM 读写控制端开关 C3,使其从低电平变到高电平,再变到低电平,此时,便将数值“03”写入了 RAM 中地址“02”位中,其输出结果为“03”。

 2.3 IO 设计实验

 2.3 IO 设计实验

  【实验目的】

 1、熟悉 MML 的运行环境,利用本软件完成相应的电路设计。

 2、熟悉输入设备和输出设备。

 3、在输入设备和输出设备的基础上,完成 I/O 设备和主机交换信息的其中一个控制方式,这里主要完成程序查询方式设计,中断方式在综合实验里面设计。

 【实验内容】

 利用 MML 的各种 IO 部件,实现程序查询方式相应电路

 【实验步骤】

 【实验步骤】

 一、 I/O 设计实验的总体结构 在设计 I/O 实验时,我们用开关信号控制译码器的地址线,进而控制译码器的输出信号。在这个实验中,我们假定当译码器输出信号为“1011”时(在这个实验中,我们将其设为“2”),对外设进行清零;当译码器输出信号为“0111”时(在这个实验中,我们将其设为“3”),让外设进行工作;当译码器输出信号为“1101”时(在这个实验中,我们将其设为“1”),将外设的末位写入数据总线;当译码器输出信号为“1110”时(在这个实验中,我们将其设为“0”),将外设的所有位写入数据总线。下图为 I/O 设计实验总体结构的原理框图,根据此原理框图,设计出相应的电路图。

 二、利用计数器构造外设

  二、利用计数器构造外设

 由于采用程序查询方式实现主机和 I/O 设备交换信息,要求 I/O 接口内设置一个能反映 I/O 设备是否准备就绪的状态标记,CPU 通过对此标记的检测,可得知 I/O设备的准备情况。由于计数器的输出端有一个溢出信号,可以作为该设备是否准备就绪的状态标记,因此,我们利用计数器来构造外设。由于计数器本身没有时钟信

 号,因此我们利用振荡器在计数器外部形成一个时钟信号,但由于振荡器高低电平存在时间太短,因此我们要对其功能特性进行设置,在这里我们将其高低电平值均设为 10000000。由于计数器涉及到清零和计数功能,因此需要将译码器的输出信号“2”和“3”,经过一定的逻辑关系连接到计数器的时钟信号端。将计数器的置位端接 0,将译码器的清零信号“2”在经过非门之后连接到计数器的复位端。下图是计数器构造外设的原理框图,根据原理框图,设计相应的电路。

 三、状态触发器的实现

  三、状态触发器的实现

 在设计状态触发器时,由于要使 D 触发器保持在高电平状态(清零时除外),而对于清零信号“2”,当其为低电平时,执行清零功能;当其为高电平时,清零功能无效。因此,将清零信号“2”与 D 触发器的 D 端想连接。而对于 D 触发器的时钟信号,由于计数器溢出信号 C2 对 D 触发器产生作用,因此溢出信号 C2 是 D 触发器时钟信号的一个输入;同时,由于清零功能有效时,也需要将 D 触发器清零,所以,清零信号“2”是 D 触发器时钟信号的另一个输入。下图是状态触发器实现的原理框图,根据原理框图,设计相应的电路。

 四、数据缓冲寄存器实现

 四、数据缓冲寄存器实现

 数据寄存缓冲器是用器件 Memory 来构造的。由于其只是实现数据缓冲作用,因此,将该器件的地址输入端接地,并将其数据文本写为“00”。由于计数器溢出时,计数器的输出信号显示为“00”,为了数据缓冲寄存器的输出能有所改变,因此,将计数器输出信号接非门后,再与数据缓冲寄存器的数据输入端相连。至于数据缓冲寄存器的读写控制端,其与溢出信号 C2 相连,这样当计数器溢出信号从高电平变成低电平时,计数器输出信号取反之后会通过数据缓冲寄存器进行输出。数据寄存器的输出与 8 端 LED 灯相连。下图是数据缓冲寄存器的原理框图,根据原理框图,设计相应的电路。

 五、地址,命令译码实现 五、地址,命令译码实现 对于译码器,其主要功能就是产生相应的控制信号。将译码器的使能端接地,其输入端与 2 个开关相连接。译码器的输出端产生控制信号“0”~“3”,为了能更加清楚的看到控制信号的值,因此,将其输出端与控制信号连接的同时,并用 LED灯显示。在此需要主要注意,与开关信号对应的那个控制信号为低电平,其余控制信号为高电平。

  【实验报告】

 一、根据上述实验步骤,画出相应的电路图。

 二、根据上述电路图实现查询方式的开关波动序列:

 要实现查询方式,首先必须对相关器件进行清零,即拨动开关“10”,对应的控制信号“2”为低电平,其余为高电平,便能实现清零功能;然后让设备进行工作,即拨动开关“11”,对应的控制信号“3”为低电平,其余为高电平,计数器便开始计数;接下来让计数器的末位写入到数据总线,并经 LED 灯进行显示,此时,需拨动开关“01”,对应的控制信号“1”为低电平,其余为高电平,数据缓冲寄存器的末尾在经过数据总线之后显示在 LED 灯;最后,将数据缓冲器的所有位通过数据总线显示在 LED 上,此时,需拨动开关至“00”,对应的控制信号“0”为低电平,其余为高电平,数据缓冲器的所有位经过数据总线通过 LED 进行显示。如果要重复进行类似的工作的,只需按照“2”“3”“1”“0”的顺序依次执行即可。

 2.4 运算器实验

  【实验目的】

 一、熟悉 MML 的运行环境,并利用本软件完成相关的电路设计。

 二、熟悉运算器的用法

 【实验内容】

 利用 MML 提供的运算器,构造相应电路做实验,实现逻辑运算功能

 【实验步骤】

 一、构造基本电路 由于一些通用的步骤在之前的实验设计中已经有涉及,这里不再详述。在这里主要给出与运算器有关的原理框图,然后根据原理框图设计相应的电路。

 在画原理框图之前,必须对 ALU 器件进行熟悉,了解它每个接口的作用,这样才能在设计电路时得心应手。下图是关于运算器 ALU 的原理框图。在该图中,两个小键盘是运来控制 ALU 的两个输入端,选择器通过控制 ALU 的控制端来使 ALU 进行不同的运算。至于来自低位的进位,溢出位,LED 显示,由于其比较简单,这里不再介绍。在设计电路时,要注意 ALU 运算的范围,尽量防止溢出现象的发生。

 小键盘LED显示ALU小键盘LED显示选择器来自低位的进位LED显示溢出位

 二、实现 AH + BH,AH - BH,AH * BH,AH / BH, AH = BH, AH < BH, AH << BH, AH >> BH 二、实现 AH + BH,AH - BH,AH * BH,AH / BH, AH = BH, AH < BH, AH << BH, AH >> BH

 在 ALU 的控制端有 3 位的控制信号输入,通过调整这些控制信号“000~111”,使 ALU 分别实现加,减,乘,除,比较是否相等,比较大小,左移和右移的功能。

 当 ALU 的控制端 S 为“000”时,实现 AH + BH;当 ALU 的控制端 S 为“001”时,实现 AH - BH;当 ALU 的控制端 S 为“010”时,实现 AH * BH;当 ALU 的控制端 S 为“011”时,实现AH / BH;当 ALU 的控制端 S 为“100”时,验证 AH = BH 是否成立;当 ALU 的控制端 S 为“101”时,验证 AH < BH 是否成立;当 ALU 的控制端 S 为“110”时,实现 AH << BH;当 ALU 的控制端 S 为“110”时,实现 AH >> BH(这里“A”和“B”是指小键盘上的数值,而不是指十六进制中的 A 和 B)。

 【实验报告】

 根据上面的原理框图,在 MML 中画出所要设计的电路图。

 二、实现 AH + BH,AH - BH,AH * BH,AH / BH, AH = BH, AH < BH, AH << BH, AH >> BH 的键盘和开关波动序列 二、实现 AH + BH,AH - BH,AH * BH,AH / BH, AH = BH, AH < BH, AH << BH, AH >> BH 的键盘和开关波动序列 为了实现 AH+BH 的算术运算,只需将选择器置 0,由于选择器默认值为 0,因此不需要对选择器进行调整,此时,ALU 的控制端为“000”,即执行加法运算。然后在 2 个小键盘上分别输入“A”和“B”,切记,要将来自低位的进位置 0,此时,ALU 的输出显示“15”,即实现了 AH+BH的算术运算。

 为了实现 AH-BH 的算术运算,只需将选择器置 1,即 ALU 的控制端为“001”,执行减法运算。然后在 2 个小键盘上分别输入“B”和“A”(由于小键盘 A 中的数值为被减数,小键盘 B 中的数值为减数,因此为了避免出现错误,小键盘 A 中的数值要比小键盘 B 中数值大),切记,要将来自低位的进位置 0,此时,ALU 的输出显示“01”,即实现了 AH-BH 的算术运算。

 为了实现 AH*BH 的算术运算,只需将选择器置 2,即 ALU 的控制端为“010”,执行乘法

 运算。然后在 2 个小键盘上分别输入“A”和“B”,切记,要将来自低位的进位置 0,此时,ALU的输出显示“6E”,即实现了 AH*BH 的算术运算。

 为了实现 AH/BH 的算术运算,只需将选择器置 3,即 ALU 的控制端为“011”,执行除法运算。由于在 ALU 的输出端只显示商,不显示余数,因此,我们尽量选择 2 个能够整除的数来对 ALU 的除法运算进行验证。比如,在 2 个小键盘上分别输入“6”和“3”,切记,要将来自低位的进位置 0,此时,ALU 的输出显示“02”,即实现了 AH/BH 的算术运算。

 为了实现 AH=BH 的运算(比较是否相等),只需将选择器置 4,即 ALU 的控制端为“100”,执行比较运算。在这里我们分 2 种进行讨论:1、如果小键盘 A 和 B 中的数值相等,则输出结果为“01”;2、如果小键盘 A 和 B 中的数值不相等,则输出结果为“00”。

 为了实现 AH<BH 的运算(比较大小),只需将选择器置 5,即 ALU 的控制端为“101”,执行比较运算。在这里我们分 2 种进行讨论:1、如果小键盘 A 中的数值小于小键盘 B 中的数值,则输出结果为“01”;2、如果小键盘 A 中的数值大于或者等于小键盘 B 中的数值,则输出结果为“00”。

 为了实现 AH<<BH 的运算(左移运算),只需将选择器置 6,即 ALU 的控制端为“110”,执行左移运算。在这里我们分 2 种进行讨论:1、如果左移位数较少,比如小键盘 A 中的数值为“6”,小键盘 B 中的数值为“1”,则没有发生溢出现象,输出显示为“0C”, 结果正确;2、如果左移位数较多,比如小键盘 A 中的数值为“6”,小键盘 B 中的数值为“8”,则发生了溢出现象,输出显示为“00”, 结果不正确。

 为了实现 AH>>BH 的运算(右移运算),只需将选择器置 7,即 ALU 的控制端为“111”,执行右移运算。在这里我们分 2 种进行讨论:1、如果右移位数较少,比如小键盘 A 中的数值为“6”,小键盘 B 中的数值为“1”,则没有发生溢出现象,输出显示为“03”, 结果正确;2、如果右移位数较多,比如小键盘 A 中的数值为“6”,小键盘 B 中的数值为“8”,则发生了溢出现象,输出显示为“00”, 结果不正确。

推荐访问:实验 计算机 报告
上一篇:2021廉政专题教育片观后感心得作文2020
下一篇:2020最新修订《未成年人保护法》学习心得三

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有