计算机工程
COMPUTER ENGINEERING 
1999年 第25卷 第5期 Vol.25 No.5 1999



高速计算机开发系统断点板的研制
程咏梅 王备战
摘要 介绍了一种高速计算机软硬件开发系统断点功能板（BPB）的设计。BPB可提供实时灵活的定位断点功能。
关键词 断点板 高速计算机 仿真器
The Study of High Speed Computer Development System Break Point Board Design
Cheng Yongmei Wang Beizhan
（Department of Aulomatic Control，Northwestem Polytechnical University Xian710072）
[Abstract]In this paper，design of a high speed computer development system break point board（BPB）is introduced。BPB possesses real time and agile location break point function
[Key words]Break point board；High speed computer；Emulator
　　高速计算机受应用环境的限制，它在可靠性，功耗，体积及重量等方面都有严格的要求。它是一台总线对外，缺乏对外交流手段的封闭式机器。在标准模块整机应用系统的研制和开发过程中，要想缩短研制周期，提高研制效率，就必须有强有力的工具—软硬件开发系统的支持。而开发系统中的断点板是整个系统设计的一个难点。它可以通过对目标机实行非屏蔽中断，对被调试的仿真程序提供实时灵活的定位断点，使断点可以设置在每一个总线周期；对跟踪板提供启动跟踪和停止跟踪的信号，以便调机人员观察所需的目标机总线上的信号，以及提供硬件调试用的同步信号等。
1 开发系统概述
　　高速计算机开发系统主要由以下3大部分组成(如图1)：

图1 开发系统结构图
　　(1)宿主机，采用DEC公司以VAX/VMS4.0以上操作系统支持下的VAX系列机。
　　(2)仿真器，主要由6块功能板组成，即控制板COB，断点板BPB，跟踪板TRB，接口板IFB，双总线母板ML-BUS，目标机接口板EMB。COB的CPU芯片为Intel 8086。
　　(3)目标机—高速计算机。
　　宿主机和仿真器之间通过RS-232串行口联接，仿真器L'--BUS连接到目标机上。仿真器上的功能板COB、BPB、TRB、IFB，插到双总线母板ML-BUS上，按照目标机标准插件设计的目标机接口板EMB，插在目标机箱中，它通过3条60蕊扁平电缆与双总线母板ML-BUS相连，通过这3条60蕊扁平电缆线的信号是L'--Bus(即准L--Bus)。这里主要介绍断点板(BPB)的设计特点以及实现。
2 BPB的结构、功能以及工作原理
　　BPB是仿真器的主要功能板之一，在系统中由两块BPB组成4个事件，它可以使目标机在连续工作中，通过对每一事件相应条件的设置(包括地址，数据/指令，控制/状态，外部逻辑)，对每一事件相应的4个条件的逻辑组合设置，对每一事件发生次数的设置，以及对4个事件与相应事件发生次数逻辑组合设置，来达到对目标机实行非屏蔽中断，对跟踪板提供启动跟踪和停止跟踪的信号，提供硬件调试用的同步信号等。每一块BPB板主要由6个部分组成，它们是：输入输出信号的驱动电路；BPB特征码的产生；事件条件的产生；组成事件的条件的逻辑组合；事件计数器；事件及其相应事件计数的逻辑组合和激活信号电路，它的功能框图如图2，下面分别叙述。

