[go: up one dir, main page]

CN101379481A - 处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序 - Google Patents

处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序 Download PDF

Info

Publication number
CN101379481A
CN101379481A CNA2007800040079A CN200780004007A CN101379481A CN 101379481 A CN101379481 A CN 101379481A CN A2007800040079 A CNA2007800040079 A CN A2007800040079A CN 200780004007 A CN200780004007 A CN 200780004007A CN 101379481 A CN101379481 A CN 101379481A
Authority
CN
China
Prior art keywords
treatment element
order
processing unit
mixed mode
cache
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.)
Pending
Application number
CNA2007800040079A
Other languages
English (en)
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN101379481A publication Critical patent/CN101379481A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明无需大幅度增加电路规模即可实现一种在SIMD处理时不会产生性能下降的混合模式并行处理器系统。把N个可实现SIMD操作的处理元件PE分组成进行MIMD操作的M(=N÷S)个处理单元PU。MIMD操作时,各个PU内的属于每个PE的共计S个存储器中的P个(P<S)作为命令超高速缓冲存储器来操作,剩余的存储器作为数据存储器或者数据超高速缓冲存储器来操作。另外,属于每个PE的共计S组的通用寄存器中,1组保持原状作为PU的通用寄存器来操作,剩余的S-1组中T组(T<S-1)或必要数目组作为命令超高速缓冲存储器的标记保存用寄存器来操作。

Description

