CN103514105A - 信息处理系统、信息处理方法及存储系统 - Google Patents

信息处理系统、信息处理方法及存储系统 Download PDF

Info

Publication number
CN103514105A
CN103514105A CN201210199679.2A CN201210199679A CN103514105A CN 103514105 A CN103514105 A CN 103514105A CN 201210199679 A CN201210199679 A CN 201210199679A CN 103514105 A CN103514105 A CN 103514105A
Authority
CN
China
Prior art keywords
address
memory
information
scanner
message block
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
CN201210199679.2A
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.)
Shanghai Xinhao Bravechips Micro Electronics Co Ltd
Original Assignee
Shanghai Xinhao Bravechips Micro Electronics Co Ltd
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 Shanghai Xinhao Bravechips Micro Electronics Co Ltd filed Critical Shanghai Xinhao Bravechips Micro Electronics Co Ltd
Priority to CN201210199679.2A priority Critical patent/CN103514105A/zh
Priority to EP13804442.5A priority patent/EP2862088A4/en
Priority to US14/410,060 priority patent/US20150134939A1/en
Priority to PCT/CN2013/077215 priority patent/WO2013185625A1/en
Publication of CN103514105A publication Critical patent/CN103514105A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Abstract

本发明提供了一种信息处理系统、信息处理方法及存储系统,其中,利用扫描器根据当前输出的信息块产生并输出更多地址,从而使得存储器/寄存器能够据此输出更多的信息块,即相当于在处理器(信息块需求设备)未提出信息请求前,预先向其提供其可能需要的信息块,由此,便加快了处理器(信息块需求设备)对信息块的获取速度,进而提高了处理器及信息处理系统的运行速度。

Description

