CN1595359A - 在单计算机上可在同一时刻执行多道程序的方法及计算机 - Google Patents

在单计算机上可在同一时刻执行多道程序的方法及计算机 Download PDF

Info

Publication number
CN1595359A
CN1595359A CNA2004100497595A CN200410049759A CN1595359A CN 1595359 A CN1595359 A CN 1595359A CN A2004100497595 A CNA2004100497595 A CN A2004100497595A CN 200410049759 A CN200410049759 A CN 200410049759A CN 1595359 A CN1595359 A CN 1595359A
Authority
CN
China
Prior art keywords
program
parts
drive unit
unit
carried out
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100497595A
Other languages
English (en)
Other versions
CN100489783C (zh
Inventor
李晓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Qingyun Computer Technology Co ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNB2004100497595A priority Critical patent/CN100489783C/zh
Publication of CN1595359A publication Critical patent/CN1595359A/zh
Priority to EP05752500A priority patent/EP1770516A4/en
Priority to US11/630,535 priority patent/US7761877B2/en
Priority to KR1020067027649A priority patent/KR100834180B1/ko
Priority to BRPI0512670-3A priority patent/BRPI0512670A/pt
Priority to JP2007518438A priority patent/JP5336076B2/ja
Priority to PCT/CN2005/000826 priority patent/WO2006000145A1/zh
Priority to RU2007101465/09A priority patent/RU2007101465A/ru
Application granted granted Critical
Publication of CN100489783C publication Critical patent/CN100489783C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明涉及计算机技术范畴中的计算机体系结构技术领域。具体说是一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征之一在于:该类计算机能够在同一时刻在单台计算机上同时并行地执行多道程序;其特征之二在于:为每一道程序引入了一个程序执行驱动装置,多个程序执行驱动装置可相互独立地管理与控制多道程序在上述计算机中同时并行地执行。本发明可用于指导设计各类用途的计算机系统。在该类新型的计算机中,程序执行驱动装置的个数仅与系统提供资源的总量成正比。在系统资源足够多的条件下,程序执行驱动装置的数量可足够的大,即系统可支持足够多道的程序在同一时刻在单台计算机上同时并行地执行。

Description

在单计算机上可在同一时刻执行多道程序的方法及计算机
技术领域
本发明涉及计算机技术范畴中的计算机体系结构技术领域。具体说是一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机。
背景技术
最早的计算机是由著名数学家冯.偌依曼等人在1946年总结并明确提出来的,因此经常称之为冯.偌依曼结构计算机。冯.偌依曼结构计算机的发明奠定了现代计算机发展的基础,有着十分重大的意义。
按照冯.偌依曼计算机原理设计的计算机在体系结构上的特点有许多的归纳与总结。但本发明作者认为冯.偌依曼结构计算机在体系结构上的最重要的特点是:面向单道程序执行的体系结构,即在任何时刻,都仅有而且仅能有一道程序在计算机中执行。
在现代计算机的实际应用中,一个用户在一台计算机(PC)上调用多个应用、运行多道程序的情况比比皆是:在用编辑器编写某个文档的同时,从网上下载一个、甚至同时下载多个图片、也许还在播放着一段音乐、防病毒程序正在实时监控、敲击键盘、移动鼠标等。为满足该用户的需求,一个PC不得不花费大量的时间用于在所有这些程序之间频繁地来回切换,至使系统的总体性能大大降低。所有这一切都是由于根据冯.偌依曼计算机原理设计的冯.偌依曼结构计算机不能在同一时刻在同一台计算机上同时并行地执行多道程序。
发明内容
有鉴于此,本发明提出一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征在于在任一台该类计算机上能够在同一时刻并行地执行多道程序。
如上所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征在于:为每一道程序引入了一个程序执行驱动装置,从而多个程序执行驱动装置可在同一台该类计算机上相互独立地管理与控制多道程序在同一时刻并行地执行。注,组成一道程序的多道程序或子程序亦可有各自的程序执行驱动装置。
每道程序在生成可执行代码的同时,生成了该道程序的程序执行驱动装置。一个程序执行驱动装置至少包含有用于说明与定义该道程序属性特征以及管理与控制该道程序执行所需要的全部相关信息。
新型计算机的基本构成:
1、系统的硬件部分至少由下述部件组成:一个或多个可并行工作的存储部件,如程序存储部件、数据存储部件、寄存器组等,一个或多个可并行工作的操作控制部件,如控制部件、“译码”部件、算术/逻辑运算部件、外部设备部件等,一个或多个可并行工作的在部件间起连接作用的连通部件,如总线及其控制部件等。上述各类部件通常有一个输入缓存装置与一个输出缓存装置。注:
●系统中的所有部件可按请求/服务的方式工作:收到请求后,即输入缓存非空时,启动完成指定的服务,结果存入输出缓存。
●如某被请求服务的部件重复设置了多个,则可任选一个闲者。如果全忙,则等其闲。
●系统中的部件分为独占型与非独占型。对于独占型部件,或由系统预设或在第一次请求服务时申请。预设或申请的结果保存到该道程序对应的程序执行驱动装置的某些项目中。
2、系统的软件部分至少由一个类似于现代计算机系统中的操作系统的系统管理程序所组成。该系统管理程序存放在某个存储部件中,至少具有程序调度的功能,并至少维护着一个称为程序调度表的数据结构。系统在初启时就将系统管理程序的程序执行驱动装置加载到系统的某操作控制部件中去,称为激活或活化该程序执行驱动装置。该程序执行驱动装置将驱动系统管理程序逐个激活多个用户程序的程序执行驱动装置。此后,各用户程序的程序执行驱动装置将相互独立地在同一时刻驱动各自的用户程序在同一台上述计算机中同时并行地执行。
新型计算机的工作方法,即程序执行驱动装置驱动程序执行的方法:
1、一道程序一旦生成了可执行代码及其程序执行驱动装置,系统管理程序就将该道程序的程序执行驱动装置写入到它的程序调度表中。此时,该程序存放在某个存储部件中并处于等待执行状态。
2、该道程序一旦满足被调入执行的各项条件,系统管理程序就将激活或活化该道程序的程序执行驱动装置。此后,该道程序进入执行状态,并在它的程序执行驱动装置的管理与控制下独立地执行。
3、程序执行驱动装置依据它所保存的该道程序的驻存信息(如程序存储部件号、部件内地址PC等)控制到相应的存储部件去取当前要执行的指令。
4、指令取出后,该程序执行驱动装置即控制到某操作控制部件对已取出的指令进行“译码”。并据此,控制到相应的存储部件去取操作数、控制到相应的操作控制部件完成指定的处理,以及控制将处理的结果写回到相应的存储部件中去。注:
●此处的“译码”与传统的译码有些许差别,详见后续章节。
●取出后的指令、指令“译码”的结果、取出的操作数、以及操作的结果均被暂时地保存在该程序执行驱动装置的某些单元中。
5、最后,在该程序执行驱动装置将它所保存的属于程序驻存信息类中的PC项按当前指令规定的方式进行修正后,转步骤3以控制执行本道程序的下一条指令。
6、至少在下述情况下,系统管理程序将卸载某道程序的程序执行驱动装置:1)执行到该道程序的结束指令:这将导致PM置相应的结束标志并激活系统管理程序的程序执行驱动装置驱动系统管理程序对该道程序进行相应的结束处理,最终从程序调度表中删除该道程序的程序执行驱动装置。2)当某个程序执行驱动装置驱动的某道程序执行完当前指令后满足被中断的条件:这将导致PM置相应中断标志后保存该程序执行驱动装置相应单元的内容,并启动系统管理程序的中断处理例程,即将该例程的程序执行驱动装置置入PM的输入队列;由该程序执行驱动装置驱动中断处理例程去完成有关的中断处理工作:该中断处理例程将把被中断的程序的程序执行驱动装置写回到系统的程序调度表中,然后再根据调度规则选择和激活下一道程序的程序执行驱动装置以执行该道程序。
很明显,依据本发明提出的计算机工作方法设计的一类新型的计算机可实现指令级的并行。事实上,在同一时刻在同一台该类新型计算机上多个程序执行驱动装置相互独立地管理与控制着多道程序同时并行地执行。
在依据本发明提出的计算机工作方法设计的一类新型的计算机中可实现指令级的资源共享。系统中的任何部件,如果当前未被占用,都可被任意一道程序的程序执行驱动装置驱动的当前指令所使用。
在依据本发明提出的计算机工作方法设计的一类新型的计算机中,活化程序执行驱动装置的个数仅与系统提供资源的总量成正比。在系统资源足够多的条件下,活化程序执行驱动装置的数量可足够的大,即系统可支持足够多道的程序在同一时刻在同一台计算机上同时并行地执行。注,当等待执行的程序总数超过系统允许的最大值时,可采用中断切换技术使所有的程序都有机会执行。
依据本发明提出的计算机工作方法设计的一类新型的计算机与传统的多计算机系统、多处理机系统、以及多处理器系统等有着本质的不同,也与采用其它并行处理技术(如重叠技术、先行控制技术、多操作部件技术、流水线技术、超流水线技术、超长指令字技术、超标量技术、多线程技术等)的计算机系统有着本质的不同。特别值得指出的是依据本发明提出的计算机工作方法设计的一类新型的计算机与传统的多计算机系统的差别在于:存在许多这样的情况:多道程序只能在一台计算机上执行而不能分配给多个计算机执行,如鼠标、键盘、显示等系统程序、病毒监控等程序与使用该台计算机的用户程序就不能分配给多个计算机执行而只能在一台计算机上执行。在这种情况下,传统的多计算机系统只好采用中断切换方式将多道程序转换成一道“宏”程序在一台计算机上执行。而在依据本发明提出的计算机工作方法设计的一类新型的计算机中,
上述各道程序均可在同一时刻在单台计算机上并行地执行。
附图说明
图1是本发明的一种实施方案的体系结构的原理性示意框图;
图2是本发明的上述实施方案中的程序执行驱动装置的配送部件的结构框图;
图3是本发明的上述实施方案中的配送部件的连通网络装置的交叉互连设计方式的结构框图;
图4是本发明的上述实施方案中的配送部件的连通网络装置的多总线互连设计方式的结构框图;
图5是本发明的上述实施方案的工作流程图;
具体实施方式
依据本发明提出的计算机工作方法可设计出一类新型结构的计算机(以下简称L结构计算机)。图1是其中一种实施方案的体系结构的原理性示意框图。鉴于本文的目的在于阐述L结构计算机的技术原理而不是设计一台实用的L结构计算机,因此对该原理性体系结构示意框图作了许多的简化与省略,如省略了时钟部分、总线部分等;I/O接口及外部设备部分也仅仅是象征性的说明。
出于同样的原因,本文亦仅设计了一个十分简化的指令系统。第20-21页。
L结构计算机系统的一个最重要的特征在于:为每一道程序引入了一个程序执行驱动装置用于驱动程序的执行。在本示例中,程序执行驱动装置被设计成为由一组信息单元组成的信息块。在系统硬件的支持下,这些信息单元组,即程序执行驱动装置,按照当前所携带的指令的操作码的要求逐次前往相应的各功能部件对指令的操作数进行指定的功能操作,如取操作、运算操作、存操作等。程序执行驱动装置的组成如下所示:
 0  1  2  3  4  5  6  7  8  9  10  11  12  13  14-29
 MPno  MPnu  PC  MDno  MDnu  Ins  PrNo  R0-R15