处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序
[相关申请的记载]
本发明基于日本专利申请:特愿2006-225963号(平成18年8月23日申请)的优先权主张,该申请的全部记载内容通过参考而引入并记载于本案中。
技术领域
本发明涉及一种处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序,特别是涉及一种有效率的处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序以及混合模式并行处理器程序。
背景技术
提出了以公共命令流来使多个处理器(PE:处理元件)或运算电路并行操作的所谓SIMD(Single Instruction Multiple Data,单指令多数据)方式的并行处理器。另外,迄今提出了以多个命令流使与各自对应的多个处理器(PU:处理单元)或运算电路操作的所谓MIMD(MultipleInstruction Multiple Data,多指令多数据)方式的并行处理器。
由于SIMD方式的并行处理器最好是对于多个PE仅仅生成同一的单一命令流,所以最好是单独地拥有命令流生成所需要的命令超高速缓冲存储器和条件分支的实现所需要的序列控制电路。因此,虽然实现了较高的性能,但是SIMD方式的并行处理器的优点是仅用很少的控制电路就能把电路规模抑制到很小以及由于在所有的PE之间总是能够达到同步所以能够在运算电路之间非常有效地进行交换数据。但是,SIMD方式的并行处理器由于仅有一个命令流,所以其缺点就是限制了有效问题范围。
另一方面,MIMD方式的并行处理器具有的优点在于:由于能够同时维持多个命令流,所以有效问题范围较大。但是,MIMD方式的并行处理器具有的缺点在于:需要与PE数相同数目的控制电路,从而导致电路规模很大。
鉴于此,提出了使SIMD方式与MIMD方式双方的优点组合、且在同一处理器中动态地切换SIMD方式和MIMD方式这二者的所谓“混合模式”并行处理器的结构。
例如,公开了一种通过从最初构成使得能够在MIMD模式下操作的控制电路和使得兼备PE对的各个处理元件(PE)、在SIMD模式下选择并执行所有PE经由外部命令总线所发送的命令流、以及在MIMD模式下各个PE选择并执行本地的命令流,来动态地切换MIMD模式和SIMD模式的方式(例如,专利文献1~专利文献4)。
专利文献1:特开昭59-16071号公报
专利文献2:特开平5-20283号公报
专利文献3:专利第2647315号
专利文献4:专利第3199205号
专利文献1~4公开内容引用编入并记载于本申请中。根据本发明进行了以下的分析。
以上述现有的MIMD方式为基础的混合模式并行处理器的主要目的在于:能够获得通过切换到SIMD模式,能够非常有效地实现在PE间的数据交换的优点。
但是,如果把具有相同PE数的现有混合模式并行处理器与单纯的仅基于SIMD方式的并行处理器相比,前者需要尽可能地使向每个PE进行有效命令流供给的不可缺少的命令超高速缓冲存储器及其相关控制电路,特别是电路规模较大的命令超高速缓冲存储器及命令超高速缓冲存储器的标记保存用寄存器资源和PE的个数相当。其结果,造成了在大多数情况下,若电路规模相同,则对于可集成的PE个数,前者仅为后者的大约一半以下,即前者的处理性能低于后者的一半以下。
这样一来,对于SIMD处理与MIMD处理混存的应用程序来说,与通常的SIMD处理器相比,现有的混合模式并行处理器是否真的有效,就成为很大程度上依赖于SIMD处理与MIMD处理的比例,若SIMD处理的比例的确较高,那么就会存在混合模式并行处理器的有效性降低的问题。
发明内容
本发明的目的在于提供一种与具有相同PE数的单纯SIMD处理器相比不必大幅度地增加电路规模即可使SIMD处理时不会出现性能降低的处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序。
本发明的处理元件,在SIMD操作时与其他N-1个处理元件并行操作,在MIMD操作时与其他S(=N÷M)-1个(S、M是2以上的自然数)处理元件并行操作。
本发明的第1混合模式并行处理器系统,具备N个处理元件,在SIMD操作时N个所述处理元件并行操作,在MIMD操作时分别被分组成包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元,M组的所述处理单元之间、以及S个所述处理元件之间分别并行操作。
本发明的第2混合模式并行处理器系统,是所述第1混合模式并行处理器系统,MIMD操作时所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作、通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作。
本发明的第3混合模式并行处理器系统,是所述第2混合模式并行处理器系统,所述处理单元中包含用于进行命令超高速缓冲存储器控制和命令序列控制的一个控制电路。
本发明的第4混合模式并行处理器系统,是所述第2或第3混合模式并行处理器系统,在MIMD操作时各个所述处理单元内的各个所述处理元件所属的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、其余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作,S组的所述通用寄存器资源中,一组按原样作为所述处理单元的所述通用寄存器资源而操作、剩余S-1组中的T组(T<S-1)或者仅一定数目作为命令超高速缓冲存储器的标记保存用资源而操作,剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作。
本发明的第5混合模式并行处理器系统,是所述第2、第3或第4混合模式并行处理器系统,具备用于对整体进行控制的控制处理元件,包含各个所述处理单元内的所述命令缓冲存储器的一个所述处理元件,包含所述控制电路和用于从来自所述控制处理元件的命令、来自所述命令超高速缓冲存储器的命令中选择任一个的命令流选择器,在MIMD操作时,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自所述命令流选择器的命令。
本发明的第6混合模式并行处理器系统,是所述第2混合模式并行处理器系统,具备用于对整体进行控制的控制处理元件,各个所述处理单元内的所有的所述处理元件,具有所述控制电路和命令流选择器,在MIMD操作时,包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器,选择来自所述控制处理元件的命令、来自所述命令超高速缓冲存储器的命令的任何一个,不包含所述命令超高速缓冲存储器的剩余的所述处理元件,输入并执行来自包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器的命令。
本发明的处理元件方法,包含处理元件在SIMD操作时与其他N-1个处理元件并行操作的步骤,和在MIMD操作时与其他S(=N÷M)-1个(S、M是2以上的自然数)处理元件并行操作的步骤。
本发明的第1混合模式并行处理器方法,是具备N个处理元件并且在MIMD操作时被分组化成分别包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元的混合模式并行处理器系统中采用的混合模式并行处理器方法,所述方法包含:在SIMD操作时N个所述处理元件并行操作的步骤;以及在MIMD操作时M组的所述处理单元之间、以及S个所述处理元件之间分别并行操作的步骤。
本发明的第2混合模式并行处理器方法,是所述第1混合模式并行处理器方法,包含:在MIMD操作时所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作的步骤、以及通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作的步骤。
本发明的第3混合模式并行处理器方法,是所述第2混合模式并行处理器方法,包含:所述处理单元的一个控制电路进行命令超高速缓冲存储器控制、命令序列控制的步骤。
本发明的第4混合模式并行处理器方法,是所述第2或第3混合模式并行处理器方法,包括:在MIMD操作时各个所述处理单元内的各个所述处理元件所属的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、其余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作的步骤;S组的所述通用寄存器资源中,一组按原样作为所述处理单元的所述通用寄存器资源而操作的步骤;以及剩余S-1组中的T组(T<S-1)或者仅一定数目作为命令超高速缓冲存储器的标记保存用资源而操作、剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作的步骤。
本发明的第5混合模式并行处理器方法,是所述第2、第3或第4混合模式并行处理器方法,是具备用于对整体进行控制的控制处理元件的所述混合模式并行处理器系统中的混合模式并行处理器方法,包括:包含各个所述处理单元内的所述命令超高速缓冲存储器的一个所述处理元件的命令流选择器选择来自所述控制处理元件的命令、来自所述命令超高速缓冲存储器的命令的任一个的步骤;以及在MIMD操作时,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自所述命令流选择器的命令的步骤。
本发明的第6混合模式并行处理器方法,是所述第2混合模式并行处理器方法,是具备用于对整体进行控制的控制处理元件的所述混合模式并行处理器系统中的混合模式并行处理器方法,包括:在MIMD操作时,包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器选择来自所述控制处理元件的命令、来自所述命令超高速缓冲存储器的命令的任何一个的步骤;以及不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器的命令的步骤。
本发明的处理元件程序,在处理元件中,执行:在SIMD操作时与其他N-1个处理元件并行操作的步骤,和在MIMD操作时与其他S(=N÷M)-1个(S、M是2以上的自然数)处理元件并行操作的步骤。
本发明的第1混合模式并行处理器程序,是具备N个处理元件并且在MIMD操作时被分组化成分别包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元的混合模式并行处理器系统中采用的混合模式并行处理器程序,用于在所述混合模式并行处理器系统中,执行:在SIMD操作时N个所述处理元件并行操作的步骤;以及在MIMD操作时M组的所述处理单元之间、以及S个所述处理元件之间分别并行操作的步骤。
本发明的第2混合模式并行处理器程序,是所述第1混合模式并行处理器程序,执行:在MIMD操作时在所述处理单元的存储器资源的一部分中作为命令超高速缓冲存储器而操作的步骤,以及在通用寄存器资源中作为命令超高速缓冲存储器的标记保存用区域而操作的步骤。
本发明的第3混合模式并行处理器程序,是所述第2混合模式并行处理器程序,执行:在所述处理单元的一个控制电路中进行命令超高速缓冲存储器控制、命令序列控制的步骤。
本发明的第4混合模式并行处理器程序,是所述第2或第3混合模式并行处理器程序,在所述混合模式并行处理器系统中执行:在MIMD操作时各个所述处理单元内的各个所述处理元件所属的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、其余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作的步骤;S组的所述通用寄存器资源中,一组按原样作为所述处理单元的所述通用寄存器资源而操作的步骤;以及剩余S-1组中的T组(T<S-1)或者仅一定数目作为命令超高速缓冲存储器的标记保存用资源而操作、剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作的步骤。
发明效果
本发明与具有相同PE数目的单纯SIMD处理器相比,不必大幅度地增加电路规模,就会拥有可实现在SIMD处理时不会发生性能降低的混合模式并行处理器的效果。
其原因是,处理元件可以在SIMD操作时与其他N-1个处理元件并行操作,在MIMD操作时与其他(N÷S)-1个(S是2以上的自然数)处理元件并行操作。
附图说明
图1是表示本发明第1实施方式的结构的方框图。
图2是表示本发明第1实施方式的处理单元的详细结构的方框图。
图3是表示本发明第1实施方式的操作的流程图。
图4是表示本发明第1实施方式中对命令超高速缓冲存储器的存取信息的内容的描述图。
图5是表示本发明第1实施方式的实施例的结构的方框图。
图6是表示本发明第2实施方式的结构的方框图。
附图标记说明
PS 混合模式并行处理器系统
CP 控制处理元件
PE1~PEn 处理元件
MEM 主存装置
BUS 公共总线
PU1 处理单元
PU1~PUm 处理单元
RAM1~RAMn 存储器
GPR1~GPRn 寄存器资源
ALU1~ALUn 运算电路
ISEL1~ISELm 命令流选择器
PC 程序计数器
MODE 模式指定寄存器
CTR1~CRTm 控制电路
CTR1 控制电路
RAMO 存储器
GRPO 寄存器资源
CTRO 控制电路
ALUO 运算电路
ARBT 调整电路
FF1~FFr 通用寄存器
ID1、ID2 命令解码器电路
SELG1~SELGr 数据选择器
RSEL1~RSEL2 操作数读出用选择器
CSEL1 控制选择器
SELAD1 地址选择器
CMP1 比较电路
具体实施方式
本发明的混合模式并行处理器系统包含共计N个能进行SIMD操作的处理元件PE,所述处理元件PE分别具备存储器(资源)和用于保存中间运算结果的通用寄存器(资源)。混合模式并行处理器系统还包含命令超高速缓冲存储器控制电路及M个命令序列控制电路,所述命令超高速缓冲存储器控制电路不包含M个(N÷S=M,M、N、S都是自然数)命令超高速缓冲存储器标记保存区域。
由相互邻接的S个处理元件PE、1个命令超高速缓冲存储器控制电路以及1个命令序列控制电路构成的组构成了1个进行MIMD操作的处理单元PU。命令超高速缓冲存储器控制电路以及命令序列控制电路也可能是在1个处理元件PE中所包含的结构。
在MIMD操作时,各个处理单元PU内的S个存储器(资源)中的P个(P<S)作为命令超高速缓冲存储器而操作,剩余的存储器(资源)作为数据存储器或者数据超高速缓冲存储器而操作。另外,S组的通用寄存器(资源)中,1组按原状作为PU的通用寄存器(资源)而操作。
剩余的S-1组中的T组(T<S-1)作为命令超高速缓冲存储器的标记保存用寄存器(作为目录的资源)而操作。另外,剩余的S-1-T组也可以是作为数据超高速缓冲存储器的标记保存用寄存器(资源)而操作的数据超高速缓冲存储器的结构。
另外,混合模式并行处理器系统包含选择器类,用于在SIMD时和在MIMD时,对提供给各个存储器(资源)及通用寄存器(资源)的写数据和各种控制信号进行切换。
根据上述结构,混合模式并行处理器的实现所需要的追加电路,对S个PE的每一个来说,仅具有1个命令序列控制电路、几个选择器、以及对此进行与控制信号生成相吻合(不包含命令超高速缓冲存储器的标记保存用区域本体)的1个命令超高速缓冲存储器控制电路即可。
也就是说,不需要新追加在实现MIMD的操作上会带来最大电路规模的增大的“命令超高速缓冲存储器、及其命令超高速缓冲存储器的标记保存用寄存器(资源)”。因此,本发明的混合模式并行处理器系统能够在SIMD模式时由N个PE进行并行操作、在MIMD模式时由M(=N÷S)个PU进行并行操作。另外,本发明的混合模式并行处理器系统PS可被构成为与以N个PE构成的单纯的SIMD处理器相比仅增加了非常少的电路规模。
接下来,参考附图对本发明的第1实施方式详细地进行说明。图1是表示本发明第1实施方式的混合模式并行处理器系统PS的结构的方框图。参考图1,本发明第1实施方式的混合模式并行处理器系统PS包含用于进行整体控制的控制处理元件CP、n个处理元件PE1、PE2、PE3、PE4、…、PEn-1、PEn、以及主存储装置MEM。另外,处理元件PE1~PEn由公共总线BUS连接到控制处理元件CP。
混合模式并行处理器系统PS的情况如下:S为2,因此M为N/2,也就是说,由2个SIMD操作的处理元件PEi及处理元件PEi+1构成一个MIMD操作的处理单元PU1、PU2、…、PUm。
处理元件PE1~PEn分别包含存储器RAM1~RAMn(资源)、寄存器资源GPR1~GPRn以及运算电路ALU1~ALUn。处理单元PU1~PUm分别包含命令流选择器ISEL1~ISELm、内含程序计数器PC以及模式指定寄存器MODE的控制电路CTR1~CTRm(命令序列控制且命令超高速缓冲存储器控制)。命令流选择器ISEL1~ISELm、控制电路CTR1~CTRm可包含第奇数个处理元件PE1、PE3、…、PEn-1。
另外,SIMD模式时用于给整个PE阵列提供命令流的控制处理元件CP包含数据存储器RAMO(资源)、寄存器资源GRPO、控制电路CTRO、运算电路ALUO、以及调整电路ARBT。
图2是表示处理单元PU1的详细结构的方框图。参考图2,处理单元PU1包含处理元件PE1、PE2。处理元件PE1的命令流选择器ISEL1用于选择来自控制处理元件CP的命令和来自存储器RAM1的命令字,并输出给处理元件PE1内部及处理元件PE2。
命令解码器电路ID1、ID2解码命令字、并生成控制信号。r个通用寄存器FF1~FFr是处理元件PE1、PE2的寄存器资源。
数据选择器SELG1~SELGr在提供给处理元件PE1的每个通用寄存器FF1~FFr的输入中选择“来自运算电路ALU1的回写数据”、“来自存储器RAM1的回写数据”以及“控制电路CTR1生成的标记更新数据”中的任一个。
地址选择器SELAD1选择是否在存储器RAM1的存取中使用来自控制电路CTR1和寄存器资源GPR1中任一个的地址值。操作数读出用选择器RSEL1~RSEL2从寄存器资源GPR1(寄存器资源GPR2)的输出数据中选择要提供给运算电路ALU1(运算电路ALU2)的源操作数。
以这样的结构,混合模式并行处理器在SIMD模式时N路并行,在MIMD模式下M(=N/2)路并行,概略地说,按如下方式进行操作。下面省略构成要素的名称,仅用符号来进行描述。
参考图1,在SIMD模式时,通过选择从CP发送的命令的方式,CTR1~CTRm控制命令流选择器ISEL1~ISELm。由此,向PE1~PEn发送相同的命令,其结果是,由N个PE1~PEn进行SIMD处理。
另一方面,参考图2,在MIMD时,在PU1内,CTR1控制SELG1~SELGr,使得将来自CTR1的写数据(命令超高速缓冲存储器的标记)提供给PE1的FF1~FFr。因此,PE1的FF1~FFr可用于命令超高速缓冲存储器的标记的保存。另外,CTR1控制SELAD1,使得选择不是来自GPR1而是来自CTR1的存取地址值(给存储器RAM1的)。因此,RAM1可用作命令超高速缓冲存储器。
另一方面,在PE2中,在MIMD模式时,从GRP2开始到ALU2为止,与SIMD模式时相同,起作根据命令指定来进行运算处理的数据总线的功能。但是,运算操作由从RAM1读出的命令的ID2在解码结果中指定。这样,在MIMD模式下,在各个PU1~PUm中,一个PE1(PE3、PE5、…)内的大半的硬件资源都被利用作为MIMD模式时的命令发布操作的实现中所必需的硬件要素,实现了命令的有效发布。所发布的命令由另一个PE2(PE4、PE6、…)来执行。
接下来,参考附图对本发明第1实施方式的操作进行说明。图3是表示本发明第1实施方式的PU1的操作的流程图。此外,在本实施方式中,为了简洁地进行说明,PE1、PE2分别具有1个运算电路(ALU1、ALU2),每个周期最多执行1个命令。也可以每个PE1、PE2具有多个运算电路、每个周期可同时执行多个命令。
同样地,为了简洁地进行说明,本实施方式的PU1的结构为:执行2个SIMD操作的PE1、PE2执行1个MIMD操作。另外,本实施方式的结构为:每个周期从PE1、PE2的RAM1、RAM2(存储器资源)中读出的数据的比特数D与命令字长L一致。虽然最好是D≥L,但这种情况下也可以只采用D中的L比特。
或者,若D<L,也可能采用将D变成D≥L的方式来修正PE1、PE2的RAM1、RAM2(存储器资源)的规格的结构。或者,增加一个PU内的PE数,例如,3~4个PE进行一个MIMD操作,也可采用把其中的2~3个PE的存储器资源合并而使用作为命令超高速缓冲存储器的结构。
参考图3,由于PU1按以下进行操作,因此通过利用原本进行SIMD操作的2个PE1及PE2的硬件资源来实现MIMD操作。CTR1内的MODE可根据CP来读、写,并由该值来表示是否是SIMD操作(MODE的值为“0”的情况)和MIMD操作(MODE的值为“1”的情况)中的任一种。
CP通过在PU1的CTR1内的MODE上写入“0”,把PU1的操作设定为SIMD模式,或者通过在MODE上写入“1”,把PU1的操作设定为MIMD模式。
以下,沿着图3的流程图,来说明PU1的每个周期的操作。首先,若MODE=“0”(图3步骤S1/是),ISEL1选择从CP中发布的命令(步骤S2),若MODE=“1”(步骤S1/否),ISEL1选择从RAM1中读出的命令(步骤S3)。
接下来,CRT1判断所选择的命令是否是用于指定操作停止的命令
(HALT),当是HALT命令时(步骤S4/是),则停止PE1、PE2的操作(步骤S5)。
接下来,ID1、ID2从ISEL1中输入所选的命令(步骤S6),对命令进行解码以生成用于命令执行的各种控制信号(步骤S7)。并且,PE2通过采用由ID生成的控制信号来控制GPR2、ALU2及RAM2,以执行命令(步骤S8)。
另一方面,在PE1中,若MODE=“0”(步骤S9/是),则根据来自ID1的控制信号(基于来自CP的命令),GPR1的SELG1~SELGr选择来自RAM1的数据或者来自ALU1的数据,分别地输出到FF1~FFr中(步骤S10)。接下来,根据来自ID1的控制信号(基于来自CP的命令),控制RAM1并执行命令(步骤S11)。
另一方面,如下所示,在MODE=1的情况(步骤S9/否)下,进行下一周期要执行的命令字的读出。也就是说,CTR1用PC值加1的值来更新PC,把更新后的PC值作为针对命令超高速缓冲存储器的存取信息A,来存取命令超高速缓冲存储器(RAM1)(步骤S12)。
在此,对针对命令超高速缓冲存储器的存取信息A进行说明。图4是表示针对命令超高速缓冲存储器的存取信息A的内容的说明图。当参考图4时,存取信息A的高位侧比特列为X,中间的比特列为Y,且低位侧比特列为Z。
PE1的CTR1通过比较由Y指定的FF1~FFr中的一个即FFy中所保存的超高速缓冲存储器的标记是否与X一致,来进行命令超高速缓冲存储器的命中-未命中(hitmiss)判定(步骤S13)。若FFy的内容与X一致,也就是说,当是命令超高速缓冲存储器命中时(步骤S14/是),CTR1按照由Y和Z连接而成的比特列所构成的地址针对RAM1进行命令读取的访问(步骤S15)。
另一方面,若FFy的内容与X不一致,也就是说,当是命令超高速缓冲存储器未命中时(步骤S14/否),CTR1通过将连接了X和Y的比特列设为高位地址、将Z比特数目的低位地址为零的值设为存取地址,向CP输出命令取出请求(步骤S16)。
接下来,CTR1经由CP的ARBT及BUS进行仅把来自MEM的超高速缓冲存储器的记录尺寸程度的命令字读入到PE1中的控制(步骤S17)。接下来,CTR1在作为命令超高速缓冲存储器的RAM1对应的记录中写入来自BUS的命令字(步骤S18)。进而,CTR1经由SELGr把值X保存到FFr中(步骤S19)。
接下来,CTR1再次处理针对命令超高速缓冲存储器的存取信息A,对命令超高速缓冲存储器进行存取(步骤S20),判定命令超高速缓冲存储器的命中-未命中(步骤S13)。由于本次在FFy中保存了值X,所以命令超高速缓冲存储器命中(步骤S14/是),CTR1在由连接了Y和Z的比特列所构成的地址中进行针对RAM1的命令读取的存取(步骤S15)。
通过这些操作,可以从作为命令超高速缓冲存储器的RAM1中读出下一周期要利用的命令字。另外,根据MODE的值,使PE1和PE2以执行相同命令的SIMD模式来操作,或者通过以PE1和PE2构成一个PU来以MIMD模式进行操作。除此之外,通过采用本实施方式,若使一部分PE以SIMD模式进行操作,则还可以同时使一部分PE形成PU且以MIMD模式来操作。
此外,以上所述是利用作为1路(way)结构的超高速缓冲存储器的RAM1的情况的操作示例,但是若GPR1内的通用寄存器数有剩余,那么也可以作为多路结构的超高速缓冲存储器来操作。
接下来,参考附图对本发明第1实施方式的PE1的实施例进行说明。
图5是表示本发明的第1实施方式的PE1的实施例的结构的方框图。参考图5,PE1包含图2未示出的控制选择器CSEL1(以下简称为CSEL1)以及比较电路CMP1(以下简称为CMP1)。图2的PE1中并不是不存在CSEL1、CMP1,只是在图5中表示图2的PE的1个详细例子的PE1。
CSEL1在SIMD模式下选择来自ID1的控制信号(选择信号),在MIMD模式下选择来自CTR1的控制信号(与Y值对应的控制信号)。来自CSEL1的选择信号被用作RSEL1的选择信号。
在SIMD模式下,RSEL1的输出是提供给ALU1或RAM1的数据。在MIMD模式下,RSEL1的输出是命令超高速缓冲存储器的标记,并被输出到CMP1中。CMP1把来自RSEL1的标记与来自CTR1的X值进行比较,并把比较结果输出到CTR1中。一致的比较结果意味着命令超高速缓冲存储器命中,不一致的比较结果意味着命令超高速缓冲存储器未命中。
接下来,进一步采用具体的实施例来描述实际操作及其效果。各个PE1~PEn都是拥有16位通用寄存器FF1~FF16以及分别为32比特字共计4K字的RAM1~RAMn的SIMD型并行处理器。
PE1与PE2相比,还附加有与FF1~FF16相对应的SELG1~SELG16、与RAM1相对应的SELAD1、用于选择来自CP的命令和来自RAM1的读出命令字的ISEL1、包含PC及模式寄存器MODE的CTR1、控制RSEL1的选择的CSEL1、以及用于判定命令超高速缓冲存储器的命中-未命中的CMP1。
把PE1与PE1组合以动态地切换为可进行1个MIMD操作的PU的结构示例正如以下所示。
PE1的4K字的RAM1被用作命令超高速缓冲存储器。并且,16个FF1~FF16按原状被用作命令超高速缓冲存储器的标记保存用寄存器。在CTR1内的PC为28比特的情况下,以合并成FF1~FF16的比特数16的方式,把28比特的命令超高速缓冲存储器存取信息A的高位16比特(=X)作为超高速缓冲存储器记录入口的标记,使命令超高速缓冲存储器的结构为16条记录入口、256字/记录入口。并且,指定剩余的12(=28-16)比特中的高位4比特(=Y)GS记录入口编号,低位8比特(=Z)指定记录入口内字位置(参考图4)。
通过这种方式,可以把16个通用寄存器同时分别用作与命令超高速缓冲存储器的各个记录入口相对应的标记保存用寄存器。这么分配之下,实施图3流程图的步骤S12~S20的情况的操作如下所示。
在MODE的值为“1”的情况下,ISEL1选择来自RAM1的读出结果作为命令。为了在每个周期中不耽搁命令字、从处于MEM上的程序区域中有效地进行读出,有必要实现命令超高速缓冲存储器控制。在本实施例中,通过转用现存PE1的硬件资源而对其进行以下的操作。
首先,通过把FFy的内容的16比特值与X的16比特值相比较,进行命令超高速缓冲存储器的命中-未命中判定,所述FFy是由Y的4比特值所指定的16个通用寄存器中的1个。在此,用于读出FFy的选择器通常可按原样利用PE1的数据总线上存在的RSEL1。
FFy的内容与X相比较的结果,在一致的情况下,意味着命令超高速缓冲存储器的命中,所以连接了Y和Z的12比特列就成为对RAM1的存取地址。存取地址经由SELAD1被输出到RAM1中,从作为命令超高速缓冲存储器功能的RAM1中读出下一周期的命令。
另一方面,当比较结果不一致的情况下,将连接了X的16比特与Y的4比特的20比特作为高位,并且使用使低位为零的28比特的存取地址。CP1把存取地址输出到CP中。经由ABRT、BUS把超高速缓冲存储器记录入口的字数的256(Z是8比特)个命令字从与CP相连接的MEM中输出到RAM1中。
并且,来自MEM的命令字被写入到对应的超高速缓冲存储器记录入口的地址位置(以12比特中的高位4比特为Y、低位8比特(=和Z相同的比特数)为零的地址位置作为开头的RAM1的区域)。另外,经由RSELGy,把FFy的内容变更为X的值。
接下来,把连接了Y和Z的12比特的存取地址经由SELAD1输出到RAM1中,并从作为命令超高速缓冲存储器功能的RAM1中读出下一周期的命令。
通过这样,由SIMD型并行处理中的2个PE(在此为PE1和PE2)构成的一个PU为了可从28比特的存储器空间中实现MIMD操作,在每个周期中要读出不可缺少的命令。
另外,在SIMD操作时,PE1把用作数据存储器的RAM1以及用作通用寄存器的FF1~FF16都转用为命令超高速缓冲存储器及命令超高速缓冲存储器的标记保存寄存器。为此而追加的ISEL1、CTR1、SELAD1、CSEL1以及CMP1在硬件上数量很少。
此外,上述实施例中,不必在通用寄存器上所实现的各个命令超高速缓冲存储器的标记中附加有效比特。这种情况下,如果标记是零值,不见得该标记就是无效的。这种情况下,当从SIMD模式切换到MIMD模式时,首先,对命令超高速缓冲存储器记录入口的标记值清零,并且有必要在软件上防止PC值变为零。
与此相对,作为其他的方法,也可采用以下结构:对标记保存寄存器进行1比特扩展,将其用作表示该标记是否是有效的信息即有效比特。这种情况下,若有效比特为“1”则该标记有效,在从SIMD模式切换到MIMD模式时,可将整个标记的该有效比特一起重置为零。这种情况下,没有必要在软件上防止PC值变为零。
通过与以能够进行现有技术的MIMD操作的PE为基础构成的混合模式并行处理器的方法相比较,来在下面说明根据本实施例的作用效果。
也就是说,现有技术原来与本发明实施例的情况相同,由于通过从28比特的存储器空间中读出命令字、并且能够利用4K字的命令超高速缓冲存储器,所以从最初开始,就有必要在各个PE中,除了原本存在的4K字的存储器之外,还追加另一个4K字的命令字保存用存储器。并且,由于与本发明实施例的情况相同地进行命令超高速缓冲存储器控制,所以在通用寄存器组之外,有必要追加作为命令超高速缓冲存储器的标记保存用的寄存器的16比特×16个=256比特的触发器。
一般说来,在考虑到占用了用于进行一次SIMD操作的PE的大半面积的是通用寄存器(资源)与存储器(资源)时,基于现有技术的混合模式并行处理器的各个PE与本发明相比,每个PE的电路规模膨胀到几乎2倍。
因此,当在SIMD模式时的PE数为相同的混合模式并行处理器下考虑时,基于现有技术的与基于本发明的相比,虽然需要2倍的电路规模,但是峰值性能在SIMD操作时与本发明程度相同。此外,在MIMD操作时,基于现有技术的与基于本发明的进行相比较时,虽然可获得2倍的峰值性能,但是考虑到电路规模约为2倍,按性价比的观点来说,与本发明相比,现有技术的优越性就没有了。
本发明的本实施例的第1个效果是,仅增加很少的电路规模就可将仅支持SIMD模式的现存简单SIMD型并行处理器动态地重构为可适用问题的范围相对较广泛的MIMD型并行处理器。
其理由是:通过把进行SIMD操作的多个现存PE作为一个组、把每个组内的现存存储器资源和寄存器资源再利用成作为命令超高速缓冲存储器和每个命令超高速缓冲存储器的标记保存用空间,可以不必重新追加为MIMD操作时所需的那些电路规模较大的部件。
本发明实施例的第2个效果是与现有混合模式并行处理器相比,能够提高对同时包含SIMD处理任务和MIMD处理任务两者的应用程序的有效处理性能。
其理由是:在同时包含SIMD处理任务和MIMD处理任务两者的应用程序中,尽管通常与后者相比前者拥有较高的并行性,但是在相同程度的电路规模下,本发明的混合模式并行处理器,与以现存MIMD型并行处理器作为基础的混合模式并行处理器相比,可实现较高的SIMD型并行操作。
通过以上方式,在作为与本发明实施例相同型式的处理器结构的情况下,本发明的结构与现有技术相比,可以获得能够持续保持MIMD操作时的性价比、并使SIMD操作时的性价比提高到2倍左右的效果。
另外,在由S个进行SIMD操作的PE构成一个进行MIMD操作的PU的情况下,在PU内,原本属于各个PE的运算器的一部分不按原样被使用而存在。
通过连接这些运算器,例如,构成比除法器和超越函数运算器更加复杂的运算器,并能从PU中利用,比起一个PE的运算性能,也可以进一步提高PU的运算性能。
接下来,参考附图对本发明的第2实施方式详细地进行说明。图6是表示本发明第2实施方式的混合模式并行处理器系统PS的结构的方框图。参考图6,本发明第2实施方式的混合模式并行处理器系统PS具备相同硬件结构的PE1和PE2。另外,PE1与本发明第1实施方式的PE1相同地进行操作。PE1的ISEL1的输出成为PE2的ISEL1的输入。PE2的ISEL1通常选择来自PE1的ISEL1的输出。
另外,在PE2中,CTR1进行控制,使得使用来自PE1的ISEL1的输出即命令字来进行操作。例如,可采用以下结构:在PE1、PE2的CTR1中设置钳位端子,在为1个钳位的情况下,作为PE1进行操作,在为0个钳位的情况下,作为PE2进行操作。
通过上述结构,本发明的第2实施方式由于可以制造成相同结构的PE1、PE2,因此本发明的第2实施方式拥有能够降低原价的效果。
另外,在以上所述中,也可以采用微程序对本发明的第1实施方式、本发明的第2实施方式进行固件控制。
工业实用性
本发明可适用于以低成本来实现能够动态地切换SIMD操作与MIMD操作的混合模式并行处理器。
以上,结合上述实施例描述了本发明,但是本发明不限于上述实施例的结构,在本发明的范围内包含了本领域技术人员可以获得的各种变形、修正。
权利要求书(按照条约第19条的修改)
1.(删除)
2.(变更)一种混合模式并行处理器系统,其特征在于,
具备N个处理元件,
在SIMD操作时N个所述处理元件并行操作,
在MIMD操作时N个所述处理元件分别被分组成包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元,M组的所述处理单元之间、以及S个所述处理元件之间分别地并行操作,
在MIMD操作时,所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作,所述处理单元的通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作。
3.(删除)
4.(变更)权利要求2所记载的混合模式并行处理器系统,其特征在于,所述处理单元包含用于进行命令超高速缓冲存储器控制、命令序列控制的一个控制电路。
5.(变更)权利要求2或4所记载的混合模式并行处理器系统,其特征在于:
在MIMD操作时,在M组的所述处理单元的每一个中,
属于S个所述处理元件的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作,剩余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作,
分别属于S个所述处理元件的S组所述通用寄存器资源中,一组按原样作为对应的一个所述处理单元的所述通用寄存器资源而操作、剩余S-1组中的T组(T<S-1)或者预定的一定数目作为命令超高速缓冲存储器的标记保存用资源而操作,剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作。
6.权利要求4或5所记载的混合模式并行处理器系统,其特征在于,
具备用于对整体进行控制的控制处理元件,
在M组的所述处理单元的每一个中,
与S个所述处理元件中的、具有在MIMD操作时作为所述命令超高速缓冲存储器而操作的存储器资源的1个所述处理元件相对应,包含所述控制电路和用于选择来自所述控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中任一个的命令流选择器,
在MIMD操作时,S个所述处理元件中,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自所述命令流选择器的命令。
7.权利要求4所记载的混合模式并行处理器系统,其特征在于,
具备用于对整体进行控制的控制处理元件,
在M组所述处理单元的每一个中,S个所述处理元件的每一个都具有所述控制电路和命令流选择器,
在MIMD操作时,S个所述处理元件中,包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器选择来自所述控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中的任何一个,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器的命令。
8.(删除)
9.(变更)一种混合模式并行处理器方法,是具备N个处理元件并且在MIMD操作时被分组化成分别包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元的混合模式并行处理器系统中采用的混合模式并行处理器方法,其特征在于,包含:
在SIMD操作时N个处理元件并行操作的步骤;
在MIMD操作时M组的所述处理单元之间、以及S个所述处理元件之间分别地并行操作的步骤;
在MIMD操作时所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作的步骤;以及
所述处理单元的通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作的步骤。
10.(删除)
11.(变更)权利要求9的混合模式并行处理器方法,其特征在于,包含:
所述处理单元的一个控制电路进行命令超高速缓冲存储器控制、命令序列控制的步骤。
12.(变更)权利要求9或11所记载的混合模式并行处理器方法,其特征在于,包含:
在MIMD操作时,在M组所述处理单元的每一个中,
分别属于S个所述处理元件的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、剩余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作的步骤,
分别属于S个所述处理元件的S组所述通用寄存器资源中,一组按原样作为所述处理单元的所述通用寄存器资源而操作的步骤,以及
作为数据超高速缓冲存储器的标记保存用资源而操作的步骤。
13.(变更)权利要求9、11、12中任一项所记载的混合模式并行处理器方法,其特征在于,包含:
在所述处理单元中,包含所述命令超高速缓冲存储器的一个所述处理元件的命令流选择器选择来自用于控制整体的控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中的任一个的步骤;以及
在MIMD操作时,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自所述命令流选择器的命令的步骤。
14.(变更)权利要求9所记载的混合模式并行处理器方法,其特征在于,包含:
在MIMD操作时,在所述处理单元中,包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器选择来自用于控制整体的控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中的任何一个的步骤,以及
不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器的命令的步骤。
15.(删除)
16.(变更)一种混合模式并行处理器程序,是具备N个处理元件并且在MIMD操作时被分组化成分别包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元的混合模式并行处理器系统中采用的混合模式并行处理器程序,其特征在于,在所述混合模式并行处理器系统中执行:
在SIMD操作时N个所述处理元件并行操作的步骤;以及
在MIMD操作时M组的所述处理单元之间、以及S个所述处理元件之间分别地并行操作的步骤,
并且执行:在MIMD操作时所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作的步骤;以及
所述处理单元的通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作的步骤。
17.(删除)
18.(变更)权利要求16所记载的混合模式并行处理器程序,其特征在于,执行:在所述处理单元的一个控制电路中进行命令超高速缓冲存储器控制、命令序列控制的步骤。
19.(变更)权利要求16或18所记载的混合模式并行处理器程序,其特征在于,在所述混合模式并行处理器系统中执行:
在MIMD操作时,在M组的所述处理单元中,分别属于S个所述处理元件的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、剩余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作的步骤,
分别属于S个所述处理元件的S组所述通用寄存器资源中,一组按原样作为所述处理单元的所述通用寄存器资源而操作的步骤,以及
剩余S-1组中的T组(T<S-1)或者预定的一定数目作为命令超高速缓冲存储器的标记保存用资源而操作,剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作的步骤。
20.一种混合模式并行处理器系统,其特征在于:
具有分别包含多个处理元件的多个处理单元,
所述处理单元具备与属于所述处理单元的所述多个处理元件相对应的至少一个的命令流选择器,和进行命令超高速缓冲存储器控制、命令序列控制的至少一个控制电路,
在MIMD模式下的操作时,在所述处理单元中,
所述控制电路,把至少一个处理元件的存储器和寄存器资源分别用作所述处理单元的命令超高速缓冲存储器和命令超高速缓冲存储器的标记保存用区域,所述1个处理元件作为MIMD命令发布所必需的硬件要素而起作用,
所述命令流选择器基于来自所述控制电路的控制,把所述处理元件的所述存储器作为命令超高速缓冲存储器,选择从该命令超高速缓冲存储器中读出的命令,
由所述命令流选择器选择的命令被提供给所述处理单元内的剩余的处理元件的至少一个中,所述剩余的处理元件的至少一个作为根据命令指定而进行运算处理的数据总线而起作用,
在SIMD模式下的操作时,在所述处理单元中,
所述命令流选择器基于来自所述控制电路的控制,选择来自控制处理元件的命令,在多个处理元件中施加相同的命令,并进行并行处理。
21.权利要求20所记载的混合模式并行处理器系统,其特征在于:
所述处理单元具备至少第1、第2处理元件,
所述第1、第2处理元件分别具备:
命令解码器;
运算单元;
可读写存储器;
分别选择所述运算单元的输出和所述存储器的输出之一方的选择器群;
接受所述选择器群的输出的寄存器群;和
从所述寄存器群的输出中选择向所述运算单元提供的输出的选择器,
与所述第1处理元件相对应,具备所述命令流选择器和所述控制电路,
所述控制电路根据所述控制处理元件而被设定,包含用于决定是否在SIMD与MIMD任一模式下操作的模式寄存器以及程序计数器,
在MIMD模式下的操作时,
所述第1处理元件的所述存储器与所述寄存器群的一部分作为命令超高速缓冲存储器和命令超高速缓冲存储器的标记保存区域而起作用;
所述命令流选择器,基于所述控制电路的控制,选择从所述第1处理元件的所述存储器中读出的命令;
所述第1、第2处理元件的所述命令解码器分别输入由所述命令流选择器所选择的命令以对该命令进行解码,生成用于命令执行的控制信号;
所述第2处理元件根据由所述第2处理元件的所述命令解码器所生成的控制信号而控制寄存器群、运算单元、存储器以执行命令;
所述控制电路生成地址信息,将该地址信息的标记字段与所述第1处理元件的所述寄存器群的一部分的标记信息相比较以进行命令超高速缓冲存储器的命中-未命中判定,在命令超高速缓冲存储器命中时,从所述第1处理元件的所述存储器中读取命令,在命令超高速缓冲存储器未命中时,把在所述控制处理元件请求并得到的命令写入到所述第1处理元件的所述存储器中,以从该存储器中读出命令;
在SIMD模式下的操作时,所述命令流选择器基于所述控制电路的控制,选择由所述控制处理元件所发布的命令;以及
所述第1、第2处理元件对相同命令进行解码和进行运算处理。

