龙之梦工作室
LOGO

技术文章


(SCI) Parallel Algorithm for Wireless Data Compression and Encryption   (SCI) Fast Algorithm of Truncated BWT for Data Compression of Sensors   Dr. Qin Jiancheng   龙之梦助力肇庆教育网云计算   Dr. Zhou Yousheng   Dr. Bai Yuan   龙之梦工作室加盟华南理工学术团队   [软件下载] ComZip超级压缩机免费版下载   继续潜行,龙之梦工作室技术研发又一年   [软件交易] “雅典娜”网页密码锁在线购买   [软件交易] Super Prime超级质数机在线购买   [软件交易] ComZip超级压缩机在线购买   [信息安全] “风语者”高强度加密技术   [信息安全] 多层纵深防御体系结构   [合著] 专利:安全事件检测方法及装置  

[原创] ISP技术在计算机组成原理实验仪中的应用(论文摘要)

[ 2007-04-24 15:55:50 ]

  引言/提要:此文获北京邮电大学1999年优秀毕业论文称号,指导老师:白中英。

  关键词:计算机组成原理,实验仪,优秀论文

指导老师:白中英

[原创] 获北京邮电大学1999年优秀毕业论文称号

(一) 引言

  ISP技术即在系统编程(In System Programming)技术,是90年代出现的先进硬件技术,可以有效提高硬件设计和生产的效率。
  毕业设计的任务是在原计算机组成原理实验仪的基础上,设计一套功能更强的实验仪。经过3个多月夜以继日的工作,最后圆满完成了任务。

(二) 实验仪的指令系统

表9 机器指令系统
名称 类型 助记符 功能 指令格式
加法 运算指令 ADD Rd,Rs Rd + Rs -> Rd 0 0 0 0 RS1 RS0 RD1 RD0
减法 运算指令 SUB Rd,Rs Rd - Rs -> Rd 0 0 0 1 RS1 RS0 RD1 RD0
乘法 运算指令 MUL Rd,Rs Rd * Rs -> Rd 0 0 1 0 RS1 RS0 RD1 RD0
逻辑与 运算指令 AND Rd,Rs Rd & Rs -> Rd 0 0 1 1 RS1 RS0 RD1 RD0
存数 访内指令 STA Rd,[Rs] Rd -> [Rs] 0 1 0 0 RS1 RS0 RD1 RD0
取数 访内指令 LDA Rd,[Rs] [Rs] -> Rd 0 1 0 1 RS1 RS0 RD1 RD0
无条件转移 转移指令 JMP D D -> PC 1 0 0 0 D3 D2 D1 D0
条件转移 转移指令 JC D 若 C=1 则 PC + D -> PC 1 0 0 1 D3 D2 D1 D0
停机 停机指令 STP 等待QD信号 0 1 1 0 x x x x
中断返回 中断指令 IRET 返回继续运行 1 0 1 0 x x x x
开关中断 中断指令 INSC 中断屏蔽/允许 1 0 1 1 x x x x

  由于去掉了乘法器,乘法指令MUL无效。实验仪实际能够支持的机器指令远远不止11条。
注释:IRET、INSC两条指令只在常规微程序控制器中支持,常规组合逻辑控制器和流水控制器不用。

(三) 实验仪的总体设计

模块划分
  分为5大模块。

  1、数据通路部分
  是实验仪器运行的主体部分,同时也是改进最多的部分。

  2、时序信号及中断控制部分
  用于产生时序节拍信号,以及支持中断实验。

  3、输入输出部分
  用一组打码开关和发光二极管作为输入和输出。

  4、微程序控制器部分
  用微程序技术对数据通路进行控制。

  5、扩展部分
  留有许多空的芯片插座,支持ISP技术,是提供给课程设计实验用的。

数据通路部分
  图1是数据通路的原理框图。有两条主要的总线:图中颜色较深的那一条是数据总线,颜色较浅的那条是指令总线。

数据通路示意图

  数据通路所连接的部件包括:
  算术逻辑运算器(ALU)、操作数寄存器(DR1、DR2)、双端口通用寄存器组(RF)、写回缓冲寄存器(ER)、打码开关输入端口(SW)、双端口静态存储器(RAM)、地址寄存器(AR1、AR2)、程序计数器(PC)、中断断点地址寄存器(S)、地址缓冲寄存器(DR4)、机器指令寄存器(IR)。
  为简化控制器的设计,对于边沿触发的信号,都接一个与门,与门的一个输入端留给控制器,另一输入端接一个合适的时序信号(T1、T2、T3或T4)。这样,从控制器输出的控制信号就是统一的电平信号,并且持续时间都是1拍(即1个微指令周期)。
  双端口寄存器组、双端口存储器的使用,有助于并行流水的实现。数据总线、指令总线的分离,可降低并行操作的冲突。多路选择器的使用,提高了部件传送数据的灵活性。如此一来,数据通路就具备了较强的能力,只要有足够强大的控制器,就能胜任包括流水在内的多种工作。

(四) 时序信号、中断控制、输入输出及扩展部分

  从图8可看出这几个部分的大致构成。

