一种计算机组成与系统结构的虚拟实验平台及其实现方法

文档序号:10570147阅读:389来源:国知局
一种计算机组成与系统结构的虚拟实验平台及其实现方法
【专利摘要】本发明公开了本发明提出的一种计算机组成与系统结构的虚拟实验平台,包括:仿真芯片工具箱模块、功能部件设计管理模块、仿真功能部件器件库模块、整机设计管理模块和仿真模型机任务管理模块;仿真芯片工具箱模块用于实现对芯片的设计,其中芯片管理模块可创建、可修改、可添加芯片工具箱配置文件;芯片存储模块可根据芯片工具箱配置文件生成芯片并存储到芯片器件库中。功能部件设计管理模块中包含的生成功能部件设计管理模块可从芯片器件库中调用m个芯片,并根据计算机组成与体系结构把芯片拼接生成功能部件设计配置文件;仿真功能部件器件库模块用于存储通过加载功能部件设计配置文件生成的仿真功能部件。本发明从最小的功能单元芯片着手,实现了虚拟仿真实验平台的逻辑器件库及系统的仿真引擎构建。
【专利说明】
一种计算机组成与系统结构的虚拟实验平台及其实现方法
技术领域
[0001] 本发明涉及计算机的虚拟实验平台技术领域,尤其涉及一种计算机组成与系统结 构的虚拟实验平台及其实现方法。
【背景技术】
[0002] 传统仿真系统平台的设计与实现由于技术开发和课题的限制,现阶段只能模拟计 算机底层架构的一些简单逻辑和实现计算机部分功能部件的原理展现。本系统从可视化设 计方面和计算机底层构架的逻辑功能两方面实现对计算机底层部件的运行现场还原,实现 了虚拟仿真实验平台的逻辑器件库及系统的仿真引擎构建,并通过各逻辑器件实例之间的 通信实现系统部件和整机的组装与重建。
[0003] 研究复杂系统采用两种方法,一是分解,二是聚合。在设计一个复杂有机整体时, 把这个系统分解成多个子系统,每个子系统又可以分解成更小的子系统,直到分解到功能 相对单一的子系统为止,然后实现功能相对单一的子系统的功能;聚合是分解的逆过程,把 某个层次上的若干个子系统组成一个更大的系统。基于以上思路,把计算机分成运算器、控 制器、存储器、输入设备和输出设备等部件,对于这每个部件可以再细分为多个芯片的集合 形式,芯片就是递归分解的边界;设计时首先实现系统芯片功能,并完成这些芯片的通信和 交互,为系统可重用和可重组做准备。
[0004] 本系统的最小功能单元是芯片,从芯片着手设计,每个芯片从两方面进行仿真设 计,一是可视化外观上设计形状,二是从逻辑上设计功能的实现。软件的模块化仿真设计将 系统组件以逻辑边界区分出来,仿真功能器件可以通过边界进行交互重组,实现仿真系统 组件和整机设计架构的可定制性。

【发明内容】