Claims (21)

1.一种处理元件,其特征在于,具备:在SIMD操作时与其他N-1个处理元件并行操作、在MIMD操作时与其他S(=N÷M)-1个(S、M是2以上的自然数)处理元件并行操作的部件。
2.一种混合模式并行处理器系统,其特征在于,
具备N个处理元件,
在SIMD操作时N个所述处理元件并行操作,
在MIMD操作时,N个所述处理元件分别被分组成包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元,M组的所述处理单元之间、以及S个所述处理元件之间分别地并行操作。
3.权利要求2所记载的混合模式并行处理器系统,其特征在于,在MIMD操作时,所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作,所述处理单元的通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作。
4.权利要求3所记载的混合模式并行处理器系统,其特征在于,所述处理单元包含用于进行命令超高速缓冲存储器控制、命令序列控制的一个控制电路。
5.权利要求3或4所记载的混合模式并行处理器系统,其特征在于,
在MIMD操作时,在M组的所述处理单元的每一个中,
属于S个所述处理元件的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作,剩余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作,
分别属于S个所述处理元件的S组所述通用寄存器资源中,一组按原样作为对应的一个所述处理单元的所述通用寄存器资源而操作、剩余S-1组中的T组(T<S-1)或者预定的一定数目作为命令超高速缓冲存储器的标记保存用资源而操作,剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作。
6.权利要求4或5所记载的混合模式并行处理器系统,其特征在于,
具备用于对整体进行控制的控制处理元件,
在M组的所述处理单元的每一个中,在S个所述处理元件中与具有在MIMD操作时作为所述命令超高速缓冲存储器而操作的存储器资源的1个所述处理元件相对应,包含:所述控制电路;和用于选择来自所述控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中的任一个的命令流选择器,
在MIMD操作时,在S个所述处理元件中,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自所述命令流选择器的命令。
7.权利要求4所记载的混合模式并行处理器系统,其特征在于,
具备用于对整体进行控制的控制处理元件,
在M组的所述处理单元的每一个中,S个所述处理元件的每一个具有所述控制电路和命令流选择器,
在MIMD操作时,在S个所述处理元件中,包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器选择来自所述控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中的任何一个,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器的命令。
8.一种处理元件方法,其特征在于,包含:
处理元件在SIMD操作时与其他N-1个处理元件并行操作的步骤;以及
在MIMD操作时与其他S(=N÷M)-1个(S、M是2以上的自然数)处理元件并行操作的步骤。
9.一种混合模式并行处理器方法,是具备N个处理元件并且在MIMD操作时被分组化成分别包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元的混合模式并行处理器系统中采用的混合模式并行处理器方法,其特征在于,包含:
在SIMD操作时N个处理元件并行操作的步骤;以及
在MIMD操作时M组的所述处理单元之间、以及S个所述处理元件之间分别地并行操作的步骤。
10.权利要求9所记载的混合模式并行处理器方法,其特征在于,包含:
在MIMD操作时所述处理单元的存储器资源的一部分作为命令超高速缓冲存储器而操作的步骤;以及
所述处理单元的通用寄存器资源作为命令超高速缓冲存储器的标记保存用区域而操作的步骤。
11.权利要求10所记载的混合模式并行处理器方法,其特征在于,包含:
所述处理单元的一个控制电路进行命令超高速缓冲存储器控制、命令序列控制的步骤。
12.权利要求10或11所记载的混合模式并行处理器方法,其特征在于,包含:
在MIMD操作时,在M组所述处理单元的每一个中,
分别属于S个所述处理元件的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、剩余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作的步骤;
分别属于S个所述处理元件的S组所述通用寄存器资源中,一组按原样作为所述处理单元的所述通用寄存器资源而操作的步骤;以及
剩余S-1组中的T组(T<S-1)或者预定的一定数目作为命令超高速缓冲存储器的标记保存用资源而操作,剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作的步骤。
13.权利要求10至12中任一项所记载的混合模式并行处理器方法,其特征在于,包含:
在所述处理单元中,包含所述命令超高速缓冲存储器的一个所述处理元件的命令流选择器选择来自用于控制整体的控制处理元件的命令和来自所述命令超高速缓冲存储器的命令的任一个的步骤;以及
在MIMD操作时,不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自所述命令流选择器的命令的步骤。
14.权利要求10所记载的混合模式并行处理器方法,其特征在于,包含:
在MIMD操作时,在所述处理单元中,包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器选择来自用于控制整体的控制处理元件的命令和来自所述命令超高速缓冲存储器的命令中的任何一个的步骤;以及
不包含所述命令超高速缓冲存储器的剩余的所述处理元件输入并执行来自包含所述命令超高速缓冲存储器的一个所述处理元件的所述命令流选择器的命令的步骤。
15.一种处理元件程序,其特征在于,执行:
处理元件在SIMD操作时与其他N-1个处理元件并行操作的步骤;以及
在MIMD操作时与其他S(=N÷M)-1个(S、M是2以上的自然数)处理元件并行操作的步骤。
16.一种混合模式并行处理器程序,是具备N个处理元件并且在MIMD操作时被分组化成分别包含S个处理元件的M(=N÷S)组(S、M是2以上的自然数)处理单元的混合模式并行处理器系统中采用的混合模式并行处理器程序,其特征在于,在所述混合模式并行处理器系统中执行:
在SIMD操作时N个所述处理元件并行操作的步骤;以及
在MIMD操作时M组的所述处理单元之间、以及S个所述处理元件之间分别地并行操作的步骤。
17.权利要求16所记载的混合模式并行处理器程序,其特征在于,执行:
在MIMD操作时在所述处理单元的存储器资源的一部分中作为命令超高速缓冲存储器而操作的步骤;以及
在所述处理单元的通用寄存器资源中作为命令超高速缓冲存储器的标记保存用区域而操作的步骤。
18.权利要求17所记载的混合模式并行处理器程序,其特征在于,执行:在所述处理单元的一个控制电路中进行命令超高速缓冲存储器控制、命令序列控制的步骤。
19.权利要求17或18所记载的混合模式并行处理器程序,其特征在于,在所述混合模式并行处理器系统中执行:
在MIMD操作时,在M组的所述处理单元中,分别属于S个所述处理元件的S个所述存储器资源中的P个(P<S)作为命令超高速缓冲存储器而操作、剩余的S-P个存储器资源作为数据存储器或数据超高速缓冲存储器而操作的步骤;
分别属于S个所述处理元件的S组所述通用寄存器资源中的一组按原样作为所述处理单元的所述通用寄存器资源而操作的步骤;以及
剩余S-1组中的T组(T<S-1)或者预定的一定数目作为命令超高速缓冲存储器的标记保存用资源而操作、剩余的在使用数据超高速缓冲存储器的情况下作为数据超高速缓冲存储器的标记保存用资源而操作的步骤。
20.一种混合模式并行处理器系统,其特征在于:
具有分别包含多个处理元件的多个处理单元;
所述处理单元具备:与属于所述处理单元的所述多个处理元件相对应的至少一个的命令流选择器;和进行命令超高速缓冲存储器控制、命令序列控制的至少一个控制电路,
在MIMD模式下的操作时,在所述处理单元中,
所述控制电路,把至少一个处理元件的存储器和寄存器资源分别用作为所述处理单元的命令超高速缓冲存储器和命令超高速缓冲存储器的标记保存用区域,所述1个处理元件作为MIMD命令发布所必需的硬件要素而起作用,
所述命令流选择器,基于来自所述控制电路的控制,把所述一个处理元件的所述存储器作为命令超高速缓冲存储器,选择从该命令超高速缓冲存储器中读出的命令,
由所述命令流选择器选择的命令被提供给所述处理单元内的剩余处理元件的至少一个中,所述剩余的处理元件的至少一个作为根据命令指定而进行运算处理的数据总线而起作用,
在SIMD模式下的操作时,在所述处理单元中,
所述命令流选择器,基于来自所述控制电路的控制,选择来自控制处理元件的命令,在多个处理元件中施加相同的命令,并进行并行处理。
21.权利要求20所记载的混合模式并行处理器系统,其特征在于:
所述处理单元具备至少第1、第2处理元件,
所述第1、第2处理元件分别具备:
命令解码器;
运算单元;
可读写存储器;
分别选择所述运算单元的输出和所述存储器的输出之一方的选择器群;
接受所述选择器群的输出的寄存器群;和
从所述寄存器群的输出中选择向所述运算单元提供的输出的选择器,
与所述第1处理元件相对应地,具备所述命令流选择器和所述控制电路,
所述控制电路根据所述控制处理元件而被设定,包含用于决定是否在SIMD与MIMD任一模式下操作的模式寄存器、及程序计数器,
在MIMD模式下的操作时,
所述第1处理元件的所述存储器与所述寄存器群的一部分作为命令超高速缓冲存储器和命令超高速缓冲存储器的标记保存区域而起作用;
所述命令流选择器,基于所述控制电路的控制,选择从所述第1处理元件的所述存储器中读出的命令;
所述第1、第2处理元件的所述命令解码器,分别输入所述命令流选择器所选择的命令以对该命令进行解码,生成用于命令执行的控制信号;
所述第2处理元件,根据所述第2处理元件的所述命令解码器所生成的控制信号,控制寄存器群、运算单元、存储器以执行命令;
所述控制电路生成地址信息,将该地址信息的标记字段与所述第1处理元件的所述寄存器群的一部分的标记信息相比较以进行命令超高速缓冲存储器的命中-未命中判定,在命令超高速缓冲存储器命中时,从所述第1处理元件的所述存储器中读取命令,在命令超高速缓冲存储器未命中时,把在所述控制处理元件请求并得到的命令写入到所述第1处理元件的所述存储器中,以从该存储器中读出命令;
在SIMD模式下的操作时,所述命令流选择器基于所述控制电路的控制,选择由所述控制处理元件所发布的命令;以及
所述第1、第2处理元件对相同命令进行解码和进行运算处理。
CNA2007800040079A 2006-08-23 2007-08-09 处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序 Pending CN101379481A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006225963 2006-08-23
JP225963/2006 2006-08-23