在本示例中,一个程序执行驱动装置由30个单元组成,各组成单元的定义与说明如下所示。
单元0-单元6:运行时工作单元:用于本道程序在执行过程中存放临时/中间结果。其中0号单元(称为NEXT单元)是本程序执行驱动装置当前将要前往请求服务的功能部件的编号;1-6号单元依当前所驱动的指令的不同而不同,其具体用法在描述各部件功能时有详细的说明。特别需要指出的是单元1有时被用作ΔPC单元,当ΔPC=0时表示当前指令是一条END指令,当ΔPC=1时表示当前指令是一条非转移型指令,当ΔPC>1或ΔPC<0时表示当前指令是一条转移型指令。
单元7:程序存储部件的部件编号(MPno):用于存放本道程序驻存的程序存储部件的部件编号。
单元8:程序存储部件的部件个数(MPnu):当一道程序所需要占用的程序空间大于一个程序存储部件的容量时,可按顺序存放在邻接的多个连续的程序存储部件中。程序存储部件个数单元用于存放本道程序所占用的连续的程序存储部件的个数。如果MPnu的值大于1,则MPno的值是第一个程序存储部件的部件编号。
单元9:程序存储部件的部件内地址(PC):用于存放本道程序当前执行指令的程序存储部件的部件内地址。
单元10:数据存储部件的部件编号(MDno):用于存放本道程序所占用的数据存储部件的部件编号。
单元11:数据存储部件部件个数(MDnu):当一道程序所需要占用的数据空间大于一个数据存储部件的容量时,可按顺序占用邻接的多个连续的数据存储部件。数据存储部件个数单元用于存放本道程序所占用的连续的数据存储部件的个数。如果MDnu的值大于1,则MDno的值是第一个数据存储部件的部件编号;
单元12:执行指令条数(Ins):用于记录本道程序本次调入后累计执行的指令条数。本参数在本实施例中用在中断处理中作为中断条件。
单元13:程序道号(PrNo):当两道以上正在执行的程序共同存放在同一个程序存储部件中时,用本参数标识各道程序。
单元14-单元29:16个通用寄存器(R0-R15):在本实施例中,将16个通用寄存器(R0…R15)设计成为程序执行驱动装置的组成部分。
在传统计算机中,寄存器组通常被设计成为一种硬件部件,由硬件的存储电器装置和读/写电器装置构成。为区别起见,称此种寄存器组设计方式为固定式寄存器组设计方式。对于L结构计算机,寄存器组可按固定式硬件方式进行设计。然而在本实施例中,寄存器组被设计成为程序执行驱动装置的一个组成部分、且随着程序执行驱动装置来往于各部件之间。称此种寄存器组设计方式为动态寄存器组设计方式。这样设计的最大好处是不仅消除了读/写寄存器所花费的传送时间,而且也消除了各道程序同时访问寄存器组时造成的等待延时。
图1列出了本发明的上述实施例的系统各硬件功能部件。这些功能部件的主要功能及其输入/输出的程序执行驱动装置的内容如下所述。
1、存储功能部件
1)部件1:称为程序存储部件MP,用于提供有关读/写程序存储部件的服务。可设置多个可独立并行工作的MP部件。每个MP部件的主要功能如下:
●MP维护着一个输入队列,所有请求本MP处理的程序执行驱动装置都等待在该队列中。MP也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务。
●读请求:如果当前队首的程序执行驱动装置请求的是读操作,则从该程序执行驱动装置中取出该道程序的部件内地址PC送MP的地址寄存器,并启动MP的读操作读取该道程序的当前指令;读出的指令写入到当前的程序执行驱动装置的相应单元中;置程序执行驱动装置的NEXT单元为IT;然后将其写入到MP的输出队列中。
●写请求:如果当前队首的程序执行驱动装置请求的是读操作,需完成的操作与数据存储部件的写操作类似,此处予以省略。
●重复上述处理过程;如果本MP的输入队列为空或输出队列为满;则进行一次空操作。
●在MP部件的输入队列中的程序执行驱动装置及其组成单元的内容如下所示。
  0   7   8   9   10   11   12   13   14-29
  MPr   Mpno   MPnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的MPr表示目的部件是MP且要求进行“读”操作;注,限于篇幅,凡当前未涉及到的程序执行驱动装置的组成单元,如单元1至单元6,均予以省缺,以下相同。
●在MP部件的输出队列中的程序执行驱动装置及其组成单元的内容如下所示。其中1号单元中的I为读出的当前指令,如LDIR0,C。
  0   1   7   8   9   10   11   12   13   14-29
  IT I   Mpno   MPnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
注,在本实施例中略去了如何将程序本身写入程序存储部件的过程,也因此略去了有关的程序执行驱动装置组成单元的内容;事实上,该过程与将数据写入相应的数据存储部件的过程类似。
2)部件2:称为数据存储部件MD,用于提供有关读/写数据存储部件的服务。可设置多个可独立并行工作的MD部件。每个MD部件的主要功能如下:
●MD维护着一个输入队列,所有请求本MD处理的程序执行驱动装置都等待在该队列中。MD也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务。
●读操作:如果当前队首的程序执行驱动装置请求的是读操作,则从该程序执行驱动装置中取出该读操作的部件内地址送MD的地址寄存器,并启动MD的读操作读取相应存储单元的内容;读出的数据写入到当前的程序执行驱动装置的某单元中;置NEXT单元为PM;置ΔPC单元为1;然后将其写入到MD的输出队列中。
●写操作:如果当前队首的程序执行驱动装置请求的是写操作,则从该程序执行驱动装置中取出该写操作的数据及部件内地址分别送MD的数据寄存器和地址寄存器,并启动MD的写操作将数据写入到相应的MD存储单元中去;置NEXT单元为PM;置ΔPC单元为1;然后将其写入到MD的输出队列中。
●重复上述处理过程,如果本MD的输入队列为空或输出队列为满;则进行一次空操作。
●在MD部件的输入队列中的程序执行驱动装置及其组成单元的内容可参见IT部件的输出队列中发往MD的程序执行驱动装置及其组成单元的内容。
●在MD部件的输出队列中发往PM的程序执行驱动装置及其组成单元的内容如下所示:
  0   1   7   8   9   10   11   12   13   14-29
  PM 1 Mpno MPnu PC Mdno MDnu Ins PrNo R0-R15
