CN1103967C - 微处理器 - Google Patents

微处理器 Download PDF

Info

Publication number
CN1103967C
CN1103967C CN97113401A CN97113401A CN1103967C CN 1103967 C CN1103967 C CN 1103967C CN 97113401 A CN97113401 A CN 97113401A CN 97113401 A CN97113401 A CN 97113401A CN 1103967 C CN1103967 C CN 1103967C
Authority
CN
China
Prior art keywords
mentioned
bus
microprocessor
external
data
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.)
Expired - Fee Related
Application number
CN97113401A
Other languages
English (en)
Other versions
CN1177143A (zh
Inventor
高田由香里
佐藤贡
近藤弘郁
泽井克典
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN1177143A publication Critical patent/CN1177143A/zh
Application granted granted Critical
Publication of CN1103967C publication Critical patent/CN1103967C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Abstract

一种外部也有总线主控器的微处理器,它将DRAM及超高速缓存器安装在内部。在微处理器(101)中,通过写入缓冲器(5)、选择器(7)或DRAM(27)、超高速缓存器(28)、IQ(8)分别连接在总线D<0:127>上。用数据总线D<0:15>连接总线ID<0:127>、微处理器(101)和外部存储器(4)、外部总线主控器(41),中间装有BIU(3)。用地址总线(58)、控制总线(56、57)连接微处理器(101)、外部存储器(4)、外部总线主控器(41)。BIU(3)控制对微处理器的内部存储器及其外部连接的存储器的访问。

Description

微处理器
发明领域
本发明涉及微处理器,特别是涉及在内部装有存储器及超高速缓冲存储器的微处理器中,从外部访问该存储器,并将指令/数据登记在超高速缓存器中的总线接口。
背景技术
迄今,内部装有存储器的微处理器是已知的。例如,图27是表示内部装有RAM的微处理器的结构框图。微处理器201备有CPU1、内装RAM29、总线59及总线接口装置(BIU)39。内装RAM29例如是程序RAM(包括ROM),或是数据RAM(包括ROM)。但在内装RAM29中能使用SRAM,以便能用1个时钟进行访问。用地址指定内装RAM29的存储区,用指令指示对它的访问。
也有把外部存储器4通过总线60设在微处理器201的外部的。外部存储器4例如使用RAM,为了控制它,往往将DRAM控制器、DMAC(DMA控制器)等安装在微处理器201内。
图28是表示内部装有超高速缓冲存储器(与下简称″超高速缓存器″)的微处理器的结构框图。微处理器202备有CPU1、超高速缓存器28、总线59及BIU39,外部存储器4通过总线60设在微处理器202的外部。超高速缓存器28对微处理器202使用的指令或数据从外部存储器4进行超高速缓存。
当然,也可将内部RAM29和超高速缓存器28两者装在内部,超高速缓存器28从内部RAM29进行缓存。可是,内部RAM29由ROM或SRAM构成,用大约1个时钟就能进行访问,所以不需要进行超高速缓存。
SRAM的1单元面积比DRAM的大,不可能集成大容量。因此,必须将CPU核心和DRAM集成在1个芯片上,成为集成了大容量存储器的微处理器。这时DRAM的访问速度慢,存储器访问的时间成为CPU性能下降的重大原因。
不仅有微处理器内部安装的CPU,而且外部还有总线主控器(能通过总线访问存储器的控制装置)时,如果在各总线主控器和存储器之间个别地传递信号,则存在微处理器上所必要的管脚数增多的问题。
发明内容
本申请的发明就是要解决这个问题,其目的在于将DRAM及超高速缓存器安装在内部,将大容量、低速的DRAM和小容量、高速的超高速缓存器集成在1个芯片上,发挥CPU的性能。另一个目的在于提供一种通过选择其缓存器形态而能选择缓存器数据种类的微处理器、及即使将用于装在内部的存储器总线主控器设在外部或连接外部存储器,不增加管脚数也能改变内部存储器和外部存储器使用方法(将主程序、数据等存入哪个存储器)的微处理器、以及内部有多个总线主控器的微处理器。
本发明的第1方面所述的微处理器备有:内部存储器;连接到上述存储器上的内部总线;通过上述内部总线访问上述内部存储器的内部总线主控器;以及控制上述内部总线工作的总线接口。而且外部总线主控器及外部存储器通过外部总线连接在上述微处理器的外部。上述微处理器还备有登记上述内部存储器和上述外部存储器数据的超高速缓冲存储器。上述总线接口的特点为:(a)具有与上述内部总线宽度相等的缓冲器,(b)协调来自上述外部总线主控器对内部存储器的访问请求和上述内部总线主控器对内部存储器的访问请求,(c)上述缓冲器和外部总线主控器在通过上述外部总线访问期间,接受来自内部总线主控器对上述内部存储器和上述超高速缓存器的访问请求。
根据本发明的第2方面,在第1方面所述的微处理器中,上述外部总线主控器访问上述内部存储器时和上述内部总线主控器访问上述外部存储器时,使控制两者的访问的控制信号共用。
根据本发明的第3方面,在第1方面所述的微处理器中,当上述外部总线主控器指定的多个地址越过由上述缓冲器的容量决定的地址边界时,存储在上述缓冲器中的数据被暂时放出来。
本发明的第4方面所述的微处理器备有:内部存储器;连接到上述存储器上的内部总线;通过上述内部总线访问上述内部存储器的第1及第2内部总线主控器;以及控制上述内部总线工作的总线接口。而且上述总线接口有存储器访问控制装置,用来当上述第1内部总线主控器对上述内部存储器的访问请求有效时,便使上述第2内部总线主控器对上述内部存储器的访问请求无效。
本发明的第5方面所述的微处理器备有:内部存储器;连接到上述内部存储器上的内部总线;连接到上述内部总线上的超高速缓冲存储器;通过上述内部总线访问上述内部存储器的内部总线主控器;以及控制上述内部总线工作的总线接口。而且外部总线主控器及外部存储器通过外部总线连接在上述微处理器的外部。上述微处理器还备有登记上述内部存储器和上述外部存储器数据的超高速缓冲存储器。上述总线接口根据上述内部总线主控器对上述内部存储器的访问请求及上述外部总线主控器对上述内部存储器的访问请求和指定超高速缓存器方式的信息,产生指定上述超高速缓冲存储器的缓存器对象的登记信号。
附图说明
图1是本发明的实施例1的框图;
图2是指令的结构例的模式图;
图3是指令的处理模式图;
图4是指令的输送框图;
图5是指令的输送框图;
图6是表示CPU1从外部存储器4读出数据时的通信规定的时间图;
图7是表示CPU1将数据写入外部存储器4时的通信规定的时间图;
图8是表示将数据从外部总线主控器41写入DRAM27时的通信规定的时间图;
图9是表示依靠外部总线主控器41的访问结束时的时间图;
图10是缓冲器301的结构框图;
图11是表示外部总线主控器41从DRAM27读出数据时的通信规定的时间图;
图12是当地址越过地址边界时进行工作的装置框图;
图13是当地址越过地址边界时表示工作的时间图;
图14是当地址越过地址边界时表示工作的时间图;
图15是表示微处理器101的地址空间的模式图;
图16是表示内部控制寄存器的地址空间的一部分的模式图;
图17是数据MSPR、MDRR、MCCR的详细结构的模式图;
图18是控制块303的局部结构框图;
图19是模式地表示微处理器101的结构的框图;
图20是模式地表示微处理器101的结构的框图;
图21是模式地表示微处理器101的结构的框图;
图22是表示更新计时器26的连接关系的框图;
图23是表示外部主控器41及CPU1的读出时间图;
图24是微处理器102的结构例的框图;
图25是采用哈佛结构的微处理器的结构例的框图;
图26是表示2个微处理器并存形态的框图;
图27是表示现有技术的框图;
图28是表示现有技术的框图。
具体实施方式
实施例1
图1是表示本发明的实施例1的微处理器的简要结构的框图。微处理器101有DRAM27、超高速缓存器28、CPU1、指令排队(IQ)8、选择器7、积和运算部(MAC:Multiply and Accumulater)6、BIU3及PLL11。
CPU1例如是处理32位数据的RISC型的微处理器核心,指令长度为16位或32位。IQ8有例如128位×2个入口的结构,从总线ID<0:127>输入数据(包括指令),以16位或32位的形态通过总线I<0:31>输送给CPU1。
图2是表示指令结构例的模式图。因为不允许越过地址边界的指令,所以指令的配置方法只有图2所示的2种。
选择器7从载于总线ID<0:127>上的128位的数据中只选择必要的32位数据,输送给CPU1,或将从CPU1输出的32位的数据输出到总线ID<0:127>上的适当位置。这些32位数据的传递是通过总线DO<0:31>进行的。MAC6用1个时钟处理例如32位×16位+56位的积和运算,它跟随着CPU1设置。
超高速缓存器28例如由SRAM构成,采用写回(writeback)方式,即只对超高速缓存器进行写入,当由超高速缓存器变更了的数据成为置换对象时,将其写入主要存储装置的方式。有TAG部,这时保持应该超高速缓存的数据地址的一部分(tag)(特征)和valid(脏)位(有效位)、dirty位。数据一被登记(fill)(填写)到超高速缓存器28中,valid位便被置位,如果把新的数据存入登记了的区域中,则dirty位被置位。在超高速缓存器命中了(cachehit)的情况下,用1个时钟就能够把数据引出来。DRAM27有例如2M字节的容量。
选择器7通过有128位的写缓冲器5、还有,DRAM27、超高速缓存器28、IQ8分别连接在总线ID<0:127>上。在该总线ID<0:127>、和微处理器101与其外部(例如外部存储器4、外部总线主控器41)连接的数据总线D<0:15>之间,设有BIU3。微处理器101还通过地址总线58、控制总线56、57,分别与外部存储器4、外部总线主控器41连接。
BIU3控制对微处理器内部安装的存储器及连接到其外部上的存储器的访问。为了对16位的总线D<0:15>和128位的总线ID<0:127>进行匹配,BIU3有128位的缓冲器301。BIU3还有被设置在缓冲器301与总线ID<0:127>之间的ID总线驱动器302,由控制块303控制302的工作。控制块303具有向DRAM27、超高速缓存器28提供写入/读出指令(信号R/W)、登记指令的功能。
PLL11生成微处理器的工作时钟脉冲。例如,生成频率为内部CPU等工作时4倍频的时钟,并生成与外部访问用的输入时钟频率相同的时钟。
图3(a)~(d)是指令处理模式图。通过流水线控制来处理指令。流水线控制由例如指令取出(IF)、指令译码(D)、执行(E)、存储器访问(MEM)、向共用寄存器的写回(WB)这样5个阶段构成。
CPU1有RISC型结构,只以load/store(装入/存储)系统的指令产生对存储器的操作数存取。图3(a)示出了用load指令操作数命中超高速缓冲器,用1个周期就能输送已存在于存储器中数据的情况。该图(b)示出了用多个时钟存取已存在于存储器中数据的情况。该图(c)示出了不产生访问存储器的指令的情况。该图(d)示出了执行时需要多个时钟的指令、例如乘法指令、除法指令的情况。
(1)指令/数据的输送
当取出的指令命中超高速缓存器28时,CPU1便用时钟的1个周期从超高速缓存器28通过总线ID<0:127>把该指令送给IQ8。
当DRAM27中有取出指令时,CPU1使用1次访问(例如需要时钟的5个周期),从DRAM通过总线ID<0:127>把该指令输送给IQ8。
当外部存储器4中有取出指令时,CPU1以脉冲串输送方式从外部存储器4取出,依次存入BIU3的缓冲器301中。如果缓冲器301已存满(如果存储了128位的指令),便将128位的指令输送给IQ8。当该指令被超高速缓存器时,还同时将其输送给超高速缓存器28。
图4是表示IQ8例如有2个入口×128位的容量时指令输送情况的框图。表示指令从DRAM27(或超高速缓存器28)及从有128位容量的缓冲器301输送的情况。
图5是表示CPU1立刻需要指令时(IQ8呈空状态时),从外部存储器4输送指令的情况的框图。BIU3所具有的控制块303从CPU1输入表示取出指令请求的信号IFetch,该信号若被认定,便对外部存储器4认定总线起动信号 BS(总线起动信号 BS由例如图1所示的控制总线56传递)。此后,指令通过总线D<0:15>被输送给BIU3所具有的缓冲器301。如果从IQ8传递给控制块303的、表示IQ8呈空状态的信号IQempty被认定,则驱动信号及驱动大小信号便被从控制块303提供给ID总线驱动器302。
驱动尺寸信号由16位构成,存储在缓冲器301中的128位的数据被作为16个8位的数据管理,以8位为单位指定必要的信息。然后根据驱动信号,该指定的信息被输送给总线ID<0:127>。例如驱动尺寸信号的2位被活化,8×2=16位通过总线ID<0:127>被输送给IQ8。如果CPU1再请求取出指令,则再将16位输送给IQ8。其后,如果CPU1不立刻需要指令(信号IQempty被取消),则从外部存储器4以脉冲串方式输送来的数据充满缓冲器301,然后输送给IQ8。在控制块303中还通过控制总线56从外部存储器4接受数据输送结束信号 DC。
当然,也可以不检查IQ8是否为空状态,经常首先只输送开始的指令,如果缓冲器301已满,便将128位输送并写入超高速缓存器28。
回到图1,CPU1读取数据时,如果数据存在于DRAM27或超高速缓存器28中,则包含必要数据的128位通过总线ID<0:127>被输送给选择器7。由选择器7将必要的32位数据送给CPU1。如果必要的数据在外部存储器4中时,32位的数据便被存入缓冲器301中,它被通过总线ID<0:127>输送给CPU1。
数据的尺寸有8位/16位/32位共3种,从外部存储器读出时,若为32位,则必须进行2次外部访问,若为8位/16位时,通过1次访问就能从缓冲器301通过总线ID<0:127>输送给CPU1。
当CPU1将32位的数据写入存储器(DRAM27或超高速缓存器28)中时,选择器7将该数据输出到对应的总线ID<0:127>的对应位置上。这时,在把应该写入的数据存储到写入缓冲器5内之后,也能够输送。就是说,当总线ID<0:127>呈空状态时,便从写入缓冲器5输送数据。若输出给外部存储器4时,便被暂时锁存在缓冲器301中,16位16位地输出给总线ID<0:127>。
(2)从外部总线主控器访问微处理器内部的DRAM。
微处理器101内部的DRAM27不仅可以从CPU1、也可以从外部总线主控器,与微处理器101的指令无关地直接访问。总线主控器有权通过总线访问存储器,例如可以举出DMAC(直接存储器存取控制器)、处理器、存储控制器等。
如图1所示,外部总线主控器41通过数据总线D<0:15>、地址总线58及控制总线57,与微处理器101连接。外部总线主控器41向微处理器101输出访问请求信号,一旦被接受,便可直接访问DRAM27。以下说明CPU1及外部总线主控器41访问DRAM27和外部存储器4时各访问的通信规定。
(2-a)CPU1访问DRAM27时:
以下是以往所执行的通信规定,首先,①输出来自CPU1的访问请求,②BIU3对此发出允许,③在BIU3的控制下,利用ID<0:127>总线将DRAM27中的数据输送给CPU1。
(2-b)CPU1从外部存储器4读出数据时:
图6是表示CPU1从外部存储器4读出数据时的通信规定的时间图。时钟表示输入时钟。首先,①从CPU1向BIU3输出访问请求,②从BIU3向CPU1输出访问允许。然后,③认定通过控制总线56从BIU3送给外部存储器4的总线起动信号 BS,读写信号R/ W请求外部存储器4进行读出工作,确定字节控制信号BC[将传递给总线D<0:15>、ID<0:127>的16位作为2个8位(=1字节)的信号管理,指定其中的一者或两者的信号]的值。另外,通过地址总线58从微处理器101输出地址A1、A2、A3。字节控制信号BC对应于地址A1、A2、A3变化,即可。
接受了来自微处理器101的访问请求后,④外部存储器4将与地址A1、A2、A3对应的读出数据D1、D2、D3传递给总线D<0:15>,每次认定数据输送结束信号 DC。然后,⑤数据D1、D2、D3通过总线ID<0:127>被输送给CPU1。
(2-c)CPU1将数据写入外部存储器4时:
图7是表示CPU1将数据写入外部存储器4时的通信规定的时间图。程序①、②与(2-b)相同。然后,③应写入的数据(写入数据)从CPU1通过总线ID<0:127>被输送给BIU3。再后,④认定总线起动信号 BS,读写信号R/ W请求对外部存储器4进行写入工作,确定字节控制信号BC的值。地址A1、A2、A3通过地址总线58,而与这些地址对应的写入数据D1、D2、D3通过总线D<0:15>,被分别从微处理器101输出。
接受来自微处理器101的访问请求后,⑤数据D1、D2、D3被写入外部存储器4,每次认定数据输送结束信号 DC。
(2-d)将数据从外部总线主控器41写入DRAM27时:
图8是表示将数据从外部总线主控器41写入DRAM27时的通信规定的时间图。首先,①认定表示来自外部总线主控器41的请求接受停机请求(Halt Request)的信号 HREQ。与此对应,从微处理器101认定允许接受的HREQ确认(Acknowledge)信号 HACK。然后,从外部总线主控器41认定芯片选择信号 CS。这些信号通过控制总线57在微处理器101与外部总线主控器41之间传递。
其次,②从外部总线主控器41传递给微处理器101的读写信号R/W请求对DRAM27进行写入工作,地址A1、A2、A3及与它们对应的写入数据D1、D2、D3被传递给微处理器101。然后,③从微处理器101认定数据输送结束信号 DC。
图9是表示依靠外部总线主控器41的访问结束时的时间图。④取消芯片选择信号 CS、停机请求信号 HREQ,⑤微处理器101的接受也结束(取消HREQ Ack信号 HACK)。
图10是缓冲器301的结构框图。缓冲器301有128位的容量,另一方面,数据总线D<0:15>有16位的位长度。因此,缓冲器301有容量为16位的8个锁存器301a~301h、以及分别与它们对应的选择器301p~301w,根据外部总线主控器41提供的地址值,将载于总线D<0:15>上的数据存入锁存器301a~301h。
例如,对一个地址指定的数据的长度为8位,一个锁存器中能存储2个地址的数据。即与一对相邻的地址对应的数据被存入同一个锁存器中。为了实现这样的工作,缓冲器301还有选择控制部301x,它根据地址的低位的4位中除去最低的1位后的3位的值,将各选择控制信号B0~B7分别提供给选择器301p~301w。选择控制信号B0~B7择一地被活化,将载于总线D<0:15>上的8位数据存入锁存器301a~301h中的某一个。
(2-e)外部总线主控器41从CRAM27读出数据时:
图11是表示外部总线主控器41从DRAM27读出数据时的通信规定的时间图。程序①与(2-d)相同。然后,②从外部总线主控器41传递给微处理器101的读写信号R/ W请求对CRAM27进行读出工作,地址A1、A2、A3被传递给微处理器101。然后,③读出与这些地址对应的数据D1、D2、D3,从微处理器101输出这些数据,认定数据输送结束信号 DC。程序④、⑤也与(2-d)相同。
外部总线主控器41和缓冲器301通过总线D<0:15>进行读/写时,BIU3接受对CPU1的超高速缓存器28、DRAM27的访问。外部总线主控器41从DRAM27读出时,DRAM27中的数据或超高速缓存器命中时超高速缓存器28的数据被输送给缓冲器301。缓冲器301为128位,总线D<0:15>为16位,当外部总线主控器41的请求是读出缓冲器301中的几个数据时,不使用总线ID<0:127>。因此,例如CPU1从DRAM27取出了指令时,BIU3接受该请求,从DRAM27(超高速缓存器命中时,从超高速缓存器28)通过总线ID<0:127>输送指令。
外部总线主控器41对DRAM27进行写入时也同样,将数据存入缓冲器301时使用总线ID<0:127>,能进行CPU1、DRAM27、超高速缓存器28之间的数据/指令的输送。图23是表示来自外部主控器41的读出及CPU1的读出访问请求的形态的时间图。由外部总线主控器41指定的地址A1、A2、A3不越过地址边界〔是各地址存在于规定的范围内的情况,将在(2-f)中详述〕,一次读出与这些地址对应的数据D1、D2、D3(DRAM(超高速缓存器)访问请求的左端的认定),载于总线ID<0:127>上,然后,存入缓冲器301。
此后,由于未使用总线ID<0:127>,与来自CPU的访问请求不同,认定DRAM访问请求(位于正中的认定),读出与该请求对应的数据D_CPU,载于总线ID<0:127>。另一方面,从缓冲器301向外部总线主控器41输送数据D1、D2、D3。
然后,与地址A1、A2、A3不同,认定有关越过了边界的地址A5的DRAM(超高速缓存器)访问请求(位于右端的认定),读出与该地址对应的数据D5,载于总线ID<0:127>上,存入缓冲器301。
由后文所述的图22所示的外部访问控制电路303g接受地址比较结果、访问种类检测结果及更新请求,并生成外部访问请求及内部总线未使用信号。该内部总线未使用信号表示外部总线访问时不使用内部总线的状态、或外部总线主控器41的访问地址不越过地址边界的访问的处理中,未使用内部总线。在认定该信号期间,接受CPU1的访问请求,访问DRAM27、超高速缓存器28。
(2-f)外部总线主控器41提供的地址越过地址边界时从外部总线主控器写入DRAM27:
用图10说明过,与低位的4位连续的地址对应的16个8位长的数据被存入缓冲器301。可是,例如假定地址长度为24位时,如果高位的20位相同时,虽然可将这些16个×8位=128位的数据一并输送给DRAM27,但地址的高位20位不同时,如果将它们一并输送,数据就会被提供给错误的地址,必须避免。就是说,外部总线主控器41的地址值如果越过16位的边界(换算成数据的话,为16×8=128位的边界:在本说明书中简称″地址边界″)时,必须将至此存入缓冲器301中的数据暂时放出。
图12是用于进行这种工作用的装置的框图,微处理器101还备有地址缓冲器51和地址比较器52。地址缓冲器51从地址总线58接受24位长的地址的高位20位,经常输出当前地址的前一个地址的高位20位。地址比较器52将地址缓冲器51的输出同当前地址的高位20位进行比较。
两者如果一致,则外部总线主控器41的地址值不越过16位的地址边界,所以继续对缓冲器301进行数据存储。可是,当不一致时,控制缓冲器301,以便通过总线ID<0:127>将当前存储的数据输送给DRAM27。这时,控制块303将读写信号R/ W提供给DRAM27,以便DRAM27进行写入工作。
图13是表示上述工作的时间图。设想地址A1~A4的高位20位是一样的,地址A5的高位20位与它们不同的情况。缓冲器301存储了与地址A1~A4对应的数据D1~D4,但在提供给地址A5的时刻(越过地址边界的时刻)这些数据D1~D4被一并提供给总线ID<0:127>。在认定芯片选择信号 CS期间,认定信号 HREQ、 HACK。
此后,认定对DRAM27的访问请求,这些数据被写入DRAM27,取消从控制块303提供给外部总线主控器41的数据输送结束信号 DC(时刻t4~t5)。
然后,与地址A5对应的数据D5被存入缓冲器301,在来自外部总线主控器41的访问请求结束的时刻(取消芯片选择信号 CS),缓冲器301中存储的数据A5通过总线ID<0:127>被输送给DRAM27(认定数据输送结束信号 DC,此后,取消对DRAM27的访问请求:时刻t5~t6)。
(2-g)外部总线主控器41提供的地址越过地址边界时,外部总线主控器41从DRAM27的读出:
图14是表示外部总线主控器41从DRAM27读出数据时,该地址的高位20位发生了变化时(越过地址边界时)的工作时间图。发出外部总线主控器41的读出请求(认定芯片选择信号 CS)后,控制块303将读写信号R/ W提供给DRAM27,以便DRAM27进行读出工作。
认定对DRAM27的访问请求,任何一个分别与24位地址A1、A2、A3对应的、高位20位相等的数据D1、D2、D3被提供给总线ID<0:127>(时刻t0~时刻t1)。但由于地址A5的高位20位与地址A1、A2、A3不同,所以在时刻t1还不载于总线ID<0:127>。仍在认定数据输送结束信号 DC后的状态下,数据D1、D2、D3通过缓冲器301被输送到外部。暂时取消对DRAM27的访问请求(时刻t1)。
地址A5被输送给外部总线主控器41时,由于越过了地址边界,所以暂时取消数据输送结束信号 DC,再次认定对DRAM27的访问请求(时刻t2)。然后,与地址A5对应的数据D5被从DRAM27提供给总线ID<0:127>,它被存入缓冲器301。另一方面,如果数据D5被送到外部,则访问请求结束(取消芯片选择信号 CS。时刻t3)
大体上说,最大128位的数据被从DRAM27读出后存入缓冲器301(例如上述数据D1、D2、D3)。根据从外部总线主控器41请求的地址值,输出对应的16位(一个锁存器存储的2个地址)的数据。当从外部总线主控器41请求的地址越过了地址边界时,新的数据(例如,上述数据D5)被从DRAM27输送给缓冲器301,16位16位地输出给外部总线主控器。
如上所述,如果采用与本实施例有关的微处理器,则不仅本身的CPU1而且还能由外部总线主控器41访问内部安装的DRAM27,另外,还能由CPU1访问外部存储器4。而且,由于能共用读写信号R/ W和字节控制信号BC,所以不需要增多必要的管脚数。
另外,即使内部的数据总线ID<0:127>与外部的数据总线D<0:15>的位长度不同,也能通过控制缓冲器301将数据输送到内部。
另外,即使地址越过了规定的地址边界,也能避免进行错误的数据输送。
实施例2
在实施例2中说明各种方式的变更方法。图15是表示微处理器101的地址空间的模式图。逻辑地址用16进制的32位的数(32/log216=8位)表示。在作为用户空间的逻辑空间地址00000000~80000000(SID=0)中,分配出地址00000000~001FFFFF作为微处理器101内部安装的DRAM27的物理空间。另外,分配出地址00200000~00FFFFFF作为外部存储器4用的空间。因此,对于这2个存储器的地址空间,能用在(2)中说明过的24位的地址(逻辑地址的低位6位)来指定。
另外,还分别分配地址FF000000~FF7FFFFF作为用户用的I/O空间,分配地址FF800000~FFBFFFFF作为ICE(In Circuit Emulator)用的空间,而且,在地址FFC00000~FFFFFFFF中分配内部安装的控制寄存器用的物理空间。这些分配都在I/O空间(SID=1)中进行。
图16是表示内部安装的控制寄存器的地址空间的一部分的模式图。在地址FFFFFFF4、FFFFFFF8、FFFFFFFC中,分别存储着超高速缓存器清除控制、DRAM更新控制、存储器控制用的数据MSPR、MDRR、MCCR(各1字节)。
图17是表示数据MSPR、MDRR、MCCR的详细结构的模式图。在数据MSPR的第7位上存储着表示是否进行清除控制的1位的值在数据MDRR的第7位上存储着表示是否进行更新控制的1位的值,在数据MCCR的第6位及第7位上存储着表示超高速缓存器方式的种类的2位的值。
在以下的实施例中,说明根据这些数据MSPR、MDRR、MCCR进行的控制。
(3)超高速缓存器方式的变更:
通过根据上述数据MCCR进行控制,微处理器101根据超高速缓存器数据的种类,能切换超高速缓存器方式。例如,作为超高速缓存器方式可以考虑以下方式。
i)超高速缓存器切断方式;是不进行超高速缓存器的方式。
ii)全部存储器共用超高速缓存器方式;是超高速缓存CPU1访问外部存储器4、DRAM27的指令/数据及外部总线主控器41对DRAM27进行读/写的数据的方式。
iii)共用超高速缓存器方式;是超高速缓存,不管是外部存储器4、还是DRAM27的,CPU1访问的指令/数据的方式。
iV)指令超高速缓存器方式;是超高速缓存,不管是外部存储器4、还是DRAM27的,CPU1访问的指令的方式。
V)数据超高速缓存器方式;是超高速缓存,不管是外部存储器4、还是DRAM27的CPU1访问的数据的方式。
Vi)内部共用超高速缓存器方式;是超高速缓存在DRAM27中CPU1访问的指令/数据的方式。
Vii)内部指令超高速缓存器方式;是超高速缓存在DRAM27中CPU1访问的指令的方式。
Viii)内部数据超高速缓存器方式;是超高速缓存在DRAM27中CPU1访问的数据的方式。
iX)外部共用超高速缓存器方式;是超高速缓存在外部存储器4中CPU1访问的指令/数据的方式。
X)外部指令超高速缓存器方式;是超高速缓存在外部存储器4中CPU1访问的指令的方式。
Xi)外部数据超高速缓存器方式;是超高速缓存在外部存储器4中CPU1访问的数据的方式。
Xii)外部存储器超高速缓存器方式;是超高速缓存在外部存储器4中CPU1访问的指令/数据及外部总线主控器41写入DRAM27中的数据的方式。
Xiii)内部存储器超高速缓存器方式;是超高速缓存在DRAM27中CPU1访问的指令/数据及外部总线主控器41从DRAM27中读出的数据的方式。
XiV)外部总线主控器超高速缓存器方式;是超高速缓存器外部总线主控器41对DRAN27进行读/写的数据的方式。
通过参照数据MCCR的第6及第7位中存储的2位的值,可以从这些超高速缓存器方式中选择i)非超高速缓存器切断方式,Vi)内部共用超高速缓存器方式,X)外部指令超高速缓存器方式,及iV)指令超高速缓存器方式这4种。
图18是表示控制块303的结构的一部分的框图。由于DRAM27和外部存储器4划分为用图15表示的地址空间,所以能利用地址译码器303b判断两者中的哪一个成为访问对象。该判断结果被提供给访问种类检测电路303d。另外,访问主体判断部303c判断访问的主体是CPU1还是外部总线主控器41,将其判断结果提供给访问种类检测电路303d。
访问种类检测电路303d根据地址译码器303b的判断结果及访问主体判断部303c的判断结果,将载于总线ID<0:127>上的信号中哪一个是请求指令或哪一个是数据等的信息C3提供给超高速缓存器访问控制电路303e。
另一方面,超高速缓存器方式译码电路303a根据数据MCCR的低位2位的值,将有关请求什么样的超高速缓存器方式的信息C1提供给超高速缓存器访问控制电路303e。超高速缓存器访问控制电路303e根据信息C1、C3,把控制对DRAM27的数据进行超高速缓存器〔Vi)内部共用超高速缓存器方式〕,或对外部存储器4的指令进行超高速缓存器〔X)外部指令超高速缓存器方式〕,或对不管是外部存储器4还是DRAM27的CPU1访问的指令进行超高速缓存〔iV)指令超高速缓存器方式〕,或完全不进行超高速缓存〔i)超高速缓存器切断方式〕的登记信号C2提供给超高速缓存器28。
图19至图21分别是模式地表示采用Vi)内部共用超高速缓存器方式、X)外部指令超高速缓存器方式、iV)指令超高速缓存器方式时的微处理器101的结构框图。超高速缓存器28在图19中模式地采取位于DRAM27与总线ID<0:127>之间的形态,在图20中模式地采取位于BIU3与总线ID<0:127>之间的形态,在图21中模式地采取位于CPU1与DRAM27及BIU3之间的形态。
虽然数据总线D<0:15>、控制总线56、57以及地址总线58是一并描述的,但是上述那样的各个信号HREQ、HACK、地址、数据(还包括指令)、其它信号BC、R/W、以及CS等控制信号通过这些总线进行传递。
(3-a)关于Vi)内部共用超高速缓存器方式:
是超高速缓存CPU1对DRAM27访问的指令/数据的方式,在将程序存入DRAM27中时使用(图19)。
当取出的指令位于DRAM27中时,CPU1在BIU3的控制下首先检查超高速缓存器是否命中。命中时,该指令从超高速缓存器28输出给总线ID<0:127>,并输送给IQ8(在图19中,是作为包含在CPU1中表示的)。
超高速缓存器失误时,则从DRAM27输送给超高速缓存器28及CPU1。例如超高速缓存器28具有256(=28)个入口×128位=4K字节的容量。24位的地址IAD<7:31>内的8位IAD<20:27>成为入口地址。地址IAD<7:31>内的13位IAD<7:19>作为特征登记下来。从DRAM27读出的128位的数据被写入超高速缓存器28中。这时,IAD<20:27>表示的入口的有效位被置位。
CPU1读DRAM27中的数据时,与取出指令时一样,检查超高速缓存器的命中,命中时从超高速缓存器28读出,失误时从DRAM27读出。
CPU1将数据写入DRAM27中时,检查超高速缓存器是否命中。命中时,将写入数据写入超高速缓存器28对应的入口128位的一部分中,该入口的“脏”位被置位。“脏”位被置位的数据在登记下一个超高速缓存器数据时被写返到该入口中(写回)。失误时,写入数据被写入DRAM27。
也可以用图17所示的信号MSPR的第7位的清除(purge)指令写返到DRAM27中,以代替写回。
(3-b)X)外部指令超高速缓存器方式:
位于外部存储器4内的指令被超高速缓存到超高速缓存器28中。
例如设置指令ROM作为外部存储器4、将数据置于DRAM27中时采用(图20)。
CPU1对外部存储器4取出指令时,检查超高速缓存器的命中,命中时从超高速缓存器28取出,失误时从外部存储器4取出。为了将从外部存储器4取出的指令登记在超高速缓存器28中,通过脉冲串输送,传递给微处理器101,将128位保存在BIU3中,再输送给超高速缓存器28。
(3-c)iV)指令超高速缓存器方式:
是超高速缓存CPU1取出的指令的方式,当将指令置于DRAM27及外部存储器4中时采用(图21)。CPU1请求取出的指令检查超高速缓存器是否命中,命中时从超高速缓存器28取出,失误时从DRAM27或从外部存储器4取出。从外部存储器4取出指令与(3-b)相同,从DRAM27取出指令,以1次读出,128位被登记在超高速缓存器28中。
在各超高速缓存器方式中,也可以用地址指定非超高速缓存器的区域,以便超高速缓存器28不超高速缓存器DRAM27及外部存储器4中不应该进行超高速缓存器的区域(例如,即使进行超高速缓存器,写回反而变得频繁,存储处理速度恶化的数据的区域)。当然,这样的区域被访问后,通过认定通常微处理器中设定的可非超高速缓存器管脚,也能避免超高速缓存器。
如上所述,如果采用与本实施例有关的微处理器,将DRAM27及超高速缓存器28设在内部,可以选择其超高速缓存的形态。
实施例3
(4)更新:
在微处理器101中还可以附加更新控制用的更新计时器26。图22表示控制块303的结构与将更新请求提供给它的更新计时器26的关系。在图22中,控制块303与图18所示的结构不同,它还有DRAM访问控制电路303f、外部访问控制电路303g,更新计时器26直接将更新请求提供给DRAM访问控制电路303f。
图24是微处理器102的结构例框图,该微处理器102备有包含更新计时器26和控制块303的BIU3。更新计时器26每隔规定的期间,便请求DRAM27进行更新,更新计时器26独立于CPU1和外部总线主控器41,成为对DRAM7的总线主控器。即CPU1起第1内部总线主控器的作用,更新计时器26起第2总线主控器的作用。这样的更新请求是根据数据MDRR中的第7位的值进行的。
图24表示DRAM27在被更新的状态下的访问形态。即DRAM27正在更新中,其它总线主控器例如CPU1和外部总线主控器41不能访问DRAM27。可是由于总线ID<0:127>并未被占用,所以可从CPU1访问超高速缓存器28和访问外部存储器4。另外,外部总线主控器41访问DRAM27的处理在超高速缓存器28命中后也能进行。
回过来说明图22,当来自更新计时器26的更新请求被取消时,DRAM访问控制电路303f根据信息C3,将DRAM访问请求提供给DRAM27。可是认定更新请求时,DRAM访问请求无效,认定提供给DRAM27的更新信号,更新DRAM27。这样一来,在DRAM27更新过程中,禁止其它总线主控器访问DRAM27。
超高速缓存器访问控制电路303e、外部访问控制电路303g也根据信息C3,分别将超高速缓存器登记信号提供给超高速缓存器28,将外部访问请求传递给外部存储器4、外部总线主控器41。在认定更新信号时,利用这些信号禁止从DRAM27向超高速缓存器28进行超高速缓存器,也禁止从外部总线主控器41访问DRAM27。即在更新过程中只接受不伴随访问DRAM27的访问请求。
如上所述,如果采用与本实施例有关的微处理器,则即使内部存在多个总线主控器(例如CPU1和更新计时器26),也能控制微处理器的工作。
(5)清除:
当数据MCPR的第7位的值指定进行清除控制时,如果超高速缓存器是写回方式时,则在超高速缓存器中“脏”位被置位的数据被写返DRAM27。然后解除有效位的置位。这时,由于从超高速缓存器28向DRAM27或从超高速缓存器28向外部存储器4输送数据而占用总线ID<0:127>,故总线主控器不能访问DRAM27和外部存储器4。
如果超高速缓存器是写通过方式,则更新的数据也被自入DRAM27和外部存储器4中,如果进行清除控制,便解除对超高速缓存器28的入口的有效位的置位。
其它变形
(6)分开的超高速缓存器:
图25是表示本发明中采用所谓哈佛结构时的结构例的框图。在微处理器103中能使超高速缓冲存储器分开成为都是2KB的、指令超高速缓存器28b和数据超高速缓存器28a的结构。指令超高速缓存器28b
通过只载置指令的指令总线II<0:127>、而数据超高速缓存器28a则通过只载置指令以外的数据的数据总线ID<0:127>,分别与DRAM27、CPU1、BIU3连接。
超高速缓存器方式可以对超高速缓存器28a、28b设定将DRAM27、外部总线主控器41中的哪一个作为超高速缓存的对象。
(7)多个微处理器并存
图26是表示2个微处理器101a、101b(任何一个都可以采用与微处理器101相同的结构)通过地址总线58、数据总线D<0:15>与同一个外部总线主控器41、外部存储器4连接的形态的框图。第1微处理器101a、第2微处理器101b各自使用存在于内部安装的DRAM27中的指令/数据,进行程序处理。
停机请求信号HREQ1、芯片选择信号CS1从外部总线主控器41被提供给第1微处理器101a。另外,从第1微处理器101a将允许接受的HREQ确认信号HACK1提供给外部总线主控器41。通过这些信号的互相往来,由外部总线主控器41对第1微处理器101a所具有的DRAM27进行写入、读出。同样,根据停机请求信号HREQ2、芯片选择信号CS2、HREQ确认信号HACK2的互相往来,由外部总线主控器41对第2微处理器101b所具有的DRAM27进行写入、读出。
将第1及第2微处理器101a、101b共用的数据存入外部存储器4中,根据第1、第2微处理器101a、101b的访问请求,也能读出其内容。这时,将主/从信号MS1、MS2提供给各第1、第2微处理器101a、101b,以便两个微处理器101a、101b不竞争访问,通过不相容地认定这些信号就能具有确定一个微处理器为主,另一个为从的功能。这时,成为主/从的微处理器有分别能与不能访问外部存储器4的区别。
当然,主/从信号MS1、MS2的认定/取消是可以互相切换的。但应在现正执行中的总线操作结束后才能进行切换。
微处理器101a、101b能将数据分别存入各自内部安装的DRAM27中。
用图14已说明过,在各微处理器101a、101b的地址空间中,DRAM27被分配在地址00000000~001FFFFF,必须对这些物理地址加以区别。
例如,可将32位的地址空间(对一个地址存储1字节的数据,有4G字节的容量)中的地址00000000~001FFFFF分配给第1微处理器101a的内部DRAM27,将地址01000000~011FFFFF分配给第2微处理器101b的内部DRAM27。它们都被分配在逻辑空间内的用户空间(SID-0)中。通过如上分配地址空间,2个微处理器101a/101b能各利用24位的地址并行地对各自的内部DRAM27进行不同的处理。
如上所述,如果采用本发明,则由于具有多种超高速缓存器方式,所以用一个芯片就能适应各种用途,能降低成本。另外,由于减少了管脚娄,从而降低了成本。通过控制向CPU进行的脉冲串的输送,能提高比内部数据总线的位长度短的外部数据总线的性能。
如果采用本发明的第1方面所述的微处理器,则不仅第1内部总线主控器,而且外部总线主控器也能对上述存储器进行数据的读、写。
如果采用本发明的第2方面所述的微处理器,则由于控制信号共用,所以不增加微处理器所必要的管脚数,就能做到不仅第1内部总线主控器、而且外部总线主控器也能对内部存储器进行访问,还能由第1内部总线主控器访问外部存储器。
如果采用本发明的第3方面所述的微处理器,则即使地址越过了规定的地址边界,也能避免输送错误的数据。
如果采用本发明的第4方面所述的微处理器,则即使装有多个内部总线主控器,也能控制微处理器的工作。
如果采用本发明的第5方面所述的微处理器,则能选择指令超高速缓存器方式或内部共用超高速缓存器方式等多种超高速缓存器方式进行超高速缓存,或不进行超高速缓存。