信息处理系统、信息处理方法及存储系统
技术领域
本发明涉及计算机架构技术领域,特别涉及一种信息处理系统、信息处理方法及存储系统。
背景技术
在当今的计算机架构中,处理器是其核心设备,所述处理器包括通用处理器(General Processor)、中央处理器(CPU)、微控制器(MCU)、数字信号处理器(DSP)、图像处理器(GPU)、片上系统(SOC)、专用集成电路(ASIC)等。通过所述处理器的运行,能够解决各类计算工作。通常的,处理器在运行的过程中需要读取并执行大量的指令与数据,在此,将指令与数据统称为信息,由此,便需要一存储器对这些信息予以存储。
请参考图1,其为现有的一种信息处理系统的框结构示意图。如图1所示,在信息处理系统1A中包括:处理器10A及存储器11A;当处理器10A需要信息时,就像存储器11A发送一地址,而所述存储器11A根据接收的地址向所述处理器10A发送信息块。此种方式固然能够解决处理器10A对于信息的需求,但是,由于处理器与存储器之间速度的极大不匹配,处理器的速度远高于存储器的速度,由此,将导致处理器由于所需的信息不能够被及时提供而降低了运行速度。
为此,现有技术中又提出了另一种信息处理系统,请参考图2,其为现有的另一种信息处理系统的框结构示意图。如图2所示,信息处理系统2A包括处理器20A,第一存储器21A,第二存储器22A及标签23A,其中,第一存储器21A及第二存储器22A用以存储信息块,标签23A用以记录所述第二存储器22A中所存的信息块的地址。
在该信息处理系统2A中,第二存储器22A的速度高于第一存储器21A的速度,其能够更好的与处理器20A匹配,但是,该第二存储器22A的存储量小于第一存储器21A,其只能存储第一存储器21A中的部分信息。由此,当处理器20A所需的信息块存储于第二存储器22A时,整个信息处理系统2A具有很高的运行速度,而当处理器20A所需的信息块在第二存储器22A中没有存储时,处理器20A需要到第一存储器21A中调用这些信息块,从而大大的降低了信息处理系统、处理器的运行速度。
对于现有技术而言,如何解决这一问题成了技术进步的关键。
发明内容
本发明的目的在于提供一种信息处理系统、信息处理方法及存储系统,以提高设备运行速度。
为此,本发明提供了一种信息处理系统,包括:
处理器,用以获取信息;
存储器,用以存储信息并根据收到的地址输出信息块;
扫描器,用以根据当前信息块产生地址并向存储器提供地址,所述当前信息块为存储器当前发出的信息块。
可选的,在所述的信息处理系统中,所述扫描器通过如下产生方法一产生地址:
产生方法一、所述扫描器解析所述当前信息块,若判断所述当前信息块中包含分支指令,则计算该分支指令的目标地址,产生地址。
可选的,在所述的信息处理系统中,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
判断产生方法一所产生的地址所指向的信息块是否为当前信息块,若否,则该产生的地址通过筛选。
可选的,在所述的信息处理系统中,所述扫描器还通过如下产生方法二产生地址:
产生方法二、所述扫描器获取当前信息块的地址,在当前信息块的地址上增加一偏移量,产生地址。
可选的,在所述的信息处理系统中,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
步骤1:将所述产生方法二所产生的地址认定为是筛选通过的地址;
步骤2:判断所述产生方法一所产生的地址指向的信息块是否为当前信息块或者产生方法二所产生的地址指向的信息块,若否,则产生方法一产生的地址通过筛选。
可选的,在所述的信息处理系统中,所述扫描器获取当前信息块的类型信息,所述类型信息标示所述信息块为指令块还是数据块。
可选的,在所述的信息处理系统中,所述处理器向扫描器发送其向存储器请求的信息块的类型信息。
可选的,在所述的信息处理系统中,所述处理器上设置有接收地址的端口。
可选的,在所述的信息处理系统中,所述处理器上设置有输出信息块类型端口。
可选的,在所述的信息处理系统中,所述输出信息块类型端口为管脚或者总线输出口。
可选的,在所述的信息处理系统中,所述存储器上设置有输出地址的端口。
可选的,在所述的信息处理系统中,所述扫描器上设置有输出地址的端口。
可选的,在所述的信息处理系统中,所述扫描器上设置有接收信息块类型的端口。
可选的,在所述的信息处理系统中,所述存储器输出信息块的同时,输出该信息块的地址。
可选的,在所述的信息处理系统中,还包括:
第一地址记录器,用以记录所述处理器最近n次输出的地址,所述n为自然数。
可选的,在所述的信息处理系统中,所述扫描器向存储器提供地址之前,先确认第一地址记录器中是否记录有该地址,若否,则向所述存储器提供该地址。
可选的,在所述的信息处理系统中,所述扫描器根据其向存储器提供的地址以及第一地址记录器中记录的地址,获取一地址步长;
所述扫描器在向存储器提供的地址上增加该地址步长,产生地址。
可选的,在所述的信息处理系统中,还包括:
第二地址记录器,用以记录所述处理器中存储有的m个信息块的地址,所述m为自然数。
可选的,在所述的信息处理系统中,所述存储器的数量为一个或者多个,所述扫描器的数量为一个或者多个。
可选的,在所述的信息处理系统中,一存储器与一扫描器组成一级,多个存储器与多个扫描器组成多级,该多级级联。
可选的,在所述的信息处理系统中,所述存储器的数量为两个,分别为第一存储器及第二存储器,其中,在信号传递上,第二存储器比第一存储器更靠近所述处理器;
还包括匹配器,所述匹配器记录所述第二存储器中存储的信息块的地址。
可选的,在所述的信息处理系统中,第一存储器输出的信息块经过第二存储器存储并发送至处理器。
可选的,在所述的信息处理系统中,第二存储器通过标记位标示其存储的信息块是否需要继续存储。
可选的,在所述的信息处理系统中,当所述第二存储器以路组的方式存储信息块时,通过对标记位设置不同的权重以区别该标记位对应的信息块是否需要继续存储,当再次有信息块存储至第二存储器时,该信息块覆盖至不需要存储的信息块所在的地址。
可选的,在所述的信息处理系统中,当所述第二存储器以全相联的方式存储信息块时,利用指针指向不需要存储的信息块所对应的地址,当再次有信息块存储至第二存储器时,该信息块覆盖至指针所指向的地址。
可选的,在所述的信息处理系统中,所述扫描器根据第二存储器发出的当前信息块产生地址;
所述扫描器向存储器提供地址之前,先确认匹配器中是否记录有该地址,若否,则向第一存储器提供该地址。
可选的,在所述的信息处理系统中,还包括:第一地址记录器,用以记录所述处理器最近n次输出的地址,所述n为自然数;
所述扫描器的数量为一个,其根据第二存储器发出的当前信息块产生地址;
所述扫描器向存储器提供地址之前,先确认第一地址记录器中是否记录有该地址,若否,则接着确认匹配器中是否记录有该地址,若否,则向第一存储器提供该地址。
可选的,在所述的信息处理系统中,所述扫描器根据第一存储器发出的当前信息块产生地址;
所述扫描器向存储器提供地址之前,先确认匹配器中是否记录有该地址,若否,则向第一存储器提供该地址。
可选的,在所述的信息处理系统中,还包括:预测地址记录器,用以记录并输出所述扫描器向存储器提供的地址。
可选的,在所述的信息处理系统中,所述扫描器根据第一存储器发出的当前信息块产生地址;
所述扫描器通过所述预测地址记录器向所述存储器提供地址;
当所述第二存储器输出一信息块时,所述预测地址记录器输出与该信息块关联的信息块的地址。
可选的,在所述的信息处理系统中,所述扫描器根据第一存储器发出的当前信息块产生地址;
所述扫描器通过所述预测地址记录器向所述存储器提供地址;
其中,所述预测地址记录器中所记录的地址为:所述扫描器向存储器提供的且所述匹配器中没有记录的地址;
当所述第二存储器输出一信息块时,所述预测地址记录器输出与该信息块关联的信息块的地址。
可选的,在所述的信息处理系统中,还包括:指令类型信息记录器,用以记录并输出当前信息块中的指令类型信息,所述指令类型信息标示指令为分支指令还是非分支指令。
可选的,在所述的信息处理系统中,所述扫描器根据第二存储器发出的当前信息块产生地址;所述指令类型信息记录器记录第一存储器输出的当前信息块中的指令类型信息;
其中,所述扫描器根据当前信息块产生地址之前,先根据所述指令类型信息记录器中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址。
可选的,在所述的信息处理系统中,所述指令类型信息记录器中的信息通过一预扫描器读取第一存储器输出的信息块予以获取。
可选的,在所述的信息处理系统中,对于所述匹配器中记录的地址,所述指令类型信息记录器认为该地址对应的指令为非分支指令。
可选的,在所述的信息处理系统中,所述指令类型信息记录器中的信息通过一扫描器读取第一存储器输出的信息块予以获取。
本发明还提供一种信息处理方法,包括:
步骤A:所述处理器发送地址;
步骤B:所述存储器根据所述处理器发送的地址输出信息块;
步骤C:所述扫描器根据所述存储器当前输出的信息块产生地址,并向所述存储器提供地址;
步骤D:所述存储器根据所述扫描器提供的地址输出信息块。
可选的,在所述的信息处理方法中,所述扫描器通过如下产生方法一产生地址:
产生方法一、所述扫描器解析所述当前信息块,若判断所述当前信息块中包含分支指令,则计算该分支指令的目标地址,产生地址。
可选的,在所述的信息处理方法中,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
判断产生方法一所产生的地址所指向的信息块是否为当前信息块,若否,则该产生的地址通过筛选。
可选的,在所述的信息处理方法中,所述扫描器还通过如下产生方法二产生地址:
产生方法二、所述扫描器获取当前信息块的地址,在当前信息块的地址上增加一偏移量,产生地址。
可选的,在所述的信息处理方法中,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
步骤1:将所述产生方法二所产生的地址认定为是筛选通过的地址;
步骤2:判断所述产生方法一所产生的地址指向的信息块是否为当前信息块或者产生方法二所产生的地址指向的信息块,若否,则产生方法一产生的地址通过筛选。
可选的,在所述的信息处理方法中,在步骤A中,所述处理器发出地址的同时,向所述扫描器发出通过该地址请求的信息块的类型信息。
可选的,在所述的信息处理方法中,在步骤A中,所述处理器通过总线传输表示信息块类型信息的命令字。
可选的,在所述的信息处理方法中,在步骤D中,所述存储器输出信息块的同时,输出该信息块的地址。
可选的,在所述的信息处理方法中,在步骤A中,所述处理器同时向所述存储器及第一地址记录器发送地址;
在步骤C中,所述扫描器向存储器提供地址之前,先确认第一地址记录器中是否记录有该地址,若否,则向所述存储器提供该地址。
可选的,在所述的信息处理方法中,在步骤C中,所述扫描器根据其向存储器提供的地址以及第一地址记录器中记录的地址,获取一地址步长;所述扫描器在向存储器提供的地址上增加该地址步长,产生地址。
可选的,在所述的信息处理方法中,在步骤C中,所述扫描器向存储器提供地址之前,先确认第二地址记录器中是否记录有该地址,若否,则向所述存储器提供该地址。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第二存储器当前发出的信息块产生地址,并提供给匹配器,若匹配器中没有记录该地址,则向第一存储器提供该地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址向第二存储器输出信息块,所述第二存储器存储该信息块。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第二存储器当前输出的信息块产生地址,并与第一地址记录器中所存储的地址进行比较,若第一地址记录器中没有记录有该地址,则所述扫描器经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第一存储器当前发出的信息块产生地址,并经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第一存储器当前发出的信息块产生地址,并提供地址,预测地址记录器存储所述扫描器提供的地址;
在步骤D中,当第二存储器输出一信息块时,所述预测地址记录器输出与该信息块关联的信息块的地址,若所述匹配器中没有该地址,则向第一存储器提供该地址,第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第一存储器当前发出的信息块产生地址,并提供地址,若匹配器未存储有扫描器提供的地址,则预测地址记录器存储该地址;
在步骤D中,当第二存储器输出一信息块时,预测地址记录器输出与该信息块关联的信息块的地址,第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块,其中,指令类型信息记录器获取第一存储器向第二存储器输出的信息块中的指令类型信息;
在步骤C中,扫描器根据第二存储器输出的当前信息块产生地址之前,先根据所述指令类型信息记录器中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址,并经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块,其中,第一扫描器根据第一存储器输出的信息块产生地址并经过匹配器向第一存储器提供地址,同时获取该信息块中的指令类型信息并提供给指令类型信息记录器,指令类型信息记录器记录所述信息块中的指令类型信息,对于匹配器中记录的地址,指令类型信息记录器认为该地址对应的指令为非分支指令;
在步骤C中,第二扫描器根据第二存储器输出的当前信息块产生地址之前,先根据指令类型信息记录器中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址,并经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有第一扫描器或者第二扫描器提供的地址时,则第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,在步骤B中,第二匹配器接收处理器发送的地址,若第二匹配器中存有该地址,则第三存储器根据该地址输出信息块;若第二匹配器中没有该地址,则向第一匹配器提供该地址,若第一匹配器中存有该地址,则第二存储器根据该地址输出信息块,否则第一存储器根据该地址输出信息块;
在步骤C中,第一扫描器根据第二存储器当前发出的信息块产生地址,并向第一匹配器提供地址;第二扫描器根据第三存储器当前发出的信息块产生地址,并向第二匹配器提供地址;
在步骤D中,当第一匹配器中未存有第一扫描器提供的地址时,第一存储器根据该地址输出信息块;当第二匹配器中未存有第二扫描器提供的地址时,向第一匹配器提供该地址,若第一匹配器中未存有该地址,则第一存储器根据该地址输出信息块。
可选的,在所述的信息处理方法中,第一存储器输出的信息块经过第二存储器存储并发送至处理器。
可选的,在所述的信息处理方法中,第二存储器通过标记位标示其存储的信息块是否需要继续存储。
可选的,在所述的信息处理方法中,当所述第二存储器以路组的方式存储信息块时,通过对标记位设置不同的权重以区别该标记位对应的信息块是否需要继续存储,当再次有信息块存储至第二存储器时,该信息块覆盖至不需要存储的信息块所在的地址。
可选的,在所述的信息处理方法中,当所述第二存储器以全相联的方式存储信息块时,利用指针指向不需要存储的信息块所对应的地址,当再次有信息块存储至第二存储器时,该信息块覆盖至指针所指向的地址。
本发明还提供一种存储系统,包括:
控制器,用以根据地址控制信息块输出;
存储器,用以存储并输出信息块;
第一级寄存器,用以存储并输出信息块,其中,所述第一级寄存器存有多页信息块;
第二级寄存器,用以存储并输出信息块,其中,所述第二级寄存器存有一页信息块;
扫描器,用以根据第二级寄存器输出的当前信息块产生地址并向控制器提供地址。
可选的,在所述的存储系统中,还包括地址记录器,用以记录所述控制器最近n次接收的地址,所述n为自然数。
本发明还提供一种存储系统,包括:
控制器,用以根据地址控制信息块输出;
存储器,用以存储并输出信息块;
第一级寄存器,用以存储并输出信息块,其中,所述第一级寄存器存有多页信息块;
第二级寄存器,用以存储并输出信息块,其中,所述第二级寄存器存有一页信息块;
扫描器,用以根据存储器输出的当前信息块产生地址并向控制器提供地址。
在本发明提供的信息处理系统、信息处理方法及存储系统中,利用扫描器根据当前输出的信息块产生并输出更多地址,从而使得存储器/寄存器能够据此输出更多的信息块,即相当于在处理器(信息块需求设备)未提出信息请求前,预先向其提供其可能需要的信息块,由此,便加快了处理器(信息块需求设备)对信息块的获取速度,进而提高了处理器及信息处理系统的运行速度。
附图说明
图1是现有的一种信息处理系统的框结构示意图;
图2是现有的另一种信息处理系统的框结构示意图;
图3a~3b是本发明实施例一的信息处理系统的框结构示意图;
图3c是本发明实施例一的扫描器产生地址的原理示意图;
图3d是本发明实施例一的扫描器筛选功能实现方式的原理示意图;
图4a~4c是本发明实施例二的信息处理系统的框结构示意图;
图4d是本发明实施例二的第一地址记录器实现方式的原理示意图;
图5a是本发明实施例三的信息处理系统的框结构示意图;
图5b~5d是本发明实施例三的信息处理系统中信息块存储与替换方式的示意图;
图6是本发明实施例四的信息处理系统的框结构示意图;
图7a~7b是本发明实施例五的信息处理系统的框结构示意图;
图8是本发明实施例六的信息处理系统的框结构示意图;
图9是本发明实施例七的信息处理系统的框结构示意图;
图10是本发明实施例八的信息处理系统的框结构示意图;
图11是本发明实施例九的信息处理系统的框结构示意图;
图12是本发明实施例十的信息处理系统的框结构示意图;
图13a~13b是本发明实施例十一的存储系统的框结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的信息处理系统及信息处理方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
需说明的是,为了清楚地说明本发明的内容,本发明特举多个实施例以进一步阐释本发明的不同实现方式,其中,该多个实施例是列举式并非穷举式。此外,为了说明的简洁,前实施例中已提及的内容往往在后实施例中予以省略,因此,后实施例中未提及的内容可相应参考前实施例。
【实施例一】
请参考图3a,其为本发明实施例一的信息处理系统的框结构示意图。如图3a所示,所述信息处理系统3包括:
处理器30,用以获取信息;
存储器31,用以存储信息并根据收到的地址输出信息块;
扫描器32,用以根据当前信息块产生地址并向存储器提供地址,所述当前信息块为存储器31当前发出的信息块。
在此,所述信息处理系统3通过如下方法进行信息处理:
步骤A:所述处理器30发送地址;
步骤B:所述存储器31根据所述处理器30发送的地址输出信息块;
步骤C:所述扫描器32根据所述存储器31当前输出的信息块产生地址,并向所述存储器31提供地址;
步骤D:所述存储器31根据所述扫描器32提供的地址输出信息块。
也就是说,在本实施例中,当处理器30发出一个需要获取信息的地址(即发出一个请求/请求地址)时,所述存储器31除了根据该处理器30发出的地址输出一信息块之外;还根据所述扫描器32产生的地址发出另一个或者多个信息块,即在此存储器31将提供多个信息块。
相对于现有的处理器发出一个需要获取信息的地址,存储器根据该地址发出一个信息块,从而处理器只能得到一个与其发出的地址对应的信息块(或者说其发出的地址指向的信息块)而言,在本实施例提供的信息处理系统中,处理器30发出一个需要获取信息的地址,存储器31将输出(发出/发送/提供)多个信息块(其中,一个信息块是应处理器30的请求/地址而发送,除此以外的信息块是应扫描器32的请求/地址而发送的),从而处理器30能够因一个请求/地址得到多个信息块,提高了其获取信息块的速率。显然的,也将提高所述处理器30的运行速度,即提高了所述处理器30的信息处理速度。
需说明的是,在本发明的用语中,“信息块(Block)”是信息的单位,其包括内容为指令的指令块及内容为数据的数据块,在此,并不限定所述“信息块”的大小(即具体为多少比特),其可以根据不同的系统要求定义。
此外,在本实施例中,所述处理器30可以具体为通用处理器(GeneralProcessor)、中央处理器(CPU)、微控制器(MCU)、数字信号处理器(DSP)、图像处理器(GPU)、片上系统(SOC)、专用集成电路(ASIC)等;所述存储器31可以具体为寄存器(register)、寄存器堆(register file)、静态存储器(SRAM)、动态存储器(DRAM)、闪存存储器(flashmemory)、硬盘、固态磁盘(Solid State Disk)等,本申请对此并不限定。
在本实施例中,所述扫描器32可通过如下多种方式产生地址:
方式一
所述扫描器32解析所述当前信息块,若判断所述当前信息块中包含分支指令,则获取判断得到的分支指令的地址,产生地址。
具体的,所述扫描器32通过如下过程解析所述当前信息块:所述扫描器32将所述当前信息块认为是指令块,获取指令块中的OP(指令类型信息,标示指令为分支指令还是非分支指令),得出是否包含分支指令的信息。在此,需说明的是,所述指令块可包括一条或者多条指令,当包括多条指令时,若该多条指令部分或者全部为分支指令,则,所述指令块可能包括多条分支指令。
若判断得到(或者说经过上述解析得出)所述当前信息块中包含分支指令,则获取判断得到的分支指令的地址,在此,获取分支指令的目标地址产生地址,即将获取的分支指令的地址提供给存储器31,所述存储器31根据该分支指令的地址输出信息块,此时,该信息块是指令块。
方式二
所述扫描器32获取当前信息块的地址,在当前信息块的地址上增加一偏移量,产生地址。在此,所述偏移量为一固定值,优选的,其为相邻两个信息块的地址偏差量。由此,所述扫描器32所产生的地址将为与当前信息块相邻地址的信息块,特别的,为当前信息块下一地址的信息块。
方式三
在此,方式三为方式一与方式二的结合,即所述扫描器32产生的地址包括:所述扫描器32解析所述当前信息块,若判断所述当前信息块中包含分支指令,则获取判断得到的分支指令的地址,产生一地址(其中用语“一”指代一个、一些或者一部分);及所述扫描器32获取当前信息块的地址,在当前信息块的地址上增加一偏移量,产生另一地址。
接下去,将提供实现上述多种方式产生地址的扫描器的具体实现方式:
如图3c所示,所述扫描器具体通过如下方式产生地址:
1、所述扫描器通过译码器判断当前信息块为分支指令还是非分支指令,若判断得到所述信息块为分支指令,则通过一加法器将当前指令地址加上分支指令的偏移量,得到分支指令的目标地址,从而产生地址;
2、所述扫描器通过一加法器将当前指令所在的块地址加上块偏移量(即相邻两个信息块的地址偏差量),得到当前信息块的相邻信息块的地址。
当然,若采用方式一或者方式二时,则所述扫描器仅使用部分功能。
方式四
此方式四为方式一的改进。在通过方式一产生地址之后,所述扫描器32还对产生的地址进行筛选,其中,向存储器31提供的地址为筛选通过的地址,所述扫描器32利用如下方法对产生的地址进行筛选:
判断方式一所产生的地址所指向的信息块是否为当前信息块,若否,则该产生的地址通过筛选。
在此,考虑到方式一所产生的地址可能恰好为当前信息块的地址,也就是存储器31刚输出的信息块,若在这种情况下,扫描器32仍旧将该地址(在此,称为重复地址,也即当前信息块的地址)提供给存储器31,则将降低有效地址(在此,所述有效地址指代剩余的地址,即通过方式一产生的且与当前信息块的地址不同的地址)的请求速度,即存储器31根据有效地址发送信息块的速度。因此,在本方式四中将重复地址去除,不提供给存储器31,由此,可提高存储器31发送有效信息块(有效地址所对应的信息块)的速度,进而可提高处理器30获取有效信息块的速度,提高处理器30的运行速度。
方式五
方式五为方式三的改进,其基于的目的及原理与方式四相同。但在本方式五中,首先将方式三的一部分地址(可相应参考方式三,方式三包括方式一产生的地址及方式二产生的地址),在此选定为方式二所产生的那部分地址认为是筛选通过的地址,也就是说确定这部分地址扫描器32将提供给存储器31,即存储器31将必定输出通过方式二所产生的地址指向的信息块。则,在本方式五中,将扩大方式一所产生的地址的比对范围,除了同方式四相同的部分,与当前信息块的地址进行比对之外,还将同方式二所产生的地址指向的信息块的地址进行比对。若均不在两者的范围之内,则认为该地址通过比对,或者说通过筛选,将提供给存储器31,而存储器31将根据该输入的地址输出信息块。
接下去,将针对方式四及方式五说明几点问题,这些均是本领域的常识,但为了便于本申请文件的理解,在此特予以说明:
首先,已在前文中说过信息块是信息的单位,但其并不是信息的最小单位,其下还有信息条(或者说一条信息),而信息块是一条或者多条信息的集合,同样的,指令块是一条或者多条指令的集合,数据块是一条或者多条数据的集合。
其次,当我们说信息块地址时,其指代整个信息块的地址,当然,其也是信息块中首条信息的地址,根据该信息块地址,我们可以得到其中每条信息的地址,同样的,得到信息块中某一条/多条信息的地址,根据该一条/多条地址所指向的信息块都将是同一个信息块。
也正是基于上述两点,在本申请文件中提出了方式四及方式五,首先,扫描器32所得到的是一条/多条信息的地址,根据该一条/多条信息的地址将有可能指向同一信息块,在方式四及方式五中正是将该种情况予以排除,从而提高存储器31输出有效信息块的速率/效率。
其中,对于确定信息条的地址是否指向同一信息块的方式可以多种多样,本申请对此并不做限定,在此,示例性的提供一种方式。
当得到一信息块地址(获取信息块时,便可很容易的得到该信息块的地址,关于此点,本申请文件不再赘述)时,该信息块中每个信息条的地址、该信息块的长度(即首信息条与末信息条之间地址偏差量)都是易于得到的。那么确认信息条地址(在此,也就是产生的地址,或者更进一步的,指方式四及方式五中的比对的地址)是否指向被比对信息块(方式四中的当前信息块;方式五中的当前信息块及方式二得到的地址指向的信息块)时,即可通过信息条中的偏移量是否落入信息块中的长度来确定;也可通过信息条中的地址是否为被比对信息块中的信息条的地址来确定。当然,在本申请的其他实施例中还可通过其他方式予以确定,本申请不再赘述。
接下去,将提供实现上述多种方式产生地址的扫描器的具体实现方式,在此,特别针对方式四及方式五,由于方式四及方式五分别为方式一及方式二的进一步处理,因此,下述扫描器的具体实现方式也是在图3c的基础上的进一步改进。
如图3d所示,所述扫描器通过如下方式进行筛选:
所述扫描器通过一加法器将当前指令的块内偏移量(即当前指令地址相对于当前指令所在的块的地址的偏移量)加上分支指令的偏移量,得出一总偏移量,根据该总偏移量判断得到的分支指令目标地址(方式一所产生的地址)是否指向当前信息块或者当前信息块的下一信息块,从而对产生的地址予以筛选。
方式六
在本方式六中,所述扫描器32首先获取当前信息块的类型信息,所述类型信息标示所述信息块为指令块还是数据块。其中,所述扫描器32获取当前信息块类型的时间为执行步骤C时,或者执行步骤C之前。在本方式六中,通过处理器30向所述扫描器32提供该当前信息块的类型信息,在此,可相应参考图3b。通常的,在所述处理器30向存储器31发送/输出地址时,同时向所述扫描器32发送其请求的该地址指向的信息块的类型信息(即在两步同时在步骤A中执行)。需说明的是,所述处理器30已知其所请求的信息块为指令块还是数据块,因此,不需要额外的当前信息块类型信息获取工作,只需处理器30将该信息(当前信息块类型信息)发送给扫描器32即可。
在本方式六中,通过扫描器32首先获取当前信息块的类型信息,当当前信息块为数据块时,便可不产生地址,由于通过数据块所产生的地址为干扰地址,通过将这类地址予以排除,则将提高有效地址(在此,所述有效地址指代指令地址,其虽与方式四中的有效地址内涵略有不同,但都是为了与其之前的重复或者干扰的无效地址相区别,相信本领域技术人员根据本申请文件所公开的内容将很清楚的予以理解)的产生速率/效率,并将有效的地址提供给存储器31,进而可提高存储器31发送有效信息块(有效地址所对应的信息块)的速度,从而可提高处理器30获取有效信息块的速度,提高处理器30的运行速度。
此外,在本实施例中,所述存储器31在发出信息块的同时,发出该信息块对应的地址,从而便于所述处理器30判断该信息块是否需要,以决定是否接收该信息块。其中,所述存储器31可仅针对扫描器32发送的请求/地址,输出信息块的同时输出该信息块对应的地址,则此时仅在步骤D中发送地址;所述存储器31也可不加区别的对来自处理器30和扫描器32发送的请求/地址,均输出信息块的同时输出该信息块对应的地址,即此时在步骤B与步骤D中输出信息块的同时,均输出地址。当然,在本发明的其他实施例中,所述存储器31也可发出信息块的同时,并不发送该信息块对应的地址。
此外,在本发明的其他实施例中,也可不通过所述存储器31在发出信息块的同时,发出该信息块对应的地址,而是通过所述扫描器32向所述处理器30发出当前信息块对应的地址,本申请对此并不做限定。
进一步的,在本实施例一及后续的实施例中,所述处理器上可设置有接收地址的端口;所述处理器上可设置有输出信息块类型端口;所述输出信息块类型端口为管脚或者总线输出口;所述总线上传输的可以是表示信息块类型的命令字(Command Word);所述存储器上可设置有输出地址的端口;所述扫描器上可设置有接收信息块类型的端口。
【实施例二】
请参考图4a,其为本发明实施例二的信息处理系统的框结构示意图。如图4a所示,所述信息处理系统4包括:
处理器40,用以获取信息;
存储器41,用以存储信息并根据收到的地址输出信息块;
扫描器42,用以根据当前信息块产生地址并向存储器提供地址,所述当前信息块为存储器41当前发出的信息块;
第一地址记录器43,用以记录所述处理器40最近n次输出的地址,所述n为自然数。
相应的,利用该信息处理系统4进行信息处理的方法如下:
步骤A:所述处理器40发送地址;
步骤B1:所述第一地址记录器43记录所述处理器40发送的地址;
步骤B2:所述存储器41根据所述处理器40发送的地址输出信息块;
步骤C:所述扫描器42根据所述存储器41当前输出的信息块产生地址,并确认第一地址记录器中是否记录有该地址,若否,则向所述存储器41提供地址;
步骤D:所述存储器41根据所述扫描器42提供的地址输出信息块。
其中,步骤B1与步骤B2可以是先执行步骤B1、再执行步骤B2;也可以是先执行步骤B2、再执行步骤B1;还可以是同时执行步骤B1及步骤B2,本申请对此并不限定。
本实施例二与实施例一的差别在于,在本实施例二中,还包括第一地址记录器43,下面将介绍通过该第一地址记录器43如何进一步提高所述信息处理系统4的性能,对于本实施例二未介绍的内容,可相应参考实施例一。
在本实施例中,第一地址记录器43中记录处理器40最近n次输出的地址,通常,所述处理器40均存储有其最近输出的地址所指向的信息块。由此,在本实施例二中,利用了处理器40的这一性能,扫描器42在向存储器41提供地址时,将这一部分地址剔除,由此,便增大了扫描器42提供的地址中的有效地址。进而,可提高存储器41发送有效信息块(有效地址所对应的信息块)的速度,从而提高了处理器40获取有效信息块的速度,提高处理器40的运行速度。
进一步的,请参考图4b,在本实施例二中,所述扫描器42根据其向存储器41提供的地址以及第一地址记录器43中记录的地址,获取一地址步长;所述扫描器42在其向存储器41提供的、并据以得出这一地址步长的地址上增加该地址步长,产生一地址。
通常,处理器40对于数据块的获取具有一定的规律,其往往是一直获取具有p个地址偏移量的数据块,其中p为非零整数,即该p值可以是正整数也可以是负整数。当p值为正整数时,处理器40获取数据块的规律是:获取当前数据块的后续p个数据块;当p值为负整数时,处理器40获取数据块的规律是:当前数据块的前面-p个数据块。
因此,在本实施例中,利用扫描器42向存储器41提供的地址与地址记录器43中记录的地址进行模糊匹配,即进行匹配操作的两个地址的低q位不比对,q为自然数,优选的,q的取值为4~10,例如,q取值4、6、8或者10,当模糊匹配成功时,便可得出这一地址步长。例如,q取值为6(通常,单位比特),模糊匹配成功时,便可得出地址步长,该地址步长位于(-25)~(25-1)之间,其正负的情况在模糊匹配过程中便可得出。
优选的,所述第一地址记录器43选择具有先进先出功能的存储器予以实现,而当一旦某个向存储器41提供的地址与地址记录器43中记录的地址模糊匹配成功时,对于该向存储器41提供的地址的模糊匹配操作便结束。接着,该模糊匹配成功的、向存储器41提供的地址上增加得到地址步长,便可产生一地址。需说明的是,这个产生的地址要向存储器41提供时,其同样可以选择以实施例一中的六种方式(方式一至方式六)向所述存储器41提供和/或经过第一地址记录器43的确认。对比,本申请不再赘述,本领域技术人员可在本申请公开的基础上,得到多种变形。
接下去,将提供上述第一地址记录器的具体实现方式:
如图4d所示,当需要确认所述第一地址记录器中是否记录有所述扫描器产生的地址时,可通过将所述扫描器产生的地址与所述第一地址记录器中所记录的地址进行比较(在此,所述比较可通过一减法器实现),若比较结果相同,即为命中,说明所述第一地址记录器记录有所述扫描器产生的地址;
当需要获取一地址步长时,将所述扫描器产生的部分地址(通常选取低q位不比对)与所述第一地址记录器中的地址进行比较,在进行比较的部分地址相同之后,将不进行比较的部分地址,即低q位通过一减法器相减,其差值即为地址步长,即由此得到了地址步长。
在本实施例二中,还提供了一种信息处理系统4’,其与信息处理系统4的差别在于,用第二地址记录器44替代了第一地址记录器43,其中,所述第二地址记录器44用以记录所述处理器40中存储有的m个信息块的地址,所述m为自然数。
在本实施例二中,利用地址记录器(包括第一地址记录43和第二地址记录器44)的目的在于,获取处理器40中存储有的信息块的信息,由此,可避免扫描器42向存储器41提供指向这些信息块的地址,进而提高存储器41发送有效信息块的速度,从而提高了处理器40获取有效信息块的速度,提高处理器40的运行速度。
其中,在信息处理系统4中,通过记录处理器40最近n次输出的地址来得到处理器40中存储有的信息块的信息,其能够进行一定筛选,但是并非完全准确。而在信息处理系统4’中,直接记录处理器40中存储有的m个信息块的地址,由此,能够准确的获知处理器40中存储有的信息块,进而提高筛选的准确性,进一步的提高了处理器40获取有效信息块的速度,提高处理器40的运行速度。
具体的,所述第二地址记录器44的使用方法与所述第一地址记录器43的使用方法相似,本申请对此不再赘述。需说明的是,由于所述第二地址记录器44需准确获知所述处理器40中存储有的m个信息块的地址,优选的,所述第二地址记录器44为处理器40中缓存的地址匹配部分,例如标签(Tag)。
【实施例三】
请参考图5a,其为本发明实施例三的信息处理系统的框结构示意图。如图5a所示,所述信息处理系统5包括:
处理器50,用以获取信息;
第一存储器51,用以存储信息并根据收到的地址输出信息块;
第二存储器52,用以存储信息并根据收到的地址输出信息块;
匹配器53,用以记录所述第二存储器52中存储的信息块的地址;
扫描器54,用以根据当前信息块产生地址并经匹配器53向第一存储器51提供地址,所述当前信息块为第二存储器52当前发出的信息块。
相应的,利用该信息处理系统5进行信息处理的方法如下:
步骤A:处理器50发送地址;
步骤B:所述匹配器53接收处理器50发送的地址,若匹配器53中存有该地址,则第二存储器52根据该地址输出信息块;若匹配器53中没有该地址,则第一存储器51根据该地址向第二存储器52输出该信息块,第二存储器52存储并向处理器50输出该信息块;
步骤C:所述扫描器54根据第二存储器52当前发出的信息块产生地址,并提供给匹配器53,若匹配器53中没有记录该地址,则向第一存储器51提供该地址;
步骤D:当匹配器53中没有扫描器54提供的地址时,则第一存储器51根据该地址向第二存储器52输出信息块,所述第二存储器52存储该信息块。
本实施例三与实施例一的差别在于,在本实施例三中利用了多个存储器,具体为两个存储器,分别为第一存储器51及第二存储器52,同时,对于第二存储器52还相应设置有匹配器53。其中,在信号传递上,第二存储器52比第一存储器51更靠近所述处理器50,即同时输出信息块的话,第二存储器52输出的信息块将早于第一存储器51输出的信息块到达处理器50。接下去,将重点介绍多个存储器带来的性能改进及多个存储器时,信息处理系统的工作方式,对于本实施例三未介绍的内容,可相应参考实施例一。
通常,可以无差别的选择第二存储器52及第一存储器51,即可以选择性能相同的存储器作为第二存储器52及第一存储器51。优选的,选择性能较优的存储器作为第二存储器52,即优选速度较快的存储器作为第二存储器52,选择性能较差的存储器作为第一存储器51。同时,易知的,在现有技术中,当存储器的性能较好/速度较快时,其将牺牲容量,即性能较好/速度较快的存储器的容量将较小。因此,本实施例三具体针对第二存储器52性能较第一存储器51佳,但是容量较第一存储器51小的情况加以描述。其他情况也可相应参考此种情况,本申请不再赘述。
首先,本实施例三提供的信息处理系统5所具有的优点是非常明显的,由于相对于实施例一、二增加了一个存储器,由于该存储器的存在,必然增加了存储器输出信息块的速度,也就增加了处理器获取信息块的速度,进而提高了处理器的运行速度。此点,也是现有技术中出现cache的意义(可相应参考图2及背景技术中对于图2的描述)
而在本实施例三中,通过扫描器54产生地址并经匹配器53匹配后向第一存储器51提供地址,相对于图2所示的信息处理系统2,进一步提高了存储器输出信息块的速度,也就能进一步提高处理器获取信息的速度,进而提高处理器的运行速度。
当从速度角度,优选出一种情况时,往往将受制于存储器的容量,在此为第二存储器52的容量,因此,在本实施例三接下去的描述中,将提出几种对于第二存储器52中所存储信息块的替换方式,通过高效、可靠地对存储信息块的替换,以解决第二存储器52的容量问题。
方式一
针对存储器(包括第一存储器51及第二存储器52)所存储的信息块的大小为处理器50所读取的信息块的大小的多倍,在此为两倍。
请参考图5b,在此方式一中,存储地址的低两位作为标记位。
初始的,如地址A所示,第二存储器52从第一存储器51获取并存储信息块,此时,存储地址的低两位均置为“1”;
接着,如地址B所示,第二存储器52中存储的信息块被处理器50读取,此时,由于第二存储器52所存储的信息块的大小为处理器50所读取的信息块的大小的两倍,因此,在一次读取中,只读取了第二存储器52中所存储的信息块的一半,则此时,被读取的信息块所对应的标记位置为“0”,此时,可能出现地址B1的情况,也可能出现地址B2的情况;
最后,当处理器50再次读取(该次读取发生在出现地址B情况的a次读取之后,所述a为非负整数)该存储地址中所存储的另一半信息块(针对存储器来说,是另一半信息块;针对处理器来说,则是另一信息块)时,则存储地址的低两位均置为“0”(如地址C所示),则此时,该存储地址及其对应的存储空间将又可以用于存储后续的信息块,即可用于存储第二存储器52从第一存储器51获取的信息块。
方式二
针对第二存储器52为路组(way set associative)的存储方式,在此为四路组。
请参考图5c(图5c中将四路组存储地址的标记位置于一起表示,在此,假设存储地址的标记位从右至左依次表示第一路组、第二路组、第三路组及第四路组),在此方式二中,存储信息块时:
当四路组中的第一路存储信息块时,相应的将其存储地址中的标记位置为最大值“3”,此时,若另三路组尚未存储有信息块,则相应的标记位均置为最小值“0”;
接着,当四路组中的第二路存储信息块时,则相应的将其存储地址中的标记位置为最大值“3”,同时,之前存储的存储地址中的标记位减“1”,在此,即为第一路组存储地址的标记位置为“2”,此外,另两路组尚未存储有信息块,则相应的标记位仍为最小值“0”;
依此类推,当四路组中的第三路存储信息块时,相应的将其存储地址中的标记位置为最大值“3”,同时,之前存储的存储地址中的标记位减“1”,在此,即为第一路组存储地址的标记位置为“1”,第二路中存储地址的标记位置为“2”,此外,另一路组尚未存储有信息块,则相应的标记位仍为最小值“0”;
最后,当四路组中的第四路存储信息块时,相应的将其存储地址中的标记位置为最大值“3”,而其他三路组的存储地址的标记位依次为“2”、“1”、“0”,即对应T1的情况。
接着,当读取信息块时,被读取信息块的路组,其存储地址的标记位相应置为“0”,同时,标记值比它(改变前)小的标记位加“1”,标记值比它(改变前)大的标记位不变。
在此假设读取第二路组存储的信息块,则第二路组的标记位由于信息块被读取而置为“0”,同时标记值比它(改变前)小的标记位加“1”,在此,即第一路组的标记位加“1”而变成“1”,由此,形成了T2所表示的情况。
接着,若继续对该四路组进行信息块存储时,将信息块存储于标记位为“0”的存储地址所指向的存储空间,同时,当前存储了信息块的存储地址标记位置为最大值“3”,其他各存储地址的标记位均减“1”。
例如,在T2的情况下,继续对该四路组进行一信息块存储时,将该信息块存储于第二路组,同时,该第二路组的存储地址置为最大值“3”,而其他三路组的存储地址标记位相应减“1”,则第四路组的存储地址的标记位变成“2”,第三路组的存储地址的标记位变成“1”,第一路组的存储地址的标记位变成“0”,即形成了T3所表示的情况。
当然,后续可继续进行信息块的读取与写入(存储)操作,其中,存储地址的标记位根据上述揭示的规律进行改变,以实现对存储空间的高效利用。本领域技术人员在本申请公开的基础上能够很方便的实现其他各种变形,本申请对此不再赘述。
方式三
针对第二存储器52为全相联的存储方式。
请参考图5d,在此方式三中,当存储地址所指向的存储空间存储信息块时,则该存储地址的标记位置为“1”,此标记位通常为存储地址的最低位,当然也可以是存储地址的最高位或者介于最低位和最高位之间的某一位,同时,标记位的位数可以是一位也可以是多位,对此本申请并不做限定。
在此,通过一指针来实现对能够存储信息块的存储地址的识别。具体的,当存储地址指向的存储空间存储信息块时,则该存储地址的标记位置为“1”;当存储地址指向的存储空间没有存储信息块或者读取了存储地址指向的存储空间所存储的信息块,则该存储地址的标记位置为“0”。而所述指针总是指向标记位为“0”的存储地址,具体可通过指针的移动予以实现,当指针指向的存储地址的标记位为“1”时,指针移动;而当指针指向的存储地址/或者指针移动到的存储地址的标记位为“0”时,则指针停在该存储地址上,直至该存储地址的标记位变为“1”。在此,所述指针可通过一循环计数器予以实现。
当第二存储器52需要存储信息块时,则将信息块存储于指针指向的位置,也就是存储地址的标记位为“0”的存储地址所指向的存储空间。由此,便可实现对存储空间的高效利用。
需说明的是,在本实施例的举例说明中,在信息块存储时,将其存储地址的标记位置为“1”;在信息块读取时,将其存储地址的标记位置为“0”,在本发明的其他实施例中,也可以进行相反的设置。即本实施例仅示意性的说明通过标记位高效的利用存储器的存储空间,本领域技术人员在本申请公开的基础上,可以进行多种变形,例如,将方式一与方式二相结合,以得到另一种存储器的存储与读取数据的方式,对此,本申请不再赘述。
【实施例四】
请参考图6,其为本发明实施例四的信息处理系统的框结构示意图。如图6所示,在本实施例四中,所述信息处理系统6包括:
处理器60,用以获取信息;
第一存储器61,用以存储信息并根据收到的地址输出信息块;
第二存储器62,用以存储信息并根据收到的地址输出信息块;
匹配器63,用以记录所述第二存储器62中存储的信息块的地址;
扫描器64,用以根据当前信息块产生地址并向存储器提供地址,所述当前信息块为第二存储器62当前发出的信息块;
第一地址记录器65,用以记录所述处理器60最近n次输出的地址,所述n为自然数。
相应的,利用该信息处理系统6进行信息处理的方法如下:
步骤A:所述处理器60发送地址;
步骤B:所述匹配器63接收处理器60发送的地址,若匹配器63中存有该地址,则第二存储器62根据该地址输出信息块;若匹配器63中没有该地址,则第一存储器61根据该地址向第二存储器62输出该信息块,第二存储器62存储并向处理器60输出该信息块;
步骤C:所述扫描器64根据所述第二存储器62当前输出的信息块产生地址,并与第一地址记录器65中所存储的地址进行比较,若第一地址记录器65中没有记录有该地址,则所述扫描器64经过匹配器63向第一存储器61提供地址;
步骤D:当匹配器63中没有扫描器64提供的地址时,则第一存储器61根据该地址输出信息块。
本实施例四与实施例三的差别在于,在本实施例四中,增加了第一地址记录器65,从而扫描器64在向第一存储器61提供地址时,将第一地址记录器65所记录的这一部分地址剔除,由此,便增大了扫描器64提供的地址中的有效地址。进而,可提高第一存储器61发送有效信息块(有效地址所对应的信息块)的速度,从而提高了处理器60获取有效信息块的速度,提高处理器60的运行速度。
本实施例四与实施例二的差别在于,在本实施例四中利用了多个存储器,具体为两个存储器,分别为第一存储器61及第二存储器62,同时,对于第二存储器62还相应设置有匹配器63。其中,在信号传递上,第二存储器62比第一存储器61更靠近所述处理器60,即同时输出信息块的话,第二存储器62输出的信息块将早于第一存储器61输出的信息块到达处理器60。
即本实施例四结合了实施例二及实施例三的优点,从而进一步提高信息处理系统6的性能,其中,在本实施例四中未提及的内容可相应参考实施例二及实施例三,此外,关于扫描器64的工作方式可相应参考实施例一,即本实施例四未提及的内容可相应参考实施例一、二及三。
此外,在本实施例四中,同样可以用第二地址记录器代替第一地址记录器,此点可相应参考实施例二以及本实施例四中利用第一地址记录器的信息处理系统及方法的实现方式,本申请对此不再赘述。
【实施例五】
请参考图7a,其为本发明实施例五的信息处理系统的框结构示意图。如图7a所示,所述信息处理系统7包括:
处理器70,用以获取信息;
第一存储器71,用以存储信息并根据收到的地址输出信息块;
第二存储器72,用以存储信息并根据收到的地址输出信息块;
匹配器73,用以记录所述第二存储器72中存储的信息块的地址;
扫描器74,用以根据当前信息块产生地址并经过匹配器73向第一存储器71提供地址,所述当前信息块为第一存储器81当前发出的信息块。
相应的,利用该信息处理系统7进行信息处理的方法如下:
步骤A:处理器70发送地址;
步骤B:所述匹配器73接收处理器70发送的地址,若匹配器73中存有该地址,则第二存储器72根据该地址输出信息块;若匹配器73中没有该地址,则第一存储器71根据该地址向第二存储器72输出该信息块,第二存储器72存储并向处理器70输出该信息块;
步骤C:所述扫描器74根据第一存储器71当前发出的信息块产生地址,并经过匹配器73向第一存储器71提供地址;
步骤D:当匹配器73中没有扫描器74提供的地址时,则第一存储器71根据该地址输出信息块。
本实施例五与实施例三的差别在于,在本实施例五中,扫描器74根据第一存储器71当前发出的信息块产生地址;而在实施例三中,扫描器54根据第二存储器52当前发出的信息块产生地址。当然,在本实施例中,对于第一存储器71与第二存储器72的性能选择以及该两个存储器与处理器70的信号关系均与实施例三相同。在后续实施例中,若不强调,则对于第一存储器71与第二存储器72的性能选择以及该两个存储器与处理器70的信号关系均与实施例三相同。
本实施例的优点在于,能够将处理器70可能使用的信息块预先从第一存储器71中输出至第二存储器72。由此,当处理器70需要用到这些信息块(根据扫描器74产生的地址,预先从第一存储器71输出并存储至第二存储器72的信息块)时,能够非常快速地获取这些信息块。关于本实施例五中未提及的内容可相应参考前述实施例,本实施例五不再赘述。
此外,本实施例五还可与实施例三相结合,所形成的信息处理系统可包括两个扫描器,其中一个扫描器根据第一存储器输出的信息块产生地址,另一个扫描器根据第二存储器输出的信息块产生地址,从而提高扫描器产生的地址的数量,具体可参考图7b,该图7b所示的信息处理系统可相应参考对图5a及7a所述的信息处理系统的描述,本申请对此不再赘述。
【实施例六】
请参考图8,其为本发明实施例六的信息处理系统的框结构示意图。如图8所示,所述信息处理系统包括:
处理器80,用以获取信息;
第一存储器81,用以存储信息并根据收到的地址输出信息块;
第二存储器82,用以存储信息并根据收到的地址输出信息块;
匹配器83,用以记录所述第二存储器82中存储的信息块的地址;
扫描器84,用以根据当前信息块产生地址并提供地址,所述当前信息块为第一存储器81当前发出的信息块;
预测地址记录器85,用以记录并输出所述扫描器84提供的地址。
相应的,利用该信息处理系统8进行信息处理的方法如下:
步骤A:处理器80发送地址;
步骤B:所述匹配器83接收处理器80发送的地址,若匹配器83中存有该地址,则第二存储器82根据该地址输出信息块;若匹配器83中没有该地址,则第一存储器81根据该地址向第二存储器82输出该信息块,第二存储器82存储并向处理器80输出该信息块;
步骤C:所述扫描器84根据第一存储器81当前发出的信息块产生地址,并提供地址,所述预测地址记录器85存储所述扫描器84提供的地址;
步骤D:当第二存储器82输出一信息块时,所述预测地址记录器85输出与该信息块关联的信息块的地址,若所述匹配器83中没有该地址,则向第一存储器81提供该地址,第一存储器81根据该地址输出信息块。
本实施例六与实施例五的差别在于,扫描器84所输出的地址并不直接发送至第一存储器81(包括经匹配器83后发送至第一存储器81),而是首先将提供的地址存储于预测地址记录器85中。等到第二存储器82输出一信息块时,预测地址记录器85再将与该信息块关联的信息块的地址提供给匹配器83,若所述匹配器83中没有该地址,则向第一存储器81提供该地址,第一存储器81根据该地址输出信息块。
本实施例六主要针对如下情况,设有三个分支指令,分别为第一分支指令、第二分支指令及第三分支指令,其中第一分支指令为当前指令、第二分支指令为第一分支指令的目标指令、第三分支指令为第二分支指令的目标指令,在此,均设目标指令为分支指令。则在本实施例六中,当扫描器84获取了第二分支指令及第三分支指令的地址之后,并不直接向第一存储器81(包括经匹配器83后发送至第一存储器81)提供该第二分支指令及第三分支指令的地址,而是,当第二存储器82输出包含第一分支指令的信息块之后,预测地址记录器85向匹配器83提供第二分支指令的地址,若所述匹配器83中没有该地址,则向第一存储器81提供该地址,第一存储器81根据该地址输出信息块(即包含第二分支指令的信息块);而当第二存储器82输出包含第二分支指令的信息块之后,预测地址记录器85向匹配器83提供第三分支指令的地址,若所述匹配器83中没有该地址,则向第一存储器81提供该地址,第一存储器81根据该地址输出信息块(即包含第三分支指令的信息块)。由此,提高了第一存储器81输出的信息块被处理器80选用的概率,即提高了存储器发送有效信息块(有效地址所对应的信息块)的速度,进而可提高处理器80获取有效信息块的速度,提高处理器80的运行速度。
【实施例七】
请参考图9,其为本发明实施例七的信息处理系统的框结构示意图。如图9所示,所述信息处理系统9包括:
处理器90,用以获取信息;
第一存储器91,用以存储信息并根据收到的地址输出信息块;
第二存储器92,用以存储信息并根据收到的地址输出信息块;
匹配器93,用以记录所述第二存储器92中存储的信息块的地址;
扫描器94,用以根据当前信息块产生地址并提供地址,所述当前信息块为第一存储器91当前发出的信息块;
预测地址记录器95,用以记录并输出所述扫描器94提供的且匹配器93中没有记录的地址。
相应的,利用该信息处理系统9进行信息处理的方法如下:
步骤A:处理器90发送地址;
步骤B:所述匹配器93接收处理器90发送的地址,若匹配器93中存有该地址,则第二存储器92根据该地址输出信息块;若匹配器93中没有该地址,则第一存储器91根据该地址向第二存储器92输出该信息块,第二存储器92存储并向处理器90输出该信息块;
步骤C:所述扫描器94根据第一存储器91当前发出的信息块产生地址,并提供地址,若所述匹配器93未存储有所述扫描器94提供的地址,则所述预测地址记录器95存储该地址;
步骤D:当第二存储器92输出一信息块时,所述预测地址记录器95输出与该信息块关联的信息块的地址,所述第一存储器91根据该地址输出信息块。
本实施例七与实施例六的差别在于,所述预测地址记录器95中所记录的地址是扫描器94提供的、并且是所述匹配器93中没有记录的地址。由此,可使得所述预测地址记录器95中所记录的地址数量减小,降低了所述预测地址记录器95的地址存储量。
在本实施例七中,当所述第二存储器92输出一信息块时,所述预测地址记录器95输出与该信息块关联的信息块的地址,使得关联信息块从第一存储器91传输至第二存储器92。而当处理器90真正需要该关联信息块时,向匹配器93发送该关联信息块的地址,即可由所述第二存储器92发送至所述处理器90。即将所述处理器90可能需要的信息块预先存储至第二存储器92,由此可提供所述处理器90获取该关联信息块的速度,提高所述处理器90的处理速度。
【实施例八】
请参考图10,其为本发明实施例八的信息处理系统的框结构示意图。如图10所示,所述信息处理系统10包括:
处理器100,用以获取信息;
第一存储器101,用以存储信息并根据收到的地址输出信息块;
第二存储器102,用以存储信息并根据收到的地址输出信息块;
匹配器103,用以记录所述第二存储器102中存储的信息块的地址;
指令类型信息记录器104,用以记录并输出当前信息块中的指令类型信息,所述指令类型信息标示指令为分支指令还是非分支指令。
扫描器105,用以根据所述第二存储器102输出的当前信息块产生地址之前,先根据所述指令类型信息记录器104中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址。
相应的,利用该信息处理系统10进行信息处理的方法如下:
步骤A:处理器100发送地址;
步骤B:所述匹配器103接收处理器100发送的地址,若匹配器103中存有该地址,则第二存储器102根据该地址输出信息块;若匹配器103中没有该地址,则第一存储器101根据该地址向第二存储器102输出该信息块,第二存储器102存储并向处理器100输出该信息块,其中,所述指令类型信息记录器104获取第一存储器101向第二存储器102输出的信息块中的指令类型信息;
步骤C:所述扫描器105根据所述第二存储器102输出的当前信息块产生地址之前,先根据所述指令类型信息记录器104中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址,并经过匹配器103向第一存储器101提供地址;
步骤D:当匹配器103中没有扫描器105提供的地址时,则第一存储器101根据该地址输出信息块。
具体的,所述指令类型信息记录器104可通过预扫描器106获取所述第一存储器101输出的信息块中包含的指令为分支指令还是非分支指令。在此,所述处理器100向存储器请求信息块时,可同时发送其请求的信息块为数据块还是指令块,此点可参考实施例一,在所述信息块为指令块的基础上,所述预扫描器106根据指令类型信息(OP)获取该指令块中包含的一条或者多条指令为分支指令还是非分支指令,并将这个结果发送给所述指令类型信息记录器104,所述指令类型信息记录器104记录这一信息。
当所述第二存储器102输出该信息块时,在所述扫描器105根据该信息块产生地址之前,先通过所述指令类型信息记录器104进行分支指令与非分支指令的判断,在分支指令的情况下,产生地址。
由此,保证了所述扫描器105所产生的地址的有效性(即处理器将会请求的高可能性),提高了存储器发送有效信息块(有效地址所对应的信息块)的速度,进而可提高处理器100获取有效信息块的速度,提高处理器100的运行速度。
在此,需说明的是,所述预扫描器可以通过图3c所示的扫描器实现方式予以实现,只是,在此仅需要用到其译码功能而已;同时,在本实施例八中所提到的扫描器其可以缺失预扫描器所具备的那部分功能。
【实施例九】
请参考图11,其为本发明实施例九的信息处理系统的框结构示意图。如图11所示,所述信息处理系统11包括:
处理器110,用以获取信息;
第一存储器111,用以存储信息并根据收到的地址输出信息块;
第二存储器112,用以存储信息并根据收到的地址输出信息块;
匹配器113,用以记录所述第二存储器112中存储的信息块的地址;
第一扫描器114,用以根据当前信息块产生地址并提供地址,所述当前信息块为第一存储器111当前发出的信息块;
指令类型信息记录器115,用以记录并输出当前信息块中的指令类型信息,所述指令类型信息标示指令为分支指令还是非分支指令,并且对于所述匹配器113中记录的地址,所述指令类型信息记录器115认为该地址对应的指令为非分支指令。
第二扫描器116,用以根据所述第二存储器112输出的当前信息块产生地址之前,先根据所述指令类型信息记录器115中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址。
在此,所述第二扫描器116可以选取与实施例八所示的扫描器105相同的设备,即其同样可以缺失译码器功能。
相应的,利用该信息处理系统11进行信息处理的方法如下:
步骤A:处理器110发送地址;
步骤B:所述匹配器113接收处理器110发送的地址,若匹配器113中存有该地址,则第二存储器112根据该地址输出信息块;若匹配器113中没有该地址,则第一存储器111根据该地址向第二存储器112输出该信息块,第二存储器112存储并向处理器110输出该信息块,其中,所述第一扫描器114根据所述第一存储器111输出的信息块产生地址并经过匹配器113向第一存储器111提供地址,同时获取该信息块中的指令类型信息并提供给所述指令类型信息记录器115,所述指令类型信息记录器115记录所述信息块中的指令类型信息,对于所述匹配器113中记录的地址,所述指令类型信息记录器115认为该地址对应的指令为非分支指令;
步骤C:所述第二扫描器116根据所述第二存储器112输出的当前信息块产生地址之前,先根据所述指令类型信息记录器115中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址,并经过匹配器113向第一存储器111提供地址;
步骤D:当匹配器113中没有第一扫描器114或者第二扫描器116提供的地址时,则第一存储器111根据该地址输出信息块。
本实施例九与实施例八的差别之一在于,在本实施例九中,所述指令类型信息记录器115中不记录所述匹配器113中存有的分支指令的地址,即将所述匹配器113中所存有的分支指令的地址认为是非分支指令,从而,在所述第二扫描器116产生地址时,可不产生所述匹配器113中存有的地址,进而提高所述扫描器116所产生的地址的有效性。
同时,在本实施例九中还通过第一扫描器114根据第一存储器111输出的当前信息块产生地址,在此,通过第一扫描器114将所述处理器110可能需要的信息块尽早转移到所述第二存储器112中,从而可提高所述处理器110获取信息块的速度,进而提高所述处理器110的运行速度。
【实施例十】
请参考图12,其为本发明实施例十的信息处理系统的框结构示意图。如图12所示,所述信息处理系统12包括:
处理器120,用以获取信息;
第一存储器121,用以存储信息并根据收到的地址输出信息块;
第二存储器122,用以存储信息并根据收到的地址输出信息块;
第一匹配器123,用以记录所述第二存储器122中存储的信息块的地址;
第一扫描器124,用以根据第二存储器122输出的当前信息块产生地址并提供给第一匹配器123;
第三存储器125,用以存储信息并根据收到的地址输出信息块;
第二匹配器126,用以记录所述第三存储器125中存储的信息块的地址;
第二扫描器127,用以根据第三存储器125输出的当前信息块产生地址并提供给第二匹配器126。
相应的,利用该信息处理系统12进行信息处理的方法如下:
步骤A:处理器120发送地址;
步骤B:所述第二匹配器126接收处理器120发送的地址,若第二匹配器126中存有该地址,则第三存储器125根据该地址输出信息块;若第二匹配器126中没有该地址,则向第一匹配器123提供该地址,若第一匹配器123中存有该地址,则第二存储器122根据该地址输出信息块,否则第一存储器121根据该地址输出信息块;
步骤C:所述第一扫描器124根据第二存储器122当前发出的信息块产生地址,并向第一匹配器123提供地址;所述第二扫描器127根据第三存储器125当前发出的信息块产生地址,并向第二匹配器126提供地址;
步骤D:当第一匹配器123中未存有第一扫描器124提供的地址时,第一存储器121根据该地址输出信息块;当第二匹配器127中未存有第二扫描器127提供的地址时,向第一匹配器123提供该地址,若第一匹配器123中未存有该地址,则第一存储器121根据该地址输出信息块。
在本实施例十中,主要提供了一种具有多个扫描器及多个存储器组成多级级联的信息处理系统,该信息处理系统12将处理器120可能需用的信息块尽可能的传输至信号靠近所述处理器120的存储器中,从而可提高存储器向处理器提供信息块的速度,进而提高处理器120获取信息块的速度,提高处理器120的运行速度。当然,在本发明的其他实施例中,所述信息处理系统还可有更多个扫描器和存储器级联,对此,可相应参考本实施例十所公开的内容,本申请不再赘述。
【实施例十一】
请参考图13a,其为本发明实施例十一的存储系统的框结构示意图。如图13a所示,在本实施例中,存储系统13A包括:
控制器130A,用以根据地址控制信息块输出;
存储器131A,用以存储并输出信息块;
第一级寄存器132A,用以存储并输出信息块,其中,所述第一级寄存器存有多页信息块;
第二级寄存器133A,用以存储并输出信息块,其中,所述第二级寄存器存有一页信息块;
扫描器134A,用以根据第二级寄存器输出的当前信息块产生地址并向控制器提供地址;
地址记录器135A,用以记录所述控制器最近n次接收的地址,所述n为自然数。
在本实施例十一中,所述寄存器(包括第一级寄存器132A及第二级寄存器133A)是通过一页一页(其中,“页”为一种信息存储方式)的方式读取的。
其中,存储器131A、第一级寄存器132A及第二级寄存器133A的存储容量依次减小,但输出速度依次增加。特别的,通常第二级寄存器133A所存储的信息为控制器130A接收地址对应的信息块,即第二级寄存器133A所存储的信息为外部设备(例如处理器)所请求的信息块,而第一级寄存器132A存储有多页信息,包括根据扫描器提供的地址而由存储器131A输出的信息。
具体的,上述存储系统13A通过如下方式输出其存储的信息块:
所述控制器130A及地址记录器135A接收地址,其中,所述控制器130A根据接收的地址控制所述存储器131A、第一级寄存器132A及第二级寄存器133A;所述地址记录器135A记录所接收的地址;
所述存储器131A根据所述控制器130A的控制向所述第一级寄存器132A输出信息块;所述第一级寄存器132A根据所述控制器130A的控制向所述第二级寄存器133A输出信息块;所述第二级寄存器133A根据所述控制器130A的控制输出信息块;
所述扫描器134A根据第二级寄存器输出的当前信息块产生地址并向控制器130A提供地址,其中,在向控制器130A提供地址前,先将所述地址与地址记录器135A中所记录的地址进行比较,若所述地址记录器135A为记录有该地址,则向所述控制器130A提供该地址。
由此,通过本实施例十一所提供的存储系统13A能够根据外部设备提供的一个地址而输出多个信息块,从而提高外部设备获取信息块的速度。
此外,在本实施例十一中,还提供了另一种存储系统13B,请参考图13b,在该实现方式中,扫描器134B的数量为两个,且其根据存储器131B当前输出的信息块产生地址,由于存储器131B通常同时输出更多信息,由此,所述扫描器134B所产生的地址也将更多,从而使得存储系统13B根据外部设备提供的一个地址输出信息块时更快,进一步提高外部设备获取信息块的速度。其中,对于存储系统13B未提及的部分,可相应参考存储系统13A,本申请对此不再赘述。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (62)