其中1号单元为PC,当前指令的当前值是1。
2、操作功能部件
1)部件3:称为程序管理部件PM,用于提供有关管理程序执行驱动装置运行的服务。可设置多个可独立并行工作的PM部件。每个PM部件的主要功能如下:
●PM维护着一个输入队列,所有请求本PM处理的程序执行驱动装置都等待在该队列中。PM也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务。
●启动一个程序执行驱动装置的运行:系统管理程序激活一道程序的程序执行驱动装置实际上就是将该道程序的程序执行驱动装置写入PM的输入队列。当PM处理到该程序执行驱动装置时,将其NEXT单元置为MP(取指令),然后将其写入到PM的输出队列中。
●继续一个程序执行驱动装置的运行:每个程序执行驱动装置驱动一道程序的当前指令执行的最后一步是返回到PM。如果当前指令不是一条结束指令,则PM将控制该驱动器继续运行:进行单元9 单元9+单元1,即PC PC+ΔPC;置NEXT单元为MP;然后将其写入到PM的输出队列中。
●中断一个程序执行驱动装置的运行:当某个程序执行驱动装置驱动的某道程序执行到当前指令满足被中断的条件时,PM置相应的中断标志、保存该程序执行驱动装置相应单元的内容、并启动系统管理程序的中断处理例程,即将该例程的程序执行驱动装置置入PM的输入队列,由该程序执行驱动装置驱动中断处理例程去完成有关的中断处理工作。该中断处理例程将把被中断的程序的程序执行驱动装置写回到系统的程序调度表中,然后再根据调度规则选择和激活下一道程序的程序执行驱动装置以执行该道程序。
●终止一个程序执行驱动装置的运行:当某道程序执行到一条结束指令时,PM将通过采用删除该道程序的程序执行驱动装置的方式来终止该道程序的执行。注,该道程序在执行结束指令前,须执行一条或多条资源释放型指令。
●重复上述处理过程;如果本PM的输入队列为空或输出队列为满,则进行一次空操作。
●在PM部件的输入队列中接收到的程序执行驱动装置及其组成单元的内容如下所示:
  0   1   7   8   9   10   11   12   13   14-29
  PM PC   MPno   MPnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
其中1号单元为PC,其值或是0或是1或是转移的偏移量。
●在PM部件的输出队列中发往MP部件的程序执行驱动装置及其组成单元的内容如下所示:
0 7 8 9 10 11 12 13 14-29
  MPr   MPno   MPnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的MPr表示目的部件是MP且要求进行“读”操作;
2)部件4:称为指令格式转换部件IT,用于提供有关指令译码和指令格式转换的服务。可设置多个可独立并行工作的IT部件。每个IT的主要功能如下:
●IT维护着一个输入队列,所有请求本IT处理的程序执行驱动装置都等待在该队列中。IT也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务。
●对于请求指令格式转换的程序执行驱动装置,IT将对该程序执行驱动装置中存放的当前指令进行格式转换,并据此设置NEXT等单元,然后将其写入到IT的输出队列中。
●重复上述处理过程;如果本IT的输入队列为空或输出队列为满,则进行一次空操作。
●在IT部件的输入队列中的程序执行驱动装置及其组成单元的内容如下所示。其中1号单元中的I为读出的当前指令,如LDIR0,C。
  0   1   7   8   9   10   11   12   13   14-29
  IT I   MPno   MPnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
●在IT部件的输出队列中的程序执行驱动装置及其组成单元的内容根据当前指令I的不同而不同,如下所示。
由IT发往PM的程序执行驱动装置及其组成单元的内容:
LDI Rd,C
  0   1   7   8   9   10   11   12   13   14-29
  PM 1 MPno MPnu PC Mdno MDnu Ins PrNo R0-R15
其中1号单元为PC,当前指令的当前值是1。
MV Rd,Rs
  0   1   7   8   9   10   11   12   13   14-29
PM 1 MPno MPnu PC Mdno MDnu Ins PrNo R0-R15
其中1号单元为PC,当前指令的当前值是1。
Δ由IT发往MD的程序执行驱动装置及其组成单元的内容:
LD Rd,Rs
  0   1   2   3   7   8   9   10   11   12   13   14-29
  MDr   PM   [Rd]   [Rs]   MPno   MPnu   PC   MDno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的MDr表示目的部件是MD且要求进行“读”操作;2,3号单元中的[Rd]与[Rs]表示寄存器Rd与寄存器Rs中的内容。
STI Rd,C
  0   1   2   3   7   8   9   10   11   12   13   14-29
  MDIw PM [Rd] C MPno MPnu PC MDno MDnu Ins PrNo R0-R15
其中0号单元中的MDIw表示目的部件是MD且要求进行“立即数写”操作;2号单元中的[Rd]表示寄存器Rd中的内容。
ST Rd,Rs
  0   1   2   3   7   8   9   10   11   12   13   14-29
  MDw PM [Rd] [Rs] MPno MPnu PC MDno MDnu Ins PrNo R0-R15
其中0号单元中的MDw表示目的部件是MD且要求进行“写”操作;2,3号单元中的[Rd]与[Rs]表示寄存器Rd与寄存器Rs中的内容。
Δ由IT发往ALU的程序执行驱动装置及其组成单元的内容:
ADDI Rd,C
  0   1   2   3   4   7   8   9   10   11   12   13   14-29
  ALUI+   PM   Rd   [Rd] C   MPno   MPnu    PC   MDno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的ALUI+表示目的部件是ALU且要求进行“立即数的加”操作。对于SUBI,MULI,DIVI等指令,其相应的程序执行驱动装置及其组成单元的内容与此类似,仅是0号单元分别置为是ALUI-、ALUI*、ALUI÷。
ADD Rd,Rs1,Rs2
0 1 2 3 4 7 8 9 10 11 12 13   14-29
  ALU+   PM   Rd   [Rs1]   [Rs2]   MPno   Mpnu   PC   MDno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的ALU+表示目的部件是ALU且要求进行“加”操作;SUB,MUL,DIV等与此类似。
JEQI Rs,C
  0   1   2   3   7   8   9   10   11   12   13   14-29
  ALUIj   PM C [Rs]   MPno   MPnu   PC   MDno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的ALUIj表示目的部件是ALU且要求进行“立即数的转移判断”操作;JNEI等与此类似。
JEQ Rs1,Rs2
0 1 2 3 7 8 9 10 11 12 13 14-29
  ALUj   PM   [Rs2]   [Rs1]   MPno   MPnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
其中0号单元中的ALUj表示目的部件是ALU且要求进行“转移判断”操作;JNE等与此类似。
SLT Rd,Rs1,Rs2
0 1 2 3 4 7 8 9 10 11 12 13   14-29
ALUslt PM Rd [Rs1] [Rs2] MPno MPnu PC Mdno   MDnu Ins PrNo R0-R15
其中0号单元中的ALUslt表示目的部件是ALU且要求进行“小于设置”操作;SLE、SGT、SGE、SEQ、SNE等与此类似。
3)部件5:称为算术/逻辑运算部件ALU,用于提供有关算术/逻辑运算的服务。可设置多个可独立并行工作的ALU部件。每个ALU部件的主要功能如下:
●ALU维护着一个输入队列,所有请求本ALU处理的程序执行驱动装置都等待在该队列中。ALU也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务。
●在请求ALU进行算术/逻辑运算的服务之前,程序执行驱动装置已控制将该指令所需的操作数准备好且存放在程序执行驱动装置的相应单元中。ALU对存放在程序执行驱动装置中的相应的操作数进行所要求的算术/逻辑运算,结果存放在程序执行驱动装置的相应的单元中;置NEXT单元PM;按指令的规定置1单元,即ΔPC单元;然后将其写入到ALU的输出队列中。
●重复上述处理过程;如果本ALU的输入队列为空或输出队列为满,则进行一次空操作。
●在ALU部件的输入队列中的程序执行驱动装置及其组成单元的内容可参见IT部件的输出队列中的发往ALU的程序执行驱动装置及其组成单元的内容。
●在ALU部件的输出队列中的程序执行驱动装置及其组成单元的内容如下所示。
  0   1   7   8   9   10   11   12   13   14-29
  PM PC   MPno   Mpnu   PC   Mdno   MDnu   Ins   PrNo   R0-R15
