扩展8255课程设计

发布 2022-10-04 06:47:28 阅读 7277

2.验收,完成相应的实验报告。

二、程序设计基本原理:

1)实验模型机cpu结构。

1] 运算器单元(alu uint)

运算器单元由以下部分构成:两片74ls181构成了并-串型8位alu;两个8位寄存器dr1和dr2为暂存工作寄存器,保存参数或中间运算结果。alu的s0~s3为运算控制端,cn为最低进位输入,m为状态控制端。

alu的输出通过三态门74ls245连到数据总线上,由alu-b控制该三态门。

2] 寄存器堆单元(reg unit)

该部分由3片8位寄存器r0、r1、r2组成,它们用来保存操作数用中间运算结构等。三个寄存器的输入输出均以连入数据总线,由ldri和rs-b根据机器指令进行选通。

3] 指令寄存器单元(ins unit)

指令寄存器单元中指令寄存器(ir)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由ldir控制其选通。

4] 时序电路单元(state unit)

用于输出连续或单个方波信号,来控制机器的运行。

5] 微控器电路单元(micro-controller unit)

微控器主要用来完成接受机器指令译码器送来的**,使控制转向相应机器指令对应的首条微**程序,对该条机器指令的功能进行解释或执行的工作。由输入的w/r信号控制微**的输出锁存。由程序计数器(pc)和地址寄存器(ar)实现程序的取指功能。

6] 逻辑译码单元(log unit)

用来根据机器指令及相应微**进行译码使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,及工作寄存器r0、r1、r2的选通译码。

7] 主存储器单元(main mem)

用于存储实验中的机器指令。

8] 输入输出单元(input/output device)

输入单元使用八个拨动开关作为输入设备,sw-b控制选通信号。输出单元将输入数据置入锁存器后由两个数码管显示其值。

数据通路框图。

图(1)扩展8255并行口实验。

这个实验的原理图如上图(1)所示。部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。计算机数据通路的控制将由微程序控制器来完成,cpu从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应与一个微程序。

本实验采用4条机器指令:in(输入)、cout(端口写指令)、cin(端口读指令)、jmp(无条件转移)其指令格式如下(前4位为操作码):

助记符机器指令码说明。

in0000 0000外部开关量输入”的开关状态 →r0

cin addr 0010 0000 xxxxxxxx bus→[addr]

cout addr 0011 0000 xxxxxxxx [addr ] bus

jmp addr 0100 0000 xxxxxxxx addr → pc

其中in为单字长(8位),其余为双字长指令,xxxxxxxx为addr对应的二进制地址码:

为了向ram中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

存储器读操作(krd):拨动总清开关clr后,控制台开关swb、swa为“00”时,按start微动开关,可对ram连续手动读操作。

存储器写操作(kwe):拨动总清开关clr后,控制台开关swb、swa为“01”时,按start微动开关,可对ram进行连续手动写入。

启动程序:拨动总清开关clr后,控制台开关swb、swa置为“11”时,按start微动开关,即可转入到第01号“取址”微指令,启动程序运行。

上述三条控制台指令用两个开关swb、swa的状态来设置,其定义如下:

微**定义如下表所示:

a字段b 字段c字段。

其中ua5-ua0 为6位的后续微地址,a、b、c三个译码字段,分别由三个控制位译码出多位。c字段中的p(1)-p(4)是四个测试字位。其功能是根据机器指令及相应微**进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。

b 字段中的 rd-b、r0-b、ri-b、分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号其功能是根据机器指令来进行三个工作寄存r0、r1、r2 的选通译码。a8、a9为控制选通信号,当a8 a9为00时,选通sw-b;为01时,选通ce;为10时,选通led-b;为11时,表示均未选通。s0~s3为运算控制控制信号,cn为进位控制信号,m为状态控制控制信号。

原理如下图(图2),图中 i0~i3 为指令寄存器的第0~3位,ldri打入工作寄存器信号的译码器使能控制位。

当拟定“取指” 微指令时,该微指令的判别测试字段为p(1)测试。由于“取指” 微指令是所有微程序都使用的公用微指令,因此p(1)测试结果出现多路分支。本机用指令寄存器的前4位(ir7-ir4)作为测试条件,出现5路分支,占用5个固定微地址单元。

控制台操作为p(4)测试,它以控制台开关swb、swa作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填。

本系统有两种i/o外部设备,一种是二进制**开关,它作为输入设备(input device);另一种是数码块,它作为输出设备(output device)。输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当写信号(w/r)有效时,将数据打入输出锁存器,驱动数码块显示。

注意:微程序流程图上的单元地址为8进制。)

三、 二进制微**表设计:

1)、基本的设计和实现的程序设计如下:

a、in0000 0000 “外部开关量输入”的开关状态 →r0

b、cin addr 0010 0000 bus→[addr]

c、cout addr 0011 0000 [addr ] bus

d、jmp addr 0100 0000 addr → pc

机器指令程序微指令程序。

p0044m00088105m1eb7ed05

$p01f0m0182ed05m1fb9ed05

p0203m0250c004m20019004

p03e0m0304a004m21018406

p0400m04a0e004m2281db05

p05f0m0506e004m23e48005

p0601m0607a004m24018005

p0708m07a0e004m25a0aa95

p0800m088aed05m2627a004

m098ced05m2728bc05

m0a3ba004m29a0aa95

m0b018005m2a2bb405

m0c3c2004m2b419b95

m0d0ea004m2c2da405

m0e0fb605m2d6eab05 $m0f25ea95m2e2faa0d

m1083ed05m2f30aa05

m1185ed05m3071810d

2019课程设计 程老师

civil iation university of china 航空发动机强度与振动。课程设计报告。姓名。学号。班级。专业。指导教师。2014年11月。题目及要求。题目基于ansys的叶片 轮盘强度与振动分析。1 模型。图1 叶片 轮盘模型如右图所示,相关参数如下 等厚度轮盘,厚度为0.025m,...

2019课程设计

面向对象 课程设计2011 1 要求 1 分小组完成课程设计,每小组2人,每个小组一个小组长。2 每个小组独立完成课程设计。3 采纳面向对象方法进行分析 设计 编程,用uml建模语言 在rational rose或visio等可视化建模工具进行建模。2 提交内容 1 每个阶段结束要提交相应的模型 文...

2课程设计

商务谈判课程设计。1 设计理念。以岗位能力培养为课程设计的出发点。根据本校市场营销专业工学结合人才培养模式的要求,在与企业专家协商 后共同制定了 校内实训 校外顶岗实习 校企联合培养 的培养方案。本课程能力培养的主要目标为 市场营销调研能力 推销策划能力 谈判沟通能力 和 应用写作能力 课程教学突出...