Claims (7)

1.一种微处理器,它备有内部存储器;连接到上述存储器上的内部总线;通过上述内部总线访问上述内部存储器的内部总线主控器;以及控制上述内部总线工作的总线接口,该微处理器的特征在于:
外部总线主控器及外部存储器通过外部总线连接在上述微处理器的外部,
上述微处理器还备有登记上述内部存储器和上述外部存储器的数据的超高速缓冲存储器,上述总线接口的特点为:
(a)具有与上述内部总线宽度相等的缓冲器,
(b)协调来自上述外部总线主控器对内部存储器的访问请求和上述内部总线主控器对内部存储器的访问请求,
(c)上述缓冲器和外部总线主控器在通过上述外部总线访问期间,接受来自内部总线主控器对上述内部存储器和上述超高速缓存器的访问请求。
2.根据权利要求1所述的微处理器,其特征在于:上述外部总线主控器访问上述内部存储器时和上述内部总线主控器访问上述外部存储器时,使控制两者的访问的控制信号共用。
3.根据权利要求1所述的微处理器,其特征在于:当上述外部总线主控器指定的多个地址越过由上述缓冲器的容量决定的地址边界时,存储在上述缓冲器中的数据被暂时放出来。
4.一种微处理器,其特征在于备有:内部存储器;连接到上述存储器上的内部总线;通过上述内部总线访问上述内部存储器的第1及第2内部总线主控器;以及控制上述内部总线工作的总线接口,
上述总线接口有存储器访问控制装置,用来当上述第1内部总线主控器对上述内部存储器的访问请求有效时,便使上述第2内部总线主控器对上述内部存储器的访问请求无效。
5.一种微处理器,它备有内部存储器;连接到上述内部存储器上的内部总线;连接到上述内部总线上的超高速缓冲存储器;通过上述内部总线访问上述内部存储器的内部总线主控器;以及控制上述内部总线工作的总线接口,该微处理器的特征在于:
外部总线主控器及外部存储器通过外部总线连接在上述微处理器的外部,
上述微处理器还备有登记上述内部存储器和上述外部存储器数据的超高速缓冲存储器,
上述总线接口,根据来自上述内部总线主控器的访问请求、来自上述外部总线主控器的访问请求、和指定超高速缓冲方式的信息,产生指定上述超高速缓冲存储器是否进行高速缓存的登记信号,上述超高速缓冲存储器根据上述登记信号而被控制;
上述指定超高速缓冲方式的信息,可以分别指定按来自上述内部总线主控器和外部总线主控器中任一个的访问而定的不同的多个方式。
6.一种微处理器,具有:内部存储器;连接到上述内部存储器上的内部总线;通过上述内部总线访问上述内部存储器的内部总线主控器;以及控制上述内部总线工作的总线接口;其特征在于:
还备有登记在上述微处理器的外部的存储器和上述内部存储器的数据的超高速缓冲存储器;
上述总线接口,根据来自上述内部总线主控器的访问请求、特定该内部总线主控器的访问场所的信息、和指定超高速缓冲方式的信息,产生指定上述超高速缓冲存储器是否进行高速缓存的登记信号,上述超高速缓冲存储器根据上述登记信号而被控制;
上述指定超高速缓冲方式的信息,可以分别指定按上述内部总线主控器的访问场所而定的不同的多个方式。
7.一种微处理器,具有:内部存储器;连接到上述内部存储器上的内部总线;通过上述内部总线访问上述内部存储器的内部总线主控器;以及控制上述内部总线工作的总线接口;其特征在于:
还备有登记在上述微处理器的外部的存储器和上述内部存储器的数据的超高速缓冲存储器;
上述总线接口,根据上述内部总线主控器的访问请求、和指定超高速缓冲方式的信息,产生指定上述超高速缓冲存储器是否进行高速缓存的登记信号,上述超高速缓冲存储器根据上述登记信号而被控制;
上述指定超高速缓冲方式的信息,可以分别指定按上述内部总线主控器曾访问区域中保存的内容种类而定的不同的多个方式。
CN97113401A 1996-09-13 1997-05-23 微处理器 Expired - Fee Related CN1103967C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24337496A JP3934710B2 (ja) 1996-09-13 1996-09-13 マイクロプロセッサ
JP243374/1996 1996-09-13
JP243374/96 1996-09-13