时序信号、中断控制及输入输出模块
时序信号部分
  (a)单脉冲电路及(b)连续方波发生器都和原来的一样,(c)时序信号发生器用1片GAL22V10实现,并集成了一个中断控制器,其内部结构由ABEL语言源程序决定。还增加了节拍信号发生器。
  通过控制信号,可实现单拍停机、单指令停机和机器指令STP停机,以满足实验的需要。

中断控制器
  这又是新增加的部件,能处理中断请求,有中断屏蔽功能,从而支持中断实验。它与时序信号部分集成在一个GAL22V10芯片中。

输入输出部分
  图8(d)打码开关作为输入部分。(e)输出显示中,每个指示灯可以显示两个信号。多路选择器承担了驱动发光二极管的任务,做实验时无须考虑指示灯的负载。

扩展部分
  是为课程设计和系统结构实验而准备的,改进最大的地方就是提供了两个芯片的插座,支持ISP技术。
  把扩展部分能够容纳的ISP和低密度芯片(GAL、中规模集成电路等)加起来,其规模超过了原实验仪扩展部分的2倍。既能象原实验仪那样单纯用非ISP的芯片设计,又能全部用ISP芯片,还可以两种芯片配合使用。

(五) 微程序技术方案

  这个微程序控制器仍然采用常规的串行控制方式。对它稍作改动,就能实现流水控制。

微程序的设计
  采用了40位长的微指令字,其中操作控制部分占30位,顺序控制部分占10位。微指令地址长6位,采用断定转移方式。操作控制部分的A、B、C字段使用了编码。
  重要的设计结果是微程序流程图和相应的微指令列表。图中除了机器指令的执行流程,还有控制台操作流程。

控制器硬件组成
  图2是微程序控制器的示意图。微指令寄存器的功能被控制存储器所承担了。精简了长达40位的微指令寄存器,每周期只做1个动作(T1时刻的载入微地址),使得微程序控制器显得简练、干脆。

微程序控制器

(六) ISP技术方案

  组合逻辑控制器因电路复杂,在过去采用中小规模集成电路的情况下,设计、修改和调试都很不方便。使用ISP技术,实现组合逻辑控制器不再显得困难。

控制器的功能
  也采用表9的机器指令系统(除去IRET和INSC),具有控制台操作的功能。跟微程序控制器相比,除了也要有单拍停机和机器指令(STP)停机外,还增加了一个单指令停机。

控制器的设计思路
  针对每个控制信号C,可以列出它的译码函数
    C = f( Im, Mi, Tk, Bj)
  其中Im是机器指令操作码译码器的输出信号,Mi是节拍信号发生器的节拍信号,Tk是时序信号发生器的时序信号,Bj是状态条件判断信号。理论上,只要对所有控制信号都设计出译码函数,组合逻辑控制器的方案也就得到了。

控制流程设计
  设计组合逻辑控制器也可以使用流程图。考虑了如下因素:

组合逻辑控制器

因素一:机器指令的执行流程问题
  把表9的机器指令都设定为4拍。单指令停机的功能可放在时序电路部分,使之四拍一停,而与控制器无关。

因素二:“短”指令的浪费问题
  在时序电路中加入了一个控制信号SKIP的输入端,该信号的作用是使节拍发生器在任意状态下直接跳到最后一拍(W4)。设计控制流程时,在适当位置使SKIP控制信号有效,多余的节拍就可以跳过。这个信号在组合逻辑流水控制器中也有用,因为流水控制器完成一个机器指令不需要4拍。

因素三:控制台操作的问题
  设置一个状态字寄存器ST来记录当前的状态。状态字有2位:ST1和ST0,不同的0、1组合分别代表初始状态、控制台读内存、控制台写内存、程序运行状态。根据ST的不同,执行控制台操作或者机器指令。

电路设计
  电路设计在开发软件上进行。从图4(a)可以看出控制器的组成,(b)是芯片1的原理图,(c)是芯片2的原理图。

译码逻辑设计
  根据流程图列出对应的译码逻辑,编出译码电路1、2的ABEL语言源程序。源程序中的表达式并非最简式,软件会自动进行电路优化。

(七) 流水技术方案

  流水线有取指、执行、写回3个功能段,采用传统的微程序控制器来实现流水效果。其基本思路与水平微指令的并行控制有点相似,而并行程度超越指令周期的范围,但又比不上超长指令字处理机。
  把这种微程序控制的流水,与组合逻辑控制或两者结合控制的流水作对照,考虑通常指令级流水技术的实现需要解决的主要问题:

1、各段争用总线的问题
  实验仪的设计中考虑到了这个问题。数据通路为并行操作时避免冲突留有余地,使实现流水成为了可能。

2、部件之间互通信息、互相等待的问题
  若是组合逻辑参与控制的流水,可在功能段之间设置成对的信号:就绪与请求。单一的微程序控制器则依靠微程序中固有的并行控制指令来驱动流水线的运作。

