CN1595359A - 在单计算机上可在同一时刻执行多道程序的方法及计算机 - Google Patents
在单计算机上可在同一时刻执行多道程序的方法及计算机 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims description 33
- 238000013461 design Methods 0.000 claims description 25
- 238000013500 data storage Methods 0.000 claims description 21
- 230000015572 biosynthetic process Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000012384 transportation and delivery Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000003245 working effect Effects 0.000 claims description 9
- 239000000872 buffer Substances 0.000 claims description 8
- 238000000151 deposition Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 235000000434 Melocanna baccifera Nutrition 0.000 claims description 3
- 241001497770 Melocanna baccifera Species 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 239000004615 ingredient Substances 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000010977 unit operation Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 239000012467 final product Substances 0.000 claims description 2
- 230000006386 memory function Effects 0.000 claims description 2
- 238000007639 printing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010616 electrical installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent 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)
- Advance Control (AREA)
- Stored Programmes (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:
(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的程序执行驱动装置及其组成单元的内容如下所示:
其中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号单元中的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置相应中断标志后保存该程序执行驱动装置相应单元的内容,并启动系统管理程序的中断处理例程;
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100497595A CN100489783C (zh) | 2004-06-28 | 2004-06-28 | 在单计算机上可在同一时刻执行多道程序的方法及系统 |
KR1020067027649A KR100834180B1 (ko) | 2004-06-28 | 2005-06-09 | 프로그램/명령어의 실행을 구동하는 “l”구동법 및그것의 아키텍처와 프로세서 |
PCT/CN2005/000826 WO2006000145A1 (en) | 2004-06-28 | 2005-06-09 | A 'l' driving method for driving program/instruction and architecture and processor thereof |
JP2007518438A JP5336076B2 (ja) | 2004-06-28 | 2005-06-09 | プログラム/命令の実行を駆動する駆動方法及びそのシステムアーキテクチュア、並びにプロセッサ |
EP05752500A EP1770516A4 (en) | 2004-06-28 | 2005-06-09 | L-DRIVE PROCEDURE FOR DRIVING PROGRAM / INSTRUCTION AND ARCHITECTURE AND PROCESSOR THEREFOR |
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 |
RU2007101465/09A RU2007101465A (ru) | 2004-06-28 | 2005-06-09 | Способ управления выполнением программы/команды, архитектура и процессор по этому способу |
US11/630,535 US7761877B2 (en) | 2004-06-28 | 2005-06-09 | L driving method for driving program/instruction execution, and architecture and processor thereof |
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)
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)
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)
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 |
-
2004
- 2004-06-28 CN CNB2004100497595A patent/CN100489783C/zh not_active Expired - Fee Related
-
2005
- 2005-06-09 BR BRPI0512670-3A patent/BRPI0512670A/pt not_active IP Right Cessation
- 2005-06-09 US US11/630,535 patent/US7761877B2/en active Active
- 2005-06-09 WO PCT/CN2005/000826 patent/WO2006000145A1/zh active Application Filing
- 2005-06-09 JP JP2007518438A patent/JP5336076B2/ja not_active Expired - Fee Related
- 2005-06-09 RU RU2007101465/09A patent/RU2007101465A/ru not_active Application Discontinuation
- 2005-06-09 EP EP05752500A patent/EP1770516A4/en not_active Withdrawn
- 2005-06-09 KR KR1020067027649A patent/KR100834180B1/ko not_active IP Right Cessation
Cited By (11)
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 |
---|---|
RU2007101465A (ru) | 2008-08-10 |
JP2008504615A (ja) | 2008-02-14 |
EP1770516A4 (en) | 2008-12-10 |
KR100834180B1 (ko) | 2008-05-30 |
US7761877B2 (en) | 2010-07-20 |
KR20070036083A (ko) | 2007-04-02 |
CN100489783C (zh) | 2009-05-20 |
WO2006000145A1 (en) | 2006-01-05 |
US20080072023A1 (en) | 2008-03-20 |
BRPI0512670A (pt) | 2008-04-01 |
EP1770516A1 (en) | 2007-04-04 |
JP5336076B2 (ja) | 2013-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1288556C (zh) | 运算处理系统和控制方法,任务管理系统和方法 | |
CN1227589C (zh) | 用于保存返回状态的数据处理设备和方法 | |
CN100351788C (zh) | 嵌入式设备的驱动方法 | |
CN1293465C (zh) | Gui显示装置及光标或gui组件动画显示处理方法 | |
CN100339824C (zh) | 高效执行特长指令字的处理器和方法 | |
CN100351822C (zh) | 用简化视图定义、处理和表示用户界面组件的方法和工具 | |
CN101078999A (zh) | 一种实现数据备份和恢复的方法及系统 | |
CN1276562A (zh) | 虚拟机系统 | |
CN1906583A (zh) | 信息处理设备、中断处理控制方法、以及计算机程序 | |
CN1075021A (zh) | 多媒体计算机操作系统及方法 | |
CN1825273A (zh) | 打印作业排队和调度系统及方法 | |
CN101069161A (zh) | 调度方法、调度装置和多处理器系统 | |
CN1310148C (zh) | 程序执行处理终端装置和程序执行处理方法 | |
CN1591374A (zh) | 直接存储器存取传输控制器 | |
CN1517869A (zh) | 处理器、运算处理方法和优先度决定方法 | |
CN1097798C (zh) | 资源分配的方法和系统 | |
CN1264078A (zh) | 执行多个操作系统的计算机 | |
CN1731350A (zh) | 图像处理装置及其控制方法 | |
CN1791862A (zh) | 操作系统 | |
CN1326569A (zh) | 用操作系统安装新的设备驱动程序的装置和方法 | |
CN1811702A (zh) | 开发门户应用和自动部署门户应用的系统和方法 | |
CN1680959A (zh) | 进程编辑设备和方法以及进程管理设备和方法 | |
CN1969272A (zh) | 自动生成内容的导入 | |
CN1873689A (zh) | 图像处理设备、方法和存储有程序的存储介质 | |
CN1540533A (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 |