Publications (2)

Publication Number Publication Date
CN1177143A CN1177143A (zh) 1998-03-25
CN1103967C true CN1103967C (zh) 2003-03-26

Family

ID=17102910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97113401A Expired - Fee Related CN1103967C (zh) 1996-09-13 1997-05-23 微处理器

Country Status (5)

Country Link
US (1) US5915099A (zh)
JP (1) JP3934710B2 (zh)
KR (1) KR100239841B1 (zh)
CN (1) CN1103967C (zh)
TW (1) TW442731B (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
JP3524337B2 (ja) * 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置
US8686549B2 (en) * 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6260114B1 (en) * 1997-12-30 2001-07-10 Mcmz Technology Innovations, Llc Computer cache memory windowing
US6529503B1 (en) * 1999-05-21 2003-03-04 Advanced Micro Devices, Inc. Apparatus and method for storing header information in a network switch
CN1378665A (zh) 1999-06-10 2002-11-06 Pact信息技术有限公司 编程概念
US7000034B2 (en) * 2000-03-02 2006-02-14 Agere Systems Inc. Function interface system and method of processing issued functions between co-processors
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
WO2003071432A2 (de) 2002-02-18 2003-08-28 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
JP2006524850A (ja) * 2003-04-04 2006-11-02 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理方法およびデータ処理装置
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
WO2006030650A1 (ja) 2004-09-16 2006-03-23 Nec Corporation 複数の処理ユニットでリソースを共有する情報処理装置
JP2009524134A (ja) * 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
JP5003070B2 (ja) * 2006-09-09 2012-08-15 ヤマハ株式会社 デジタル信号処理装置
EP2220554A1 (de) * 2007-11-17 2010-08-25 Krass, Maren Rekonfiguri erbare fliesskomma- und bit- ebenen datenverarbeitungseinheit
US20110173596A1 (en) * 2007-11-28 2011-07-14 Martin Vorbach Method for facilitating compilation of high-level code for varying architectures
WO2009071329A1 (en) * 2007-12-07 2009-06-11 Pact Xpp Technologies Ag Using function calls as compiler directives
JP2008226276A (ja) * 2008-06-09 2008-09-25 Matsushita Electric Works Ltd プログラマブルコントローラ
CN101894084B (zh) * 2010-04-13 2012-06-27 苏州国芯科技有限公司 一种clb总线内用于写操作的装置
US8504730B2 (en) * 2010-07-30 2013-08-06 International Business Machines Corporation Administering connection identifiers for collective operations in a parallel computer
US8565120B2 (en) 2011-01-05 2013-10-22 International Business Machines Corporation Locality mapping in a distributed processing system
US9317637B2 (en) 2011-01-14 2016-04-19 International Business Machines Corporation Distributed hardware device simulation
US8689228B2 (en) 2011-07-19 2014-04-01 International Business Machines Corporation Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system
US9250948B2 (en) 2011-09-13 2016-02-02 International Business Machines Corporation Establishing a group of endpoints in a parallel computer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0667576A1 (en) * 1994-02-09 1995-08-16 Hitachi, Ltd. A data processor and a trace circuit using the data processor
JPH0895943A (ja) * 1994-09-20 1996-04-12 Hitachi Ltd マイクロプロセッサ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34850A (en) * 1862-04-01 Device for canceling notes
JPS6029861A (ja) * 1983-07-28 1985-02-15 Ricoh Co Ltd 周辺装置インタ−フエイス
JPH0738187B2 (ja) * 1984-03-23 1995-04-26 株式会社日立製作所 Lsiに構成されたマイクロコンピュータ
JPS62224849A (ja) * 1986-03-26 1987-10-02 Hitachi Ltd デ−タ処理システム
JPS63216170A (ja) * 1987-03-05 1988-09-08 Mitsubishi Electric Corp デイジタル信号処理プロセツサ
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
JPH03254497A (ja) * 1990-03-05 1991-11-13 Mitsubishi Electric Corp マイクロコンピュータ
GB9019023D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station having multiplexing and burst mode capabilities
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5488729A (en) * 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
US5317711A (en) * 1991-06-14 1994-05-31 Integrated Device Technology, Inc. Structure and method for monitoring an internal cache
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
US5553266A (en) * 1992-04-24 1996-09-03 Digital Equipment Corporation Update vs. invalidate policy for a snoopy bus protocol
JPH05324539A (ja) * 1992-05-25 1993-12-07 Fujitsu Ltd 半導体装置
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5463753A (en) * 1992-10-02 1995-10-31 Compaq Computer Corp. Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US5353415A (en) * 1992-10-02 1994-10-04 Compaq Computer Corporation Method and apparatus for concurrency of bus operations
US5420808A (en) * 1993-05-13 1995-05-30 International Business Machines Corporation Circuitry and method for reducing power consumption within an electronic circuit
US5475850A (en) * 1993-06-21 1995-12-12 Intel Corporation Multistate microprocessor bus arbitration signals
US5666509A (en) * 1994-03-24 1997-09-09 Motorola, Inc. Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
US5598362A (en) * 1994-12-22 1997-01-28 Motorola Inc. Apparatus and method for performing both 24 bit and 16 bit arithmetic
US5687350A (en) * 1995-02-10 1997-11-11 International Business Machines Corporation Protocol and system for performing line-fill address during copy-back operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0667576A1 (en) * 1994-02-09 1995-08-16 Hitachi, Ltd. A data processor and a trace circuit using the data processor
JPH0895943A (ja) * 1994-09-20 1996-04-12 Hitachi Ltd マイクロプロセッサ

Also Published As

Publication number Publication date
KR19980023967A (ko) 1998-07-06
US5915099A (en) 1999-06-22
TW442731B (en) 2001-06-23
JP3934710B2 (ja) 2007-06-20
KR100239841B1 (ko) 2000-01-15
JPH1091573A (ja) 1998-04-10
CN1177143A (zh) 1998-03-25

Similar Documents

Publication Publication Date Title
CN1103967C (zh) 微处理器
CN1881183A (zh) 信息处理装置、进程控制方法及其计算机程序
CN1199109C (zh) 通过重排序存储器请求提高总线利用率的存储器控制器
CN100340975C (zh) 计算机系统、编译器装置以及编译方法
CN1184562C (zh) 处理器的转移指令
CN1276358C (zh) 用于存储设备的地址转换单元
CN1205553C (zh) 分优先级访问外部装置的设备
CN1763731A (zh) 高速缓冲存储器系统
CN201540564U (zh) 利用虚存机制对片上异构存储资源动态分配的电路
CN1806231A (zh) 提供软件实现的高速缓冲存储器的方法与装置
CN1565034A (zh) 同步型半导体存储器设备模块及其控制方法与信息设备
CN1879092A (zh) 高速缓冲存储器及其控制方法
CN1436333A (zh) 支持无线手持多媒体设备的集成处理器平台
CN101046771A (zh) 使用闪存的存储系统及其平均读写方法和平均读写程序
CN1761935A (zh) 半导体存储卡、半导体存储器控制装置以及半导体存储器控制方法
CN1955940A (zh) Raid系统、raid控制器及其重建/拷回处理方法
CN1704911A (zh) 高速缓冲存储器、系统和数据存储方法
CN1117315C (zh) 微处理机及多处理机系统
CN1674090A (zh) 声音波形合成器
CN100341009C (zh) 在管线微处理器使用卷标以执行结合写入的装置及方法
US7415576B2 (en) Data processor with block transfer control
CN1898654A (zh) 高速缓冲存储器及其控制方法
CN1125403C (zh) 信息处理设备
CN1199120C (zh) 具有共享一个共用存储器的多个处理器的装置
CN1232216A (zh) 能够通过有效地使用数据线提高生产能力的信息处理方法和信息处理装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030326

Termination date: 20140523