1.一种信息处理系统,其特征在于,包括:
处理器,用以获取信息;
存储器,用以存储信息并根据收到的地址输出信息块;
扫描器,用以根据当前信息块产生地址并向存储器提供地址,所述当前信息块为存储器当前发出的信息块。
2.如权利要求1所述的信息处理系统,其特征在于,所述扫描器通过如下产生方法一产生地址:
产生方法一、所述扫描器解析所述当前信息块,若判断所述当前信息块中包含分支指令,则计算该分支指令的目标地址,产生地址。
3.如权利要求2所述的信息处理系统,其特征在于,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
判断产生方法一所产生的地址所指向的信息块是否为当前信息块,若否,则该产生的地址通过筛选。
4.如权利要求2所述的信息处理系统,其特征在于,所述扫描器还通过如下产生方法二产生地址:
产生方法二、所述扫描器获取当前信息块的地址,在当前信息块的地址上增加一偏移量,产生地址。
5.如权利要求4所述的信息处理系统,其特征在于,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
步骤1:将所述产生方法二所产生的地址认定为是筛选通过的地址;
步骤2:判断所述产生方法一所产生的地址指向的信息块是否为当前信息块或者产生方法二所产生的地址指向的信息块,若否,则产生方法一产生的地址通过筛选。
6.如权利要求1所述的信息处理系统,其特征在于,所述扫描器获取当前信息块的类型信息,所述类型信息标示所述信息块为指令块还是数据块。
7.如权利要求6所述的信息处理系统,其特征在于,所述处理器向扫描器发送其向存储器请求的信息块的类型信息。
8.如权利要求1至7中的任一项所述的信息处理系统,其特征在于,所述处理器上设置有接收地址的端口。
9.如权利要求1至7中的任一项所述的信息处理系统,其特征在于,所述处理器上设置有输出信息块类型端口。
10.如权利要求9所述的信息处理系统,其特征在于,所述输出信息块类型端口为管脚或者总线输出口。
11.如权利要求1至7中的任一项所述的信息处理系统,其特征在于,所述存储器上设置有输出地址的端口。
12.如权利要求1至7中的任一项所述的信息处理系统,其特征在于,所述扫描器上设置有输出地址的端口。
13.如权利要求1至7中的任一项所述的信息处理系统,其特征在于,所述扫描器上设置有接收信息块类型的端口。
14.如权利要求1至7中的任一项所述的信息处理系统,其特征在于,所述存储器输出信息块的同时,输出该信息块的地址。
15.如权利要求14所述的信息处理系统,其特征在于,还包括:
第一地址记录器,用以记录所述处理器最近n次输出的地址,所述n为自然数。
16.如权利要求15所述的信息处理系统,其特征在于,所述扫描器向存储器提供地址之前,先确认第一地址记录器中是否记录有该地址,若否,则向所述存储器提供该地址。
17.如权利要求15所述的信息处理系统,其特征在于,所述扫描器根据其向存储器提供的地址以及第一地址记录器中记录的地址,获取一地址步长;
所述扫描器在向存储器提供的地址上增加该地址步长,产生地址。
18.如权利要求14所述的信息处理系统,其特征在于,还包括:
第二地址记录器,用以记录所述处理器中存储有的m个信息块的地址,所述m为自然数。
19.如权利要求14所述的信息处理系统,其特征在于,所述存储器的数量为一个或者多个,所述扫描器的数量为一个或者多个。
20.如权利要求19所述的信息处理系统,其特征在于,一存储器与一扫描器组成一级,多个存储器与多个扫描器组成多级,该多级级联。
21.如权利要求19所述的信息处理系统,其特征在于,所述存储器的数量为两个,分别为第一存储器及第二存储器,其中,在信号传递上,第二存储器比第一存储器更靠近所述处理器;
还包括匹配器,所述匹配器记录所述第二存储器中存储的信息块的地址。
22.如权利要求21所述的信息处理系统,其特征在于,第一存储器输出的信息块经过第二存储器存储并发送至处理器。
23.如权利要求22所述的信息处理系统,其特征在于,第二存储器通过标记位标示其存储的信息块是否需要继续存储。
24.如权利要求23所述的信息处理系统,其特征在于,当所述第二存储器以路组的方式存储信息块时,通过对标记位设置不同的权重以区别该标记位对应的信息块是否需要继续存储,当再次有信息块存储至第二存储器时,该信息块覆盖至不需要存储的信息块所在的地址。
25.如权利要求23所述的信息处理系统,其特征在于,当所述第二存储器以全相联的方式存储信息块时,利用指针指向不需要存储的信息块所对应的地址,当再次有信息块存储至第二存储器时,该信息块覆盖至指针所指向的地址。
26.如权利要求21所述的信息处理系统,其特征在于,所述扫描器根据第二存储器发出的当前信息块产生地址;
所述扫描器向存储器提供地址之前,先确认匹配器中是否记录有该地址,若否,则向第一存储器提供该地址。
27.如权利要求21所述的信息处理系统,其特征在于,还包括:第一地址记录器,用以记录所述处理器最近n次输出的地址,所述n为自然数;
所述扫描器的数量为一个,其根据第二存储器发出的当前信息块产生地址;
所述扫描器向存储器提供地址之前,先确认第一地址记录器中是否记录有该地址,若否,则接着确认匹配器中是否记录有该地址,若否,则向第一存储器提供该地址。
28.如权利要求21所述的信息处理系统,其特征在于,所述扫描器根据第一存储器发出的当前信息块产生地址;
所述扫描器向存储器提供地址之前,先确认匹配器中是否记录有该地址,若否,则向第一存储器提供该地址。
29.如权利要求21所述的信息处理系统,其特征在于,还包括:预测地址记录器,用以记录并输出所述扫描器向存储器提供的地址。
30.如权利要求29所述的信息处理系统,其特征在于,所述扫描器根据第一存储器发出的当前信息块产生地址;
所述扫描器通过所述预测地址记录器向所述存储器提供地址;
当所述第二存储器输出一信息块时,所述预测地址记录器输出与该信息块关联的信息块的地址。
31.如权利要求29所述的信息处理系统,其特征在于,所述扫描器根据第一存储器发出的当前信息块产生地址;
所述扫描器通过所述预测地址记录器向所述存储器提供地址;
其中,所述预测地址记录器中所记录的地址为:所述扫描器向存储器提供的且所述匹配器中没有记录的地址;
当所述第二存储器输出一信息块时,所述预测地址记录器输出与该信息块关联的信息块的地址。
32.如权利要求21所述的信息处理系统,其特征在于,还包括:指令类型信息记录器,用以记录并输出当前信息块中的指令类型信息,所述指令类型信息标示指令为分支指令还是非分支指令。
33.如权利要求32所述的信息处理系统,其特征在于,所述扫描器根据第二存储器发出的当前信息块产生地址;所述指令类型信息记录器记录第一存储器输出的当前信息块中的指令类型信息;
其中,所述扫描器根据当前信息块产生地址之前,先根据所述指令类型信息记录器中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址。
34.如权利要求33所述的信息处理系统,其特征在于,所述指令类型信息记录器中的信息通过一预扫描器读取第一存储器输出的信息块予以获取。
35.如权利要求33所述的信息处理系统,其特征在于,对于所述匹配器中记录的地址,所述指令类型信息记录器认为该地址对应的指令为非分支指令。
36.如权利要求35所述的信息处理系统,其特征在于,所述指令类型信息记录器中的信息通过一扫描器读取第一存储器输出的信息块予以获取。
37.一种信息处理方法,其特征在于,包括:
步骤A:所述处理器发送地址;
步骤B:所述存储器根据所述处理器发送的地址输出信息块;
步骤C:所述扫描器根据所述存储器当前输出的信息块产生地址,并向所述存储器提供地址;
步骤D:所述存储器根据所述扫描器提供的地址输出信息块。
38.如权利要求37所述的信息处理方法,其特征在于,所述扫描器通过如下产生方法一产生地址:
产生方法一、所述扫描器解析所述当前信息块,若判断所述当前信息块中包含分支指令,则计算该分支指令的目标地址,产生地址。
39.如权利要求38所述的信息处理方法,其特征在于,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
判断产生方法一所产生的地址所指向的信息块是否为当前信息块,若否,则该产生的地址通过筛选。
40.如权利要求38所述的信息处理方法,其特征在于,所述扫描器还通过如下产生方法二产生地址:
产生方法二、所述扫描器获取当前信息块的地址,在当前信息块的地址上增加一偏移量,产生地址。
41.如权利要求40所述的信息处理方法,其特征在于,所述扫描器对产生的地址进行筛选,其中,向存储器提供的地址为筛选通过的地址,所述扫描器利用如下方法对产生的地址进行筛选:
步骤1:将所述产生方法二所产生的地址认定为是筛选通过的地址;
步骤2:判断所述产生方法一所产生的地址指向的信息块是否为当前信息块或者产生方法二所产生的地址指向的信息块,若否,则产生方法一产生的地址通过筛选。
42.如权利要求37所述的信息处理方法,其特征在于,在步骤A中,所述处理器发出地址的同时,向所述扫描器发出通过该地址请求的信息块的类型信息。
43.如权利要求42所述的信息处理方法,其特征在于,在步骤A中,所述处理器通过总线传输表示信息块类型信息的命令字。
44.如权利要求37所述的信息处理方法,其特征在于,在步骤D中,所述存储器输出信息块的同时,输出该信息块的地址。
45.如权利要求37所述的信息处理方法,其特征在于,
在步骤A中,所述处理器同时向所述存储器及第一地址记录器发送地址;
在步骤C中,所述扫描器向存储器提供地址之前,先确认第一地址记录器中是否记录有该地址,若否,则向所述存储器提供该地址。
46.如权利要求45所述的信息处理方法,其特征在于,在步骤C中,所述扫描器根据其向存储器提供的地址以及第一地址记录器中记录的地址,获取一地址步长;所述扫描器在向存储器提供的地址上增加该地址步长,产生地址。
47.如权利要求37所述的信息处理方法,其特征在于,
在步骤C中,所述扫描器向存储器提供地址之前,先确认第二地址记录器中是否记录有该地址,若否,则向所述存储器提供该地址。
48.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第二存储器当前发出的信息块产生地址,并提供给匹配器,若匹配器中没有记录该地址,则向第一存储器提供该地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址向第二存储器输出信息块,所述第二存储器存储该信息块。
49.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第二存储器当前输出的信息块产生地址,并与第一地址记录器中所存储的地址进行比较,若第一地址记录器中没有记录有该地址,则所述扫描器经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址输出信息块。
50.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第一存储器当前发出的信息块产生地址,并经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址输出信息块。
51.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第一存储器当前发出的信息块产生地址,并提供地址,预测地址记录器存储所述扫描器提供的地址;
在步骤D中,当第二存储器输出一信息块时,所述预测地址记录器输出与该信息块关联的信息块的地址,若所述匹配器中没有该地址,则向第一存储器提供该地址,第一存储器根据该地址输出信息块。
52.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块;
在步骤C中,扫描器根据第一存储器当前发出的信息块产生地址,并提供地址,若匹配器未存储有扫描器提供的地址,则预测地址记录器存储该地址;
在步骤D中,当第二存储器输出一信息块时,预测地址记录器输出与该信息块关联的信息块的地址,第一存储器根据该地址输出信息块。
53.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块,其中,指令类型信息记录器获取第一存储器向第二存储器输出的信息块中的指令类型信息;
在步骤C中,扫描器根据第二存储器输出的当前信息块产生地址之前,先根据所述指令类型信息记录器中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址,并经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有扫描器提供的地址时,则第一存储器根据该地址输出信息块。
54.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,匹配器接收处理器发送的地址,若匹配器中存有该地址,则第二存储器根据该地址输出信息块;若匹配器中没有该地址,则第一存储器根据该地址向第二存储器输出该信息块,第二存储器存储并向处理器输出该信息块,其中,第一扫描器根据第一存储器输出的信息块产生地址并经过匹配器向第一存储器提供地址,同时获取该信息块中的指令类型信息并提供给指令类型信息记录器,指令类型信息记录器记录所述信息块中的指令类型信息,对于匹配器中记录的地址,指令类型信息记录器认为该地址对应的指令为非分支指令;
在步骤C中,第二扫描器根据第二存储器输出的当前信息块产生地址之前,先根据指令类型信息记录器中的信息判断所述地址是否为分支指令的地址,若是,则根据所述当前信息块产生地址,并经过匹配器向第一存储器提供地址;
在步骤D中,当匹配器中没有第一扫描器或者第二扫描器提供的地址时,则第一存储器根据该地址输出信息块。
55.如权利要求37所述的信息处理方法,其特征在于,
在步骤B中,第二匹配器接收处理器发送的地址,若第二匹配器中存有该地址,则第三存储器根据该地址输出信息块;若第二匹配器中没有该地址,则向第一匹配器提供该地址,若第一匹配器中存有该地址,则第二存储器根据该地址输出信息块,否则第一存储器根据该地址输出信息块;
在步骤C中,第一扫描器根据第二存储器当前发出的信息块产生地址,并向第一匹配器提供地址;第二扫描器根据第三存储器当前发出的信息块产生地址,并向第二匹配器提供地址;
在步骤D中,当第一匹配器中未存有第一扫描器提供的地址时,第一存储器根据该地址输出信息块;当第二匹配器中未存有第二扫描器提供的地址时,向第一匹配器提供该地址,若第一匹配器中未存有该地址,则第一存储器根据该地址输出信息块。
56.如权利要求48~55中的任一项所述的信息处理方法,其特征在于,第一存储器输出的信息块经过第二存储器存储并发送至处理器。
57.如权利要求56所述的信息处理方法,其特征在于,第二存储器通过标记位标示其存储的信息块是否需要继续存储。
58.如权利要求57所述的信息处理方法,其特征在于,当所述第二存储器以路组的方式存储信息块时,通过对标记位设置不同的权重以区别该标记位对应的信息块是否需要继续存储,当再次有信息块存储至第二存储器时,该信息块覆盖至不需要存储的信息块所在的地址。
59.如权利要求57所述的信息处理方法,其特征在于,当所述第二存储器以全相联的方式存储信息块时,利用指针指向不需要存储的信息块所对应的地址,当再次有信息块存储至第二存储器时,该信息块覆盖至指针所指向的地址。
60.一种存储系统,其特征在于,包括:
控制器,用以根据地址控制信息块输出;
存储器,用以存储并输出信息块;
第一级寄存器,用以存储并输出信息块,其中,所述第一级寄存器存有多页信息块;
第二级寄存器,用以存储并输出信息块,其中,所述第二级寄存器存有一页信息块;
扫描器,用以根据第二级寄存器输出的当前信息块产生地址并向控制器提供地址。
61.如权利要求60所述的存储系统,其特征在于,还包括地址记录器,用以记录所述控制器最近n次接收的地址,所述n为自然数。
62.一种存储系统,其特征在于,包括:
控制器,用以根据地址控制信息块输出;
存储器,用以存储并输出信息块;
第一级寄存器,用以存储并输出信息块,其中,所述第一级寄存器存有多页信息块;
第二级寄存器,用以存储并输出信息块,其中,所述第二级寄存器存有一页信息块;
扫描器,用以根据存储器输出的当前信息块产生地址并向控制器提供地址。
CN201210199679.2A 2012-06-15 2012-06-15 信息处理系统、信息处理方法及存储系统 Pending CN103514105A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210199679.2A CN103514105A (zh) 2012-06-15 2012-06-15 信息处理系统、信息处理方法及存储系统
EP13804442.5A EP2862088A4 (en) 2012-06-15 2013-06-14 INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND MEMORY SYSTEM
US14/410,060 US20150134939A1 (en) 2012-06-15 2013-06-14 Information processing system, information processing method and memory system
PCT/CN2013/077215 WO2013185625A1 (en) 2012-06-15 2013-06-14 Information processing system, information processing method and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210199679.2A CN103514105A (zh) 2012-06-15 2012-06-15 信息处理系统、信息处理方法及存储系统