其中1号单元为PC,其值或是1或是转移的偏移量。
4)部件6:称为外部设备管理部件PD,用于提供管理外部设备,如显示、键盘、鼠标、打印、通信等设备,与主机之间进行数据输入/输出的服务。
3、部件7:称为程序执行驱动装置配送部件DU,用于提供将程序执行驱动装置从一个部件的输出队列配送到另一个部件的输入队列的运输与配送服务。可设置多个可独立并行工作的DU部件。每个DU部件的主要功能如下:
●DU按预定的顺序逐个查询各部件组的各部件的输出队列是否为非空。对于某非空的输出队列,DU从队中取出一程序执行驱动装置,并按照此程序执行驱动装置的NEXT单元所指示的目的部件组编号以及目的部件编号查询该目的部件组的目的部件的输入队列是否为非满。如果是非满,则将该程序执行驱动装置配送到该目的部件组的目的部件的输入队列中去。注,以上的处理方式是针对PM、MP和MD而言。对于IT和ALU,只需在该部件中任选一输入队列为非满的部件即可。
●重复上述处理过程;如果所有部件组的所有部件的输出队列全为空,或者虽有输出队列为非空,但相对应的输入队列全为满,则进行一次空操作。
图1亦给出了本发明的上述实施例中系统各部件的连接关系:部件1到6分别通过各自的一或两组信号线将各自的输入队列的尾端与输出队列的首端连到部件7;
图2是本发明的上述实施例的部件7的结构框图。部件7由多个数据输入端口、多个数据输出端口、连通网络装置与控制管理装置等所组成。部件7的控制管理装置用于选通的控制与管理,如各端口忙闲的探测、优先级的确定、路径的选择等。部件7的连通网络装置用于将多个数据输入端口连到多个数据输出端口。该连通网络装置的设计有多种方法,以下列举其中较为典型的两种。
图3是本发明的上述实施例中的配送部件的连通网络装置的交叉互连设计方式的结构框图。装置7的连通网络装置采用交叉互连结构,任何一个输入端口都与所有或部分输出端口相连。
图4是本发明的上述实施例中的配送部件的多总线互连设计方式的结构框图。装置7的连通网络装置采用多总线结构,所有的输入端口与输出端口被分成几组,分别连到一条总线上;总线与总线之间再交叉互连。
图5是本发明的上述实施例的工作流程图,也是在新型计算机中程序执行驱动装置的工作流程图。其具体步骤如下:
步骤S1,系统初启时,至少有一道程序,如系统管理程序,的程序执行驱动装置存放在某个程序管理部件PM的输出队列中;下转步骤S2;
步骤S2,当某个DU部件检测到某个PM部件的输出队列为非空、且当前处于队首的程序执行驱动装置的NEXT单元所指向的那个特定的目的MP部件的输入队列为非满时,将该PM部件的输出队列队首的程序执行驱动装置配送到相应的MP部件的输入队列中等待该部件的处理;下转步骤S3;
步骤S3,当某个MP部件检测到其输入队列为非空时,按输入队列队首处的程序执行驱动装置中PC单元所指定的PC地址到它所管理的程序存储部件中读取指令,取出的指令存放到该程序执行驱动装置的1号单元中;如果此时该MP部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;下转步骤S4;
步骤S4,当某个DU部件检测到某个MP部件的输出队列为非空、且当前处于队首的程序执行驱动装置的NEXT单元所指向的目的部件是IT、且至少有一个IT部件的输入队列为非满时,将该MP部件的输出队列队首的程序执行驱动装置配送到相应的IT部件的输入队列中等待该部件的处理;下转步骤S5;
步骤S5,当某个IT部件检测到其输入队列为非空时,对输入队列队首处的程序执行驱动装置中的指令进行指令的格式变换,变换后的结果存放到该程序执行驱动装置的相应单元中;如果此时该IT部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;下转步骤S6;
步骤S6,当某个DU部件检测到某个部件,这里的某个部件是指IT、ALU和MD中的任何一个部件,的输出队列为非空、且当前处于队首的程序执行驱动装置的NEXT单元所指向的目的部件的输入队列为非满时,将该部件的输出队列队首的程序执行驱动装置配送到相应的目的部件的输入队列中等待该部件的处理。此时的目的部件有3种,一是某个ALU部件,此时的目的ALU部件可以是任意一个输出队列有空位的ALU部件;以下转步骤S7;二是某个MD部件,此时的目的MD部件必须是上述程序执行驱动装置的NEXT单元所特指的哪个MD部件;以下转步骤S8;最后一个是某个PM部件,此时的目的PM部件必须是上述程序执行驱动装置的NEXT单元所特指的哪个PM部件;以下转步骤S9;
步骤S7,当某个ALU部件检测到其输入队列为非空时,按输入队列队首处的程序执行驱动装置中的NEXT单元中的命令对该程序执行驱动装置中的相应单元所保存的操作数进行指定的算术/逻辑运算,运算后的结果存放到该程序执行驱动装置的相应单元中;如果此时该ALU部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;此时的目的部件是PM部件,下转步骤S6;
步骤S8,当某个MD部件检测到其输入队列为非空时,按输入队列队首处的程序执行驱动装置中的NEXT单元中的读或写命令以及该程序执行驱动装置中的某单元所指定的部件内地址对该程序执行驱动装置中的某单元的数据在它所管理的数据存储部件中进行读/写操作;如果是读操作,将读出的数据存放到该程序执行驱动装置的某单元中;如果此时该MD部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;此时的目的部件是PM部件,下转步骤S6;
步骤S9,当PM的某个部件检测到其输入队列为非空时,按其输入队列队首处的程序执行驱动装置中的命令要求进行相应的操作:1)非END指令,此时ΔPC单元为非0值:PM按要求修正其PC等单元的值,结果存放到该程序执行驱动装置的相应单元中;如果此时该PM部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;下转步骤S2。2)END指令,此时ΔPC单元为0:PM置相应结束标志,从输入队列中删除该程序执行驱动装置,激活系统管理程序调度其它程序执行。3)当某个程序执行驱动装置驱动的某道程序执行完当前指令后满足被中断的条件时:PM置相应中断标志后保存该程序执行驱动装置相应单元的内容,并启动系统管理程序的中断处理例程,即将该例程的程序执行驱动装置置入PM的输入队列;由该程序执行驱动装置驱动中断处理例程去完成有关的中断处理工作:该中断处理例程将把被中断的程序的程序执行驱动装置写回到系统的程序调度表中,然后再根据调度规则选择和激活下一道程序的程序执行驱动装置以执行该道程序。
系统的软件部分由一道简化的系统管理程序所组成。为重点说明本发明的技术原理,该系统管理程序仅设置了简化的程序调度功能和简化的中断处理功能,并为此维护一张程序调度表。在系统初启时,该系统管理程序的程序执行驱动装置就被加载到系统的PM部件中。该程序执行驱动装置驱动系统管理程序逐个激活用户程序的程序执行驱动装置。当等待执行的程序总数超过系统允许的最大值时,系统管理程序将通过中断机制切换程序的执行。
本文所述仅为本发明技术构思下的一些基本说明。存在多种依据本发明提出的计算机工作方法设计计算机的方式与方法,也存在多种实现程序执行驱动装置以及实现用程序执行驱动装置来管理与控制程序执行的方式与方法。而依据本发明的技术构想所做的任何等效变换,均应属于本发明的保护范围。
本发明作者为论证本发明提出的计算机工作方法以及按此方法设计计算机的可行性,分别用C++开发了两个模拟系统,一是冯.偌依曼结构计算机系统,一是使用本发明提出的计算机工作方法的计算机系统,即L结构计算机系统。两种计算机系统采用相同的系统参数,如存储器读/写周期、ALU运算周期等。执行100万条指令的模拟结果显示L结构计算机系统比冯.偌依曼结构计算机系统快2到10倍,而且进一步提高的余地很大。
               简化的指令系统
MOVE指令:MOV Rd,Rs          Rd←Rs
LOAD指令:LD  Rd,Rs          Rd←DM[Rs]
          LDI Rd,C           Rd←C
STORE指令:ST Rd,Rs          DM[Rd]←Rs
           STI Rd,C          DM[Rd]←C
转移指令: JEQ Rs1,Rs2 IF(Rs1=0)PC←PC+Rs2  ELSE PC←PC+1
           JNE Rs1,Rs2 IF(Rs1≠0)PC←PC+Rs2  ELSE PC←
PC+1
           JEQI Rs1,C    IF(Rs1=0)PC←PC+C  ELSE PC←
PC+1
           JNEI Rs1,C    IF(Rs1≠0)PC←PC+C  ELSE PC←
PC+1
运算指令:ADD Rd,Rs1,Rs2  Rd←Rs1+Rs2
          SUB Rd,Rs1,Rs2  Rd←Rs1-Rs2
          MUL Rd,Rs1,Rs2  Rd←Rs1*Rs2
          ADDI Rs,C        Rs←Rs+C
          SUBI Rs,C        Rs←Rs-C
          MULI Rs,C        Rs←Rs*C
逻辑指令:OR Rd,Rs1,Rs2   Rd←Rs1 OR Rs2
          AND Rd,Rs1,Rs2  Rs←Rs1 AND Rs2
          ORI Rs,C         Rs←Rs OR C
          ANDI Rs,C        Rs←Rs AND C