Publications (1)

Publication Number Publication Date
CN101379481A true CN101379481A (zh) 2009-03-04

Family

ID=39106662

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800040079A Pending CN101379481A (zh) 2006-08-23 2007-08-09 处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序

Country Status (6)

Country Link
US (3) US7853775B2 (zh)
EP (1) EP2056212B1 (zh)
JP (1) JP4424443B2 (zh)
KR (1) KR100990526B1 (zh)
CN (1) CN101379481A (zh)
WO (1) WO2008023576A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102200961A (zh) * 2011-05-27 2011-09-28 清华大学 一种动态可重构处理器内子单元的扩展方法
CN102460420A (zh) * 2009-06-04 2012-05-16 美光科技公司 存储器装置的内部处理器中的条件式操作

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474488B2 (en) * 2005-08-30 2009-01-06 International Business Machines Corporation Magnetic head, tape drive system, and method
US7979674B2 (en) * 2007-05-16 2011-07-12 International Business Machines Corporation Re-executing launcher program upon termination of launched programs in MIMD mode booted SIMD partitions
US7814295B2 (en) * 2007-05-18 2010-10-12 International Business Machines Corporation Moving processing operations from one MIMD booted SIMD partition to another to enlarge a SIMD partition
US7831803B2 (en) * 2007-07-19 2010-11-09 International Business Machines Corporation Executing multiple instructions multiple date (‘MIMD’) programs on a single instruction multiple data (‘SIMD’) machine
US7831802B2 (en) * 2007-07-19 2010-11-09 International Business Machines Corporation Executing Multiple Instructions Multiple Data (‘MIMD’) programs on a Single Instruction Multiple Data (‘SIMD’) machine
KR100960148B1 (ko) 2008-05-07 2010-05-27 한국전자통신연구원 데이터 프로세싱 회로
US8135941B2 (en) * 2008-09-19 2012-03-13 International Business Machines Corporation Vector morphing mechanism for multiple processor cores
JP5379223B2 (ja) * 2009-04-22 2013-12-25 パナソニック株式会社 情報処理装置
GB0907559D0 (en) * 2009-05-01 2009-06-10 Optos Plc Improvements relating to processing unit instruction sets
JP5495707B2 (ja) * 2009-10-16 2014-05-21 三菱電機株式会社 並列信号処理装置
KR101359717B1 (ko) 2010-11-08 2014-02-07 한국전자통신연구원 에너지 타일 프로세서
JP2012252374A (ja) * 2011-05-31 2012-12-20 Renesas Electronics Corp 情報処理装置
US9329834B2 (en) 2012-01-10 2016-05-03 Intel Corporation Intelligent parametric scratchap memory architecture
KR101603752B1 (ko) 2013-01-28 2016-03-28 삼성전자주식회사 멀티 모드 지원 프로세서 및 그 프로세서에서 멀티 모드를 지원하는 방법
GB2516995B (en) * 2013-12-18 2015-08-19 Imagination Tech Ltd Task execution in a SIMD processing unit
JP2015176245A (ja) 2014-03-13 2015-10-05 株式会社東芝 情報処理装置及びデータ構造
JP6396715B2 (ja) * 2014-08-07 2018-09-26 ルネサスエレクトロニクス株式会社 データ処理装置
JP2016057763A (ja) 2014-09-08 2016-04-21 株式会社東芝 キャッシュ装置、及びプロセッサ
US9928076B2 (en) * 2014-09-26 2018-03-27 Intel Corporation Method and apparatus for unstructured control flow for SIMD execution engine
RU2571376C1 (ru) * 2014-11-21 2015-12-20 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ и устройство для параллельной обработки цифровой информации в вычислительной системе
US9684602B2 (en) 2015-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory access control device, cache memory and semiconductor device
WO2021138189A1 (en) * 2019-12-30 2021-07-08 Star Ally International Limited Processor for configurable parallel computations

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5916071A (ja) 1982-07-19 1984-01-27 Toshiba Corp 並列処理システム
US4891787A (en) * 1986-12-17 1990-01-02 Massachusetts Institute Of Technology Parallel processing system with processor array having SIMD/MIMD instruction processing
US5197140A (en) 1989-11-17 1993-03-23 Texas Instruments Incorporated Sliced addressing multi-processor and method of operation
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
JP2836875B2 (ja) 1989-12-27 1998-12-14 株式会社クラレ イミド化アクリル樹脂の製造方法
JPH04291659A (ja) * 1991-03-20 1992-10-15 Hitachi Ltd 並列コンピュータシステムおよびその動作方法
US5361367A (en) 1991-06-10 1994-11-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors
JPH0520283A (ja) 1991-07-11 1993-01-29 Mitsubishi Electric Corp 並列データ処理装置
CA2073516A1 (en) 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
JPH0668053A (ja) * 1992-08-20 1994-03-11 Toshiba Corp 並列計算機
US5475850A (en) * 1993-06-21 1995-12-12 Intel Corporation Multistate microprocessor bus arbitration signals
JP3199205B2 (ja) * 1993-11-19 2001-08-13 株式会社日立製作所 並列演算装置
US5420809A (en) * 1993-11-30 1995-05-30 Texas Instruments Incorporated Method of operating a data processing apparatus to compute correlation
WO1995028686A1 (en) 1994-04-15 1995-10-26 David Sarnoff Research Center, Inc. Parallel processing computer containing a multiple instruction stream processing architecture
US5680597A (en) 1995-01-26 1997-10-21 International Business Machines Corporation System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions
US6766437B1 (en) * 2000-02-28 2004-07-20 International Business Machines Corporation Composite uniprocessor
US7395408B2 (en) 2002-10-16 2008-07-01 Matsushita Electric Industrial Co., Ltd. Parallel execution processor and instruction assigning making use of group number in processing elements
JP4184224B2 (ja) * 2002-10-16 2008-11-19 松下電器産業株式会社 並列実行プロセッサ、命令割当方法
JP4291659B2 (ja) 2003-09-30 2009-07-08 パナソニック株式会社 送信装置及び送信方法
US20070083870A1 (en) * 2005-07-29 2007-04-12 Tomochika Kanakogi Methods and apparatus for task sharing among a plurality of processors
US7730280B2 (en) 2006-06-15 2010-06-01 Vicore Technologies, Inc. Methods and apparatus for independent processor node operations in a SIMD array processor
JP4232838B2 (ja) * 2007-03-29 2009-03-04 日本電気株式会社 再構成可能なsimd型プロセッサ

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460420A (zh) * 2009-06-04 2012-05-16 美光科技公司 存储器装置的内部处理器中的条件式操作
CN102460420B (zh) * 2009-06-04 2015-07-15 美光科技公司 存储器装置的内部处理器中的条件式操作
US9535876B2 (en) 2009-06-04 2017-01-03 Micron Technology, Inc. Conditional operation in an internal processor of a memory device
US10394753B2 (en) 2009-06-04 2019-08-27 Micron Technology, Inc. Conditional operation in an internal processor of a memory device
US10970247B2 (en) 2009-06-04 2021-04-06 Micron Technology, Inc. Conditional operation in an internal processor of a memory device
CN102200961A (zh) * 2011-05-27 2011-09-28 清华大学 一种动态可重构处理器内子单元的扩展方法
CN102200961B (zh) * 2011-05-27 2013-05-22 清华大学 一种动态可重构处理器内子单元的扩展方法