3、各段工作时序协调一致的问题
  组合逻辑参与的控制,要对时序逻辑电路作适当设计。用微程序控制器的设计,则是尽量把并行的控制信号压缩到1个微指令中,并利用微程序的分支转移来实现不同情况下的处理。

4、中断、程序转移的处理问题
  组合逻辑参与的控制下,转移是通过执行段发信号,使流水线中保存的指令数据作废了。微程序控制器则只要采用非流水的转移指令微程序即可。

  本方案不考虑中断。设计出微程序流水控制器和它的微程序控制流程。流水线的时空图如下,数字表示该时刻所处理的机器指令序号。

周期 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
取指 1   2   3   4   5   6   7   8      
执行   1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8  
写回       1   2   3   4   5   6   7   8

  一条k段的流水线完成n个连续任务的加速比为:
流水线加速比

将k=3代入公式,以1拍为单位时间,我们得到
    S = 2 - 2/(n+1)
  可见,理想情况下,流水线执行指令的速度无限接近于不使用流水线时的两倍。

(八) 微程序方案的调试

  可分为实验仪执行部分的调试和微程序控制器的调试。调试方法等同于使用实验仪进行基本实验,但难度大得多。
  将调试分为局部调试和联合调试两个步骤,虽然碰到千奇百怪的问题,但都是硬件上的,与原理无关。调试中排除的故障仅抽出主要的几例:
1、电路板断路
2、导线裸露部分短路
3、芯片引脚与技术资料不符

(九) ISP方案的调试

  可分为控制器内部连线的调试和外部连线的调试。内部连线的调试用软件中的模拟向量测试工具完成,比微程序控制器的调试还快。为使第二部分的调试进行得顺利,第一部分调试应尽量仔细,即向量测试尽可能详细。
  附录中的程序1、2都包括了译码电路1、2的向量测试部分,另一个向量测试文件主要针对状态字ST。
  从组合逻辑控制器的设计中,可以看出ISP技术确实对设计工作大有帮助。但ISP并非万能,只能分担一些非创造性的任务,而且它也不是十全十美。

  以上介绍了新设计的计算机组成原理实验仪的构造,重点论述了在实验仪上如何用ISP技术设计一个组合逻辑控制器,以及如何用微程序控制的方式实现指令级的标量流水。


附录

图1 数据通路示意图
图2 微程序控制器
图3 微程序指令流程
图4 组合逻辑控制器
图5 组合逻辑控制流程
图6 微程序流水控制器
图7 微程序流水控制器流程
图8 时序信号、中断控制及输入输出模块
图9 时序信号的相互顺序关系
图10 芯片引脚图
图11 IDT7132真值表
图12 MC14580真值表
图A DMA控制器的设计
图B 增强中断控制器与原系统的集成
图C 3种流水控制器设计方式示意
图D 组合逻辑流水控制流程(“执行”功能段)
图E 运算器组成实验
图F 双端口存储器实验
图G 通用寄存器组与ALU实验
图H 数据通路组成实验一:操作数部分
图I 程序计数器组成实验
图J 数据通路组成实验二:指令部分

表1 实验仪各部件的芯片
表2 微程序控制器使用的控制信号微指令
表3 微程序代码16进制数据
表4 组合逻辑控制器使用的控制信号译码逻辑
表5 微程序流水控制器使用的控制信号微指令
表6 组合逻辑流水控制器使用的的控制信号译码逻辑
表7 时序信号、中断控制及输入输出部分的信号名称及其含义
表8 微程序控制器的信号名称及其意义
表9 机器指令系统
表10 数据通路的信号名称及其意义

程序1 常规组合逻辑控制器译码电路1
程序2 常规组合逻辑控制器译码电路2
程序3 组合逻辑流水控制器(“执行”功能段)译码电路1
程序4 组合逻辑流水控制器(“执行”功能段)译码电路2
程序5 组合逻辑流水控制器(“取指”功能段)译码电路

资料1 TIMER模块引脚定义图
资料2 AR1模块引脚定义图
资料3 PC模块引脚定义图
资料4 ALU3模块引脚定义图
资料5 RF模块引脚定义图
资料6 ALU模块引脚定义图

龙之梦
1999.6.11

发表意见   相关搜索   返回主页   关闭窗口
相关文章:
  [合著] 《计算机组成原理题解、题库与实验》实验教材原稿 [2007-04-24]
  [合著] 实验参考 [2007-04-24]
  [合著] 一台模型计算机的设计与调试(四):组合逻辑控制器流水方案 [2007-06-27]
  [合著] 一台模型计算机的设计与调试(三):组合逻辑控制器方案 [2007-06-27]
  [合著] 一台模型计算机的设计与调试(二):微程序控制器流水方案 [2007-06-27]
  [合著] 一台模型计算机的设计与调试(一):微程序控制器方案 [2007-06-27]

最新留言:
  [2014-10-16]
  [2014-10-16]
  [2014-06-04]
  [2014-06-04]
  [2013-12-08]
  [2013-11-29]


从2005年3月18日起
访问本站页面计数器人次
版权所有 © 2005 龙之梦工作室,保留一切权利。
电子邮箱:master@28x28.com , co2288@126.com
相关链接 |