设置指令:SLT Rd,Rs1,Rs2  IF(Rs1<Rs2)Rd←1 ELSE Rd←0
                            5
          SLE Rs1,Rs2      IF(Rs1<=Rs2)Rd←1 ELSE Rd←0
          SGT Rs1,Rs2      IF(Rs1>Rs2)Rd←1 ELSE Rd←0
          SGE Rd,Rs1,Rs2  IF(Rs1>=Rs2)Rd←1 ELSE Rd←0
          SEQ Rd,Rs1,Rs2  IF(Rs1=Rs2)Rd←1 ELSE Rd←0
          SNE Rd Rs1,Rs2   IF(Rs1≠Rs2)Rd←1 ELSE Rd←0
资源管理指令:GETMD Rd,Rs  申请占用[Rs]个连续的MD部
件,
                            Rd←获准的MD部件编号。
          GETMDI Rd,C      申请占用C个连续的MD部件
                            Rd←获准的MD部件编号。
          RETMD Rs1,Rs2    申请释放由[Rs1]开始的[Rs2]个
                            连续的MD部件。
          GETMDI Rs,C      申请释放由[Rs1]开始的C个连
                            的MD部件。
结束指令:END               程序结束。

Claims (13)

1、一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征在于,在任一台该类计算机上能够在同一时刻并行地执行多道程序。
2、根据权利要求1所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征在于:为每一道程序引入了一个程序执行驱动装置,从而多个程序执行驱动装置可在同一台该类计算机上相互独立地管理与控制多道程序在同一时刻并行地执行。
3、根据权利要求1或2所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征在于:每道程序在生成可执行代码的同时,生成了该道程序的程序执行驱动装置,一个程序执行驱动装置至少包含有用于说明与定义该道程序属性特征、以及管理与控制该道程序执行所需要的全部相关信息;组成一道程序的多道程序或子程序亦可有各自的程序执行驱动装置。
4、一种在同一时刻在单台计算机上能够并行地执行多道程序的计算机,其特征在于该类计算机的基本构成是:
1)系统的硬件部分至少由下述部件组成:一个或多个可并行工作的存储部件,一个或多个可并行工作的操作控制部件,一个或多个可并行工作的在部件间起连接作用的连通部件;
2)系统的软件部分至少由一个类似于现代计算机系统中的操作系统的系统管理程序所组成;该系统管理程序至少具有程序调度的功能,并至少维护着一个称为程序调度表的数据结构;系统在初启时就将系统管理程序的程序执行驱动装置加载到系统的某操作控制部件中去,称为激活或活化该程序执行驱动装置;该程序执行驱动装置将驱动系统管理程序逐个激活多个用户程序的程序执行驱动装置;此后,各用户程序的程序执行驱动装置将相互独立地在同一时刻驱动各自的用户程序在同一台上述计算机中同时并行地执行。
5、根据权利要求1或2或3所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的方法及使用这种方法的计算机,其特征在于:该类计算机的工作方法是:
1)一道程序一旦生成了可执行代码及其程序执行驱动装置,系统管理程序就将该道程序的程序执行驱动装置写入到它的程序调度表中;此时,该程序存放在某个存储部件中并处于等待执行状态;
2)该道程序一旦满足被调入执行的各项条件,系统管理程序就将激活或活化该道程序的程序执行驱动装置;此后,该道程序进入执行状态,并在它的程序执行驱动装置的管理与控制下独立地执行;
3)程序执行驱动装置依据它所保存的该道程序的驻存信息,如程序存储部件号、部件内地址PC等,控制到相应的存储部件去取当前要执行的指令;
4)指令取出后,该程序执行驱动装置即控制到某操作控制部件对已取出的指令进行“译码”;并据此,控制到相应的存储部件去取操作数、控制到相应的操作控制部件完成指定的处理,以及控制将处理的结果写回到相应的存储部件中去;取出后的指令、指令“译码”的结果、取出的操作数、以及操作的结果均被暂时地保存在该程序执行驱动装置的某些单元中;
5)最后,在该程序执行驱动装置将它所保存的属于程序驻存信息类中的PC项按当前指令规定的方式进行修正后,转步骤3以控制执行本道程序的下一条指令;
6)至少在下述情况下,系统管理程序将卸载某道程序的程序执行驱动装置:(1)执行到该道程序的结束指令:这将导致PM置相应的结束标志并启动系统管理程序对该道程序进行相应的结束处理;(2)当执行完当前指令后满足被中断的条件:这将导致PM置相应中断标志、保存该程序执行驱动装置相应单元的内容,并启动系统管理程序的中断处理例程进行有关的中断处理。
6、根据权利要求4所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的计算机,其特征在于:该类计算机硬件的基本构成部件至少包括:
1)一个或多个可并行工作的存储部件,包括下述部件:
●程序存储部件MP-用于提供有关读/写程序存储部件的服务,可设置多个可独立并行工作的MP部件;
●数据存储部件MD-用于提供有关读/写数据存储部件的服务,可设置多个可独立并行工作的MD部件;
2)一个或多个可并行工作的操作控制部件,至少包括下述部件:
●程序管理部件PM-用于提供有关管理程序执行驱动装置运行的服务,可设置多个可独立并行工作的PM部件;
●指令格式转换部件IT-用于提供有关指令译码和指令格式转换的服务,可设置多个可独立并行工作的IT部件;
●算术/逻辑运算部件ALU-用于提供有关算术/逻辑运算的服务,可设置多个可独立并行工作的ALU部件;
●外部设备部件PD-用于对外部设备部件的管理与控制;
3)一个或多个可并行工作的在部件间起连接作用的连通部件,即程序执行驱动装置的配送部件DU-用于提供将程序执行驱动装置从
一个部件的输出队列配送到另一个部件的输入队列的运输与配送服务,可设置多个可独立并行工作的DU部件;
上述各类部件通常有一个输入缓存装置与一个输出缓存装置,可按请求/服务的方式工作:收到请求后,即输入缓存非空时,启动完成指定的服务,结果存入输出缓存。
7、根据权利要求4或6所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的计算机,其特征在于:程序执行驱动装置被设计成为由一组信息单元组成的信息块,在系统硬件的支持下,这些特殊的信息块,即程序执行驱动装置,按照当前所携带的指令的操作码的要求逐次前往相应的各功能部件对指令进行相应的加工、处理,如取操作、运算操作、存操作等;程序执行驱动装置的具体组成如下所示: 0  1  2  3  4  5  6   7   8  9   10   11   12     13  14-29   MPno   MPnu  PC   MDno   MDnu   Ins     PrNo     R0-R15
一个程序执行驱动装置由30个单元组成,各组成单元的定义与说明如下:
单元0-单元6:运行时工作单元:用于本道程序在执行过程中存放临时/中间结果;其中0号单元,称为NEXT单元,是本程序执行驱动装置当前将要前往请求服务的功能部件的编号;1-6号单元依当前所驱动的指令的不同而不同,其具体用法在描述各部件功能时有详细的说明;单元1有时被用作PC单元,当PC=0时表示当前指令是一条END指令,当PC=1时表示当前指令是一条非转移型指令,当△PC>1或△PC<0时表示当前指令是一条转移型指令;
单元7:程序存储部件的部件编号MPno:用于存放本道程序驻存的程序存储部件的部件编号;
单元8:程序存储部件的部件个数MPnu:用于存放本道程序所占用的连续的程序存储部件的个数;如果MPnu的值大于1,则MPno的值是第一个程序存储部件的部件编号;
单元9:程序存储部件的部件内地址PC:用于存放本道程序当前执行指令的程序存储部件的部件内地址;
单元10:数据存储部件的部件编号MDno:用于存放本道程序所占用的数据存储部件的部件编号;
单元11:数据存储部件的部件个数MDnu:用于存放本道程序所占用的连续的数据存储部件的个数;如果MDnu的值大于1,则MDno的值是第一个数据存储部件的部件编号;
单元12:执行指令条数Ins:用于记录本道程序本次调入后累计执行的指令条数;
单元13:程序道号PrNo:当两道以上正在执行的程序共同存放在同一个程序存储部件中时,用本参数标识各道程序;
单元14-单元29:16个通用寄存器R0-R15。
8、根据权利要求4或6或7所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的计算机,其特征在于:通用寄存器组不是被设计成为一个硬件装置,而是被设计成为一组流动的信息单元,即程序执行驱动装置的一个组成部分。
9、根据权利要求4或6或7所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的计算机,其特征在于:系统各主要硬件功能部件的功能及其输入/输出的程序执行驱动装置的内容如下所述;
1)存储功能部件
(1)部件1:称为程序存储部件MP,用于提供有关读/写程序存储部件的服务,可设置多个可独立并行工作的MP部件,每个MP部件的主要工作如下:
●MP维护着一个输入队列,所有请求本MP处理的程序执行驱动装置都等待在该队列中,MP也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务;
●读请求:如果当前队首的程序执行驱动装置请求的是读操作,则从该程序执行驱动装置中取出该道程序的部件内地址PC送MP的地址寄存器,并启动MP的读操作读取该道程序的当前指令,读出的指令写入到当前的程序执行驱动装置的相应单元中,置程序执行驱动装置的NEXT单元为IT,然后将其写入到MP的输出队列中;
●写请求:如果当前队首的程序执行驱动装置请求的是写操作,需完成的操作与数据存储部件的写操作类似,此处予以省略;
●重复上述处理过程,如果本MP的输入队列为空或输出队列为满,则进行一次空操作;
●在MP部件的输入队列中的程序执行驱动装置及其组成单元的内容如下所示; 0 7 8 9 10 11 12 13 14-29     MPr     MPno    MPnu    PC    Mdno     Mdnu     Ins     PrNo     R0-R15
其中0号单元中的MPr表示目的部件是MP且要求进行“读”操作;凡当前未涉及到的程序执行驱动装置的组成单元,如单元1至单元6,均予以省缺,以下相同;
●在MP部件的输出队列中的程序执行驱动装置及其组成单元的内容如下所示,其中1号单元中的I为读出的当前指令,如LDIR0,C:
 0  1   7   8  9   10   11   12     13     14-29  IT I   MPno   MPnu  PC   Mdno   Mdnu   Ins     PrNo     R0-R15