图2 BPB功能框图
2.1 输入、输出信号的驱动电路
　　这部分主要由74F244，74F245单向，双向驱动器组成。所有输入、输出信号通过驱动，可以使信号提高驱动能力，改善信号的性能。为了说明问题，分以下7个部分叙述。
　　(1) 对8086来的数据信号控制 把断点板安排在8086地址的6000～7000段内。数据线用74F245驱动，它的使能信号是段号和口地址00F8(00F8由IFB生成，用来形成BPB的特征码)一起控制。
　　(2) 对8086来的地址信号控制 用命令态有效控制驱动地址信号的74F244的使能端，此时CPU的地址总线对BPB开放。
　　(3) 对8086来的控制信号的控制 8086的控制信号只有在6000～7000段内才对BPB有效，所以用段信号控制74F244的使能端。
　　(4) 对接口板IFB来的信号的控制 接口板(IFB)来的信号有2个(运行态)，(命令态)，通过单向驱动器输入，常开，不受控制。受禁止存储器信号DISMEN的控制，这样可使目标机上的用户程序断点与仿真器的程序不发生冲突。
　　(5) 对来自目标机接口板(或仿真板EMB)的信号的控制 EMB的信号通过驱动器时由运行态信号RUN控制。
　　(6) 2#，3#事件及其事件计数的输入输出控制 用2块BPB板构成4个事件及事件计数，事件的驱动和逻辑组合在BPB1上完成，BPB2两事件(包括事件计数)通过BPB2输出(常开)，再通过BPB1输入，由RUN控制74F244使能端。
　　(7)触发信号输出电路的控制 4个事件及4个事件计数组合产生的8个触发信号，在RUN的控制下通过74F244输出。
2.2 BPB特征码的产生
　　特征码电路由74F373(8位锁存器)及74F138(3-8译码器)组成。由于断点板的部分地址是重叠的，因此8086读写BPB时，必须给出对应部分的特征码。我们对I/O口地址00F8，通过D0-D4组合成32个数，对00F8进行32次I/O写，就可以获得32个特征码，也就对断点板的各个对应部分选通了。实际断点板只用了27个特征码。由于篇幅所限，特征码使用对照表未列出。
2.3 事件条件的产生
　　0号，2号事件由地址、数据/指令、状态/控制、外部逻辑4个条件产生，1号3号事件除外部逻辑外由3个条件产生，这部分主要由4输入2选1锁存器74F298以及64k×1位RAM F1600、8位比较器74F688、74F373组成。这些条件的逻辑组合，产生各种条件下的事件，当用户程序运行时，总线上信号与设置的信号相符合，就形成了事件条件输出。工作原理如下：
　　(1)地址条件的复合
　　对目标机来说，可以对它2MB的地址范围设置断点，其中1MB是数据区，另外1MB是指令区。由于目标机的地址管理分两种情况，有目标机时，逻辑地址的ADR4～ADR15加上扩展地址的8位EADR0～EADR7，以形成20位物理地址。无目标机时逻辑地址ADR0～ADR15就是实际的物理地址。使用的F1600寄存器，只有16位地址线，它只能寄存64kB的地址范围，为了扩大地址范围到2MB，在命令态时，用8086的5位数据线D0～D4对页面簇及D/I条件进行预置，即锁存到74F373内，在运行态，通过74F688与L-BUS来的信号EADR0～EADR3，D/I进行复合(也就是通过比较器进行比较)，如果相同，就产生复合输出，EADR4～EADR7以及ADR4～ADR15这16位地址信号的复合是靠4个74F298及1个F1600来完成的，在命令态时8086对F1600的64kB地址范围内的某单元写入0。由于F1600是1位存储器，因此它通过8086的数据线D0或D4来完成(0号，2号事件用D0，1号，3号事件用D4)，当目标机运行时，L-BUS总线上出现的地址与设置的地址相同，就读出该单元的内容0，这个信号与74F688复合出来的信号相或，就实现了地址的复合，也就产生了地址条件。
　　(2)数据/指令条件的复合
　　在命令态，通过F1600可以对目标机数据/指令在0～FFFF种编码中进行断点设置，用8086的16位地址信号对数据位D1、D5(D1是0号和2号事件，D5是1号和3号事件)进行写操作，即写入0，这样就设置了数据/指令的条件，在运行态，目标机总线上的数据/指令信号如果和8086设置的相同时，就读出对应单元的信号0，这个低电平信号是数据/指令条件的复合信号。
　　(3)控制/状态条件的复合
　　在命令态，用8086的16位地址信号对数据位D2、D6(D2是0号和2号事件，D6是1号和3号事件)进行写0，就完成了该条件的设置。复合时读出0，这个信号就是控制/状态复合信号。
　　(4)外部逻辑条件的复合
　　外部逻辑是用8086的8位地址信号对数据位D3进行写0操作，所以在命令态时，只可以对0～FF种编码的外部逻辑进行断点设置，运行时，当外部逻辑信号与所设置的信号相吻合时，就读出了对应单元的0信号，这个低电平信号就是外部逻辑条件的复合信号。
2.4 组成事件条件的逻辑组合
　　这部分电路主要由74F244和256×9位的RAM F93479组成。对产生事件的4个条件的各种逻辑组合进行设置，以实现对目标机程序运行全过程观察，和别的事件进一步组合，提高触发功能。只需使用F93479的AL0～AL34位地址线和D0位数据线，所以只能对16种组合进行设置，在命令态时，8086通过对F93479的16个单元的D0位设置，设置为0，在运行时，如果4个条件有效组合起来产生的值与设置单元的地址相同，就将该地址单元的内容读出，读出的是低电平，这就实现了事件的复合，事件复合的低电平信号送到下一级组合电路。
2.5 事件计数器
　　事件计数采用的是8位计数器74F593，它是带预置寄存器的二进制计数器。在目标机运行时，通过这一电路来统计每一事件发生的次数。在命令态时，是对74F593进行预置，通过8086对D0～D7这8位进行写操作来实现的，当事件发生时，累加计数加至满时，产生满信号，送下一级组合电路。
2.6 事件，事件重复次数及激活电路
　　这一部分电路由F93479组成。它可以对4个事件及其相应事件计数的逻辑组合进行预置，对8个触发信号进行预置，当预置的条件复合时，激活事先预置好的8个触发信号。断点板的最终目的主要体现在这一部分电路上，设置以上事件的条件，以及事件条件的组合，最终就是要使它对系统产生作用，使用F93479的8位地址线和8位数据线，在命令态，对它的8位地址进行预置，也就是事件及事件计数逻辑组合的预置，并且对它的对应单元的8位数据，按系统需要进行预置，也就是对某地址单元进行写操作，在目标机运行时，当4个事件及其相应的计数的逻辑组合与事先预置的地址相同时，就对该地址单元的内容进行读，8位数据线就按照事先预置的情况，有相应的信号输出，对系统的运行产生了作用，如D0有输出，就产生系统的非屏蔽中断等。8位地址线和8位数据线对应的信号表，由于篇幅所限未列出。
　　以上是仿真器BPB的设计的详细过程，主要的思想是利用F1600和F93479这两种存储器，对存储器的写，就是对条件的设置，对存储设置好单元的读，就是条件的复合。通过BPB，可以对目标机仿真程序进行实时灵活的断点设置，从而为软硬件的调试提供了良好的手段。
*国家重点科研项目
作者简介：程咏梅 女，37岁，博士，主攻高速计算机，并行计算机及并行算法。
作者单位：西北工业大学自动控制系 西安 710072
参考文献
1 航空工业总公司第631所资料室编.高速计算机指令系统结构及硬件资源. 1986
2 杜毅仁，李慕竭编.16位微型计算机.(上、中、下册).上海：上海交通大学出版社，1986
收稿日期：1998-06-12