Publications (1)

Publication Number Publication Date
CN103514105A true CN103514105A (zh) 2014-01-15

Family

ID=49757545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210199679.2A Pending CN103514105A (zh) 2012-06-15 2012-06-15 信息处理系统、信息处理方法及存储系统

Country Status (4)

Country Link
US (1) US20150134939A1 (zh)
EP (1) EP2862088A4 (zh)
CN (1) CN103514105A (zh)
WO (1) WO2013185625A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155946A (zh) * 2015-03-30 2016-11-23 上海芯豪微电子有限公司 基于信息推送的信息系统和方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110348552B (zh) * 2019-07-19 2023-09-01 广东电网有限责任公司 一种跳线寻址方法、装置及扫描器和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040096108A1 (en) * 2002-11-07 2004-05-20 Hyun-Sang Park Image processing apparatus and method for converting image data between raster scan order and block scan order
US20050027921A1 (en) * 2003-05-12 2005-02-03 Teppei Hirotsu Information processing apparatus capable of prefetching instructions
US20080040592A1 (en) * 2006-08-10 2008-02-14 Arm Limited Control of a branch target cache within a data processing system
US20100318560A1 (en) * 2009-06-16 2010-12-16 Canon Kabushiki Kaisha Search processor and search processing method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4304001A (en) * 1980-01-24 1981-12-01 Forney Engineering Company Industrial control system with interconnected remotely located computer control units
US5287467A (en) * 1991-04-18 1994-02-15 International Business Machines Corporation Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit
US5805877A (en) * 1996-09-23 1998-09-08 Motorola, Inc. Data processor with branch target address cache and method of operation
US6119221A (en) * 1996-11-01 2000-09-12 Matsushita Electric Industrial Co., Ltd. Instruction prefetching apparatus and instruction prefetching method for processing in a processor
US20010054137A1 (en) * 1998-06-10 2001-12-20 Richard James Eickemeyer Circuit arrangement and method with improved branch prefetching for short branch instructions
US6304962B1 (en) * 1999-06-02 2001-10-16 International Business Machines Corporation Method and apparatus for prefetching superblocks in a computer processing system
US6944744B2 (en) * 2002-08-27 2005-09-13 Advanced Micro Devices, Inc. Apparatus and method for independently schedulable functional units with issue lock mechanism in a processor
US20080126771A1 (en) * 2006-07-25 2008-05-29 Lei Chen Branch Target Extension for an Instruction Cache
WO2008128476A1 (en) * 2007-04-18 2008-10-30 Mediatek Inc. Data access tracing
US8131982B2 (en) * 2008-06-13 2012-03-06 International Business Machines Corporation Branch prediction instructions having mask values involving unloading and loading branch history data
US8521982B2 (en) * 2009-04-15 2013-08-27 International Business Machines Corporation Load request scheduling in a cache hierarchy
US8635431B2 (en) * 2010-12-08 2014-01-21 International Business Machines Corporation Vector gather buffer for multiple address vector loads

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040096108A1 (en) * 2002-11-07 2004-05-20 Hyun-Sang Park Image processing apparatus and method for converting image data between raster scan order and block scan order
US20050027921A1 (en) * 2003-05-12 2005-02-03 Teppei Hirotsu Information processing apparatus capable of prefetching instructions
US20080040592A1 (en) * 2006-08-10 2008-02-14 Arm Limited Control of a branch target cache within a data processing system
US20100318560A1 (en) * 2009-06-16 2010-12-16 Canon Kabushiki Kaisha Search processor and search processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155946A (zh) * 2015-03-30 2016-11-23 上海芯豪微电子有限公司 基于信息推送的信息系统和方法