(2)部件2:称为数据存储部件MD,用于提供有关读/写数据存储部件的服务,可设置多个可独立并行工作的MD部件,每个MD部件的主要工作如下:
●MD维护着一个输入队列,所有请求本MD处理的程序执行驱动装置都等待在该队列中,MD也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务;
●读操作:如果当前队首的程序执行驱动装置请求的是读操作,则从该程序执行驱动装置中取出该读操作的部件内地址送MD的地址寄存器,并启动MD的读操作读取相应存储单元的内容,读出的数据写入到当前的程序执行驱动装置的某单元中,置NEXT单元为PM,置△PC单元为1,然后将其写入到MD的输出队列中;
●写操作:如果当前队首的程序执行驱动装置请求的是写操作,则从该程序执行驱动装置中取出该写操作的数据及部件内地址分别送MD的数据寄存器和地址寄存器,并启动MD的写操作将数据写入到相应的MD存储单元中去,置NEXT单元为PM,置△PC单元为1,然后将其写入到MD的输出队列中;
●重复上述处理过程,如果本MD的输入队列为空或输出队列为满,则进行一次空操作;
●在MD部件的输入队列中的程序执行驱动装置及其组成单元的内容可参见IT部件的输出队列中发往MD的程序执行驱动装置及其组成单元的内容;
●在MD部件的输出队列中发往PM的程序执行驱动装置及其组成单元的内容如下所示:
  0   1     7     8    9   10   11   12   13    14-29   PM 1 MPno MPnu PC Mdno Mdnu Ins PrNo R0-R15
其中1号单元为△PC,当前指令的当前值是1;
2)操作功能部件
(1)部件3:称为程序管理部件PM,用于提供有关管理程序执行驱动装置运行的服务,可设置多个可独立并行工作的PM部件,每个PM部件的主要功能如下:
●PM维护着一个输入队列,所有请求本PM处理的程序执行驱动装置都等待在该队列中,PM也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务;
●启动一个程序执行驱动装置的运行:系统管理程序激活一道程序的程序执行驱动装置实际上就是将该道程序的程序执行驱动装置写入PM的输入队列,当PM处理到该程序执行驱动装置时,将其NEXT单元置为MP,然后将其写入到PM的输出队列中;
●继续一个程序执行驱动装置的运行:每个程序执行驱动装置驱动一道程序的当前指令执行的最后一步是返回到PM,如果当前指令不是一条结束指令,则PM将控制该驱动器继续运行:进行单元9单元9+单元1,即PC PC+△PC,置NEXT单元为MP,然后将其写入到PM的输出队列中;
●中断一个程序执行驱动装置的运行:当某个程序执行驱动装置驱动的某道程序执行到当前指令满足被中断的条件时,PM置相应的中断标志、保存该程序执行驱动装置相应单元的内容、并启动系统管理程序的中断处理例程,即将该例程的程序执行驱动装置置入PM的输入队列,由该程序执行驱动装置驱动中断处理例程去完成有关的中断处理工作,该中断处理例程将把被中断的程序的程序执行驱动装置写回到系统的程序调度表中,然后再根据调度规则选择和激活下一道程序的程序执行驱动装置以执行该倒程序;
●终止一个程序执行驱动装置的运行:当某道程序执行到一条结束指令时,PM将通过采用删除该道程序的程序执行驱动装置的方式来终止该道程序的执行,该道程序在执行结束指令前,须执行一条或多条资源释放型指令;
●重复上述处理过程;如果本PM的输入队列为空或输出队列为满,则进行一次空操作;
●在PM部件的输入队列中接收到的程序执行驱动装置及其组成单元的内容如下所示:   0   1   7   8  9   10   11   12  13     14-29   PM   △PC   MPno   MPnu  PC   Mdno   Mdnu   Ins  PrNo     R0-R15
其中1号单元为△PC,其值或是0或是1或是转移的偏移量;
●在PM部件的输出队列中发往MP部件的程序执行驱动装置及其组成单元的内容如下所示:   0   7  8  9   10   11   12  13     14-29   MPr   MPno  MPnu  PC   Mdno   Mdnu   Ins  PrNo     R0-R15
其中0号单元中的MPr表示目的部件是MP且要求进行“读”操作;
(2)部件4:称为指令格式转换部件IT,用于提供有关指令译码和指令格式转换的服务,可设置多个可独立并行工作的IT部件,每个IT的主要功能如下:
●IT维护着一个输入队列,所有请求本IT处理的程序执行驱动装置都等待在该队列中,IT也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务;
●对于请求指令格式转换的程序执行驱动装置,IT将对该程序执行驱动装置中存放的当前指令进行格式转换,并据此设置NEXT等单元,然后将其写入到IT的输出队列中;
●重复上述处理过程;如果本IT的输入队列为空或输出队列为满,则进行一次空操作;
●在IT部件的输入队列中的程序执行驱动装置及其组成单元的内容如下所示,其中1号单元中的I为读出的当前指令,如LDIR0,C;  0  1   7   8  9   10   11  12  13    14-29  IT I   MPno   MPnu  PC   Mdno   MDnu  Ins  PrNo     R0-R15
●在IT部件的输出队列中的程序执行驱动装置及其组成单元的内容根据当前指令I的不同而不同,如下所示:
△由IT发往PM的程序执行驱动装置及其组成单元的内容:LDIRd,C  0  1   7   8  9  10  11  12  13   14-29  PM 1 MPno MPnu PC Mdno Mdnu Ins PrNo R0-R15
其中1号单元为△PC,当前指令的当前值是1;MV Rd,Rs  0  1   7  8  9  10  11  12  13  14-29  PM 1 MPno MPnu PC Mdno Mdnu Ins PrNo R0-R15
其中1号单元为△PC,当前指令的当前值是1;
△由IT发往MD的程序执行驱动装置及其组成单元的内容:LD Rd,Rs   0   1   2  3 7  8  9  10  11  12  13     14-29   MDr   PM   [Rd] [Rs] MPno  MPnu  PC  MDno  Mdnu  Ins  PrNo     R0-R15
其中0号单元中的MDr表示目的部件是MD且要求进行“读”操作;2,3号单元中的[Rd]与[Rs]表示寄存器Rd与寄存器Rs中的内容;
     STI Rd,C   0  1 2 3  7  8  9  10  11   12  13     14-29   MDIw  PM [Rd] C  MPno  MPnu  PC  MDno  MDnu   Ins  PrNo     R0-R15
其中0号单元中的MDIw表示目的部件是MD且要求进行“立即数写”操作;其中2号单元中的[Rd]表示寄存器Rd中的内容;
ST Rd,Rs   0  1  2  3   7   8  9   10   11   12  13     14-29   MDw PM [Rd] [Rs] MPno MPnu PC MDno Mdnu Ins PrNo R0-R15
其中0号单元中的MDw表示目的部件是MD且要求进行“写”操作;2,3号单元中的[Rd]与[Rs]表示寄存器Rd与寄存器Rs中的内容;
△由IT发往ALU的程序执行驱动装置及其组成单元的内容:
ADDI Rd,C   0   1   2   3  4   7   8  9   10   11   12  13     14-29   ALUI+   PM   Rd   [Rd] C   MPno   Mpnu  PC   MDno   MDnu   Ins  PrNo     R0-R15
其中0号单元中的ALUI+表示目的部件是ALU且要求进行“立即数的加”操作;对于SUBI,MULI,DIVI等指令,其相应的程序执行驱动装置及其组成单元的内容与此类似,仅是0号单元分别置为是ALUI-、ALUI*、ALUI÷;
    ADD Rd,Rs1,Rs2 0 1 2 3 4 7 8 9 10 11 12 13   14-29  ALU+  PM   Rd   [Rs1]   [Rs2]   MPno   Mpnu  PC   MDno   Mdnu   Ins   PrNo   R0-R15