[0005] 基于【背景技术】存在的技术问题,本发明提出了一种计算机组成与系统结构的虚拟 实验平台及其实现方法。
[0006] 本发明中,所述计算机包括:运算器、控制器、存储器、输入设备、输出设备、通用寄 存器、数据寄存器、地址寄存器、指令寄存器、时序脉冲发生器、数据通路。
[0007] 本发明提出的计算机组成与系统结构的虚拟实验平台,包括:仿真芯片工具箱模 块、功能部件设计管理模块、仿真功能部件器件库模块、整机设计管理模块和仿真模型机任 务管理模块;
[0008] 仿真芯片工具箱模块包括:
[0009] 芯片管理模块,用于创建芯片工具箱配置文件,并添加和修改芯片工具箱配置文 件,所述芯片工具箱配置文件包含n个仿真芯片属性,所述仿真芯片属性包括:仿真芯片的 名称、仿真芯片的所属类型、各种引脚名称、引脚数量、引脚坐标属性和实现芯片功能的功 能表,所述引脚名称和所述引脚坐标属性共同定义仿真芯片引脚,所述仿真芯片引脚根据 完成功能的特性可分为数据输入引脚、数据输出引脚、控制信号输入引脚和控制信号输出 引脚;
[0010] 芯片存储模块,包括芯片器件库,用于加载芯片工具箱配置文件,从而生成n个仿 真芯片,并根据芯片工具箱配置文件中n个仿真芯片的所属类型将所述n个仿真芯片分别存 储到所述芯片器件库中;
[0011] 芯片任务管理模块,用于对仿真芯片的数据输入、数据运算和数据输出进行管理, 所述仿真芯片包含芯片事件信息存储模块、芯片事件信息输入模块、芯片事件信息修改模 块、芯片事件信息输出模块和芯片事件信息显示模块,仿真芯片上数据输入引脚用于接收 与其相连的其他仿真芯片上的数据输出引脚中的输出数据,根据芯片属性中的引脚坐标属 性信息接收相应位置的输入数据,由芯片事件信息输入模块获取并存储到芯片事件信息存 储模块中,供芯片事件信息输出模块、芯片事件信息修改模块和芯片事件信息显示模块读 取,仿真芯片上的数据输出引脚用于发送仿真芯片的芯片事件信息输出模块中的数据,根 据芯片属性信息中的引脚坐标属性信息发送相应位置的输出数据;
[0012] 功能部件设计管理模块包括:
[0013] 定义仿真运算器、仿真控制器、仿真存储器、仿真输入设备、仿真输出设备、仿真通 用寄存器、仿真数据寄存器、仿真地址寄存器、仿真指令寄存器和仿真时序脉冲发生器为仿 真功能部件;
[0014] 生成功能部件设计管理模块,根据所述计算机组成与体系结构,从芯片器件库中 调用m个仿真芯片,并将这m个仿真芯片进行拼接,组成一种所述仿真功能部件,生成功能部 件设计配置文件,并设置和保存所述功能部件设计配置文件,所述功能部件设计配置文件 包含仿真功能部件所属类型、所有m个仿真芯片的芯片连接状态属性,其中通过一条多接口 排线将仿真芯片引脚相连的每两个仿真芯片具有一个芯片连接状态属性,每个所述芯片连 接状态属性包含通过多接口排线将仿真芯片引脚相连的两个仿真芯片的名称、各种引脚的 名称、引脚数量、引脚的坐标属性和这两个仿真芯片连接在多接口排线上的起始位置引脚 和多接口排线的占据引脚宽度;
[0015]功能部件存储模块,包含功能部件器件库,用于存储通过加载功能部件设计配置 文件生成的仿真功能部件和仿真功能寄存器,通过加载功能部件设计配置文件获取所述m 个仿真芯片的所述芯片连接状态属性,从而生成仿真功能部件和仿真功能寄存器并按照类 别进行分类存储管理;
[0016] 仿真功能部件任务管理模块,通过加载仿真功能部件设计配置文件生成仿真功能 部件和仿真功能寄存器,并对仿真功能部件和仿真功能寄存器的数据输入、数据处理和数 据输出进行管理,通过依次调用仿真功能部件中包含的各种类型的仿真芯片进行数据处 理,从而实现数据在仿真功能部件上的流动;
[0017] 整机设计管理模块包括:
[0018] 仿真模型机设计管理模块,根据计算机组成与系统结构,从仿真功能部件器件库 中调用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成仿真模型机,并将 组成仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置坐标,以及各仿真 功能部件之间的连接状态属性保存到仿真模型机设计配置文件中;
[0019] 所述该连接状态属性称为功能部件连接状态属性,具体包括由多接口数据通路、 多接口数据通路类型、通过多接口数据通路连接到系统总线上的仿真功能部件或其他多接 口数据通路及其连接的多接口数据通路的接口坐标,所述系统总线即为多接口数据通路的 简单拼接;
[0020] 仿真模型机存储模块,用于存储通过加载仿真模型机设计配置文件生成的仿真模 型机,通过加载仿真模型机设计配置文件,读取组成所述仿真模型机的所有功能部件的类 型、数量以及在工作区中的二维位置坐标,在工作区中生成所有的仿真功能部件,然后根据 各仿真功能部件之间的连接状态属性建立仿真功能部件之间的数据通路连接,将仿真功能 部件构成一个完整的仿真模型机;
[0021] 仿真模型机任务管理模块包括:
[0022] 仿真模型机微指令设计模块,用于设计仿真模型机的机器指令集,所述机器指令 集是指仿真模型机完成数据输入操作、数据输出操作、数据存取操作、数据运算操作、指令 跳转操作等过程的命令集合,使得仿真模型机具备实际应用意义上的完整功能,所述数据 输入操作、数据输出操作、数据存取操作、数据运算操作、指令跳转操作等过程称为机器指 令的执行,将所述机器指令进行顺序排列组合可以使仿真模型机完成一系列数据处理任 务,所述机器指令的顺序排列组合称为机器指令序列;
[0023] 微程序执行控制模块,用于对微指令序列进行功能解析产生控制信号,进而触发 仿真功能部件的接口使能关系,协调各仿真功能部件完成阶段性的数据操作,最终完成相 应微指令的功能;
[0024]其中,仿真芯片工具箱模块、功能部件设计管理模块和整机设计管理模块均运行 于客户机上。
[0025] 优选地,芯片器件库为基本器件库、逻辑门元件库、数字器件库、多接口排线库。
[0026] 优选地,功能部件器件库为仿真功能部件仓库、仿真寄存器仓库、仿真时序脉冲信 号发生器仓库和仿真连接总线仓库。
[0027]优选地,芯片存储模块根据芯片工具箱配置文件中n个芯片的芯片名称、各种引脚 名称、引脚数量、引脚坐标属性和实现芯片功能的功能表生成芯片,根据芯片工具箱配置文 件中n个仿真芯片的所属类型将所述n个仿真芯片分别存储至芯片器件库的分类中,从而完 成芯片器件库的初始化。
[0028]优选地,仿真芯片属性信息包括仿真芯片的名称、仿真芯片的所属类型、各种引脚 的名称、引脚的数量和引脚坐标属性。
[0029]优选地,芯片连接状态属性信息包含通过多接口排线将仿真芯片引脚相连的两个 仿真芯片的名称、各种引脚的名称、引脚数量、引脚的坐标属性和这两个仿真芯片连接在多 接口排线上的起始位置引脚和多接口排线的占据引脚宽度。
[0030]优选地,功能部件连接状态属性信息具体包括由多接口数据通路、多接口数据通 路类型、通过多接口数据通路连接到系统总线上的仿真功能部件或其他多接口数据通路及 其连接的多接口数据通路的接口坐标。
[0031]优选地,所述仿真芯片包含芯片事件信息存储模块、芯片事件信息输入模块、芯片 事件信息修改模块、芯片事件信息输出模块和芯片事件信息显示模块,所述事件包含数据 (data)属性和数据生效剩余时间(remained)属性,所述事件采用二元组(data,remained) 表示,当数据生效剩余时间为0则清除数据,芯片事件信息存储模块中的数据被读取之后, 数据生效剩余时间为0,只有当芯片事件信息存储模块中数据剩余生效时间为0时芯片事件 信息输入模块才能将新的数据写入到芯片事件信息存储模块;
[0032]优选地,所述多接口数据通路类型及其接口坐标定义如下所示:
[0034] 优选地,仿真模型机微指令设计模块中所述数据输入操作、数据输出操作、数据存 取操作、数据运算操作、指令跳转操作的实现是根据控制信号触发数据接口的使能开关的 打开,然后直接读取缓冲区中存储的数据,所述数据输入操作分为如下几步完成:
[0035] S1、如果仿真输入设备的输出端口对应的缓冲区中数据生效剩余时间为0,则将仿 真输入设备的数据输入开关状态status读取到数据输出端口对应的缓冲区中,并设置数据 生效剩余时间为1,用二元组(status,1)表示该仿真输入设备的输入事件,如果缓冲区中数 据生效剩余时间不为〇则进入等待状态,周期性的监测所述数据生效剩余时间,直至该缓冲 区数据生效剩余时间为〇,完成初步的数据读入操作;
[0036] S2、数据成功读入到仿真输入设备的输出端口所对应的缓冲区中,同时将仿真输 入设备的数据输出端口的使能开关打开,如果此时系统总线上缓冲区的数据生效剩余时间 为〇,则仿真输入设备中的输入事件二元组(Status,1)会通过数据输出端口进入系统总线 上的数据缓存中,否则进入等待状态,直至系统总线中缓冲的数据生效剩余时间为〇,同时 将仿真输入设备中的缓冲区数据生效剩余时间减1,并关闭仿真输入设备的输出接口的使 能开关,完成数据从外设读取到系统总线的过程,所述过程由仿真微程序控制器向仿真输 入设备发出的输出端口使能控制信号触发;
[0037] S3、将所述系统总线上的数据缓冲区中的输入时间读取到仿真数据寄存器R0中, 先判断仿真数据寄存器R0中与数据输入接口对应的缓冲区数据剩余时间是否为〇,如果该 仿真数据寄存器的数据剩余时间为〇,打开仿真寄存器数据输入接口的使能开关,将系统总 线上缓冲区的二元组(status,l)读入仿真数据寄存器R0的数据输入对应的数据缓冲区中, 否则进入等待状态,直到读取成功,然后将系统总线上缓冲区数据生效剩余时间减1,然后 关闭仿真数据寄存器的数据输入开关的使能开关关闭,完成最终的数据从仿真输入设备读 取到仿真数据寄存器的过程,所述过程由仿真微程序控制器向仿真数据寄存器的输入接口 使能控制信号触发;
[0038] S4、根据与连接在仿真输入设备的输出接口上的数据通路C1,接口坐标(xl,yl), 数据通路Cl和系统总线相连的接口坐标(x2,y2),与仿真数据寄存器R0相连的数据通路C2 接口坐标(x3,y3),数据通路C2和系统总线相连的接口坐标(x4,y4),就可以确定一条从仿 真输入设备到系统总线,再从系统总线到仿真功能寄存器R0之间的一条数据流动路径: (叉1,71)、(叉2,72)、系统总线、(叉4,74)、(叉3,73);
[0039]优选地,微程序控制模块根据微程序产生控制信号,进而触发仿真功能部件的接 口使能,完成阶段性的数据操作,完成每一阶段的微程序产生的控制信号序列称为微指令 的控制字段,一条机器指令可以分多步完成,就对应多条微指令,微指令的解析采取直接控 制法,二进制的每一位代表仿真功能接口的使能标志,还有指明取出下一跳微指令的地址 字段,称为微指令的下址字段,完成多步功能的多条微指令称为微程序。
[0040]优选地,微程序控制器包含控制存储器、微指令寄存器、微地址寄存器以及微地址 形成部件。
[0041 ]优选地,机器指令集包括多条机器指令;控制存储器具有存储空间的属性,存储空 间由数据缓冲区序列组成,可以用来存储实现所有机器指令的微指令序列,控制存储器的 每一个数据缓冲区在该仿真控制器中具有惟一的地址标识符属性,控制存储器的每个数据 缓冲区用于从该仿真存储器数据输入接口中获得并存储一条微指令,控制存储器的所有数 据缓冲区中存储实现全部机器指令的所有微指令,每条微指令存储在微程序控制器的控制 存储器中,所占用的存储空间具有地址标识符属性和存储空间长度属性,地址标识符属性 为控制存储器的数据缓冲区的编号,所述编号称为微地址,存储空间长度属性为占用控制 存储器的数据缓冲区数量;
[0042]微地址寄存器中存放的是下一条待执行的微指令所在控制存储器中的地址标识 符属性,微地址形成部件用于产生下一条微指令的微地址,并将该微地址存储在所述微地 址寄存器中;微指令寄存器包含若干个数据缓冲区,大小等于一条微指令在控制存储器中 占据存储空间的长度属性,根据微地址查找微程序控制器中存储的微指令的地址标识符属 性,取出该缓冲区内容放到微指令寄存器的数据缓冲区中,具体过程描述如下:
[0043] S1、定义变量i,并初始化i = l;
[0044] S2、从仿真存储器中读取第i条机器指令,如果i = l,则地址形成部件对该机器指 令进行译码,以初始化微地址寄存器,否则直接读取微地址寄存器查找控制存储器获取对 应的微指令;
[0045] S3、将取出的微指令送入微指令寄存器存储,从微程序的控制字段读取二进制bit 位用来产生控制各仿真功能部件接口的使能控制信号,从下址字段读取执行下一跳微指令 的地址并存入微地址寄存器;
[0046] S4、i = i+1,判断微程序是否达到了最后一条微指令,如果是则顺序取出下一条机 器指令转S1直到所有机器指令执行结束,如果未达到最后一条微指令,则转S2执行下一条 微指令;
[0047] 本发明提出的一种计算机组成与系统结构的虚拟实验平台实现方法,其特征在 于,包括以下步骤:
[0048] S1、设置仿真芯片工具箱模块,包含芯片管理模块、芯片存储模块和芯片任务管理 模块,芯片管理模块创建可修改的芯片工具箱配置文件并初始化存入n个仿真芯片的属性 信息,所顺属性信息包括:仿真芯片的名称、仿真芯片的所属类型、各种引脚名称、引脚数 量、引脚坐标属性和实现芯片功能的功能表,芯片存储模块用于加载芯片工具箱配置文件, 从而生成n个仿真芯片,并根据芯片工具箱配置文件中n个仿真芯片的所属类型将所述n个 仿真芯片分别存储到所述芯片器件库中,芯片任务管理模块用于对仿真芯片的数据输入、 数据运算和数据输出进行管理;
[0049] S2、设置功能部件设计管理模块,包含生成功能部件设计管理模块、功能部件存储 模块和仿真功能部件任务管理模块,生成功能部件设计管理模块根据所述计算机组成与体 系结构,从芯片器件库中调用m个仿真芯片,将这m个仿真芯片进行拼接,组成一种所述仿真 功能部件,生成功能部件设计配置文件,并设置和保存所述功能部件设计配置文件,功能部 件存储模块用于存储通过加载功能部件设计配置文件生成的仿真功能部件和仿真功能寄 存器,通过加载功能部件设计配置文件获取所述m个仿真芯片的所述芯片连接状态属性,从 而生成仿真功能部件和仿真功能寄存器并按照类别进行分类存储管理,仿真功能部件任务 管理模块对仿真功能部件和仿真功能寄存器的数据输入、数据处理和数据输出进行管理, 通过依次调用仿真功能部件中包含的各种类型的仿真芯片进行数据处理,从而实现数据在 仿真功能部件上的流动;
[0050] S3、设置整机设计管理模块,包含仿真模型机设计管理模块、仿真模型机存储模块 和仿真模型机任务管理模块,仿真模型机设计管理模块根据计算机组成与系统结构,从仿 真功能部件器件库中调用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成 仿真模型机,并将组成仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置 坐标,以及各仿真功能部件之间的连接状态属性保存到仿真模型机设计配置文件中,仿真 模型机存储模块用于存储通过加载仿真模型机设计配置文件生成的仿真模型机,仿真模型 机任务管理模块包含仿真模型机微指令设计模块和微程序执行控制模块,仿真模型机微指 令设计模块用于设计仿真模型机的机器指令集,微程序执行控制模块用于对微指令序列进 行功能解析产生控制信号,进而触发仿真功能部件的接口使能关系,协调各仿真功能部件 完成阶段性的数据操作,最终完成相应微指令的功能。
[0051] 优选地,仿真功能部件是仿真芯片的集合,具有数据输入、数据运算和数据输出属 性,即具有仿真芯片的属性,即可通过仿真功能部件和仿真芯片按照连接算法进行拼接成 更大的仿真功能部件,因此将组成所述更大的仿真功能部件的单元称为芯片,连接算法按 如下步骤生成仿真功能部件:
[0052] S1、定义变量i,并初始化i = l;
[0053] S2、仿真功能部件器件库模块通过加载功能部件设计配置文件获取第i个仿真芯 片的连接状态提供给第i个仿真芯片的芯片事件信息输入模块;
[0054] S3、第i个仿真芯片的芯片事件信息输入模块根据第i个连接状态获取与自身相连 的匕个仿真芯片,并将lu个仿真芯片的芯片事件信息输出模块的输出信息存入第i个仿真芯 片的芯片事件信息存储模块;
[0055] S4、第i个仿真芯片的芯片事件信息修改模块从该第i个芯片的事件信息存储模块 中读取数据信息并进行处理后,将运算结果再存入芯片事件信息存储模块中;
[0056] S5、第i个仿真芯片的芯片事件信息输出模块从芯片事件信息存储模块中读取运 算结果并作为自身的输出信息;
[0057] S6、将i+1的值赋给i,并判断sum(nl+n2+…+niXm是否成立,若成立,则执行S2, 否则,表示已完成仿真功能部件的生成,其中,ni表示第i个仿真芯片或者仿真功能部件包 含仿真芯片的数量;
[0058]优选地,仿真功能部件具有1个或多个运算数据输入接口,具有1个或多个控制信 号输入接口,具有1个或多个运算数据输出接口,具有与运算数据输入接口、运算数据输出 接口和控制信号输入接口相同数量的数据缓冲区,每个仿真功能部件接口都与一个数据缓 冲区形成一一映射关系,称为缓冲区接口映射关系,通过该缓冲区接口映射关系可以从仿 真功能部件接口找到相对应的数据缓冲区;
[0059] 优选地,数据缓冲区根据存储的数据类型可分为数据输入缓冲区、数据输出缓冲 区和控制信号缓冲区;
[0060] 优选地,仿真数据通路包括1个数据存储缓冲区和n个仿真功能部件接口,其中,n =仿真功能部件的数据输入接口、数据输出接口和控制信号输入接口数量的总和。
[0061 ]优选地,数据交互的依据定义为接口连接交互规则,其包括接口连接交互规则1和 接口连接交互规则2;
[0062]接口连接交互规则1:
[0063] (1)对于每一个通过数据输入接口、数据输出接口和控制信号输入接口连接在数 据通路上的仿真功能部件,其中的每个运算数据输入接口,根据每个运算数据输入接口的 使能开关;
[0064] (2)如果该运算数据输入接口的使能开关为打开状态时,该运算数据输入接口会 根据缓冲区接口映射关系,将系统总线上的缓冲区中的数据二元组复制到运算数据输入接 口所对应的数据输入缓冲区上;
[0065] (3)否则,不执行;
[0066]接口连接交互规则2:
[0067] (1)对于每一个通过数据输入接口、数据输出接口和控制信号输入接口连接在数 据通路上的仿真功能部件,其中的每个运算数据输出接口,会根据运算数据输出接口中的 使能开关;
[0068] (2)如果输出接口的使能开关为打开状态时时,该运算数据输出接口会根据缓冲 区接口映射关系,将运算数据输出接口所对应的数据输出缓冲区上的数据二元组发送到系 统总线上的数据存储缓冲区中;
[0069] (3)否则,不执行。
[0070] 本发明提出的一种计算机组成与系统结构的虚拟实验平台,包括:仿真芯片工具 箱模块、功能部件设计管理模块、整机设计管理模块;计算机包括:运算器、控制器、存储器、 输入设备、输出设备、通用寄存器、数据寄存器、地址寄存器、指令寄存器、时序脉冲发生器、 数据通路。
[0071] 本发明中,仿真芯片工具箱模块用于实现对芯片的设计,其中芯片管理模块可设 置、可修改芯片工具箱配置文件;芯片存储模块可根据芯片工具箱配置文件生成芯片并存 储到芯片器件库中。功能部件设计管理模块中包含的仿真芯片任务管理模块可从芯片器件 库中调用m个芯片,并根据计算机组成与体系结构组合成仿真功能部件。功能部件存储模块 存储通过加载功能部件设计配置文件生成的仿真功能部件;整机设计管理模块包含的仿真 模型机设计管理模块能够从功能部件器件库中调用已经生成的所有的仿真功能部件。整机 设计管理模块包含的仿真模型机存储模块,用于加载模型机设计配置文件获取仿真功能部 件的连接状态,从而生成仿真模型机,仿真模型机任务管理模块可设计仿真模型机的机器 指令集,并通过微程序控制器对微指令序列进行功能解析来完成相应微指令的功能,执行 每一条机器指令,直至完成对所有微指令的执行过程。
[0072] 本发明中,从最小的功能单元芯片着手,从可视化外观上设计方面和从计算机底 层构架的逻辑功能两方面分别对计算机组成与系统结构的虚拟实验平台进行设计和实现, 实现了虚拟仿真实验平台的逻辑器件库及系统的仿真引擎构建,并通过各逻辑器件实例之 间的通信实现系统部件和整机的组装与重建。
【附图说明】
[0073] 图1为一种计算机组成与系统结构的虚拟实验平台的结构框图;
[0074]图2为数据输入操作流程图。
【具体实施方式】
[0075] 如图1所示,图1为本发明提出的一种计算机组成与系统结构的虚拟实验平台的结 构框图。
[0076] 参照图1,本发明提出的一种计算机组成与系统结构的虚拟实验平台,包括:仿真 芯片工具箱模块、功能部件设计管理模块、整机设计管理模块;
[0077]仿真芯片工具箱模块包括:
[0078]芯片管理模块,用于创建芯片工具箱配置文件,并添加和修改芯片工具箱配置文 件,所述芯片工具箱配置文件包含n个仿真芯片属性,所述仿真芯片属性包括:仿真芯片的 名称、仿真芯片的所属类型、各种引脚名称、引脚数量、引脚坐标属性和实现芯片功能的功 能表,所述引脚名称和所述引脚坐标属性共同定义仿真芯片引脚,所述仿真芯片引脚根据 完成功能的特性可分为数据输入引脚、数据输出引脚、控制信号输入引脚和控制信号输出 引脚;
[0079] 芯片存储模块,包括芯片器件库,用于加载芯片工具箱配置文件,从而生成n个仿 真芯片,并根据芯片工具箱配置文件中n个仿真芯片的所属类型将所述n个仿真芯片分别存 储到所述芯片器件库中;
[0080] 芯片任务管理模块,用于对仿真芯片的数据输入、数据运算和数据输出进行管理, 所述仿真芯片包含芯片事件信息存储模块、芯片事件信息输入模块、芯片事件信息修改模 块、芯片事件信息输出模块和芯片事件信息显示模块,仿真芯片上数据输入引脚用于接收 与其相连的其他仿真芯片上的数据输出引脚中的输出数据,根据芯片属性中的引脚坐标属 性信息接收相应位置的输入数据,由芯片事件信息输入模块获取并存储到芯片事件信息存 储模块中,供芯片事件信息输出模块、芯片事件信息修改模块和芯片事件信息显示模块读 取,仿真芯片上的数据输出引脚用于发送仿真芯片的芯片事件信息输出模块中的数据,根 据芯片属性信息中的引脚坐标属性信息发送相应位置的输出数据;
[0081] 功能部件设计管理模块包括:
[0082]定义仿真运算器、仿真控制器、仿真存储器、仿真输入设备、仿真输出设备、仿真通 用寄存器、仿真数据寄存器、仿真地址寄存器、仿真指令寄存器和仿真时序脉冲发生器为仿 真功能部件;
[0083]生成功能部件设计管理模块,根据所述计算机组成与体系结构,从芯片器件库中 调用m个仿真芯片,并将这m个仿真芯片进行拼接,组成一种所述仿真功能部件,生成功能部 件设计配置文件,并设置和保存所述功能部件设计配置文件,所述功能部件设计配置文件 包含仿真功能部件所属类型、所有m个仿真芯片的芯片连接状态属性,其中通过一条多接口 排线将仿真芯片引脚相连的每两个仿真芯片具有一个芯片连接状态属性,每个所述芯片连 接状态属性包含通过多接口排线将仿真芯片引脚相连的两个仿真芯片的名称、各种引脚的 名称、引脚数量、引脚的坐标属性和这两个仿真芯片连接在多接口排线上的起始位置引脚 和多接口排线的占据引脚宽度;
[0084] 功能部件存储模块,包含功能部件器件库,用于存储通过加载功能部件设计配置 文件生成的仿真功能部件和仿真功能寄存器,通过加载功能部件设计配置文件获取所述m 个仿真芯片的所述芯片连接状态属性,从而生成仿真功能部件和仿真功能寄存器并按照类 别进行分类存储管理;
[0085] 仿真功能部件任务管理模块,通过加载仿真功能部件设计配置文件生成仿真功能 部件和仿真功能寄存器,并对仿真功能部件和仿真功能寄存器的数据输入、数据处理和数 据输出进行管理,通过依次调用仿真功能部件中包含的各种类型的仿真芯片进行数据处 理,从而实现数据在仿真功能部件上的流动;
[0086]整机设计管理模块包括:
[0087] 仿真模型机设计管理模块,根据计算机组成与系统结构,从仿真功能部件器件库 中调用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成仿真模型机,并将 组成仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置坐标,以及各仿真 功能部件之间的连接状态属性保存到仿真模型机设计配置文件中;
[0088] 所述该连接状态属性称为功能部件连接状态属性,具体包括由多接口数据通路、 多接口数据通路类型、通过多接口数据通路连接到系统总线上的仿真功能部件或其他多接 口数据通路及其连接的多接口数据通路的接口坐标,所述系统总线即为多接口数据通路的 简单拼接;
[0089] 仿真模型机存储模块,用于存储通过加载仿真模型机设计配置文件生成的仿真模 型机,通过加载仿真模型机设计配置文件,读取组成所述仿真模型机的所有功能部件的类 型、数量以及在工作区中的二维位置坐标,在工作区中生成所有的仿真功能部件,然后根据 各仿真功能部件之间的连接状态属性建立仿真功能部件之间的数据通路连接,将仿真功能 部件构成一个完整的仿真模型机;
[0090] 仿真模型机任务管理模块包括:
[0091] 仿真模型机微指令设计模块,用于设计仿真模型机的机器指令集,所述机器指令 集是指仿真模型机完成数据输入操作、数据输出操作、数据存取操作、数据运算操作、指令 跳转操作等过程的命令集合,使得仿真模型机具备实际应用意义上的完整功能,所述数据 输入操作、数据输出操作、数据存取操作、数据运算操作、指令跳转操作等过程称为机器指 令的执行,将所述机器指令进行顺序排列组合可以使仿真模型机完成一系列数据处理任 务,所述机器指令的顺序排列组合称为机器指令序列;
[0092]微程序执行控制模块,用于对微指令序列进行功能解析产生控制信号,进而触发 仿真功能部件的接口使能关系,协调各仿真功能部件完成阶段性的数据操作,最终完成相 应微指令的功能;
[0093]其中,仿真芯片工具箱模块、功能部件设计管理模块和整机设计管理模块均运行 于客户机上。
[0094]本实施方式中,芯片器件库为基本器件库、逻辑门元件库、数字器件库、多接口排 线库。
[0095]本实施方式中,功能部件器件库为仿真功能部件仓库、仿真寄存器仓库、仿真时序 脉冲信号发生器仓库和仿真连接总线仓库。
[0096]本实施方式中,芯片存储模块根据芯片工具箱配置文件中n个芯片的芯片名称、各 种引脚名称、引脚数量、引脚坐标属性和实现芯片功能的功能表生成芯片,根据芯片工具箱 配置文件中n个仿真芯片的所属类型将所述n个仿真芯片分别存储至芯片器件库的分类中, 从而完成芯片器件库的初始化。
[0097]本实施方式中,仿真芯片属性信息包括仿真芯片的名称、仿真芯片的所属类型、各 种引脚的名称、引脚的数量和引脚坐标属性。
[0098]本实施方式中,芯片连接状态属性信息包含通过多接口排线将仿真芯片引脚相连 的两个仿真芯片的名称、各种引脚的名称、引脚数量、引脚的坐标属性和这两个仿真芯片连 接在多接口排线上的起始位置引脚和多接口排线的占据引脚宽度。
[0099]本实施方式中,功能部件连接状态属性信息具体包括由多接口数据通路、多接口 数据通路类型、通过多接口数据通路连接到系统总线上的仿真功能部件或其他多接口数据 通路及其连接的多接口数据通路的接口坐标。
[0100] 本实施方式中,所述仿真芯片包含芯片事件信息存储模块、芯片事件信息输入模 块、芯片事件信息修改模块、芯片事件信息输出模块和芯片事件信息显示模块,所述事件包 含数据(data)属性和数据生效剩余时间(remained)属性,所述事件采用二元组(data, remained)表示,当数据生效剩余时间为0则清除数据,芯片事件信息存储模块中的数据被 读取之后,数据生效剩余时间为〇,只有当芯片事件信息存储模块中数据剩余生效时间为〇 时芯片事件信息输入模块才能将新的数据写入到芯片事件信息存储模块;
[0101] 本实施方式中,所述多接口数据通路类型及其接口坐标定义如下所示:
[0103] 本实施方式中,仿真模型机微指令设计模块中所述数据输入操作、数据输出操作、 数据存取操作、数据运算操作、指令跳转操作的实现是根据控制信号触发数据接口的使能 开关的打开,然后直接读取缓冲区中存储的数据,所述数据输入操作分为如下几步完成:
[0104] S1、如果仿真输入设备的输出端口对应的缓冲区中数据生效剩余时间为0,则将仿 真输入设备的数据输入开关状态status读取到数据输出端口对应的缓冲区中,并设置数据 生效剩余时间为1,用二元组(status,1)表示该仿真输入设备的输入事件,如果缓冲区中数 据生效剩余时间不为〇则进入等待状态,周期性的监测所述数据生效剩余时间,直至该缓冲 区数据生效剩余时间为〇,完成初步的数据读入操作;
[0105] S2、数据成功读入到仿真输入设备的输出端口所对应的缓冲区中,同时将仿真输 入设备的数据输出端口的使能开关打开,如果此时系统总线上缓冲区的数据生效剩余时间 为〇,则仿真输入设备中的输入事件二元组(Status,1)会通过数据输出端口进入系统总线 上的数据缓存中,否则进入等待状态,直至系统总线中缓冲的数据生效剩余时间为〇,同时 将仿真输入设备中的缓冲区数据生效剩余时间减1,并关闭仿真输入设备的输出接口的使 能开关,完成数据从外设读取到系统总线的过程,所述过程由仿真微程序控制器向仿真输 入设备发出的输出端口使能控制信号触发;
[0106] S3、如图2所示,将所述系统总线上的数据缓冲区中的输入时间读取到仿真数据寄 存器R0中,先判断仿真数据寄存器R0中与数据输入接口对应的缓冲区数据剩余时间是否为 〇,如果该仿真数据寄存器的数据剩余时间为〇,打开仿真寄存器数据输入接口的使能开关, 将系统总线上缓冲区的二元组(status,1)读入仿真数据寄存器R0的数据输入对应的数据 缓冲区中,否则进入等待状态,直到读取成功,然后将系统总线上缓冲区数据生效剩余时间 减1,然后关闭仿真数据寄存器的数据输入开关的使能开关关闭,完成最终的数据从仿真输 入设备读取到仿真数据寄存器的过程,所述过程由仿真微程序控制器向仿真数据寄存器的 输入接口使能控制信号触发;
[0107] S4、根据与连接在仿真输入设备的输出接口上的数据通路C1,接口坐标(xl,yl), 数据通路Cl和系统总线相连的接口坐标(x2,y2),与仿真数据寄存器R0相连的数据通路C2 接口坐标(x3,y3),数据通路C2和系统总线相连的接口坐标(x4,y4),就可以确定一条从仿 真输入设备到系统总线,再从系统总线到仿真功能寄存器R0之间的一条数据流动路径: (叉1,71)、(叉2,72)、系统总线、(叉4,74)、(叉3,73);
[0108]本实施方式中,微程序控制模块根据微程序产生控制信号,进而触发仿真功能部 件的接口使能,完成阶段性的数据操作,完成每一阶段的微程序产生的控制信号序列称为 微指令的控制字段,一条机器指令可以分多步完成,就对应多条微指令,微指令的解析采取 直接控制法,二进制的每一位代表仿真功能接口的使能标志,还有指明取出下一跳微指令 的地址字段,称为微指令的下址字段,完成多步功能的多条微指令称为微程序。
[0109] 本实施方式中,微程序控制器包含控制存储器、微指令寄存器、微地址寄存器以及 微地址形成部件。
[0110] 本实施方式中,机器指令集包括多条机器指令;控制存储器具有存储空间的属性, 存储空间由数据缓冲区序列组成,可以用来存储实现所有机器指令的微指令序列,控制存 储器的每一个数据缓冲区在该仿真控制器中具有惟一的地址标识符属性,控制存储器的每 个数据缓冲区用于从该仿真存储器数据输入接口中获得并存储一条微指令,控制存储器的 所有数据缓冲区中存储实现全部机器指令的所有微指令,每条微指令存储在微程序控制器 的控制存储器中,所占用的存储空间具有地址标识符属性和存储空间长度属性,地址标识 符属性为控制存储器的数据缓冲区的编号,所述编号称为微地址,存储空间长度属性为占 用控制存储器的数据缓冲区数量;
[0111] 微地址寄存器中存放的是下一条待执行的微指令所在控制存储器中的地址标识 符属性,微地址形成部件用于产生下一条微指令的微地址,并将该微地址存储在所述微地 址寄存器中;微指令寄存器包含若干个数据缓冲区,大小等于一条微指令在控制存储器中 占据存储空间的长度属性,根据微地址查找微程序控制器中存储的微指令的地址标识符属 性,取出该缓冲区内容放到微指令寄存器的数据缓冲区中,具体过程描述如下:
[0112] S1、定义变量i,并初始化i = l;
[0113] S2、从仿真存储器中读取第i条机器指令,如果i = l,则地址形成部件对该机器指 令进行译码,以初始化微地址寄存器,否则直接读取微地址寄存器查找控制存储器获取对 应的微指令;
[0114] S3、将取出的微指令送入微指令寄存器存储,从微程序的控制字段读取二进制bit 位用来产生控制各仿真功能部件接口的使能控制信号,从下址字段读取执行下一跳微指令 的地址并存入微地址寄存器;
[0115] S4、i = i+1,判断微程序是否达到了最后一条微指令,如果是则顺序取出下一条机 器指令转S1直到所有机器指令执行结束,如果未达到最后一条微指令,则转S2执行下一条 微指令;
[0116]本发明提出的一种计算机组成与系统结构的虚拟实验平台实现方法,其特征在 于,包括以下步骤:
[0117] S1、设置仿真芯片工具箱模块,包含芯片管理模块、芯片存储模块和芯片任务管理 模块,芯片管理模块创建可修改的芯片工具箱配置文件并初始化存入n个仿真芯片的属性 信息,所顺属性信息包括:仿真芯片的名称、仿真芯片的所属类型、各种引脚名称、引脚数 量、引脚坐标属性和实现芯片功能的功能表,芯片存储模块用于加载芯片工具箱配置文件, 从而生成n个仿真芯片,并根据芯片工具箱配置文件中n个仿真芯片的所属类型将所述n个 仿真芯片分别存储到所述芯片器件库中,芯片任务管理模块用于对仿真芯片的数据输入、 数据运算和数据输出进行管理;
[0118] S2、设置功能部件设计管理模块,包含生成功能部件设计管理模块、功能部件存储 模块和仿真功能部件任务管理模块,生成功能部件设计管理模块根据所述计算机组成与体 系结构,从芯片器件库中调用m个仿真芯片,将这m个仿真芯片进行拼接,组成一种所述仿真 功能部件,生成功能部件设计配置文件,并设置和保存所述功能部件设计配置文件,功能部 件存储模块用于存储通过加载功能部件设计配置文件生成的仿真功能部件和仿真功能寄 存器,通过加载功能部件设计配置文件获取所述m个仿真芯片的所述芯片连接状态属性,从 而生成仿真功能部件和仿真功能寄存器并按照类别进行分类存储管理,仿真功能部件任务 管理模块对仿真功能部件和仿真功能寄存器的数据输入、数据处理和数据输出进行管理, 通过依次调用仿真功能部件中包含的各种类型的仿真芯片进行数据处理,从而实现数据在 仿真功能部件上的流动;
[0119] S3、设置整机设计管理模块,包含仿真模型机设计管理模块、仿真模型机存储模块 和仿真模型机任务管理模块,仿真模型机设计管理模块根据计算机组成与系统结构,从仿 真功能部件器件库中调用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成 仿真模型机,并将组成仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置 坐标,以及各仿真功能部件之间的连接状态属性保存到仿真模型机设计配置文件中,仿真 模型机存储模块用于存储通过加载仿真模型机设计配置文件生成的仿真模型机,仿真模型 机任务管理模块包含仿真模型机微指令设计模块和微程序执行控制模块,仿真模型机微指 令设计模块用于设计仿真模型机的机器指令集,微程序执行控制模块用于对微指令序列进 行功能解析产生控制信号,进而触发仿真功能部件的接口使能关系,协调各仿真功能部件 完成阶段性的数据操作,最终完成相应微指令的功能。
[0120] 本实施方式中,仿真功能部件是仿真芯片的集合,具有数据输入、数据运算和数据 输出属性,即具有仿真芯片的属性,即可通过仿真功能部件和仿真芯片按照连接算法进行 拼接成更大的仿真功能部件,因此将组成所述更大的仿真功能部件的单元称为芯片,连接 算法按如下步骤生成仿真功能部件:
[0121] S1、定义变量i,并初始化i = l;
[0122] S2、仿真功能部件器件库模块通过加载功能部件设计配置文件获取第i个仿真芯 片的连接状态提供给第i个仿真芯片的芯片事件信息输入模块;
[0123] S3、第i个仿真芯片的芯片事件信息输入模块根据第i个连接状态获取与自身相连 的匕个仿真芯片,并将lu个仿真芯片的芯片事件信息输出模块的输出信息存入第i个仿真芯 片的芯片事件信息存储模块;
[0124] S4、第i个仿真芯片的芯片事件信息修改模块从该第i个芯片的事件信息存储模块 中读取数据信息并进行处理后,将运算结果再存入芯片事件信息存储模块中;
[0125] S5、第i个仿真芯片的芯片事件信息输出模块从芯片事件信息存储模块中读取运 算结果并作为自身的输出信息;
[0126] S6、将i+1的值赋给i,并判断sum(nl+n2+…+niXm是否成立,若成立,则执行S2, 否则,表示已完成仿真功能部件的生成,其中,ni表示第i个仿真芯片或者仿真功能部件包 含仿真芯片的数量;
[0127]优选地,仿真功能部件具有1个或多个运算数据输入接口,具有1个或多个控制信 号输入接口,具有1个或多个运算数据输出接口,具有与运算数据输入接口、运算数据输出 接口和控制信号输入接口相同数量的数据缓冲区,每个仿真功能部件接口都与一个数据缓 冲区形成一一映射关系,称为缓冲区接口映射关系,通过该缓冲区接口映射关系可以从仿 真功能部件接口找到相对应的数据缓冲区;
[0128] 本实施方式中,数据缓冲区根据存储的数据类型可分为数据输入缓冲区、数据输 出缓冲区和控制信号缓冲区;
[0129] 本实施方式中,仿真数据通路包括1个数据存储缓冲区和n个仿真功能部件接口, 其中,n =仿真功能部件的数据输入接口、数据输出接口和控制信号输入接口数量的总和。 [0130]本实施方式中,数据交互的依据定义为接口连接交互规则,其包括接口连接交互 规则1和接口连接交互规则2;
[0131] 接口连接交互规则1:
[0132] (1)对于每一个通过数据输入接口、数据输出接口和控制信号输入接口连接在数 据通路上的仿真功能部件,其中的每个运算数据输入接口,根据每个运算数据输入接口的 使能开关;
[0133] (2)如果该运算数据输入接口的使能开关为打开状态时,该运算数据输入接口会 根据缓冲区接口映射关系,将系统总线上的缓冲区中的数据二元组复制到运算数据输入接 口所对应的数据输入缓冲区上;
[0134] (3)否则,不执行;
[0135] 接口连接交互规则2:
[0136] (1)对于每一个通过数据输入接口、数据输出接口和控制信号输入接口连接在数 据通路上的仿真功能部件,其中的每个运算数据输出接口,会根据运算数据输出接口中的 使能开关;
[0137] (2)如果输出接口的使能开关为打开状态时时,该运算数据输出接口会根据缓冲 区接口映射关系,将运算数据输出接口所对应的数据输出缓冲区上的数据二元组发送到系 统总线上的数据存储缓冲区中;
[0138] (3)否则,不执行。
[0139] 整机设计管理模块包括:仿真模型机设计管理模块、仿真模型机存储模块和仿真 模型机任务管理模块。仿真模型机设计管理模块从仿真功能部件库中调用ml个仿真功能部 件,仿真功能部件是仿真芯片的集合,具有仿真芯片的属性。
[0140] 仿真模型机设计管理模块,根据计算机组成与系统结构,从仿真功能部件器件库 中调用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成仿真模型机,并将 组成仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置坐标,以及各仿真 功能部件之间的连接状态属性保存到仿真模型机设计配置文件中,所述该连接状态属性称 为功能部件连接状态属性,具体包括由多接口数据通路、多接口数据通路类型、通过多接口 数据通路连接到系统总线上的仿真功能部件或其他多接口数据通路及其连接的多接口数 据通路的接口坐标,所述系统总线即为多接口数据通路的简单拼接;
[0141]需要说明的是,本实施方式中,仿真模型机存储模块通过加载仿真模型机设计配 置文件,读取组成所述仿真模型机的所有功能部件的类型、数量以及在工作区中的二维位 置坐标,在工作区中生成所有的仿真功能部件,然后根据各仿真功能部件之间的连接状态 属性建立仿真功能部件之间的数据通路连接,将仿真功能部件构成一个完整的仿真模型 机,仿真模型机具备冯?诺伊曼计算机架构的基本功能组成。
[0142] 仿真模型机任务管理模块包括仿真模型机微指令设计模块和微程序执行控制模 块。本实施方式中,微指令设计模块用于设计仿真模型机的机器指令集,机器指令集包括多 条机器指令;
[0143] 机器指令是仿真控制器用来产生控制信号并经仿真数据通路传递到其他仿真功 能部件中,用于完成对其他仿真功能部件的使能控制,以实现机器指令的功能。
[0144] 机器指令的功能是分成多步完成的,每一步对应一条微指令,是用微指令序列实 现的,微指令序列的一个元素称为微指令,微指令序列存储在仿真微程序控制器中,每执行 一条机器指令转换为执行一段微指令序列,称为微程序。
[0145] 仿真微程序控制器包含控制存储器、微指令寄存器、微地址寄存器以及微地址形 成部件。
[0146] 控制存储器具有存储空间的属性,存储空间由数据缓冲区序列组成,可以用来存 储实现所有机器指令的微指令序列,控制存储器的每一个数据缓冲区在该仿真控制器中具 有惟一的地址标识符属性,控制存储器的每个数据缓冲区用于从该仿真存储器数据输入接 口中获得并存储一条微指令,控制存储器的所有数据缓冲区中存储实现全部机器指令的所 有微指令。
[0147] 地址标识符属性包括存储位置属性和存储空间长度属性,存储位置属性为控制存 储器的数据缓冲区的编号,存储空间长度属性为占用控制存储器的数据缓冲区数量。
[0148] 微地址寄存器中存放的是下一条待执行的微指令所在控制存储器中的地址标识 符属性,微地址即微指令在控制存储器中数据缓冲区的编号,地址标识符属性等于控制存 储器中一个数据缓冲区的编号。
[0149] 微地址形成部件用于产生下一条微指令的微地址,并将该微地址存储在所述微地 址寄存器中。
[0150] 微指令寄存器包含若干个数据缓冲区,大小等于一条微指令在控制存储器中占据 存储空间的长度属性,根据微地址查找微程序控制器中存储的微指令的地址标识符属性, 取出该缓冲区内容放到微指令寄存器的数据缓冲区中。
[0151] 对于每条机器指令功能的实现,微程序控制器对微指令序列进行功能解析产生控 制信号,进而触发仿真功能部件的接口使能关系,协调各仿真功能部件完成阶段性的数据 操作,最终完成相应微指令的功能,该过程可表述为根据微指令的控制字段的内容设置各 仿真功能部件的运算数据输入接口、运算数据输出接口和控制信号输入接口所对应的控制 信号缓冲区中的映射接口选中状态和映射接口非选中状态,然后根据接口连接交互规则1 和接口连接交互规则2进行操作,完成数据通过仿真数据通路完成在各仿真功能部件、仿真 功能寄存器和仿真时序脉冲发生器之间的交互。
[0152] 本实施方式中,完成机器指令的时间称为机器周期,机器周期内要完成取指令过 程、取数据过程和执行过程,此三个过程花费的时间分别称为取指周期、取数周期和执行周 期。
[0153] 取指周期、取数周期和执行周期的时间长短由仿真时序脉冲发生器控制,仿真时 序脉冲发生器在时间间隔T会周期性的通过该仿真时序脉冲发生器的运算数据输出接口, 按照接口连接交互规则2发出时序脉冲数值,然后开始每一个微指令的执行。
[0154]执行过程是由微指令的控制字段确定的,控制字段的内容包括所有的仿真功能部 件、仿真功能寄存器和仿真时序脉冲发生器的片选信号接口的映射接口选中状态和映射接 口非选中状态信息,并按照字段直接编译法规则生成的二进制序列,用于控制仿真功能部 件、仿真功能寄存器和仿真时序脉冲发生器的运算数据输入接口或运算数据输出接口的片 选状态。
[0155] 在仿真时序脉冲发生器的每个时间周期T下,微程序控制器从控制存储器中读取 微程序,用微指令中的控制字段去控制其他仿真功能部件和仿真功能寄存器的片选使能, 并用微指令的下址字段来找到下一条将要执行的微指令,直至完成一条机器指令所对应的 所有微指令的执行过程。
[0156] 以上,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明 构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
【主权项】
1.一种计算机组成与系统结构的虚拟实验平台,所述计算机包括:运算器、控制器、存 储器、输入设备、输出设备、通用寄存器、数据寄存器、地址寄存器、指令寄存器、时序脉冲发 生器、数据通路;其特征在于,包括:仿真芯片工具箱模块、功能部件设计管理模块、整机设 计管理模块; 仿真芯片工具箱模块包括: 芯片管理模块,用于创建芯片工具箱配置文件,并添加和修改芯片工具箱配置文件,所 述芯片工具箱配置文件包含η个仿真芯片属性,所述仿真芯片属性包括:仿真芯片的名称、 仿真芯片的所属类型、各种引脚名称、引脚数量、引脚坐标属性和实现芯片功能的功能表, 所述引脚名称和所述引脚坐标属性共同定义仿真芯片引脚,所述仿真芯片引脚根据完成功 能的特性可分为数据输入引脚、数据输出引脚、控制信号输入引脚和控制信号输出引脚; 芯片存储模块,包括芯片器件库,用于加载芯片工具箱配置文件,从而生成η个仿真芯 片,并根据芯片工具箱配置文件中η个仿真芯片的所属类型将所述η个仿真芯片分别存储到 所述芯片器件库中; 芯片任务管理模块,用于对仿真芯片的数据输入、数据运算和数据输出进行管理,所述 仿真芯片包含芯片事件信息存储模块、芯片事件信息输入模块、芯片事件信息修改模块、芯 片事件信息输出模块和芯片事件信息显示模块,仿真芯片上数据输入引脚用于接收与其相 连的其他仿真芯片上的数据输出引脚中的输出数据,根据芯片属性中的引脚坐标属性信息 接收相应位置的输入数据,由芯片事件信息输入模块获取并存储到芯片事件信息存储模块 中,供芯片事件信息输出模块、芯片事件信息修改模块和芯片事件信息显示模块读取,仿真 芯片上的数据输出引脚用于发送仿真芯片的芯片事件信息输出模块中的数据,根据芯片属 性信息中的引脚坐标属性信息发送相应位置的输出数据; 功能部件设计管理模块包括: 定义仿真运算器、仿真控制器、仿真存储器、仿真输入设备、仿真输出设备、仿真通用寄 存器、仿真数据寄存器、仿真地址寄存器、仿真指令寄存器和仿真时序脉冲发生器为仿真功 能部件; 生成功能部件设计管理模块,根据所述计算机组成与体系结构,从芯片器件库中调用m 个仿真芯片,并将这m个仿真芯片进行拼接,组成一种所述仿真功能部件,生成功能部件设 计配置文件,并设置和保存所述功能部件设计配置文件,所述功能部件设计配置文件包含 仿真功能部件所属类型、所有m个仿真芯片的芯片连接状态属性,其中通过一条多接口排线 将仿真芯片引脚相连的每两个仿真芯片具有一个芯片连接状态属性,每个所述芯片连接状 态属性包含通过多接口排线将仿真芯片引脚相连的两个仿真芯片的名称、各种引脚的名 称、引脚数量、引脚的坐标属性和这两个仿真芯片连接在多接口排线上的起始位置引脚和 多接口排线的占据引脚宽度; 功能部件存储模块,包含功能部件器件库,用于存储通过加载功能部件设计配置文件 生成的仿真功能部件和仿真功能寄存器,通过加载功能部件设计配置文件获取所述m个仿 真芯片的所述芯片连接状态属性,从而生成仿真功能部件和仿真功能寄存器并按照类别进 行分类存储管理; 仿真功能部件任务管理模块,通过加载仿真功能部件设计配置文件生成仿真功能部件 和仿真功能寄存器,并对仿真功能部件和仿真功能寄存器的数据输入、数据处理和数据输 出进行管理,通过依次调用仿真功能部件中包含的各种类型的仿真芯片进行数据处理,从 而实现数据在仿真功能部件上的流动; 整机设计管理模块包括: 仿真模型机设计管理模块,根据计算机组成与系统结构,从仿真功能部件器件库中调 用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成仿真模型机,并将组成 仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置坐标,以及各仿真功能 部件之间的连接状态属性保存到仿真模型机设计配置文件中; 所述该连接状态属性称为功能部件连接状态属性,具体包括由多接口数据通路、多接 口数据通路类型、通过多接口数据通路连接到系统总线上的仿真功能部件或其他多接口数 据通路及其连接的多接口数据通路的接口坐标,所述系统总线即为多接口数据通路的简单 拼接; 仿真模型机存储模块,用于存储通过加载仿真模型机设计配置文件生成的仿真模型 机,通过加载仿真模型机设计配置文件,读取组成所述仿真模型机的所有功能部件的类型、 数量以及在工作区中的二维位置坐标,在工作区中生成所有的仿真功能部件,然后根据各 仿真功能部件之间的连接状态属性建立仿真功能部件之间的数据通路连接,将仿真功能部 件构成一个完整的仿真模型机; 仿真模型机任务管理模块包括: 仿真模型机微指令设计模块,用于设计仿真模型机的机器指令集,所述机器指令集是 指仿真模型机完成数据输入操作、数据输出操作、数据存取操作、数据运算操作、指令跳转 操作等过程的命令集合,使得仿真模型机具备实际应用意义上的完整功能,所述数据输入 操作、数据输出操作、数据存取操作、数据运算操作、指令跳转操作等过程称为机器指令的 执行,将所述机器指令进行顺序排列组合可以使仿真模型机完成一系列数据处理任务,所 述机器指令的顺序排列组合称为机器指令序列; 微程序执行控制模块,用于对微指令序列进行功能解析产生控制信号,进而触发仿真 功能部件的接口使能关系,协调各仿真功能部件完成阶段性的数据操作,最终完成相应微 指令的功能; 其中,仿真芯片工具箱模块、功能部件设计管理模块和整机设计管理模块均运行于客 户机上。2. 根据权利要求1所述的计算机组成与系统结构的虚拟实验平台,其特征在于,芯片器 件库为基本器件库、逻辑门元件库、数字器件库、多接口排线库; 优选地,功能部件器件库为仿真功能部件仓库、仿真寄存器仓库、仿真时序脉冲信号发 生器仓库和仿真连接总线仓库; 优选地,芯片存储模块根据芯片工具箱配置文件中η个芯片的芯片名称、各种引脚名 称、引脚数量、引脚坐标属性和实现芯片功能的功能表生成芯片,根据芯片工具箱配置文件 中η个仿真芯片的所属类型将所述η个仿真芯片分别存储至芯片器件库的分类中,从而完成 芯片器件库的初始化; 优选地,仿真芯片属性信息包括仿真芯片的名称、仿真芯片的所属类型、各种引脚的名 称、引脚的数量和引脚坐标属性。3. 根据权利要求1所述的计算机组成与系统结构的虚拟实验平台,其特征在于,芯片连 接状态属性信息包含通过多接口排线将仿真芯片引脚相连的两个仿真芯片的名称、各种引 脚的名称、引脚数量、引脚的坐标属性和这两个仿真芯片连接在多接口排线上的起始位置 弓丨脚和多接口排线的占据引脚宽度; 优选地,功能部件连接状态属性信息具体包括由多接口数据通路、多接口数据通路类 型、通过多接口数据通路连接到系统总线上的仿真功能部件或其他多接口数据通路及其连 接的多接口数据通路的接口坐标。4. 根据权利要求1所述的计算机组成与系统结构的虚拟实验平台,其特征在于,所述仿 真芯片包含芯片事件信息存储模块、芯片事件信息输入模块、芯片事件信息修改模块、芯 片事件信息输出模块和芯片事件信息显示模块,所述事件包含数据属性和数据生效剩余时 间(remained属性,所述事件采用二元组表示,当数据生效剩余时间为0则清除数据,芯片事 件信息存储模块中的数据被读取之后,数据生效剩余时间为〇,只有当芯片事件信息存储模 块中数据剩余生效时间为〇时芯片事件信息输入模块才能将新的数据写入到芯片事件信息 存储模块。5. 根据权利要求1所述的计算机组成与系统结构的虚拟实验平台,其特征在于,所述多 接口数据通路类型及其接口坐标定义如下所示:6. 根据权利要求1所述的计算机组成与系统结构的虚拟实验平台,其特征在于,仿真模 型机微指令设计模块中所述数据输入操作、数据输出操作、数据存取操作、数据运算操作、 指令跳转操作的实现是根据控制信号触发数据接口的使能开关的打开,然后直接读取缓冲 区中存储的数据,所述数据输入操作分为如下几步完成: S1、如果仿真输入设备的输出端口对应的缓冲区中数据生效剩余时间为0,则将仿真 输入设备的数据输入开关状态status读取到数据输出端口对应的缓冲区中,并设置数据生 效剩余时间为1,用二元组(status,1)表示该仿真输入设备的输入事件,如果缓冲区中数据 生效剩余时间不为〇则进入等待状态,周期性的监测所述数据生效剩余时间,直至该缓冲区 数据生效剩余时间为〇,完成初步的数据读入操作; 52、 数据成功读入到仿真输入设备的输出端口所对应的缓冲区中,同时将仿真输入设 备的数据输出端口的使能开关打开,如果此时系统总线上缓冲区的数据生效剩余时间为〇, 则仿真输入设备中的输入事件二元组(status,1)会通过数据输出端口进入系统总线上的 数据缓存中,否则进入等待状态,直至系统总线中缓冲的数据生效剩余时间为〇,同时将仿 真输入设备中的缓冲区数据生效剩余时间减1,并关闭仿真输入设备的输出接口的使能开 关,完成数据从外设读取到系统总线的过程,所述过程由仿真微程序控制器向仿真输入设 备发出的输出端口使能控制信号触发; 53、 将所述系统总线上的数据缓冲区中的输入时间读取到仿真数据寄存器R0中,先判 断仿真数据寄存器R0中与数据输入接口对应的缓冲区数据剩余时间是否为〇,如果该仿真 数据寄存器的数据剩余时间为0,打开仿真寄存器数据输入接口的使能开关,将系统总线上 缓冲区的二元组(status,1)读入仿真数据寄存器R0的数据输入对应的数据缓冲区中,否则 进入等待状态,直到读取成功,然后将系统总线上缓冲区数据生效剩余时间减1,然后关闭 仿真数据寄存器的数据输入开关的使能开关关闭,完成最终的数据从仿真输入设备读取到 仿真数据寄存器的过程,所述过程由仿真微程序控制器向仿真数据寄存器的输入接口使能 控制信号触发; 54、 根据与连接在仿真输入设备的输出接口上的数据通路C1,接口坐标(xl,yl),数据 通路C1和系统总线相连的接口坐标(x2,y2),与仿真数据寄存器R0相连的数据通路C2接口 坐标(x3,y3),数据通路C2和系统总线相连的接口坐标(x4,y4),就可以确定一条从仿真输 入设备到系统总线,再从系统总线到仿真功能寄存器R0之间的一条数据流动路径:(xl, 71)、(叉2,72)、系统总线、(叉4,74)、(叉3,73)。7.根据权利要求1所述的计算机组成与系统结构的虚拟实验平台,其特征在于,微程序 控制模块根据微程序产生控制信号,进而触发仿真功能部件的接口使能,完成阶段性的数 据操作,完成每一阶段的微程序产生的控制信号序列称为微指令的控制字段,一条机器指 令可以分多步完成,就对应多条微指令,微指令的解析采取直接控制法,二进制的每一位代 表仿真功能接口的使能标志,还有指明取出下一跳微指令的地址字段,称为微指令的下址 字段,完成多步功能的多条微指令称为微程序; 优选地,微程序控制器包含控制存储器、微指令寄存器、微地址寄存器以及微地址形成 部件; 优选地,机器指令集包括多条机器指令;控制存储器具有存储空间的属性,存储空间由 数据缓冲区序列组成,可以用来存储实现所有机器指令的微指令序列,控制存储器的每一 个数据缓冲区在该仿真控制器中具有惟一的地址标识符属性,控制存储器的每个数据缓冲 区用于从该仿真存储器数据输入接口中获得并存储一条微指令,控制存储器的所有数据缓 冲区中存储实现全部机器指令的所有微指令,每条微指令存储在微程序控制器的控制存储 器中,所占用的存储空间具有地址标识符属性和存储空间长度属性,地址标识符属性为控 制存储器的数据缓冲区的编号,所述编号称为微地址,存储空间长度属性为占用控制存储 器的数据缓冲区数量; 微地址寄存器中存放的是下一条待执行的微指令所在控制存储器中的地址标识符属 性,微地址形成部件用于产生下一条微指令的微地址,并将该微地址存储在所述微地址寄 存器中,微指令寄存器包含若干个数据缓冲区,大小等于一条微指令在控制存储器中占据 存储空间的长度属性,根据微地址查找微程序控制器中存储的微指令的地址标识符属性, 取出该缓冲区内容放到微指令寄存器的数据缓冲区中,具体过程描述如下: 51、 定义变量i,并初始化i = 1; 52、 从仿真存储器中读取第i条机器指令,如果i = l,则地址形成部件对该机器指令进 行译码,以初始化微地址寄存器,否则直接读取微地址寄存器查找控制存储器获取对应的 微指令; 53、 将取出的微指令送入微指令寄存器存储,从微程序的控制字段读取二进制bit位用 来产生控制各仿真功能部件接口的使能控制信号,从下址字段读取执行下一跳微指令的地 址并存入微地址寄存器; 54、 i = i+1,判断微程序是否达到了最后一条微指令,如果是则顺序取出下一条机器指 令转S1直到所有机器指令执行结束,如果未达到最后一条微指令,则转S2执行下一条微指 令。8. -种如权利要求1-7任一项所述的计算机组成与系统结构的虚拟实验平台的实现方 法,其特征在于,包括以下步骤: 51、 设置仿真芯片工具箱模块,包含芯片管理模块、芯片存储模块和芯片任务管理模 块,芯片管理模块创建可修改的芯片工具箱配置文件并初始化存入η个仿真芯片的属性信 息,所顺属性信息包括:仿真芯片的名称、仿真芯片的所属类型、各种引脚名称、引脚数量、 引脚坐标属性和实现芯片功能的功能表,芯片存储模块用于加载芯片工具箱配置文件,从 而生成η个仿真芯片,并根据芯片工具箱配置文件中η个仿真芯片的所属类型将所述η个仿 真芯片分别存储到所述芯片器件库中,芯片任务管理模块用于对仿真芯片的数据输入、数 据运算和数据输出进行管理; 52、 设置功能部件设计管理模块,包含生成功能部件设计管理模块、功能部件存储模块 和仿真功能部件任务管理模块,生成功能部件设计管理模块根据所述计算机组成与体系结 构,从芯片器件库中调用m个仿真芯片,将这m个仿真芯片进行拼接,组成一种所述仿真功能 部件,生成功能部件设计配置文件,并设置和保存所述功能部件设计配置文件,功能部件存 储模块用于存储通过加载功能部件设计配置文件生成的仿真功能部件和仿真功能寄存器, 通过加载功能部件设计配置文件获取所述m个仿真芯片的所述芯片连接状态属性,从而生 成仿真功能部件和仿真功能寄存器并按照类别进行分类存储管理,仿真功能部件任务管理 模块对仿真功能部件和仿真功能寄存器的数据输入、数据处理和数据输出进行管理,通过 依次调用仿真功能部件中包含的各种类型的仿真芯片进行数据处理,从而实现数据在仿真 功能部件上的流动; 53、 设置整机设计管理模块,包含仿真模型机设计管理模块、仿真模型机存储模块和仿 真模型机任务管理模块,仿真模型机设计管理模块根据计算机组成与系统结构,从仿真功 能部件器件库中调用ml个仿真功能部件,通过多接口数据通路连接在系统总线上组成仿真 模型机,并将组成仿真模型机的各仿真功能部件类型、数量和在工作区中的二维位置坐标, 以及各仿真功能部件之间的连接状态属性保存到仿真模型机设计配置文件中,仿真模型机 存储模块用于存储通过加载仿真模型机设计配置文件生成的仿真模型机,仿真模型机任务 管理模块包含仿真模型机微指令设计模块和微程序执行控制模块,仿真模型机微指令设计 模块用于设计仿真模型机的机器指令集,微程序执行控制模块用于对微指令序列进行功 能解析产生控制信号,进而触发仿真功能部件的接口使能关系,协调各仿真功能部件完成 阶段性的数据操作,最终完成相应微指令的功能。9. 如权利要求8的计算机组成与系统结构的虚拟实验平台实现方法,其特征在于,仿真 功能部件是仿真芯片的集合,具有数据输入、数据运算和数据输出属性,即具有仿真芯片的 属性,即可通过仿真功能部件和仿真芯片按照连接算法进行拼接成更大的仿真功能部件, 因此将组成所述更大的仿真功能部件的单元称为芯片,连接算法按如下步骤生成仿真功能 部件: 51、 定义变量i,并初始化i = 1; 52、 仿真功能部件器件库模块通过加载功能部件设计配置文件获取第i个仿真芯片的 连接状态提供给第i个仿真芯片的芯片事件信息输入模块; 53、 第i个仿真芯片的芯片事件信息输入模块根据第i个连接状态获取与自身相连的1^ 个仿真芯片,并将h个仿真芯片的芯片事件信息输出模块的输出信息存入第i个仿真芯片 的芯片事件信息存储模块; 54、 第i个仿真芯片的芯片事件信息修改模块从该第i个芯片的事件信息存储模块中读 取数据信息并进行处理后,将运算结果再存入芯片事件信息存储模块中; 55、 第i个仿真芯片的芯片事件信息输出模块从芯片事件信息存储模块中读取运算结 果并作为自身的输出信息; 56、 将i+Ι的值赋给i,并判断sum(nl+n2+…+niXm是否成立,若成立,则执行S2,否则, 表示已完成仿真功能部件的生成,其中,ni表示第i个仿真芯片或者仿真功能部件包含仿真 芯片的数量; 优选地,仿真功能部件具有1个或多个运算数据输入接口,具有1个或多个控制信号输 入接口,具有1个或多个运算数据输出接口,具有与运算数据输入接口、运算数据输出接口 和控制信号输入接口相同数量的数据缓冲区,每个仿真功能部件接口都与一个数据缓冲区 形成一一映射关系,称为缓冲区接口映射关系,通过该缓冲区接口映射关系可以从仿真功 能部件接口找到相对应的数据缓冲区; 优选地,数据缓冲区根据存储的数据类型可分为数据输入缓冲区、数据输出缓冲区和 控制信号缓冲区; 优选地,仿真数据通路包括1个数据存储缓冲区和η个仿真功能部件接口,其中,n =仿 真功能部件的数据输入接口、数据输出接口和控制信号输入接口数量的总和。10. 如权利要求8的计算机组成与系统结构的虚拟实验平台实现方法,其特征在于,仿 真功能部件之间的数据交互依据定义为接口连接交互规则,其包括接口连接交互规则1和 接口连接交互规则2; 接口连接交互规则1: (1) 对于每一个通过数据输入接口、数据输出接口和控制信号输入接口连接在数据通 路上的仿真功能部件,其中的每个运算数据输入接口,根据每个运算数据输入接口的使能 开关; (2) 如果该运算数据输入接口的使能开关为打开状态时,该运算数据输入接口会根据 缓冲区接口映射关系,将系统总线上的缓冲区中的数据二元组复制到运算数据输入接口所 对应的数据输入缓冲区上; (3)否则,不执行; 接口连接交互规则2: (1) 对于每一个通过数据输入接口、数据输出接口和控制信号输入接口连接在数据通 路上的仿真功能部件,其中的每个运算数据输出接口,会根据运算数据输出接口中的使能 开关; (2) 如果输出接口的使能开关为打开状态时时,该运算数据输出接口会根据缓冲区接 口映射关系,将运算数据输出接口所对应的数据输出缓冲区上的数据二元组发送到系统总 线上的数据存储缓冲区中; (3) 否则,不执行。
【文档编号】G06F17/50GK105930584SQ201610249082
【公开日】2016年9月7日
【申请日】2016年4月19日
【发明人】赵姝, 陈洁, 王钰龙, 张坤坤, 徐童, 张燕平
【申请人】安徽大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1