Also Published As

Publication number Publication date
US7853775B2 (en) 2010-12-14
JP4424443B2 (ja) 2010-03-03
US20110138151A1 (en) 2011-06-09
WO2008023576A1 (fr) 2008-02-28
US20090049275A1 (en) 2009-02-19
US8112613B2 (en) 2012-02-07
US20110047348A1 (en) 2011-02-24
KR100990526B1 (ko) 2010-10-29
EP2056212B1 (en) 2013-04-10
EP2056212A4 (en) 2011-07-27
KR20080083342A (ko) 2008-09-17
JPWO2008023576A1 (ja) 2010-01-07
US8051273B2 (en) 2011-11-01
EP2056212A1 (en) 2009-05-06

Similar Documents

Publication Publication Date Title
CN101379481A (zh) 处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序
CN109522254B (zh) 运算装置及方法
US5872987A (en) Massively parallel computer including auxiliary vector processor
US7707393B2 (en) Microprocessor with high speed memory integrated in load/store unit to efficiently perform scatter and gather operations
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
JP2006509306A (ja) 関係アプリケーションへのデータ処理システム相互参照用セルエンジン
CN1662904A (zh) 具有级联simd结构的数字信号处理器
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
US5752271A (en) Method and apparatus for using double precision addressable registers for single precision data
JP4254954B2 (ja) データ処理装置
US8285975B2 (en) Register file with separate registers for compiler code and low level code
CN106610817A (zh) 用于采取vliw处理器中的相同执行数据包中的常数扩展槽指定或扩展常数位数的方法
JP7567133B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US7346763B2 (en) Processor instruction with repeated execution code
US20040128475A1 (en) Widely accessible processor register file and method for use
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
EP2348400A1 (en) Arithmetic processor, information processor, and pipeline control method of arithmetic processor
US7178009B2 (en) Different register data indicators for each of a plurality of central processing units
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
CN103262029B (zh) 可编程控制器
JPH08263289A (ja) 複数命令流パイプライン計算機
JP4660747B2 (ja) データ処理装置
JPH05173778A (ja) データ処理装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
US20070226461A1 (en) Reverse polish notation device for handling tables, and electronic integrated circuit including such a processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090304