其中0号单元中的ALU+表示目的部件是ALU且要求进行“加”操作;
SUB,MUL,DIV等与此类似;
          JEQI Rs,C
    0   1   2  3   7   8  9   10   11  12   13     14-29     ALUIj   PM C [Rs]   MPno   MPnu  PC   MDno   Mdnu  Ins   PrNo     R0-R15
其中0号单元中的ALUIj表示目的部件是ALU且要求进行“立即数的转移判断”操作;JNEI等与此类似;
      JEQ Rs1,Rs2     0   1  2   3   7   8   9   10   11  12  13     14-29     ALUj   PM  [Rs2]   [Rs1]   MPno   MPnu   PC   Mdno   Mdnu  Ins  PrNo     R0-R15
其中0号单元中的ALUj表示目的部件是ALU且要求进行“转移判断”操作;JNE等与此类似;
      SLT Rd,Rs1,Rs2 0 1 2 3 4 7 8 9 10 11 12 13 14-29 ALUslt PM Rd [Rs1] [Rs2] MPno Mpnu PC Mdno  MDnu Ins PrNo R0-R15
其中0号单元中的ALUslt表示目的部件是ALU且要求进行“小于设置”操作;SLE、SGT、SGE、SEQ、SNE等与此类似;
(3)部件5:称为算术/逻辑运算部件ALU,用于提供有关算术/逻辑运算的服务,可设置多个可独立并行工作的ALU部件,每个ALU部件的主要工作如下:
●ALU维护着一个输入队列,所有请求本ALU处理的程序执行驱动装置都等待在该队列中,ALU也维护着一个输出队列,所有已处理的程序执行驱动装置都等待在该队列中等待DU部件的配送服务;
●在请求ALU进行算术/逻辑运算的服务之前,程序执行驱动装置已控制将该指令所需的操作数准备好且存放在程序执行驱动装置的相应单元中,ALU对存放在程序执行驱动装置中的相应的操作数进行所要求的算术/逻辑运算,结果存放在程序执行驱动装置的相应的单元中,置NEXT单元PM,按指令的规定置1单元,即△PC单元,然后将其写入到ALU的输出队列中;
●重复上述处理过程;如果本ALU的输入队列为空或输出队列为满,则进行一次空操作;
●在ALU部件的输入队列中的程序执行驱动装置及其组成单元的内容可参见IT部件的输出队列中的发往ALU的程序执行驱动装置及其组成单元的内容;
●在ALU部件的输出队列中的程序执行驱动装置及其组成单元的内容如下所示;     0   1   7   8   9   10   11   12   13     14-29     PM   △PC   MPno   Mpnu   PC   Mdno   Mdnu   Ins   PrNo     R0-R15
其中1号单元为△PC,其值或是1或是转移的偏移量;
(4)部件6:称为外部设备管理部件PD,用于提供管理外部设备,如显示、键盘、鼠标、打印、通信等设备,与主机之间进行数据输入/输出的服务;
3)部件7:称为程序执行驱动装置配送部件DU,用于提供将程序执行驱动装置从一个部件的输出队列配送到另一个部件的输入队列的运输与配送服务,可设置多个可独立并行工作的DU部件,每个DU部件的主要工作如下:
●DU按预定的顺序逐个查询各部件组中的各部件的输出队列是否为非空,对于某非空的输出队列,DU从队中取出一程序执行驱动装置,并按照此程序执行驱动装置的NEXT单元所指示的目的部件组编号以及目的部件编号查询该目的部件组中的目的部件的输入队列是否为非满,如果是非满,则将该程序执行驱动装置配送到该目的部件组中的目的部件的输入队列中去,以上的处理方式是针对PM、MP和MD而言,对于IT和ALU,只需在该部件中任选一输入队列为非满的部件即可;
●重复上述处理过程;如果所有部件组的所有部件的输出队列全为空,或者虽有输出队列为非空,但相对应的输入队列全为满,则进行一次空操作。
10、根据权利要求4或6或7或9所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的计算机,其特征在于:
1)各部件之间的连接关系是部件1到6分别通过各自的一或两组信号线将各自的输入队列的尾端与输出队列的首端连到部件7;
2)部件7至少由多个数据输入端口、多个数据输出端口、连通网络装置与控制管理装置所组成;部件7的控制管理装置用于选通的控制与管理,如各端口忙闲的探测、优先级的确定、路径的选择等;部件7的连通网络装置用于将多个数据输入端口连到多个数据输出端口,该连通网络装置的设计有多种方法;
3)装置7的连通网络装置可采用交叉互连的设计方式:任何一个输入端口都与所有或部分输出端口相连;
4)装置7的连通网络装置可采用多总线的设计方式:所有的输入端口与输出端口被分成几组,分别连到一条总线上,总线与总线之间再交叉互连。
11、根据权利要求1或2或3或5所述的一种在同一时刻在单台计算机上能够并行地执行多道程序的方法,其特征在于:其工作的流程,也是在新型计算机中程序执行驱动装置驱动程序执行的工作流程的具体步骤如下:
步骤S1,系统初启时,至少有一道程序,如系统管理程序,的程序执行驱动装置存放在某个程序管理部件PM的输出队列中;下转步骤S2;
步骤S2,当某个DU部件检测到某个PM部件的输出队列为非空、且当前处于队首的程序执行驱动装置的NEXT单元所指向的那个特定的目的MP部件的输入队列为非满时,将该PM部件的输出队列队首的程序执行驱动装置配送到相应的MP部件的输入队列中等待该部件的处理;下转步骤S3;
步骤S3,当某个MP部件检测到其输入队列为非空时,按输入队列队首处的程序执行驱动装置中PC单元所指定的PC地址到它所管理的程序存储部件中读取指令,取出的指令存放到该程序执行驱动装置的1号单元中;如果此时该MP部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;下转步骤S4;
步骤S4,当某个DU部件检测到某个MP部件的输出队列为非空、且当前处于队首的程序执行驱动装置的NEXT单元所指向的目的部件是IT、且至少有一个IT部件的输入队列为非满时,将该MP部件的输出队列队首的程序执行驱动装置配送到相应的IT部件的输入队列中等待该部件的处理;下转步骤S5;
步骤S5,当某个IT部件检测到其输入队列为非空时,对输入队列队首处的程序执行驱动装置中的指令进行指令的格式变换,变换后的结果存放到该程序执行驱动装置的相应单元中;如果此时该IT部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;下转步骤S6;
步骤S6,当某个DU部件检测到某个部件,这里的某个部件是指IT、ALU和MD中的任何一个部件,的输出队列为非空、且当前处于队首的程序执行驱动装置的NEXT单元所指向的目的部件的输入队列为非满时,将该部件的输出队列队首的程序执行驱动装置配送到相应的目的部件的输入队列中等待该部件的处理,此时的目的部件有3种,一是某个ALU部件,此时的目的ALU部件可以是任意一个输出队列有空位的ALU部件;以下转步骤S7;二是某个MD部件,此时的目的MD部件必须是上述程序执行驱动装置的NEXT单元所特指的哪个MD部件;以下转步骤S8;最后一个是某个PM部件,此时的目的PM部件必须是上述程序执行驱动装置的NEXT单元所特指的哪个PM部件;以下转步骤S9;
步骤S7,当某个ALU部件检测到其输入队列为非空时,按输入队列队首处的程序执行驱动装置中的NEXT单元中的命令对该程序执行驱动装置中的相应单元所保存的操作数进行指定的算术/逻辑运算,运算后的结果存放到该程序执行驱动装置的相应单元中;如果此时该ALU部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;此时的目的部件是PM部件,下转步骤S6;
步骤S8,当某个MD部件检测到其输入队列为非空时,按输入队列队首处的程序执行驱动装置中的NEXT单元中的读或写命令以及该程序执行驱动装置中的某单元所指定的部件内地址对该程序执行驱动装置中的某单元的数据在它所管理的数据存储部件中进行读/写操作;如果是读操作,将读出的数据存放到该程序执行驱动装置的某单元中;如果此时该MD部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;此时的目的部件是PM部件,下转步骤S6;
步骤S9,当PM的某个部件检测到其输入队列为非空时,按其输入队列队首处的程序执行驱动装置中的命令要求进行相应的操作:1)非END指令,此时△PC单元为非0值:PM按要求修正其PC等单元的值,结果存放到该程序执行驱动装置的相应单元中;如果此时该PM部件的输出队列为满状态,则等待其空;当有空位时,就将处理结束的程序执行驱动装置写入到它的输出队列中等待DU的配送处理;下转步骤S2;2)END指令,此时△PC单元为0:PM置相应结束标志,从输入队列中删除该程序执行驱动装置,激活系统管理程序调度下一个等待执行的程序进入执行;3)当前指令执行结束后满足被中断的条件时:PM置相应中断标志后保存该程序执行驱动装置相应单元的内容,并启动系统管理程序的中断处理例程;
CNB2004100497595A 2004-06-28 2004-06-28 在单计算机上可在同一时刻执行多道程序的方法及系统 Expired - Fee Related CN100489783C (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CNB2004100497595A CN100489783C (zh) 2004-06-28 2004-06-28 在单计算机上可在同一时刻执行多道程序的方法及系统
BRPI0512670-3A BRPI0512670A (pt) 2004-06-28 2005-06-09 método de comando para comandar a execução de programa/instrução de computador, e, processador de computador
US11/630,535 US7761877B2 (en) 2004-06-28 2005-06-09 L driving method for driving program/instruction execution, and architecture and processor thereof
KR1020067027649A KR100834180B1 (ko) 2004-06-28 2005-06-09 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서
EP05752500A EP1770516A4 (en) 2004-06-28 2005-06-09 L-DRIVE PROCEDURE FOR DRIVING PROGRAM / INSTRUCTION AND ARCHITECTURE AND PROCESSOR THEREFOR
JP2007518438A JP5336076B2 (ja) 2004-06-28 2005-06-09 プログラム/命令の実行を駆動する駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ
PCT/CN2005/000826 WO2006000145A1 (en) 2004-06-28 2005-06-09 A 'l' driving method for driving program/instruction and architecture and processor thereof
RU2007101465/09A RU2007101465A (ru) 2004-06-28 2005-06-09 Способ управления выполнением программы/команды, архитектура и процессор по этому способу

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100497595A CN100489783C (zh) 2004-06-28 2004-06-28 在单计算机上可在同一时刻执行多道程序的方法及系统

Publications (2)

Publication Number Publication Date
CN1595359A true CN1595359A (zh) 2005-03-16
CN100489783C CN100489783C (zh) 2009-05-20

Family

ID=34665825

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100497595A Expired - Fee Related CN100489783C (zh) 2004-06-28 2004-06-28 在单计算机上可在同一时刻执行多道程序的方法及系统

Country Status (8)

Country Link
US (1) US7761877B2 (zh)
EP (1) EP1770516A4 (zh)
JP (1) JP5336076B2 (zh)
KR (1) KR100834180B1 (zh)
CN (1) CN100489783C (zh)
BR (1) BRPI0512670A (zh)
RU (1) RU2007101465A (zh)
WO (1) WO2006000145A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006102845A1 (fr) * 2005-03-30 2006-10-05 Xiaobo Li Procede d’execution differee de programme avec delai et dispositif correspondant
CN102236724A (zh) * 2010-04-23 2011-11-09 鸿富锦精密工业(深圳)有限公司 最佳均衡器参数计算系统及方法
CN102542410A (zh) * 2010-12-21 2012-07-04 微软公司 与背景和基于任务的计算环境的交互
CN103885365A (zh) * 2014-03-24 2014-06-25 三和智控(北京)系统集成有限公司 一种动态管理控制逻辑集的方法
CN104978284A (zh) * 2014-04-04 2015-10-14 德克萨斯仪器德国股份有限公司 处理器子程序高速缓冲存储器
CN105808338A (zh) * 2016-03-17 2016-07-27 李晓波 一种在处理中实现中断响应核可配置的方法及装置
CN106201664A (zh) * 2014-12-01 2016-12-07 旺宏电子股份有限公司 具应用程序信息感知的数据处理方法以及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483324B2 (en) * 2012-06-26 2016-11-01 Nec Corporation Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme
US9183399B2 (en) * 2013-02-14 2015-11-10 International Business Machines Corporation Instruction set architecture with secure clear instructions for protecting processing unit architected state information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522082A (en) 1986-01-23 1996-05-28 Texas Instruments Incorporated Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits
JP2908598B2 (ja) * 1991-06-06 1999-06-21 松下電器産業株式会社 情報処理装置
US5638525A (en) * 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US5857103A (en) * 1996-06-14 1999-01-05 Sun Microsystems, Inc. Method and apparatus for addressing extended registers on a processor in a computer system
DE19817024A1 (de) * 1998-04-17 1999-10-21 Alcatel Sa Integrierte Schaltung
DE10000960C1 (de) * 2000-01-12 2001-12-20 Infineon Technologies Ag Datenverarbeitungsvorrichtung
US6640322B1 (en) * 2000-03-22 2003-10-28 Sun Microsystems, Inc. Integrated circuit having distributed control and status registers and associated signal routing means
US6658551B1 (en) * 2000-03-30 2003-12-02 Agere Systems Inc. Method and apparatus for identifying splittable packets in a multithreaded VLIW processor
US7096343B1 (en) * 2000-03-30 2006-08-22 Agere Systems Inc. Method and apparatus for splitting packets in multithreaded VLIW processor
US9032404B2 (en) * 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US7734833B2 (en) * 2005-09-08 2010-06-08 International Business Machines Corporation Method for scheduling operations called by a task on a real-time or non-real time processor

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006102845A1 (fr) * 2005-03-30 2006-10-05 Xiaobo Li Procede d’execution differee de programme avec delai et dispositif correspondant
CN102236724A (zh) * 2010-04-23 2011-11-09 鸿富锦精密工业(深圳)有限公司 最佳均衡器参数计算系统及方法
CN102236724B (zh) * 2010-04-23 2015-04-01 中山市云创知识产权服务有限公司 最佳均衡器参数计算系统及方法
CN102542410A (zh) * 2010-12-21 2012-07-04 微软公司 与背景和基于任务的计算环境的交互
CN102542410B (zh) * 2010-12-21 2015-12-02 微软技术许可有限责任公司 与背景和基于任务的计算环境的交互
US10963293B2 (en) 2010-12-21 2021-03-30 Microsoft Technology Licensing, Llc Interactions with contextual and task-based computing environments
CN103885365A (zh) * 2014-03-24 2014-06-25 三和智控(北京)系统集成有限公司 一种动态管理控制逻辑集的方法
CN104978284A (zh) * 2014-04-04 2015-10-14 德克萨斯仪器德国股份有限公司 处理器子程序高速缓冲存储器
CN104978284B (zh) * 2014-04-04 2021-01-22 德克萨斯仪器德国股份有限公司 处理器子程序高速缓冲存储器
CN106201664A (zh) * 2014-12-01 2016-12-07 旺宏电子股份有限公司 具应用程序信息感知的数据处理方法以及系统
CN105808338A (zh) * 2016-03-17 2016-07-27 李晓波 一种在处理中实现中断响应核可配置的方法及装置

Also Published As

Publication number Publication date
BRPI0512670A (pt) 2008-04-01
EP1770516A1 (en) 2007-04-04
CN100489783C (zh) 2009-05-20
WO2006000145A1 (en) 2006-01-05
EP1770516A4 (en) 2008-12-10
RU2007101465A (ru) 2008-08-10
KR100834180B1 (ko) 2008-05-30
KR20070036083A (ko) 2007-04-02
US7761877B2 (en) 2010-07-20
JP2008504615A (ja) 2008-02-14
US20080072023A1 (en) 2008-03-20
JP5336076B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
CN1288556C (zh) 运算处理系统和控制方法,任务管理系统和方法
CN1152305C (zh) 虚拟机系统
CN1227589C (zh) 用于保存返回状态的数据处理设备和方法
CN100351788C (zh) 嵌入式设备的驱动方法
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN100339824C (zh) 高效执行特长指令字的处理器和方法
CN100351822C (zh) 用简化视图定义、处理和表示用户界面组件的方法和工具
CN101078999A (zh) 一种实现数据备份和恢复的方法及系统
CN1906583A (zh) 信息处理设备、中断处理控制方法、以及计算机程序
CN1825273A (zh) 打印作业排队和调度系统及方法
CN1075021A (zh) 多媒体计算机操作系统及方法
CN101069161A (zh) 调度方法、调度装置和多处理器系统
CN1591374A (zh) 直接存储器存取传输控制器
CN1310148C (zh) 程序执行处理终端装置和程序执行处理方法
CN1097798C (zh) 资源分配的方法和系统
CN1264078A (zh) 执行多个操作系统的计算机
CN1731350A (zh) 图像处理装置及其控制方法
CN1791862A (zh) 操作系统
CN1326569A (zh) 用操作系统安装新的设备驱动程序的装置和方法
CN1811702A (zh) 开发门户应用和自动部署门户应用的系统和方法
CN1680959A (zh) 进程编辑设备和方法以及进程管理设备和方法
CN1873689A (zh) 图像处理设备、方法和存储有程序的存储介质
CN1540533A (zh) 信息处理装置、信息处理方法、控制程序
CN1278226C (zh) 模拟装置、模拟方法
CN1908904A (zh) 实时内部简易监视器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190701

Address after: Room 401, Building 1, Xuefu Road, Songshan Lake Park, Dongguan City, Guangdong Province

Patentee after: Guangdong Qingyun Computer Technology Co.,Ltd.

Address before: 102, Building 32, 154 Shaoshan Road, Changsha City, Hunan Province

Patentee before: Li Xiaobo

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

CF01 Termination of patent right due to non-payment of annual fee