Also Published As

Publication number Publication date
US20150134939A1 (en) 2015-05-14
EP2862088A4 (en) 2016-12-07
EP2862088A1 (en) 2015-04-22
WO2013185625A1 (en) 2013-12-19

Similar Documents

Publication Publication Date Title
CN102326154B (zh) 用于管理型非易失性存储器的地址映射的体系结构
US7870325B2 (en) Cache memory system
US20110055457A1 (en) Method for giving program commands to flash memory, and controller and storage system using the same
CN1997987A (zh) 用于在互连网络路由器内进行分组合并的方法和设备
US10698851B1 (en) Data bit width converter and system on chip thereof
CN101477837B (zh) 一种存储器容量检测方法和装置
EP0032956B1 (en) Data processing system utilizing hierarchical memory
US20090094435A1 (en) System and method for cache access prediction
CN102542041A (zh) 栅格数据处理方法及系统
CN103577119A (zh) 用于下一代固态硬盘控制器中乱序传输数据的系统和方法
CN101794258B (zh) 接口装置、计算处理装置、接口生成装置以及电路生成装置
CN102023845B (zh) 一种基于状态机的Cache并发访问管理方法
JP2002055879A (ja) マルチポートキャッシュメモリ
CN103514105A (zh) 信息处理系统、信息处理方法及存储系统
CN109086231B (zh) 输入输出设备的访问方法及装置
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
CN100356345C (zh) 访问高速缓存管线的方法和系统
CN114091384A (zh) 数据处理电路及人工智能芯片、数据处理方法和装置
CN107807888B (zh) 一种用于soc架构的数据预取系统及其方法
US20020133664A1 (en) Cache memory
CN115098019B (zh) 一种ssd主控中的数据缓存管理系统
JPS6194159A (ja) メモリ装置
CN112699063B (zh) 用于解决通用ai处理器存储带宽效率的动态缓存方法
CN114153756B (zh) 面向多核处理器目录协议的可配置微操作机制
JP4918535B2 (ja) キャッシュメモリ、キャッシュメモリ装置及び割当て方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140115

WD01 Invention patent application deemed withdrawn after publication