CN1199203A - 包式存储器,协处理器总线及其控制方法 - Google Patents
包式存储器,协处理器总线及其控制方法 Download PDFInfo
- Publication number
- CN1199203A CN1199203A CN98101286A CN98101286A CN1199203A CN 1199203 A CN1199203 A CN 1199203A CN 98101286 A CN98101286 A CN 98101286A CN 98101286 A CN98101286 A CN 98101286A CN 1199203 A CN1199203 A CN 1199203A
- Authority
- CN
- China
- Prior art keywords
- coprocessor
- district
- bus
- packet mode
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 165
- 238000003860 storage Methods 0.000 claims description 116
- 238000012545 processing Methods 0.000 claims description 53
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 21
- 230000002457 bidirectional effect Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 102100020800 DNA damage-regulated autophagy modulator protein 1 Human genes 0.000 description 308
- 101000931929 Homo sapiens DNA damage-regulated autophagy modulator protein 1 Proteins 0.000 description 308
- 238000010586 diagram Methods 0.000 description 34
- 230000015572 biosynthetic process Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Abstract
集成协处理器包式DRAM中的存储区和协处理器区分别具有唯一的存储设备ID和协处理器ID。集成协处理器包式DRAM通过外部I/O端与单总线主控器型存储器/协处理器总线连接。总线主控器将请求包传输到存储器/协处理器总线,每个接收请求包的集成协处理器包式DRAM根据存储于集成协处理器包式DRAM中的存储器ID和协处理器ID验证请求包中的设备ID字段。
Description
本发明涉及一种具有一个或多个内部芯片上协处理器的包式存储器LSI(即,集成协处理器包式存储器LSI),及用于连接集成协处理器包式存储器LSI与总线主控器的包式存储器/协处理器总线。
一般情况下,如果存储器LSI的存储容量变得越来越大,则要求存储器LSI随之具有更宽的数据带宽的存储能力。通过与存有许多物件的包袋类相比则容易理解这一点。如果包袋的尺寸越来越大,而其开口的尺寸保持不变,则书包必然变得越来越不便于存取物件。类似地,如果存储LSI的存储容量变大,而其数据带宽保持不变,则存储LSI会变得很难写入和读取数据。因此,重要的是保持存储容量和数据带宽间的平衡,以实现能用于系统中的存储LSI,所以具有最大存储容量的存储器LSI DRUM正在不断促进带宽扩展方面的研究。
为了扩展数据带宽,存储器LSI和外部设备间接口的工作频率不得不尽可能地增大,其中外部I/O信号端的同时工作变成了障碍。在多个信号端同时高速工作的情况下,存储LSI芯片的功耗变高,产生强烈的开关噪声,由此会造成工作错误。而且,在外部I/O信号端数量巨大时,外部I/O信号端间趋于发生时间偏斜,时序调节变困难,所以高速工作也变难。
为此,已研制出一些实现DRAM较宽数据带宽的技术。按这些技术,DRAM与之相连的存储器总线中的信号线数量减少,DRAM的外部I/O信号端的端数量减少,存储器总线的工作频率增大。这种DRAM的典型实例有RambusDRAM、SLDRAM(以前称为SyncLink DRAM)、Mediachannel DRAM等。Rambus公司公布的各种手册中有对RambusDRAM的具体说明。SLDRAM已由SLDRAM Consortium(以前称为SyncLink Consortium)将对它们的规范编制成IEEE标准技术,暂时实行规范见IEEE Micro 1997年11月/12月,pp.29-39的“SLDRAM:High-Performance,Open-Standard Memory”,或Draft 099 P1596.7-199x(http://www.sldram.com/Documents/SyncLink D0_99.pdf)“Draft Standardfor A High-Speed Memory Interface(SLDRAM)”。关于MediachqnnelDRAM,已在Tim Robinson等人于公知的96 COMPCON国际会议(Spring)发表的论文Multi-Gigabyte/sec DRAMwith the Micro Unity MesiachannelInterface”中作了具体说明,见Proc.of COMPCON′96(Spring),pp.378(1996)。
在采用这种技术的DRAM中,采用了称为‘包式’或‘规约型’的存储器总线技术或DRAM接口技术,以便实现有效的DRAM存取,及实现使外部I/O信号端的信号线数和端数较少。因此,此后将分别称根据这些常规技术的DRAM和存储器总线为‘包式DRAM’和‘包式存储器总线’。
以下将说明包式DRAM和包式存储器总线。
图1是展示常规包式DRAM1001的构成实例的框图。图1中,包式DRAM1011包括存储区11、控制区1012和接口区13。
存储区11由DRAM核心区15和存储控制寄存器区16构成。DRAM核心区15包括多个DRAM组17和提供给相应的每个DRAM组17的多个读出放大器18,存储控制寄存器区16包括多个存储控制寄存器29。
控制区1012包括存储控制逻辑电路1019、控制信号寄存器20、写数据寄存器21、读取数据寄存器22和存储器ID验证电路1023。控制区1012具有与接口区13相连的3个I/O信号端。控制区1012的I/O信号端包括控制信号端24和写入数据端25(输入端)及读取数据端26(输出端)。
接口区13与外部I/O信号端5连接。存储区11和控制区1012通过内部存储器数据总线27连接在一起,该数据总线为双向总线。
图2A-2C是展示常规包式DRAM1001和微处理器9通过包式存储器总线1002连接的实例的框图。图2A-2C展示了3种类型的连接方式。包式存储器总线1002是单总线主控器型总线,只有一个总线主控器能够存在于包式存储器总线1002上。所有与包式存储器总线1002连接的包式DRAM1001作为从设备工作。这里,‘总线主控器(busmaster)’一词一般是指可以专门控制一条总线并向总线发送请求的设备,‘从设备’一词一般是指不自动向包式存储器总线1002发送请求但只应答来自总线主控器的请求的设备。正如以下将解释的,通过只允许该总线上有一个总线主控器,总线主控器可以发送请求,而不判断包式存储器总线1002的总线归属权,由此可以简化包式存储器总线1002的规约。顺便提及,尽管提供微处理器9作为图2A-2C的包式存储器总线1002的总线主控器,但也可以为包式存储器总线1002提供其它类型的总线主控器,例如存储控制器、信号处理器、图形加速器、其它类型的ASIC等。
在图2A的构成中,与图1的包式DRAM 1001相同,图2A的包式DRAM1001由存储区11、控制区1012及接口区13构成。控制区1012的所有I/O端即控制信号端24、写数据端25和读数据端26皆与接口区13连接。接口区13通过外部I/O端5与包式存储器总线1002连接。包式存储器总线1002连接微处理器9与包式存储DRAM1001。图2A中的包式存储器总线1002为双向总线。
图2B的构成中,接口区13由控制接口区13-1和数据接口区13-2构成。控制区1012的控制信号端24与控制接口区13-1连接,控制区1012的写入数据端25和读取数据端26与数据接口区13-2连接。图2B的包式存储器总线1002由控制总线1002-1和数据总线1002-2构成。控制接口区13-1与控制总线1002-1连接,数据接口区13-2与数据总线1002-2连接。图2B中,控制总线1002-1为多微处理器9到包式DRAM 1001的单向总线,数据总线1002-2为双向总线。
图2C的构成中,接口区13由请求接口区13-3和应答接口区13-4构成。控制区1012的控制信号端24和写数据端25与请求接口区13-3连接,控制区1012的读数据端26与应答接口区13-4连接。图2C的包式存储器总线1002由请求总线1002-3和应答总线1002-4构成。请求接口13-3与请求总线1002-3连接,应答接口区13-4与应答总线1002-4连接。图2C中,请求总线1002-3为从微处理器9到包式DRAM1001的单向总线,而应答总线1002-4是相反方向的单向总线。
图3是展示向包式DRAM1001发出请求的处理请求的分类表。处理类型包括‘存储器存取’、‘初始化’、和‘刷新’。每种处理请求由包式存储器总线1002的总线主控器即图2A-2C中的微处理器9提出。‘存储器存取’按目的分为两种类型,即,向存储区11中的DRAM核心区15的存储器存取,和向存储区11的存储控制寄存器区16的存储器存取。向DRAM核心区15的存储器存取和向存储控制寄存器区16的存储器存取皆包括两种操作(命令),即,读取和写入。而且,在DRAM核心区15存取的情况下,读取或写入数据的数据长度为指定长度。一般情况下,数据长度例如约为8位到256位。在向存储控制寄存器区16存取的情况下,一般读取或写入固定数据长度的数据,数据长度设定为存储控制寄存器区16的存储控制寄存器29的数据长度(例如,8位)或较短的固定长度。‘初始化’包括使存储控制逻辑电路1019的内部状态复位、将包式DRAM 1001的特定设备信息存储到存储控制寄存器区16的操作等。‘刷新’一般是指周期性重新写DRAM单元,以保持DRAM工作所必需的DRAM单元的记忆。
以下将首先参照图1和3解释对包式DRAM 1001的DRAM存取操作。按任何一种DRAM存取,图3所示的‘处理类型’、‘目标’、‘操作’、和‘数据长度’由微处理器9(即总线主控器)指定,指定的信息通过外部I/O端5和接口区13,传输到包式DRAM1001的控制区1012的控制信号端24。指定信息还包括用于指定一个DRAM组17的存储地址和将要存取的位置,或用于指定存储控制寄存器区16中特定存储控制寄器29的存储控制寄存器数。这种通过控制信号端24提供的信息此后称之为‘控制信号信息’。
控制信号信息还包括用于从多个与包式存储器总线1002连接的包式DRAM 1001中选择一个或多个包式DRAM 1001的存储器ID。每个包式DRAM 1001具有一个特定的存储器ID,这个存储器ID存于存储控制寄存器区16中一个特定的存储控制寄存器29中,每个包式DRAM1001中的存储器ID验证电路1023相对于包式DRAM 1001自身的存储器ID验证控制信号信息中所含的设备ID。通过此验证,判断通过外部I/O端5提供的请求(例如DRAM存取)的目标是否是包式DRAM 1001自身。如果DRAM存取请求的目标不是是包式DRAM 1001自身,将不执行以后的操作。顺便提及,存在着控制信号信息中所含的设备ID指定两个或更多包式DRAM 1001的存储器ID的情况。
控制区1012中,已读出的数据在读存取的情况下从读数据端26输出,而将写入的数据在写存取的情况下提供到写数据端25。控制信号寄存器20、写数据寄存器21和读数据寄存器22分别作为用于控制信号端24、写数据端25和读数据端26的I/O锁存器(I/O寄存器)工作。存储控制逻辑电路1019根据通过控制信号端24提供的控制信号信息确定随后的操作,并控制DRAM存取。在控制DRAM存取的过程中,必要时存储控制逻辑电路1019查阅存储控制寄存器区16中存储控制寄存29中的存储器。在对DRAM核心区15的DRAM存取的情况下,通过指定存储地址选择所要求的DRAM组17,DRAM组17中的数据通过相应的读出放大器18进行存取。这里,读出放大器18还作为用于相应DRAM组17的高速缓冲存储器或高速缓冲器工作。因此,在DRAM存取的地址范围包含在已暂时存于读出放大器18的数据内时,读出放大器18代替DRAM组17高速进行存取,由此可以进行高速DRAM存取。
在对DRAM核心区15进行DRAM存取的情况下,根据所需数据是否已暂时存于读出放大器18内进行对DRAM组17的存取,所以存取时间有较大改变。在随后的存取是对未暂存于读出放大器18中的数据寻址的情况下,如果暂存于读出放大器18中的数据在随后的存取之前写回到DRAM组17,则对于高速存取是有益。因此,在对DRAM核心区15进行DRAM存取的情况下,控制信号信息一般包括关于控制DRAM核心区15的信息,例如是否对DRAM组17的存取要执行,是否读出放大器18中的数据要写回到DRAM组17等。
如上所述,在已参照图2A-2C说明的包式存储器总线1002的常规构成中,包式存储器总线1002的特征是由很少信号线构成。具体地,信号线的数量约为10-30条。按常规技术,Rambus采用图2A的构成,SLDRAM Consortium采用图2B的构成,Mediachannel采用图2C的构成。如上所述,为了通过很少信号线从微处理器9向包式DRAM1001发送DRAM存取所必需的控制信号信息,或为了利用很少信号线在微处理器9和包式DRAM 1001间进行数据传输,必须提供在某些周期中将控制信号信息和数据组合成信息包、并发送/接收该信息包的系统。而且,为了组合和拆散这些信息包,必须建立某些固定规约。
图4A和4B是展示在包式存储器总线1002上传输的信息包分类的示意图,图4A中示出的两种信息包,即请求包和写数据包,它们从微处理器9传输到包式DRAM 1001。请求包是通过根据预定规约将上述控制信号信息编码产生的长度可变的信息包,写数据包包括大小可变的写数据。另外,图4B所示的两种包即读数据包和确认包从包式DRAM1001传输。读数据包包括其大小可变的读数据。确认包一般是固定长度的包。确认包在某些情况下是必需的,而在另一些情况下是不必要的,以下将对此作说明。
在用于请求对包式DRAM 1001进行DRAM存取的微处理器9(即总线主控器)可以不判断包式DRAM 1001是否能接受DRAM存取请求,或包式DRAM 1001是否可以立即应答此请求的情况下,例如,在包式DRAM 1001的刷新期间请求对DRAM核心区15进行存取,且微处理器9不知是否刷新在进行中的情况下,确认包是必需的。而且,在微处理器9不知道要存取的数据是否已暂时存储于读出放大器18的情况下,确认包也是必要的。在这些情况下,确认包包括表示所请求的存取是否被接受的信息,和指示微处理器9在被请求的存取不可能被接受的情况如何工作的信息。该指令例如可以是在预定时间后再次请求存取的指令,或可以是等待一定时间直到存取完成的指令。另一方面,在微处理器9完全管理和掌握包式DRAM 1001的内部状态,以便在微处理器9进行存取请求时保证存取被接受的情况下,确认包是不必要的。Rambus采用需要确认包的方法,SLDRAM Consortium采用不需要确认包的方法。
图5A-5C是展示图2A-2C的构成中包式存储器总线1002上传输信息的示意图。图5A-5C中,以与图2A-2C相同的方式,微处理器9(总线主控器)设于左侧,包式DRAM 1001(从设备)设于右侧。
在图2A的构成中,每种信息包在双向包式存储器总线100 2上传输。因此,图5A示出了按两种操作:写和读分类的信息包传输。在写操作期间,微处理器9首先发送请求包,然后发送写数据包。为此,包式DRAM 1001发送确认包,然后如果接受则正确地写入写数据。在读操作期间,微处理器9发送请求包,包式DRAM 1001发送确认包。如果被接受,则包式DRAM 1001随之发送读数据包。顺便提及,如上所述,不用确认包也可以进行上述操作,其中其它类信息包的传输与图5A相同。
图5B展示了在图2B的构成中的控制总线1002-1或数据总线1002-2上传输信息包的情况。请求包在控制总线1002-1上传输,写数据包、读数据包及确认包在数据总线1002-2上传输。如上所述,存在着不使用确认包和采用这种构成的SLDRAM Consortium实际不使用确认包的情况。
图5C展示了在图2C构成中的请求总线1002-3或应答总线1002-4上传输信息包的情况。请求包和写数据包在请求总线1002-3上传输,读数据包和确认包在应答总线1002-4上传输。如上所述,存在着不使用确认包的情况。
图6A和6B是展示接收了请求包后包式DRAM 1001的工作流程图。图6A展示的是必需确认包的情况,而图6B展示的是不必用确认包的情况。参见图6A接收了请求包后,包式DRAM 1001验证存储器ID,并判断是否必须应答此请求。如果存储器ID不是包式DRAM 1001自身的存储器ID,则处理结束。如果存储器ID匹配,则包式DRAM 1001拆散请求包,并确定存取模式。随后,包式DRAM 1001根据所确定的存取模式,判断包式DRAM 1001是否正确应答了对DRAM核心区15或存储控制寄存器区16的存取请求。随后,包式DRAM根据判断结果组合确认包,并发送此确认包。确认包包括表示包式DRAM 1001是否接受请求的信息。在请求被接受时,进行存取,在读存取情况下,包式DRAM 1001发送读数据包,处理结束。在写存取情况下,包式DRAM1001接收写数据包,写数据包被写入DRAM核心区15或存储控制寄存器区16,且处理结束。在请求未被接受时,包式DRAM 1001进行存取准备。这里,存取准备包括刷新期间完成刷新的等待,或者如果被请求数据的地址与已暂存于读出放大器18中的数据不对应,则从DRAM组17向读出放大器传输数据。在存取准备后,包式DRAM 1001转到存取操作,且按与请求被接受情况下相同的方式进行操作,或对应于特定请求包完成此操作,并等待接收另一请求包。
图6B中,由于不使用确认包,所以包式DRAM 1001的操作更简单。存储器ID验证后,拆散请求包,确定存取模式,进行读或写存取,相关请求包的操作结束。
图7A-7E是展示采用SLDRAM Consortium技术作实例情况下,每个信息包的典型包格式的示意图。图7A-7C展示了请求包的实例,图7D展示了确认包的实例,图7E展示了读数据包或写数据包的实例。顺便提及,按SLDRAM Consortium技术,控制总线1002-1由10位存储器总线信号线构成,数据总线1002-2由16位存储器总线信号线构成。
图7A展示了用于请求对DRAM核心区15进行写存取或读存取的请求包。图22A的请求包占据了4个周期中的10位控制总线1002-1。在第一周期,前7位用作指定设备ID的设备ID字段,其余3位用作指定命令No.0的命令字段。在第2周期,前3位用作指定命令No.1的命令字段,其余7位用作指定参数No.0的参数字段。其余两个周期分别用作指定参数No.1和No.2的参数字段。已参照图3作了解释的控制信号信息包括处理类型、目标、操作、数据长度、关于控制DRAM核心区15的信息等,该控制信号信息由命令No.0和命令No.1的命令字段指定。DRAM核心区15中数据的地址由参数No.0、No.1、和No.2的参数字段指定。
图7B展示了请求对存储控制寄存器区16进行读存取的请求包。由第2周期的后7位的参数No.0字段指定要存取的存储控制寄存器区16中的一个存储控制寄存器29中。
图7C展示了请求对存控制寄存器区16进行写存取的请求包。根据第2周期后7位的参数No.0字段指定要存取的存储控制寄存器区16中的一个存储控制寄存器29中。由第3周期中参数No.1和第4周期中参数No.2指定写数据。
如图7A-7C所示,设备ID字段含于每个请求包中,包式DRAM1001必须应答此请求的请求包由对设备ID字段的验证唯一确定。同样,命令No.0和命令No.1的字段对每个请求包是相同的,要在包式DRAM 1001中进行的存取操作通过将此字段解码唯一确定。参数字段用于根据请求存取的类型指定DRAM核心区15中数据地址、存储控制寄存器、写数据。顺便提及,设备ID字段的指定不限于一个包式DRAM1001,存在多个包式DRAM 1001同时被指定的情况(称作‘多信道’),或所有与包式存储器总线1002连接的包式DRAM 1001同时被指定的情况(称作‘广播’)。
图7D展示了确认包包格式的实例。实际上,SLDRAM Consortium技术中不存在确认包,这样图7D展示了在SLDRAM数据总线1002-2上实现的Rambus的确认包格式。图7D的确认包在一个周期中占据数据总线,其中前2位用于表示请求是否可以被接受(即是否可以对此请求进行应答),或是否存在某些系统错误。
图7E展示了写数据包或读数据包的格式的实例。每个写数据包和读数据包在必要数量的周期中传输不同长度的数据,占据数据总线1002-2。
如上所述,常规技术中的包式DRAM1001和包式存储器总线1002根据预定规约实现在总线主控器和包式DRAM 1001间传输信息包的功能。另外,在并行处理系统和分配系统的领域中,已采用在多个设备之间进行通信的常规技术很长时间了。在这些系统中,多个设备(或节点)通过总线或网络连接,为了执行设备(或节点)间的相互处理请求,或为了同步并行进行处理,采用了包式传输或其它类型的通信手段。
存在有各类常规技术,其中可以采用Intel的PentiumPro微处理器的‘处理器总线’作为例子。Nitin Sarangdhar等人在96年(Spring)的COMPCON国际会上发表的论文对这种处理器总线作了说明,见“AnOverview of the Pentium Pro Processsor Bus”.Proc.of COMPCON′96(Spring),pp.383(1996)。Pentium Pro处理器总线是在设想连接多个Pentium Pro微处理器、存储控制器、及I/O控制器等的情况下设计出来的,设备的物理和电连接方法及处理器总线的驱动规约已建立。而且,已为Pentium Pro处理器总线确立了保持多个PentiumPro微处理器间的高速缓存相关性的标准方法。这里,“高速缓存相关性”是指通过从相同数据拷贝分别存于每个节点的高速缓存存储器中的复制品具有相同值的状态。
如上所述,利用包式DRAM 1001和包式存储器总线1002的常规技术实现了根据预定规约传输信息包的功能。按这种技术,信息包传输功能只用于对包式DRAM 1001进行DRAM存取,即,用于对DRAM核心区15或存储控制寄存器区16的读存取或写存取,及用于包式DRAM 1001的初始化或刷新的控制。然而,这种通过信息包传输实现通信功能的最初应用不必限于这种DRAM存取。换言之,这些功能可以被用作可以满足各种目的的手段。
关于这种目的实例,可以在包式DRAM 1001中设置具有某些算术逻辑运算功能的一外或多个协处理器,通过包式存储器总线1002从总线主控器发送某类信息包,由此借助总线主控器控制协处理器的算术逻辑运算。在这种具有内部协处理器(即,集成协处理器包式DRAM)的包式DRAM中,可以对芯片上的DRAM进行宽带宽和低空转时间的内部存取,这样一来,内部协处理器可以通过对以宽带宽和低空转时间存于体存储芯片上DRAM中的数据进行内部存取来进行有效的算术逻辑运算。如上所述,未考虑利用包式DRAM 1001的常规技术的信息包传输功能的其它目的(非DRAM存取),所以这种常规技术不足以用作控制前述协处理集成包式DRAM的存储器总线技术。
另外,似乎通过使用前述其它技术,例如并行处理系统中的处理器总线等,容易实现对设于DRAM内的协处理器的算术逻辑运算的这种外部控制(芯片上处理器有的外部控制)。然而,解决这些问题会带来以下缺点。
并行处理系统中处理器总线等的规约因为某些原因比包式存储器总线1002的规约更复杂。首先,该处理器总线是在假设多个总线主控器的情况下设计的。存在着多个总线主控器立即请求处理器总线的情况,这样一来,不得不在两总线主控器之间进行处理器总线的总线归属权的判断。而且,为了避免死锁或活锁,必须对处理器总线进行流量控制。另外,规约不得不支持多种总线的不同通信格式和多种总线的不同通信模式(即,设备通信应在其间进行,用其进行时序传输等)。再者,保证多个处理器间的例如高速缓存相关性等数据协调性的规格不得不包括于规约中。因此,处理器总线的规约很复杂,通过处理器总线在这种系统中通信要花长得多的时间。
另一方面,由于请求包式存储器总线1002的总线主控器只有一个,不必进行总线归属权的判断,且由于规约不必支持多类信息包格式,所以包式存储器总线1002的规约相当类似。另外,如果包式存储器总线1002的如微处理器、存储控制器等总线主控器设计成用于管理和掌握包式DRAM 1001的内部状态,则可以如上所述不用确认包构成规约,因此可以实现非常简单的规约,因此,利用包式DRAM 1001和包式存储器总线1002的简单规约常规系统的优点在于,可以高速进行信息包的组合、传输和拆散,可以在短时间内进行通过包式存储器总线1002的通信。减少DRAM存取时间及扩宽数据带宽为设计DRAM的主要问题。因此,上述特征对于用于构成DRAM系统的存储器总线非常有益。
综上所述,如果采用并行处理系统或分配处理系统领域中的常规技术构成带有包式DRAM 1001和包式存储器总线1002的系统,则规约的处理需花大量时间,且DRAM存取时间不可避免地显著增加。在试图实现可以作为普通包式DRAM 1001进行外部读存取和写存取的上述集成协处理器包式DRAM时,不允许为了实现内部协处理器的算术逻辑运算功能的外部控制而增加包式DRAM 1001自身的存取时间。另一方面,无法通过常规包式DRAM 1001和包式存储器总线1002实现芯片上内部协处理器的算术逻辑运算功能的外部控制。
因此,本发明的主要目有是提供一种带有内部协处理器的灵活、高性能的包式DRAM(即集成协处理器包式DRAM),以此可以实现芯片上内部协处理器算术逻辑运算的外部控制。
本发明的另一目的是提供这种集成协处理器包式DRAM,与常规包式DRAM相比,无需相对于外部I/O信号端的端子数和对芯片上包式DRAM自身的DRAM存取附加空间/时间。
本发明的再一目的是提供一种能够实现集成协处理器包式DRAM的外部控制的包式存储器/协处理器总线,可以在同一芯片上实现芯片上内部协处理器的算术逻辑运算和对包式DRAM的DRAM存取功能的外部控制。
本发明又一目的是提供一种包式存储器/协处理器总线,与常规包式存储器总线相比,无需相对于构成总线的信号线数量和DRAM存取的总线时序附加空间/时间。
本发明再一目的是提供一种集成协处理器包式DRAM和包式存储器/协处理器总线,由此可以以混合方式连接任意数量的包式DRAM和任意数量的集成协处理器包式DRAM与相同的包式存储器/协处理器总线,其中通过包式存储器/协处理器总线,可以实现对包式DRAM的DRAM存取、对集成协处理器包式DRAM的DRAM存取及对集成协处理器包式DRAM中的芯片上内部协处理器的算术逻辑运算功能的控制。
根据本发明的第1方面,提供一种集成协处理器包式存储器LSI,该集成协处理器包式存储器LSI通过具有要求数量的信号端子的外部I/O端与包式存储器/协处理器总线连接,该集成协处理器包式存储器LSI包括:存储区、控制区、接口区、及要求数量的协处理器区。在该集成协处理器包式存储器LSI中,分别给存储区和协处理器区指定存储器ID和协处理器ID,并将它们存于集成协处理器包式存储器LSI中,其中指定存储器ID和协处理器ID,以便它们中的每一个可以从与包式存储器/协处理器总线连接的集成协处理器包式存储器LSI的所有存储区和协处理器区中唯一指定一个存储区或一个协处理器区。
根据本发明的第2方面,在所述的第1方面中,存储区包括存储核心区和含有多个要求数量的存储控制寄存器的存储控制寄存器区。协处理器区包括运算核心区、运算控制区、及含有要求数量的运算控制寄存器的运算控制寄存器区。控制区和存储区通过内部存储器数据总线连接,控制区和协处理器区通过内部协处理器数据总线连接。
根据本发明的第3方面,在所述的第2方面中,存储核心区由动态随机存取存储器构成。
根据本发明的第4方面,提供一种包式存储器/协处理器总线,用于连接总线主控器和第1、第2或第3方面的要求数量的集成协处理器包式存储器LSI。包式存储器/协处理器总线是单主控器型总线,在总线主控器将信息包传输到包式存储器/协处理器总线时,不需要进行由主控器进行的其总线归属权的判断,其中包括请求包和写数据包的两类信息包可以通过总线主控器传输到包式存储器/协处理器总线,读数据包可以通过集成协处理器包式存储器LSI传输到包式存储器/协处理器总线。
根据本发明的第5方面,提供一种包式存储器/协处理器总线,用于连接总线主控器与第1、第2或第3方面的要求数量的集成协处理器包式存储器LSI。包式存储器/协处理器总线是单主控器型总线,在总线主控器将信息包传输到包式存储器/协处理器总线时,不需要进行由主控器进行的其总线归属权的判断,其中包括请求包和写数据包的两类信息包可以通过总线主控器传输到包式存储器/协处理器总线,包括读数据和确认包的两类信息包可以通过集成协处理器包式存储器LSI传输到包式存储器/协处理器总线。
根据本发明的第6和第7方面,在所述的第4和5方面中,请求包包括指定所有与包式存储器/协处理器总线连接的集成协处理器包式存储器LSI中的所有存储区和协处理器区的请求目标的设备ID字段、指定请求包请求的处理的命令字段、和指定执行由请求包请求的处理所必需的参数的参数字段。
根据本发明的第8和第9方面,在所述的第6和第7方面中,无论设备ID字段指定存储区或协处理器区与否,设备ID字段的长度都是固定的,并且无论设备ID字段指定存储区或协处理器区与否,命令字段的长度也是固定的。
根据本发明的第10和11方面,在所述的第6和第7方面中,无论设备ID字段指定存储区或协处理器区与否,设备ID字段的长度都是固定的,且命令字段的长度根据设备ID字段指定存储区或协处理器区与否改变。
根据本发明第12、13、14和15方面,在所述的第8、9、10和11方面中,包式存储器/协处理器总线包括控制总线和数据总线,其中控制总线是从总线主控器到集成协处理器包式存储器LSI的单向总线,数据总线是总线主控器和集成协处理器包式存储器LSI之间的双向总线。
根据本发明的第16、17、18和19方面,在所述的第8、9、10和11方面中,包式存储器/协处理器总线包括请求总线和应答总线,其中请求总线是从总线主控器到集成协处理器包式存储器LSI的单向总线,应答总线是从集成协处理器包式存储器LSI到总线主控器的单向总线。
根据本发明的第20方面,提供一种控制所述第1、2或3方面的集成协处理器包式存储器LSI的方法。该方法包括接收步骤、验证步骤、解码步骤、及指示步骤。在接收步骤,接口区通过外部I/O端接收来自第6或第7方面的包式存储器/协处理器总线的请求包。在验证步骤,控制区根据存于集成协处理器包式存储器LSI中的存储器ID和协处理器ID验证请求包中的设备ID字段。在解码步骤,只有在设备ID字段指定任何一个存于集成协处理器包式存储器LSI中的存储器ID和协处理器ID的情况下,控制区才把请求包中的命令字段解码。在指示步骤,控制区指示由设备ID字段指定的存储区或协处理器区执行由请求包发出请求的处理。
根据本发明的第21、22和23方面,在所述的第1、2和3方面中,由第20方面的方法控制集成协处理器包式存储器LSI,且集成协处理器包式存储器LSI还包括存储器ID寄存器、一个或多个协处理器ID寄存器、及存储器/协处理器ID验证电路。存储器ID寄存器存储存储区的存储器ID。各协处理器ID寄存器分别存储协处理器区的协处理器ID。存储器/协处理器ID验证电路与存储器ID寄存器和协处理器ID寄存器连接,根据存储于存储器ID寄存器中的设备ID,并行验证设备ID字段,根据分别存储于协处理器ID寄存器中的协处理器ID,验证协处理器ID字段,由此判断设备ID字段是否指定了集成协处理器包式存储器LSI中的每个存储区和协处理器区。
根据本发明的第24方面,在所述的第22方面中,提供存储器ID寄存器作为存储区的存储控制寄存器区中的一个存储控制寄存器,提供协处理器ID寄存器作为协处理器区的运算控制寄存器区的一个运算控制寄存器。
根据本发明的第25方面,在所述的第20方面中,在解码步骤,控制区使用不同的解码方法,根据请求包的设备ID字段是否指定了存储区或协处理器区,把命令字段解码。因此,带有特定位模式的命令字段可以根据设备ID字段是否指定了存储区或协处理器指定不同的处理请求。
根据本发明的第26方面,在所述的第20方面中,在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,并根据解码的结果指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取。
根据本发明的第27方面,在所述的第20方面中,在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,根据解码结果判断存储区是否可以进行由请求包请求的写存取或读存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在已判断存储区可以进行存取时,指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取。
根据本发明的第28方面,在所述的第20方面中,在请求包中的设备ID字段指定了一个协处理器区时,控制区把请求包的命令字段解码,并根据解码的结果指示指定的协处理器区对协处理器区中的运算控制寄存器区进行写存取或读存取。
根据本发明的第29方面,在所述的第20方面中,在请求包中的设备ID字段指定了一个协处理器时,控制区把请求包的命令字段解码,根据解码结果判断指定的协处理器区是否可以进行由请求包请求的写存取或读存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在已判断协处理器区可以进行存取时,指示指定的协处理器区对协处理器区中的运算控制寄存器区进行写存取或读存取。
根据本发明的第30方案,在所述的第20方案中,在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,并根据解码的结果指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取。在请求包中的设备ID字段指定了一个协处理器区时,控制区把请求包的命令字段解码,根据解码结果判断指定的协处理器区是否可以进行由请求包请求的写存取或读存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在已判断协处理器区可以进行存取时,指示指定的协处理器区对协处理器区中的运算控制寄存器区进行写存取或读存取。
根据本发明的第31方案,在所述的第20方案中,在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,并根据解码的结果指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取。在请求包中的设备ID字段指定了一个协处理器区时,控制区把请求包的命令字段解码。然后,如果被解码的命令字段指示对运算控制寄存器区进行写存取,控制区判断所指定的协处理器区是否可以进行写存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在判断协处理器区可以进行存取后,指示指定的协处理器区对协处理器区中的控制寄存器区进行写存取。如果被解码的命令字段指示对运算控制寄存器区进行读存取,控制区指示指定的协处理器区则对协处理器区中的运算控制寄存器区进行读存取。
根据权利要求32、33、34和35的方案,在第26、27、30和31方案中,在对存储核心区进行写存取时,存储区接收含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线获取的,并利用由请求包的参数字段指定的存储器地址将写数据写入存储核心区。
根据根据权利要求36、37、38和39的方案,在第26、27、30和31方案中,在对存储控制寄存器区进行写存取时,存储区接收含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线获取的,并将写数据写入由请求包的参数字段指定的存储控制寄存器。
根据第40、41、42和43的方案,在第26、27、30和31方案中,在对存储控制寄存器区进行写存取时,存储区接收含于来自控制区的请求包的部分参数字段的写数据,并将写数据写入由请求包的部分参数字段指定的存储控制寄存器。
根据本发明的第44、45、46和47方案,在第26、27、30和31方案中,在对存储核心区或存储控制寄存器区进行读存取时,存储区根据请求包中的参数字段,从存储核心区或存储控制寄存器区读出数据,并将该数据提供给控制区,控制区组合包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
根据本发明的第48、49、50和51,在第28、29、30和31的方案中,在对运算控制寄存器区进行写存取时,协处理器区接收含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线获取的,并将写数据写入请求包的参数字段指定的运算控制寄存器。
根据本发明的第52、53、54、和55方案,在第28、29、30和31的方案中,在对运算控制寄存器区进行写存取时,协处理器区接收含于来自控制区的请求包的部分参数字段的写数据,并将写数据包写入由请求包的部分参数字段指定的运算控制寄存器。
根据本发明的第56、57、58和59方案,在第28、29、30和31的方案中,在对运算控制寄存器区进行读存取时,协处理器区从由请求包的参数字段指定的运算控制寄存器读取数据,并将该数据提供给控制区,控制区组合包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
根据本发明的第60方案,在第31方案中,在对存储核心区、存储控制寄存器区或运算控制寄存器区进行读存取时,在接收了请求包后,集成协处理器包式存储器LSI以预定总线时序将读数据包传输到包式存储器/协处理器总线,在对运算控制寄存器区进行写存取时,在接收了请求包后,集成协处理器包式存储器LSI以相同的预定总线时序将确认包传输到包式存储器/协处理器总线。
根据本发明的第61、62、63和64方案,在第28、29、30和31的方案中,在运算控制寄存器区提供运算启动寄存器,以便在协处理器区开始进行算术逻辑运算时,协处理器区能够查阅运算启动寄存器。在对运算启动寄存器的写存取由请求包中的命令字段和参数字段指定时,包含于请求包的参数字段中的写数据,或包含于写数据包中的写数据用作表示将要执行的算术逻辑运算程序的第一指示地址的程序指针,在程序指针写入到运算启动寄存器后,协处理器区开始利用程序指针才进行算术逻辑运算。
根据第65、66、67和68的方案,在第61、62、63和64的方案中,在对运算启动寄存器的写存取由请求包指定时,表示协处理器区是否能进行所指定的算术逻辑运算的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在所指定的算术逻辑运算可以由协处理器区进行时,协处理器区进行算术逻辑运算。
根据本发明的第69、70、71和72方案,在第56、57、58和59的方案中,提供一个运算结果寄存器,作为一个运算控制寄存器,以便协处理器区可以向运算结果寄存器中写入算术逻辑运算结果。在对运算结果寄存器的读存取由请求包中的命令字段和参数字段指定时,存储于运算结果寄存器中的数据被读出,并被组合成读数据包,并且读数据包传输到包式存储器/协处理器总线。
根据本发明的第73、74、75和76的方案,在69、70、71和72的方案中,在对运算结果寄存器的读存取由请求包中定时,表示算术逻辑运算结果是否已被写入指定运算结果寄存器的信息被作为确认包传输到包式存储器/协处理器总线,只有在算术逻辑运算的结果已被写入到运算结果寄存器中后,才进行对运算结果寄存器的读存取。
根据本发明的77、78、79和80的方案,在69、70、71和72方案中,在对运算结果寄存器的读存取由请求包指定时,包含于读数据包中的表示算术逻辑运算结果是否已被写入指定的运算结果寄存器的信息被传输到包式存储器/协处理器总线。
根据本发明的第81、82、83和84方案,在第61、62、63和64方案中,在通过对运算控制寄存器的写存取,将协处理器进行算术逻辑运算所必需的参数写入了要求数量的运算控制寄存器后,协处理器区根据对运算启动寄存器的写存取开始进行算术逻辑运算。然后,协处理器区参考存储于运算控制寄存器中的参数进行算术逻辑运算。
根据本发明的第85、86、87和88方案,在第69、70、71和72的方案中,在算术逻辑运算的结果不能容纳于运算结果寄存器时,要求数量的运算控制寄存器还用于存储部分算术逻辑运算结果。在通过对运算结果寄存器的读存取连续地读出了部分结果后,通过对运算控制寄存器的读存取从协处理器区读出算术逻辑运算结果。
根据本发明的第89、90、91和92方案,在第56、57、58和59方案中,要求数量的运算控制寄存器用于存储协处理器区进行算术逻辑运算期间产生的中间数据。在对存储中间数据的运算控制寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算控制寄存器中的中间数据,并将之组合成读数据包,然后将该读数据包传输到包式存储器/协处理器总线。
根据本发明的第93方案,在第21方案中,集成协处理器包式存储器LSI具有外部选择输入(select-in)端和外部选择输出(select-out)端,每个存储器区和协处理器区具有内部选择输入端和内部选择输出端。通过连接内部选择输出端与相应的内部选择输入端,并将所有存储区与协处理器区连接成链,形成存储区/协处理器区链。集成协处理器包式存储器LSI的外部选择输入端与存储器区/协处理器区链的第一块的内部选择输入端连接。存储区/协处理器区链的最后一块的内部选择输出端与集成协处理器包式存储器LSI的外部选择输出端连接。
根据本发明的第94方案,提供一种控制第93方案的集成协处理器包式存储器LSI的方法。按该方法,在初始化步骤中,集成协处理器包式存储器LSI中存储区和协处理器区的存储器ID和协处理器ID设定为预定的初始值,存储区和协处理器区的所有内部选择输出端设定为逻辑值‘0’。初始化后,只要向其内部选择输入端提供逻辑值‘0’,每一个其存储器ID和协处理器ID已设定为初始值的存储区和协处理器区忽略对其的写存取,并保持从其内部选择输出端输出逻辑值‘0’。只要向其内部选择输入端提供逻辑值‘1’,每个存储区和协处理器区接收对其的写存取,并从其内部选择输出端输出逻辑值‘1’,由此根据对其的写存取,将由请求包的参数字段指定的存储器ID和协处理器ID写入存储器ID寄存器或协处理器ID寄存器。
根据本发明的第95和96方案,在第4和5方案中,通过连接外部选择输出端与相应的外部选择输入端,将要求数量的第93方案的集成协处理器包式存储器LSI连接成链,从而形成集成协处理器包式存储器LSI链。总线主控器具有外部选择输入端和外部选择输出端。总线主控器的外部选择输出端与集成协处理器包式存储器LSI链中的第一集成协处理器包式存储器LSI的内外部选择输入端连接,集成协处理器包式存储器LSI链中的最后一个集成协处理器包式存储器LSI与总线主控器的外部选择输入端连接。
根据本发明的第97方案,提供一种控制第95和96方案的包式存储器/协处理器总线的方法。在该方法中,作为初始化步骤,与包式存储器/协处理器总线连接的所有集成协处理器包式存储器LSI中的所有存储区和协处理器区的存储器ID和协处理器ID在预定初始值设定,存储区和协处理器区的所有内部选择输出端设定为逻辑‘0’。初始化处理后,总线主控器将其外部选择输出端的逻辑值从‘0’变到‘1’,并传输指定请求包的设备ID字段的初始值和指定请求包的参数字段中的新存储器ID或新协处理器ID的请求包,由此将新存储器ID或新协处理器ID赋予集成协处理器包式存储器LSI链中第一集成协处理器包式存储器LSI的存储区/协处理器区链的第一块。此后,总线主控器再次传输指定请求包中的设备ID字段的初始值和指定请求包的参数字段中新存储ID和新协处理器ID的请求包,由此,根据通过集成协处理器包式存储器LSI链中的块的逻辑值‘1’传输,将特定且唯一的存储区ID和协处理器ID一个接一个地赋予集成协处理器包式存储器LSI链中的存储区和协处理器区。
根据本发明的第98方案,在第2方案中,存储区包括作为一个存储控制寄存器的设备定义寄存器,用于预存储将识别存储区和协处理器区的设备定义信息,每个协处理器区包括作为一个运算控制寄存器的设备定义寄存器,用于预存储识别存储区和协处理器区的设备定义信息。
根据本发明的第99方案,提供一种控制第98方案的集成协处理器包式存储器LSI的方法。按该方法,通过进行给存储控制寄存器区或运算控制寄存器区中的设备定义寄存器指定特定设备ID的读存取,获得设备定义信息,由此总线主控器检查特定设备ID是否已赋予存储区或协处理器区。
根据本发明的第100方案,在第99方案中,不管读存取的目标是否在存储区或协处理器区,总线主控器利用除设备ID字段的指定外都相同的请求包,进行对设备定义寄存器的读存取。
根据本发明的第101方案,在第2方案中,运算控制寄存器区包括作为一个运算控制寄存器的功能定义寄存器。功能定义寄存器预存储把协处理器区的算术逻辑运算功能分类的功能定义码。
根据本发明的第102方案,提供一种控制第101方案的集成协处理器包式存储器LSI的方法。在该方法中,通过进行给运算控制寄存器区中的功能定义寄存器指定特定设备ID的读存取,获得功能定义码,由此总线主控器检查对应于特定设备ID的协处理器区的算术逻辑功能。
通过以下结合附图对本发明的详细说明,会使本发明的目的和特点变得更清楚,其中:
图1是常规包式DRAM的构成实例的框图;
图2A-2C是通过常规包式存储器总线连接图1的常规包式DRAM和协处理器的实例的框图;
图3是展示向图1的包式DRAM请求的处理请求的分类表;
图4A和4B是展示在常规包式存储器总线上传输的各类请求包的示意图;
图5A-5C是展示在图2A-2C构成的包式存储器总线上传输信息包的示意图;
图6A和6B是展示接收了请求包后包式DRAM的工作情况的流程图;
图7A-7E是展示每个信息包的典型包格式的示意图,采用SLDRAM Consortium作实例;
图8是展示根据本发明实施例的集成协处理器包式DRAM的框图;
图9A-9C是展示通过本发明的包式存储器/协处理器总线连接图8的集成协处理器包式DRAM和微处理器9的实例的框图;
图10A和10B是展示在本发明的包式存储器/协处理器总线上传输的各类信息包的示意图;
图11A-11C是展示按图9A-9C的各实施例在包式存储器/协处理器总线上传输信息包的情况的示意图;
图12是展示由请求包向本发明的集成协处理器包式DRAM提出请求的处理请求的分类表;
图13A-13F是展示在本发明的包式存储器/协处理器总线上传输的每种信息包的包格式的示意图;
图14是展示根据本发明实施例的存储器/协处理器ID验证电路的构成的示意图;
图15是展示集成协处理器包式DRAM的存取请求操作的实例的流程图;
图16是展示集成协处理器包式DRAM的存取请求操作的另一实例的流程图;
图17是展示对本发明的集成协处理器包式DRAM中协处理器区的协处理存取的具体功能的分类表;
图18是展示本发明的协处理器区的构成实例的框图;
图19是展示在由总线主控器对本发明的集成协处理器包式DRAM进行的存取过程中总线时序实例的时序图;
图20是展示在由总线主控器对本发明的集成协处理器包式DRAM进行的存取过程中总线时序另一实例的时序图;
图21是展示根据本发明另一实施例的包式存储器/协处理器总线的框图;
图22是展示本发明集成协处理器包式DRAM中存储控制寄存器区和运算控制寄存器区的实例的示意图。
下面参照附图详细说明本发明的优选实施例。
(集成协处理器包式DRAM)
图8是展示本发明一个实施例的集成协处理器包式DRAM的框图。
图8的集成协处理器包式DRAM包括存储区11、控制区12、接口区13及协处理器区14。
存储区11包括DRAM核心区15和存储控制寄存器区16。DRAM核心区15包括多个DRAM组17和对应于每个DRAM组17提供的多个读出放大器18,存储控制寄存器区16包括多个存储控制寄存器29。
控制区12包括存储/运算控制逻辑电路19、控制信号寄存器20、写数据寄存器21、读数据寄存器22及存储器/协处理器ID验证电路23。控制区12具有三个I/O信号端,与接口区13连接。控制区12的I/O信号端包括控制信号端24及写数据端25(输入端)和读数据端26(输出端)。
接口区13与由多个信号端构成的外部I/O端5连接。存储区11和控制区12通过双向内部存储器数据总线27连接在一起。
协处理器区14包括运算核心区30、运算控制区31和运算控制寄存器区32。运算控制寄存器区32包括多个运算控制寄存器33。协处理器区14通过双向内部协处理器数据总线28与控制区12连接在一起。
顺便提及,本发明中,设于集成协处理器包式DRAM1中的协处理器区14的数量不限于1个,可以是包括0在内的任意要求数量。然而,为简单起见,图8示出了集成协处理器包式DRAM 1内设一个协处理器区14的情况。
图8中,存储区11的存储控制寄存器区16和协处理器区14的运算控制寄存器区32与控制区12中的存储器/协处理器ID验证电路23连接,用于判断外部I/O端5接收的处理请求是发送到存储区11的请求还是发送到协处理器的请求,如下所述。存储区11具有特定的存储器ID,协处理器区14具有特定的协处理器ID。存储区11的存储器ID存储于存储控制寄存器区16的一个专门的存储控制寄存器29中,而协处理器区14的协处理器ID存储于运算控制寄存器区32的一个专门的运算控制寄存器33中。根据分别存储于存储控制寄存器区16中和运算控制寄存器区32中的存储区11的存储器ID和协处理器区14的协处理器ID,验证已通过外部I/O端5和控制信号寄存器20提供的指定设备ID,从而由存储器/协处理器ID验证电路23进行上述判断。
(包式存储器/协处理器总线)
图9A-9C是展示集成协处理器包式DRAM 1和微处理器9通过本发明的包式存储器/协处理器总线2连接的实例的框图。图9A-9C中,展示了集成协处理器包式DRAM 1中有三种类型的接口区13和相应的三种类型的包式存储器/协处理器总线2的三个实施例。顺便提及,本发明的包式存储器/协处理器总线2是单总线主控器型总线,只允许包式存储器/协处理器总线2上有一个总线主控器,所有与包式存储器/协处理器总线2连接的集成协处理器包式DRAM 1都作为从设备工作。如上所述,‘总线主控器’一词一般是指可以专门控制总线和向总线发送请求的设备,‘从设备’一词一般是指不向总线自动发送请求但应答来自总线主控器的请求的设备。由于一条总线上只允许一个总线主控器,且在总线上设置其它设备作为从设备,所以总线主控器不用判断包式存储器/协处理器总线2的总线归属权便可发送请求,由此可以简化包式存储器/协处理器总线2的规约。顺便提及,尽管提供微处理器9作为图9A-9C的包式存储器/协处理器总线2的总线主控器,但也可以为包式存储器/协处理器总线2提供其它类型的总线主控器,例如其它类型的存储控制器、信号处理器、图形加速器、ASIC等等。
在图9A的构成中,与图8的方式相同,图9A的集成协处理器包式DRAM 1由存储区11、控制区12、接口区13和协处理器区14构成。控制区12的所有I/O端即控制信号端24、写数据端25和读数据端26与接口区13连接。接口区13通过外部I/O端5与包式存储器/协处理器总线2连接。包式存储器/协处理器总线2连接微处理器9和多个集成协处理器包式DRAM 1。图9A的包式存储器/协处理器总线2为含有要求数量的信号线的双向总线。
图9B的构成中,接口区13由控制接口区13-1和数据接口区13-2构成。控制区12的控制信号端24与控制接口区13-1连接,控制区12的写数据端25和读数据端26与数据接口区13-2连接。图9B的包式存储器/协处理器总线2由控制总线2-1和数据总线2-2构成,它们每一个都包括要求数量的信号线。控制接口区13-1与控制总线2-1之间及数据接口区13-2与数据总线2-2之间通过外部I/O端5连接。图9B中,控制总线2-1是从微处理器9到集成协处理器包式DRAM 1的单向总线,数据总线2-2是双向总线。
在图9C的构成中,接口区13由请求接口区13-3和应答接口区13-4构成。控制区12的控制信号端24和写数据端25与请求接口区13-3连接,控制区12的读数据端26与应答接口区13-4连接。图9C的存储器/协处理器总线2由请求总线2-3和应答总线2-4构成。请求接口区13-3与请求总线2-3之间及应答接口区13-4与应答总线2-4之间通过外部I/O端5连接。图9C中,请求总线2-3是从微处理器9到集成协处理器包式DRAM 1的单向总线,而应答总线2-4是相反方向的单向总线。
(存储器ID及协处理器ID)
在每个与包式存储器/协处理器总线2连接的本发明集成协处理器包式DRAM 1中,每个存储区11具有特定存储器ID,每个协处理器区14具有特定协处理器ID。根据本发明的实施例,通过赋予不同的数值,将存储器ID和协处理器ID赋予存储区11和协处理器区14,以便每个ID具体到设备,并且对于包式存储器/协处理器总线2是唯一的。由于这种赋值,通过指定存储器ID(或协处理器ID),可以从与包式存储器/协处理器总线2连接的所有包集成协处理器包式DRAM 1的多个存储区11和协处理器区14中确定一个存储区(或一个协处理器区14)。
本发明包式存储器/协处理器总线2的目的之一是将构成包式存储器/协处理器总线2的信号线的数量减少到构成常规包式存储器总线1002的信号线数量水平。因此,根据本发明的包式存储器/协处理器总线2的特征在于构成包式存储器/协处理器总线2的信号线的数量较少。具体地,包式存储器/协处理器总线2的信号线的数量约为10-30条。如上所述,为了通过这些少量信号线在微处理器9(总线主控器)和集成协处理器包式DRAM 1之间传输必要信息,需要提供在某些周期中将信息组合成信息包并发送和接收信息包的系统,为了组合和拆散这些信息包,还必须建立某些固定规约。
(信息包类型)
图10A和10B是展示在本发明的包式存储器/协处理器总线2上传输的各类信息包的示意图。图10A中示出的两种信息包即请求包和写数据包从微处理器9传输到集成协处理器包式DRAM 1。请求包是一种可变长度的信息包,是通过根据预定规约将对一个集成协处理器包式DRAM 1的处理请求的指令编码产生的。写数据包包括大小可变的写数据。另外,示于图10B的两种信息包即读数据包和确认包从集成协处理器包式DRAM 1传输。读数据包包括大小可变的读数据。确认包一般是固定长度的信息包。确认包是某些实施例所必需的,而在另一些实施例中是不必要的,如以下所述。
(信息包传输)
图11A-11C是展示图9A-9C的每个实施例中在包式存储器/协处理器总线2上传输信息包的情况的示意图。图11A-11C中,与图9A-9C的方式相同,微处理器9(总线主控器)设置于左侧,集成协处理器包式DRAM 1(从设备)设置于右侧。图11A-11C分别对应于图9A-9C。
如图11A所示,每种信息包在图9A实施例中的双向包式存储器/协处理器总线2上传输。
如图11B所示,请求包在控制图9B实施例的总线2-1上传输,写数据包、读数据包和确认包在图9B实施例的数据总线2-2上传输。
如图11C所示,请求包和写数据包在图9C实施例的请求总线2-3上传输,读数据包和确认包在图9C实施例的应答总线2-4上传输。
(被请求的处理)
图12是展示由请求包向本发明的集成协处理器包式DRAM 1请求的处理请求的分类表。处理类型包括对存储区11的‘存储器存取’,对协处理器区14的‘协处理器存取’,‘初始化’和‘刷新’。每种处理都是由图9A-9C中的包式存储器/协处理器总线2的总线主控器即微处理器9请求的。‘存储器存取’处理按目标分为两种,即对存储区11中的DRAM核心区15的存储器存取,以及对存储区11中的存储控制寄存区16在存储器存取。每个对DRAM核心区15的存储器存取和对存储控制寄存器区16的存储器存取皆包括两种操作(命令),即读和写。在‘协处理器存取’时,请求的目标是协处理器区14中的运算控制寄存器区32,也有两种操作(命令),即读和写。‘初始化’包括使存储控制逻辑电路19的内部状态复位、把集成协处理器包式DRAM 1的特定设备信息存储于存储控制寄存器区16和运算控制寄存器区32中的操作等等。‘刷新’一般是指周期性地重写DRAM核心区15中的DRAM单元,用于保持DRAM核心区15的工作所必需的DRAM单元的记忆。下面将解释特殊初始化过程。由于刷新过程几乎与本发明的目的无关,所以省略对刷新过程的说明。向存储区11的存储控制寄存器区16和协处理器区14中的运算控制寄存器区32发出‘初始化’请求,并向存储区11中的DRAM核心区15发出‘刷新’请求。在任何一种情况下,微处理器9(总线主控器)皆为请求者。
(包格式)
图13A-13F是展示在本发明的包式存储器/协处理器总线2上传输的每种信息包的包格式的示意图。图13A-13F中,展示了使用包括控制总线2-1和数据总线2-2的图9B的包式存储器/协处理器总线2的情况。然而,这些信息包实际上还可以在图9A和9C的存储器/协处理器总线2上传输。具体地,图13A-13F展示了控制总线2-1和数据总线2-2中信号线数量分别为10和16的情况。图13A-13D展示了请求包的实例,图13E展示了确认包的实例,图13F展示了读数据包或写数据包的实例。
图13A展示了用于向DRAM核心区15请求写存取或读存取的请求包的包格式。图13A的请求包占据10位控制总线四个周期。在第一周期,前7位用作指定设备ID的设备ID字段,其余3位用作指定命令No.0的命令字段。在第二周期,前3位用作指定命令No.1的命令字段,其余7位用作指定参数No.0的参数字段。其余两个周期分别用作指定参数No.1和No.2的参数字段。包括处理类型、目标、示于图12的操作(命令)、关于DRAM核心区15的控制的信息等的控制信号信息按命令No.1和命令No.2的命令字段指定。DRAM核心区15中的数据地址按参数No.0、参数No.1和参数No.2的参数字段指定。
图13B展示了向存储控制寄存器区16请求写存取或读存取的请求包的包格式实例。图13B的请求包占10位控制总线2-1两个周期。在第一周期,前7位用作指定设备ID的设备ID字段,其余3位用作指定命令No.0的命令字段。在第二周期,前3位用作指定命令No.1的命令字段,其余7位用作指定参数No.0的参数字段。
在向运算控制寄存器区32请求写存取或读存取时,可以使用与图13B相同的包格式,也可以使用命令字段(命令No.0和No.1)的字段长度不同于图13B的包格式。图13C展示了后一情况下向运算控制寄存器区32请求写存取或读存取的请求包的包格式实例。图13C的请求包占据10位控制总线2-1两个周期。在第一周期,前7位用作指定设备ID的设备ID字段,其余3位用作指定命令No.0的命令字段。在第二周期,前2位(不是3位)用作指定命令No.1的命令字段,其余8位用作指定参数No.0的参数字段。
图13D展示了向存储控制寄存器区16或运算控制寄存器区32请求写存取或读存取的请求包的包格式实例。图13D的请求包占据四个周期中的10位控制总线2-1四个周期。在第一周期,前7位用作指定设备ID的设备ID字段,其余3位用作指定命令No.0的命令字段。在第二周期,前3位用作指定命令No.1的命令字段,其余7位用作指定参数No.0的参数字段。其余两个周期分别用作指定参数No.1和No.2的参数字段。
按图13A-13D所示包格式,提供设备ID用于从所有与包式存储器/协处理器总线2连接的所有集成协处理器DRAM 1的所有存储区11和协处理器区14中指定一个或多个存储器区11或协处理器区14,作为请求的目标。设备ID可以指定一个存储区11或协处理器区14(多点播送),或同时指定多个存储区11或协处理器区14(广播),或同时指定所有存储区11和协处理器区14。命令字段(命令No.1和No.2)用于表示请求包请求的具体处理。请求包所请求的处理将在以后详细说明。参数字段(参数No.0、No.1和No.2)用于指定进行请求包所请求的处理所必需的参数。
如图13A-13D所示,设备ID字段对本发明包式存储器/协处理器总线2的每种请求包格式来说是相同的,必须应答此请求的存储区11或协处理器区14通过对设备ID字段的验证唯一确定。图13A-13D的设备ID字段为7位设备字段,所以128个不同数码(0-127)可以由设备ID字段指定。例如,0-63这64个数码可用于指定一个存储区11或一个协处理器区14,64-127这64个数码可用于多点播送或广播。按该实施例,存储器/协处理器设备ID可以是从0-63中的一个数,因此与包式存储器/协处理器总线2连接的集成协处理器DRAM 1中的存储区11和协处理器区14的数可为64或更少。
关于命令字段(命令No.0和No.1),在请求包的目标为存储区11的情况下和请求包的目标为协处理器14的情况下,请求包中命令字段的字段长度可以不同,也可以相同,如以上参照图13B和13C所作说明。
图13E展示了确认包的包格式实例。图13E的确认包占据16位数据总线2-2一个周期,其中前2位用作可接受/不可接受字段,其余14位用作参数字段,或不用。可接受/不可接受字段用于表示是否可以接受请求(即是否可以应答此请求),或是否存在某些系统错误。在其余14位用作参数字段时,参数字段用于表示微处理器9(总线主控器)处理确认包所必需的参数。
图13F展示了写请求包或读请求包的包格式实例。每个写数据包和读数据包传输可变长度数据,占据数据总线2-2必需的周期数。
(存储器/协处理器ID验证电路)
图14是展示本发明一个实施例的存储器/协处理器ID验证电路23的框图,该电路用于根据存储于集成协处理器包式DRAM 1中的存储器ID和协处理器ID验证含于请求包的设备ID字段中的设备ID。图14的存储器/协处理器ID验证电路23包括多个设备ID验证电路52。设备ID验证电路52是根据输入的存储器ID或协处理器ID验证的请求包中输入的设备ID字段、并判断该设备ID字段是否指定存储器ID或协处理器ID的电路。图14展示了一个实施例,其中集成协处理器DRAM 1包括一个存储区11和两个协处理器区14,这样图14的存储器/协处理器ID验证电路23包括三个设备ID验证电路52。图14中,设备ID字段由控制信号寄存器20提供到每个设备ID验证电路52,存储器ID和协处理器ID分别从存储器ID寄存器50和协处理器ID寄存器51提供到相应的设备ID验证电路52。顺便提及,如上所述,按该实施例,提供存储器ID寄存器50作为存储控制寄存器区16中的一个存储控制寄存器29,提供协处理器ID寄存器51作为运算控制寄存器区32中的一个运算控制寄存器33。每个设备ID验证电路52将验证结果输出到存储/运算控制逻辑电路19。这里,设备ID验证电路52可以由与现有技术中所用的普通存储器ID验证电路相同的电路。
(设备ID字段验证和命令字段解码)
下面将参照图8和14说明在提供请求包后,即验证设备ID字段和将命令字段解码时,集成协处理器包式DRAM 1的控制方法和操作情况。把从总线主控器发送的请求包通过外部I/O端5输入到集成协处理器包式DRAM 1,并通过接口区13提供到控制区12的控制信号端24,然后由控制信号寄存器20锁存。随后,从控制信号寄存器20只将请求包中的设备ID字段输入到存储器/协处理器ID验证电路23,请求包的其它字段直接提供给存储/运算控制逻辑电路19。然后,存储器/协处理器ID验证电路23根据对应于集成协处理器包式DRAM 1的所有存储区11和协处理器区14的所有存储器ID和协处理器ID并行验证设备ID字段,并将验证结果即设备ID字段是否与每个存储区11和协处理器区14匹配发送到存储/运算控制逻辑电路19。
存储/运算控制逻辑电路19接收来自上述存储器/协处理器ID验证电路23的验证结果,即是否已对集成协处理器包式DRAM 1中的存储区11进行了请求处理的请求包寻址,及是否对集成协处理器包式DRAM1中的协处理器区14进行了请求包寻址。然后,只有在集成协处理器包式DRAM 1的任一个存储区11或协处理器区14已按请求包的设备ID字段指定的情况下,存储/运算控制逻辑电路19才对请求包的命令字段解码,并确定已请求的处理,指示所指定的存储区11或协处理器区14进行处理。
如上所述,根据本发明的集成协处理器包式DRAM 1中,在进行命令字段解码之前,可以判断是否已对存储区11或协处理器区14进行了包含命令字段的请求包寻址。因此,本发明的集成协处理器包式DRAM 1可以根据是否对存储区11或协处理器区14进行了请求包寻址转换解码方法并利用不同命令字段的解码方法,由此可以根据请求包目标,利用有不同命令字段长度的不同请求包格式。另一方面,还可以根据请求包的目标,利用有相同字段长度和位模式的相同命令字段作为用于绝对不同处理的不同请求。例如,可以根据目标将有特定位模式的命令字段用于绝对不同的处理请求,如用于对存储区11中的存储控制寄存器区16的读存取,和对协处理器区14中运算控制寄存器区32的写存取。
在通过设备ID字段验证和命令字段解码以请求对集成协处理器包式DRAM 1中的存储区11或协处理器14进行存储器存取或协处理器存取判断请求包时,集成协处理器包式DRAM 1对存储区11或协处理器区14进行存取请求操作,如下所述。
(存取请求操作)
可以按不同方式进行集成协处理器包式DRAM 1的存取请求操作。作为存取请求操作的第一实例,在设备ID字段验证和命令字段解码后,控制区12可以执行对存储区11或协处理器区14的写存取或读存取指令。只有在例如微处理器9等总线主控器请求的处理限于可由集成协处理器包式DRAM 1执行的处理时,才可以使用该实例。为了能够确保所请求处理的可执行性,需要总线主控器掌握集成协处理器包式DRAM 1中存储区11和协处理器区14的内部状态。在第一实例中,示于图10B的确认包是不必要的。
作为集成协处理器包式DRAM 1的存取请求操作的第二实例,在设备ID字段验证和命令字段解码后,控制区12首先可以判断是否可以对存储区11或协处理器区14进行写存取或读存取,然后将判断结果以确认包的形式发送到包式存储器/协处理器总线2。正如已参照图13E所作的解释,确认包包括表示是否可以进行所请求的处理的可接受/不可接受字段,可执行性的判断结果由确认包传输到总线主控器。在所请求的处理可以执行时,与第一实例类似,在设备ID字段验证和命令字段解码后,控制区12执行对存储区11或协处理器区14的写存取或读存取。所请求的处理不能执行的情况下,控制区12的操作情况以后说明。只有在例如微处理器9等总线主控器请求的处理不限于集成协处理器包式DRAM 1可以进行的处理时,才可以采用第二实例。
可以组合利用集成协处理器包式DRAM 1的存取请求操作的上述第一和第二实例,这取决于存取目标,命令等等。
图15是展示集成协处理器包式DRAM 1的存取请求操作第三实例的流程图,其中结合利用了上述第一和第二实例。按图15的第三实例,在请求对存储区11进行存取时,利用不需要确认包的第一实例,而在请求对协处理器进行存取时,利用需要确认包的第二实例。
图16是展示集成协处理器包式DRAM 1的存取请求操作第四实例的流程图,其中结合利用了上述第一和第二实例。按图16的第四实例,在请求对存储区11进行存取或对协处理器区14进行读存取时,利用不需要确认包的第一实例,而在请求对协处理器进行写存取时利用需要确认包的第二实例。
在对存储区11进行存储器存取时,必需确认包,例如,在DRAM核心区15的刷新期间请求对DRAM核心区15进行存取,而总线主控器微处理器9不知道刷新是否在进行中时,或在微处理器9不知道要存取的数据是否已暂存于读出放大器18中时。这些情况下,确认包包括表示是否接受所请求的处理的信息和指示微处理器9在不接受所请求的存取时如何工作的信息。该指令例如可以是一定时间后再次请求存取的指令、等待一定时间直到完成存取的指令等。
在对协处理器区14进行协处理器存取时,在总线主控器微处理器9对运算控制寄存器区32进行写存取或读存取时,或总线主控器不知道是否可以进行对运算控制寄存器区32进行存取时,确认包是必需的,例如,在协处理器14工作所必需的数据仍保留于运算控制寄存器区32的运算控制寄存器33中时应对运算控制寄存器区32进行写存取的情况,或在协处理器区14不向运算控制寄存器区32的运算控制寄存器33写入数据时对运算控制寄存器区32进行读存取的情况。这些情况下,确认包包括表示是否可以接受所请求的存取的信息,和指示微处理器9如何在不能接受所请求的存取时例如操作信息。该指令例如可以是一定时间后的再次请求存取的指令、等待一定时间直到存取完成的指令等。
(存取操作)
下面将参照图8、图15和图16说明集成协处理器DRAM 1对存储区11和协处理器区14的存取操作。如上所述,存取的大致目标按设备ID字段指定,并从集成协处理器DRAM 1的存储区11和协处理器区14中确定,所请求存取的细节按命令字段指定。
(对DRAM核心区的存储器存取)
在对存储区11的DRAM核心区15进行存储器存取时,要求的DRAM组17由按参数字段指定的地址选择,选中的DRAM组17中的数据通过相应的读出放大器18进行存取。这里,读出放大器18也作为相应DRAM组17的高速缓存存储器或高速缓冲器工作。因此,在将要存取的地址范围在已暂存于读出放大器18中的数据范围内时,读出放大器18代替DRAM组17高速进行存取,由此可以进行高速存储器存取。这样,由于根据所要求数据是否已暂存于读出放大器18中对DRAM组17进行存取,所以存取时间显著改变。在对未暂存于读出放大器18中的数据寻址随后的存取时,如果在随后的存取之前暂存于读出放大器18中的数据写回到DRAM组17中,对高速存取是有益的。因此,在对DRAM核心区15进行存储器存取的情况下,根据本发明一个实施例的命令字段可以包括关于控制DRAM核心区15的信息,例如,是否应该对DRAM组17进行存取,读出放大器18中的数据是否应该写回到DRAM组17等等。
如图15和16所示,在对集成协处理器包式DRAM 1进行存取时,利用该控制方法和由请求包中的命令字段和参数字段指定的地址,从总线主控器微处理器9接收写数据包,并将写数据包内的可变长度写数据写入到DRAM核心区15,从而对DRAM核心区15进行写存取。另一方面,利用该控制方法和由请求包中的命令字段和参数字段指定的地址,从DRAM核心区15读出可变长度数据,并以读数据包的形式传输数据,从而对DRAM核心区15进行读存取。在写存取时,控制区12通过写数据端25接收写数据包,读存取时,控制区12通过读数据端26传输读数据包。写数据寄存器21作为写数据端25的一个输入锁存器(或输入寄存器)工作,读数据寄存器22作为读数据端26的一个输出锁存器(或输出寄存器)工作。读数据和写数据通过内部存储器数据总线27在控制区12和DRAM核心区15之间传输。
(对存储控制寄存器区的存储器存取)
在对存储区11中的存储控制寄存器区16进行存储器存取时,请求包中的参数字段指定将进行写存取或读存取的存储控制寄存器29。写存取时,接收写数据包,写数据包中的固定长度写数据写入到指定的存储控制寄存器29中,读存取时,从指定存储控制存器29读出固定长度数据,并以读数据包形式传输该数据。在对存储控制寄存取区16进行存储器存取时用命令字段的指定比对DRAM核心区15的存储器存取情况简单。写存取时,控制区12通过写数据端25接收写数据包,在读存取时,控制区12通过读数据端26传输读数据包。读数据和写数据通过内部存储器数据总线27在控制区12和存储控制寄存器区16间传输。
作为对存储控制寄存器区16进行写存取的另一方法,还可以在部分请求包中包含写数据,从而不使用写数据包。例如,按图13D所示请求包格式,写数据包含于参数No.1和No.2的参数字段中。参数No.0的参数字段用于指定存储控制寄存器29作为如上所述的写存取的目标。在本方法的写存取过程中,控制区12通过控制信号端24接收写数据。
(对运算控制寄存取器区的协处理器存取)
在对协处理器区14中的运算控制寄存器32进行协处理器存取时,请求包中的参数字段指定将进行写存取或读存取的运算控制寄存器33。写存取时,接收写数据包,并将写数据包中的写数据写入到指定的运算控制寄存器33中,读存取时,从指定的运算控制寄存器33读出数据,并以读数据包的形式传输该数据。读数据和写数据通过内部协处理器数据总线28在控制区12和运算控制寄存器区32间传输。写存取时,控制区12通过写数据端25接收写数据,读存取时,控制区12通过读数据端26传输读数据。上述图15所示第三实例在协处理器存取的写存取时使用写数据包,所以图15所示实例对应于本方法。
关于对运算控制寄存器区32进行写存取的另一方法,还可以在部分请求包中包含写数据,从而不使用写数据包。例如,按图13D所示请求包格式,写数据包含于参数No.1和No.2的参数字段中。参数No.0的参数字段用于指定运算控制寄存器33作为如上所述的写存取的目标。在本方法的写存取过程中,控制区12通过控制信号端24接收写数据。上述图16所示第四实例在协处理器存取的写存取过程中不使用写数据包,所以图16所示的实例对应于本方法。
(协处理器存取类型)
图17是展示对本发明集成协处理器包式DRAM 1的协处理器区14的协处理器存取的更具体功能的分类表。图17中,对协处理器区14的写存取包括两种子命令:‘运算参数写入’和‘运算启动请求’,对协处理器区14的读存取包括两种子命令:‘运算结果请求’和‘运算状态读取’。
运算参数写入是对协处理器区14进行写存取,其中利用总线主控器将协处理器区14的算术逻辑运算所必需的运算参数写入运算控制寄存器区32。这里,运算参数例如包括用于算术逻辑运算的数据地址。
运算启动请求是对协处理器14进行写存取,其中总线主控器请求协处理器区14启动某类算术逻辑运算。根据运算启动请求,协处理器区14利用已写入运算挖控制寄存器区32的运算参数开始进行要求的算术逻辑运算。
运算状态读取是对协处理器区14的读存取,其中总线主控器从运算控制寄存器区32读取协处理器区14的运算状态。这里,运算状态信息例如包括算术逻辑运算中产生的中间数据,及有关协处理器区14的算术逻辑运算是否在进行中的信息。
运算结果请求是对协处理器区14的读存取,其中总线主控器在协处理器区14完成了算术逻辑运算后读取算术逻辑运算的结果。
(协处理器区)
图18是展示本发明的协处理器区14的构成的框图。图18中,协处理器区14的运算控制区31由程序计数器61、指令解码器62和指令信息寄存器64构成。指令解码器62中具有状态标志寄存器63。如上所述,运算控制寄存器区32由多个运算控制寄存器33构成,且运算控制寄存器33包括协处理器ID寄存器51、运算启动寄存器65、运算结果寄存器66和处理时间寄存器67。
(协处理器存取操作)
以下将参照图17和18详细说明在对协处理器区14进行协处理器存取时集成协处理器包式DRAM1的操作。
(运算参数写入)
在运算参数写入时,运算参数通过内部存储器数据总线27和内部协处理器数据总线28提供给运算控制寄存器区32。将写入运算参数的运算控制寄存器33由存储/运算控制逻辑电路19指定。顺便提及,可根据有关运算参数写存取的可接受/不可接受的两种控制方法进行运算参数写入。按第一控制方法,运算参数毫无例外地全部写入运算控制寄存器区32。按第二控制方法,判断是否可接受对协处理器区14进行运算参数写存取。按第二控制方法,存储/运算控制逻辑电路19首先通知运算控制区31运算参数写存取,然后运算控制区31通过查阅指令解码器62中的状态标志寄存器63判断是否可接受运算参数写存取,并通知存储/运算控制逻辑电路19判断结果。这里,状态标志寄存器63是存储表示协处理器区14是否在进行某算术逻辑运算的状态标志的寄存器。如果协处理器区14中正在进行某算术逻辑运算,按第二方法不接受运算参数的写存取。
(运算启动请求)
在运算启动请求过程中,表示将要执行的算术逻辑运算程序中第一指令地址的第一程序指针通过内部存储器数据总线27和内部协处理器数据总线28提供给运算控制寄存器区32,存储/运算控制逻辑电路19指示运算控制寄存器区32向运算启动寄存器65中写入程序指针的值。顺便提及,根据有关运算启动请求中的写存取可接受/不可接受的两种控制方法,可以进行运算启动请求。按第一控制方法,运算启动请求无一例外地全被接受,而按第二控制方法,要判断运算启动请求是否可以接受。按第二控制方法,存储/运算逻辑电路19首先通知运算控制区31运算启动请求,然后运算控制区31通过查阅指令解码器62中的状态标志寄存器63判断是否可以写入程序指针,并通知存储/运算控制逻辑电路19判断结果。如果协处理器区14中正在进行某算术逻辑运算,则按第二方法不接受运算启动请求。按两种控制方法,与在接受运算启动请求情况下将程序指针值写入运算启动寄存器65同时,程序指针还直接写入到程序计数器61。根据此写入,指令解码器62启动算术逻辑运算。在算术逻辑运算开始时,状态标志寄存器63中的状态标志设为ON,用于表示协处理器区14中某算术逻辑运算在进行中。
通过按程序计数器61指示的顺序执行含于算术逻辑运算程序中的一系列指令,进行算术逻辑运算处理。由总线主控器的运算启动请求开始算术逻辑运算处理,此后由协处理器区14自动进行。算术逻辑运算程序中每条指令的执行情况如下。程序计数器61的值由指令解码器62读出,程序计数器值被指令解码器62修改成下一个值。指令解码器62读出的程序计数器值被发送到存储/运算控制逻辑电路19,由此通过内部存储器数据总线28和内部协处理器数据总线28从DRAM核心区15读出指令,并传输到指令解码器62。指令解码器62把已从DRAM核心区15读出的指令解码,并请求执行来自运算控制寄存器区32的解码的指令所必需的寄存器数据读取。指令信息寄存器64是存储从运算控制寄存器区32读出的寄存器数据和表示将由运算核心区30进行的算术逻辑运算的类型的指令解码信息的寄存器。寄存器数据和指令解码信息传递到运算核心区30,由此由运算核心区30执行该指令。指令执行的结果是通过内部存储器数据总线27和内部协处理器数据总线28对运算控制寄存器区32进行写入或对DRAM核心区15进行写入。顺便提及,根据指令的执行情况,通过内部存储器数据总线27和内部协处理器数据总线28,可以从DRAM核心区15读出必要的数据。
(运算状态读取)
在运算状态读取时,通过内部协处理器数据总线28和内部存储器数据总线27从运算控制寄存器区32读出运算状态。运算状态将从中读出的运算控制寄存器33由存储/运算控制逻辑电路19指定。运算状态的读取甚至可以在进行某算术逻辑运算的同时进行。例如,在总线主控器需要与协处理器区14正在进行的某算术逻辑运算同步时,可以使用运算状态读取。例如,在执行完特定指令后,可以将算术逻辑运算编程,以便特定的运算控制寄存器33可以设定为特定值。这种情况下,通过利用运算状态读取读出运算控制寄存器33的值,总线主控器可以判断指令是否已执行完毕。而且,例如,在总线主控器需要知道协处理器区14是否未进行算术逻辑运算时,也可以使用运算状态读取。例如,可以将存储于状态标志寄存器63中的状态标志值映射到特定的运算控制寄存器33。这种情况下,通过利用运算状态读取,读出运算控制寄存器33的值,由此总线主控器可以判断协处理器区14是否未进行算术逻辑运算。
(运算结果请求)
在运算结果请求时,通过内部协处理器数据总线28和内部存储器数据总线27,从运算结果寄存器66中读出算术逻辑运算的结果(即运算结果),其中存储/运算控制逻辑电路19指示运算控制区31读出运算结果。顺便提及,可以根据有关运算结果请求中的读存取可接受/不可接受的两种控制方法,进行运算结果请求。按第一控制方法,无一例外地全部进行运算结果的读取,按第二控制方法,要判断是否可以进行运算结果的读取。按第二方法,运算控制区31首先通过查阅指令解码器62中的状态标志寄存器63判断是否完成了算术逻辑运算,然后通知存储/运算控制逻辑电路19判断结果。这里,如上所述,状态标志寄存器63是存储表示协处理器区14是否在进行某算术逻辑运算的状态标志的寄存器。如果协处理器区14正在进行某算术逻辑运算,则按第二控制方法不能接受运算结果请求。顺便提及,在算术逻辑运算的结果量很大,不能容纳于运算结果寄存器66中时,可以用其它运算控制寄存器存储部分运算结果。这种情况下,总线主控器首先通过对运算结果寄存器66进行读取读出部分运算结果,在连续地完成了对运算结果寄存器66的读取后,总线主控器通过对运算控制寄存器33进行读取读出其余的运算结果。
如已参照图17和18所作的解释,在运算参数写入、运算启动请求和运算结果请求过程中,存在着根据上述‘第二方法’进行这种协处理器存取的情况,其中协处理器区14可以拒绝对协处理器区14进行存取的请求。
在运算参数写入或运算启动请求过程中使用第二方法时,利用确认包将协处理器区14的写存取的可接受/不可接受传输到总线主控器。这种情况下,确认包的可接受/不可接受字段表示是否可以接受写存取,确认包的参数字段包括例如拒绝写存取的原因、拒绝写存取将持续多长时间等信息等等。可以如下获得关于写存取拒绝持续时间的信息。将算术逻辑运算处理时间的预测值初步写入算术逻辑运算的程序中,并算术逻辑运算开始时将该预测值写入作为一个的运算控制寄存器33的处理时间寄存器67。根据时钟信号中每次提供的预定数量的前沿递处理时间寄存器67的值。将请求写存取(即运算参数写入或运算启动请求)时处理时间寄存器67的值复制到确认包的参数字段,由此关于写存取拒绝持续时间的信息可以包含于确认包中。
在运算结果请求过程中使用第二方法时,利用确认包或读数据包,将对协处理器区14的运算结果请求的可接受/不可接受传输到总线主控器。在使用确认包时,确认包的可接受/不可接受字段用于表示是否可接受运算结果请求,确认包中的参数字段包括例如运算结果请求被拒绝的原因和持续时间等信息等等。在使用读数据包时,读数据包中一个特定位用于表示读数据包的成分是否是从运算结果寄存器66读出的运算结果,或表示关于存取拒绝的信息。因此,读数据包中读数据的数据长度必需短于读数据包大小一位。在运算请求被拒绝时,与上述确认包中信息相同的信息包含于读数据中,并进行传输。
(存取时的总线时序)
图19是展示由总线主控器对本发明的集成协处理器包式DRAM 1进行存取时总线时序的实例的时序图。对于存储器存取(即对DRAM核心区15或存储控制寄存器区16的存取),图19示出了不用确认包的实例。对于对存储控制寄存器区16的写存取,图19示出了使请求包中包含写数据因而不用写数据包的实例。在协处理存取时,对于对运算控制寄存器区32的读存取(包括运算结果存取和运算状态读取)和运算参数写存取,图19展示了不用确认包的实例。另外,对于对运算控制寄存器区32的运算启动请求,图19展示了使用确认包的实例。在图19所示的协处理器读存取中的运算结果请求过程中,利用读数据包将对协处理器区14的运算结果请求的可接受/不可接受传输到总线主控器。对于运算启动请求,协处理器区14通过传输确认包可以通知总线主控器算术逻辑运算实际上是否已开始。尽管确认包不用于图19中运算参数写入,但在运算参数写入前,总线主控器可以进行对协处理器区14的运算状态读存取,并证实协处理器区14的算术逻辑运算已完成,由此可以确保对运算控制寄存器区32进行正确的运算参数写入。
图20是展示总线主控器对本发明的集成协处理器包式DRAM 1进行存取时总线时序其它实例的时序图。关于存储器存取(即对DRAM核心区15或存储控制寄存器区16的存取)和协处理器存取,图20展示了使用确认包的实例。在图20的实例中,确认包用于通知总线主控器是否可以接受存储器存取或协处理器存取。
在图19和20的时序图中,无论存取是对存储区11的存储器存取还是对协处理器区14的协处理器存取,包式存储器/协处理器总线2的总线时序都设计成相同。换言之,在展示对存储区11的存取不用确认包的图19中,在请求包被拒绝后,以相同的总线时序将用于对协处理器区14中运算控制寄存器区32的运算启动请求的确认包输出到包式存储器/协处理器总线2,作为读数据包和写数据包。图13中,请求包和确认包间的总线时序设计成与所有存取间的时序相同,请求包和读数据包/写数据包间的总线时序也设计成与所有存取间的时序相同。
顺便提及,尽管图18所示协处理器区14已假定为可编程协处理器单元,但甚至在协处理器区14用于进行固定算术逻辑运算的硬连线协处理器单元情况下,根据图17所示协处理器存取,这种硬连线协处理器区14的算术逻辑运算也可以由总线主控器控制。另外,如上所述,图18所示协处理器区14设计成从存储区11读出指令,从存储区11读出执行指令所必需的数据,并且如果必要,将执行指令的结果写入存储区11。因此,关于协处理器区14的另一实例,还可以在协处理器区14中提供缓冲存储器或高速缓存存储器,并由此使协处理器区14通过缓冲存储器对存储区11进行存取,从而减少协处理器区14到存储区11的存取数量。
(设备ID指定)
图21是展示根据本发明另一实施例的包式存储器/协处理器200的框图,其中可以将存储器ID和协处理器ID指定给本发明的集成协处理器包式DRAM 1的存储区11和协处理器区14。图21的包式存储器/协处理器总线200由包式存储器/协处理器总线2和集成协处理器包式DRAM链70构成,集成协处理器DRAM链由总线主控器微处理器9和集成协处理器包式DRAM 1连接成环路结构。作为包式存储器/协处理器总线2的总线主控器的微处理器9具有外部选择输入端75和外部选择输出端76,每个集成协处理器包式DRAM 1具有外部选择输入端71和外部选择输出端72。图21中的集成协处理器包式DRAM链70分别将总线主控器微处理器9的外部选择输出端76和集成协处理器包式DRAM 1的选择输入端71、集成协处理器包式DRAM 1的外部选择输出端72和下一集成协处理器包式DRAM 1的外部选择输入端71、集成协处理器包式DRAM 1的外部选择输出端72和总线主控器微处理器9的外部选择输入端75连接成环路。集成协处理器包式DRAM 1中,外部选择输入端71与存储区11的内部选择输入端73连接,存储区11的内部选择输出端74与协处理器区14的内部选择输入端73连接,协处理器14的内部选择输出端74与集成协处理器包式DRAM 1的外部选择输出端72连接。顺便提及,尽管集成协处理器包式DRAM 1中包括一个存储区11和一个协处理器区14,但还可以使集成协处理器包式DRAM 1包括一个存储区11和多个协处理器区14。这种情况下,通过连接每个内部选择输出端73和下一块的相应内部选择输入端73,将存储区和协处理器区14连接在一起,形成链块,集成协处理器包式DRAM1的外部选择输入端71与第一块(即存储区11或一个协处理器区14)的内部选择输入端73连接,最后一块的内部选择输出端74与集成协处理器包式DRAM 1的外部选择输出端72连接。
由于这种已知为菊花链的结构,可以如下给与包式存储器/协处理器总线200连接的所有集成协处理器包式DRAM 1中的每个存储区11和协处理器区14指定存储器ID和协处理器ID。
作为初始化处理,存储器ID和协处理器ID首先设定为预定初始值。例如这可以通过在被提供复位信号时,将存储控制寄存器区16中的存储器ID寄存器50和运算控制寄存器区32中的协处理器ID寄存器51设计成被设定为预定初始值(例如,在6位寄存器时为‘111111’,‘000000’等)实现。而且,初始化处理过程中,存储区11的所有内部选择输出端74皆设定为逻辑值‘0’。初始化处理后和存储器ID或协处理器ID重新写入前,只要给其内部选择输入端73提供逻辑值‘0’,则每个存储区11和协处理器区14的将忽略对其的写存取。如果给内部选择输入端73提供逻辑值‘1’,则根据对其的写存取请求,重写存储区11的存储器ID或协处理器区14的协处理器ID。每个存储区11和协处理器区14都设计成在重写存储器ID或协处理器ID后从其内部选择输出端74输出逻辑值‘1’。
这种结构中,微处理器9可以从集成协处理器包式DRAM链70的第一集成协处理器包式DRAM 1中的第一块(即存储区或协处理器区)起,一个接一个地给与包式存储器/协处理器总线200连接的所有集成协处理器包式DRAM 1中所有存储区11和协处理器区14指定特定的唯一的存储器ID和协处理器ID。微处理器9通过从其外部选择输出端76输出逻辑值‘1’,并一块接一块地对块进行写存取,进行设备ID指定处理。对于每个写存取,在请求包的设备ID字段中指定预定初始值,在请求包的参数字段中指定新设备ID作为写数据,其中在参数字段中指定的新设备ID根据每个写存取改变,由此可以为与包式存储器/协处理器总线200连接的所有集成协处理器包式DRAM 1中的所有存储区11和协处理器区14指定特定的唯一的存储器ID和协处理器ID。
(存储控制寄存器区和运算控制寄存器区)
图22是展示本发明集成协处理器包式DRAM 1中存储控制寄存器区16和运算控制寄存器区32的实例的示意图。图22中,每个存储控制寄存器区16和运算控制寄存器区32皆包括设备定义寄存器81。设备定义寄存器81是一种存储用于存储区11和协处理器区14间的判别的设备定义信息的寄存器。设备定义信息例如在集成协处理器包式DRAM 1的生产或运输阶段预先写入设备定义寄存器81。通过指定请求包中任意设备ID,并从设备定义寄存器81中读出设备定义信息,总线主控器可以检查任意设备ID是否对应于存储11或协处理器区14。如图22所示,在存储控制寄存器区16中提供设备定义寄存器81作为一个存储控制寄存器29,在运算控制寄存器区32中提供设备定义寄存器81作为运算控制寄存器33。在两区16和32中提供设备定义寄存器82以便由相同数量的寄存器(图2中的第1寄存器)进行指定。因此,总线主控器可以在不知道读取的目标是否是存储区11或协处理器区14的情况下进行设备定义寄存器81的读取,这是由于可以利用除设备ID字段外都相同的各请求包进行对存储区11中的设备定义寄存器81的读存取和对协处理器区14中的设备定义寄存器81的读存取的缘故。
图22的运算控制寄存器区32还包括功能定义寄存器82。功能定义寄存器82是存储将协处理器区14的算术逻辑运算功能分类的功能定义码的寄存器。例如在集成协处理器包式DRAM 1的生产或运输时预先将功能定义码写入了功能定义寄存器82。通过指定请求包中协处理器区14的设备ID,并从功能定义寄存器82中读出功能定义码,总线主控器可以检查协处理器区的算术逻辑运算功能。
如上所述,根据本发明的实施例,可以得到以下有益效果。
第一效果是,与常规包式DRAM相比,不用增加外部I/O端的端子(信号线)数,便可以实现集成协处理器包式DRAM。具体地,可以用外部I/O端中10-30个端子实现根据本实施例的集成协处理器包式DRAM。
第二效果是,完全利用与常规包式DRAM相同端子结构的外部I/O端可以实现集成协处理器包式DRAM。具体地,完全利用与例如SLDRAM或Rambus的常规包式DRAM相同端子构成的外部I/O端,可以实现本实施例的集成协处理器包式DRAM。
第三效果是,可以实现一种集成协处理器包式DRAM,该集成协处理器包式DRAM可以应答通过包式存储器/协处理器总线提出的对芯片上存储区进行存储器存取的请求和对芯片上协处理器区进行协处理器存取的请求。
第四效果是,完全利用与常规包式存储器总线相同的总线信号线构成,可以实现这种包式存储器/协处理器总线。具体地,利用例如SLDRAM或Rambus的包式存储器总线的信号线构成可以实现本发明的包式存储器/协处理器总线。
第五效果是,可以实现一种集成协处理器包式DRAM和包式存储器/协处理器总线,由此可以进行对存储区的存储器存取,而且与利用常规包式存储器总线和包式DRAM的存取相比不用任何额外时间。具体地,完全利用例如与与SLDRAM或Rambus技术中的存储存取总线时序相同的总线时序,可以实现对根据本发明实施例的集成协处理器包式DRAM的存储区的存储器存取。
第六效果是,可以实现一种集成协处理器包式DRAM和包式存储器/协处理器总线,由此可以完全利用与常规包式存储器总线和包式DRAM的存储器存取中相同的包格式和总线规约进行对存储区的存储器存取。具体地,完全利用与例如SLDRAM或Rambus相同的包格式和总线规约,可以实现根据本发明实施例的集成协处理器包式DRAM的存储区的存储器存取。
第七效果是,在根据本发明实施例的集成协处理器包式DRAM和包式存储器/协处理器总线中,可以利用总线主控器进行对协处理器区的协处理器存取(即读存取和写存取),并且通过传输确认包或读数据包,协处理器区可以应答协处理器存取,由此可以利用总线主控器,通过单总线主控器型包式存储器/协处理器总线,对协处理器总线区进行运算参数写入、运算启动请求、运算结果请求及运算状态读取。
第八效果是,在优选实施例的包式存储器/协处理器总线中,存储器存取中的读数据包的总线时序、存储存取中的写数据包的总线时序、协处理器存取中的读数据包的总线时序、协处理器存取中的写数据包的总线时序及协处理器存取中的确认包总线时序皆设定为与请求包有相同的总线时序,由此可以极大地简化利用总线主控器进行的总线时序设定。例如,根据本发明实施例相对于协处理器存取中请求包的读数据包、写数据包及确认包的总线时序完全可以设定为与SLDRAM技术中相对于存储器存取中请求包的读数据包和写数据包相同的总线时序。
第九效果是,在优选实施例的包式存储器/协处理器总线中,存储器存取中的请求包和读数据包/写数据包间的总线时序设定为与协处理器中的相同,存储器存取中的请求包与确认包间的总线时序设定为与协处理器存取中的相同,由此可以极大简化由总线主控器进行的总线时序设定。例如,在根据本发明实施例的协处理器存取中,请求包与读数据包/写数据包间的总线时序及请求包与确认包间的总线时序完全可以设定为与Rambus技术中的存储器存取中相同。
第十效果是,在根据优选实施例的集成协处理器包式DRAM和包式存储器/协处理器总线中,控制区可以使用不同的解码方法,根据请求包中设备ID字段是否指定了存储区或协处理器区,将请求包中的命令字段解码,由此具有特定位模式的命令字段可以根据设备ID字段是否指定了存储区或协处理器区指定不同的命令。
第十一效果是,在根据本发明实施例的集成协处理器包式DRAM中,协处理器区可以查阅存储于装在同一集成协处理器包式DRAM芯片上的存储区中的指令、数据等进行算术逻辑运算。一般情况下,芯片内的内部数据传输可以以比芯片间的外部数据传输宽很多的数据带宽进行。例如,高速DRAM的外部数据传输带宽约为1GB/秒,而内部数据传输可以实现约10GB/秒的数据传输带宽。因此,在根据本发明实施例的集成协处理器包式DRAM中,利用对芯片上存储区读取和写入的宽带宽数据/指令,可由协处理器区进行高速算术逻辑运算。
第十二效果是,可以按混合方式将任意数量的常规包式DRAM和任意数量的本发明实施例的集成协处理器包式DRAM与本发明实施例的包式存储器/协处理器总线连接。可通过包式存储器/协处理器总线,由总线主控器进行对常规包式DRAM的存储器存取、对集成协处理器包式DRAM的存储器存取及对集成协处理器包式DRAM中的协处理器区的协处理器存取(即协处理器区的算术逻辑运算功能的控制)。顺便提及,常规包式DRAM可以被认为是根据本发明实施例的集成协处理器包式DRAM中协处理器数量为零的情况。
第十三效果是,在以混合方式与集成协处理器包式DRAM和常规包式DRAM连接的本发明实施例的包式存储器/协处理器总线中,可以完全利用相同的总线时序进行对常规包式DRAM的存储器存取和对集成协处理器包式DRAM的存储器存取。
第十四效果是,利用本发明的集成协处理器包式DRAM和包式存储器/协处理器总线可以实现集成协处理器存储器系统,该系统容易代替包括常规包式DRAM的常规存储器系统。因此,本发明实施例的这种集成协处理器包式存储器系统可以高度渗透到使用常规存储器系统的常规处理器系统。
第十五效果是,在本发明实施例的集成协处理器包式DRAM和包式存储器/协处理器总线中,通过初始化处理和连续的写存取,总线主控器可以给与包式存储器/协处理器总线连接的所有集成协处理器包式DRAM中的存储区和协处理器区指定特定的唯一的存储器ID和协处理器ID。
第十六效果是,利用根据优选实施例的集成协处理器包式DRAM,通过进行读存取和读出存储于存储区和协处理器区的设备定义寄存器中的设备定义信息,总线主控器可以检查请求的目标是否是存储区或协处理器区。
第十七效果是,利用根据优选实施例的集成协处理器包式DRAM,通过读存取和读出存储于协处理器区的功能定义寄存器中的功能定义码,总线主控器可以检查每个协处理器区备有的算术逻辑运算功能。由于运算功能检查,例如适用于协处理器区的设备驱动器、算术逻辑运算程序库等软件可以与由总线主控器执行的用户程序联接。此后,用户程序可以通过这种软件利用协处理器区的算术逻辑运算功能。这种软件可以通过使每个协处理器区进行适用于协处理器区的算术逻辑运算功能的算术逻辑运算,加快用户程序的处理速度。因此,可以利用本发明实施例的集成协处理器包式DRAM和包式存储器/协处理器总线构成高速且灵活的处理器系统等,该系统可以在运算期间改变和使初始化时硬件指令和软件指令最佳化。
顺便提及,尽管上述说明是关于包括DRAM核心区(即构成DRAM的存储核心区)的集成协处理器包式DRAM进行的,但显然本发明可以普遍用于包括普通存储核心区的集成协处理器包式存储器LSI。
尽管以上参考特别示出的实施例说明了本发明,但本发明不受这些实施例的限制,而是只应由所附权利要求书进行限定。应该理解,本领域的普通技术人员在本发明的精神实质和范围内可以对各实施例做出各种变化和改进。
Claims (102)
1.一种通过具有要求数量的信号端的外部I/O端与包式存储器/协处理器总线连接的集成协处理器包式存储器LSI,包括存储区、控制区、接口区和要求数量的协处理器区,其特征在于:
分别给存储区和协处理器区指定存储器ID和协处理器ID,这些ID存储于集成协处理器包式存储器LSI中,其中指定存储器ID和协处理器ID,以便它们中的每一个能够唯一地从与包式存储器/协处理器总线连接的所有集成协处理器包式存储器LSI中所有存储区和协处理器区中指定一个存储区或一个协处理器区。
2.根据权利要求1的集成协处理器包式存储器LSI,其特征在于,
存储区包括存储核心区和包含有要求数量的存储控制寄存器的存储控制寄存器区,
协处理器区包括运算核心区、运算控制区、及含有要求数量的运算控制寄存器的运算控制寄存器区,
控制区和存储区通过内部存储器数据总线连接,
控制区和协处理器区通过内部协处理器数据总线连接。
3.根据权利要求2的集成协处理器包式存储器LSI,其特征在于,存储核心区由动态随机存取存储器构成。
4.一种连接总线主控器与要求数量的如权利要求1、2或3的集成协处理器包式存储器LSI的包式存储器/协处理器总线,其特征在于,
包式存储器/协处理器总线是单总线主控器型总线,在总线主控器传输信息包到包式存储器/协处理器总线时,不需要由总线主控器进行其总线归属权的判断,其中包括请求包和写数据包的两种信息包可以由总线主控器传输到包式存储器/协处理器总线,并且读数据包可以由集成协处理器存储LSI传输到包式存储器/协处理器总线。
5.一种连接总线主控器与要求数量的如权利要求1、2或3的集成协处理器包式存储器LSI的包式存储器/协处理器总线,其特征在于,
包式存储器/协处理器总线是单总线主控器型总线,在总线主控器传输信息包到包式存储器/协处理器总线时,不需要由总线主控器进行其总线归属权的判断,其中包括请求包和写数据包的两种信息包可以由总线主控器传输到包式存储器/协处理器总线,并且包括读数据包和确认包的两类信息包可以由集成协处理器存储LSI传输到包式存储器/协处理器总线。
6.如权利要求4的存储器/协处理器总线,其特征在于,请求包包括:
从与包式存储器/协处理器总线连接的所有集成协处理器包式存储器LSI的所有存储区和协处理器区中指定请求包目标的设备ID字段;
指定请求包请求的处理的命令字段;及
指定执行由请求包请求的处理所必需的参数的参数字段。
7.如权利要求5的存储器/协处理器总线,其特征在于,请求包包括:
从与包式存储器/协处理器总线连接的所有集成协处理器包式存储器LSI的所有存储区和协处理器区中指定请求包目标的设备ID字段;
指定请求包请求的处理的命令字段;及
指定执行由请求包请求的处理所必需的参数的参数字段。
8.如权利要求6的存储器/协处理器总线,其特征在于,
无论设备ID字段指定存储区或协处理器区与否,设备ID字段的长度都是固定的,并且无论设备ID字段指定存储区或协处理器区与否,命令字段的长度也是固定的。
9.如权利要求7的存储器/协处理器总线,其特征在于,
无论设备ID字段指定存储区或协处理器区与否,设备ID字段的长度都是固定的,并且无论设备ID字段指定存储区或协处理器区与否,命令字段的长度也是固定的。
10.如权利要求6的存储器/协处理器总线,其特征在于,
无论设备ID字段指定存储区或协处理器区与否,设备ID字段的长度都是固定的,并且无论设备ID字段指定存储区或协处理器区与否,命令字段的字段长度根据设备ID字段是否指定了存储区或协处理器区而变化。
11.如权利要求7的存储器/协处理器总线,其特征在于,
无论设备ID字段指定存储区或协处理器区与否,设备ID字段的长度都是固定的,并且无论设备ID字段指定存储区或协处理器区与否,命令字段的字段长度根据设备ID字段是否指定了存储区或协处理器区而变化。
12.如权利要求8的存储器/协处理器总线,包括
从总线主控器到集成协处理器包式存储器LSI的单向总线的控制总线;及
总线主控器和集成协处理器包式存储器LSI之间的双向总线的数据总线。
13.如权利要求9的存储器/协处理器总线,包括
从总线主控器到集成协处理器包式存储器LSI的单向总线的控制总线;及
总线主控器和集成协处理器包式存储器LSI之间的双向总线的数据总线。
14.如权利要求10的存储器/协处理器总线,包括
从总线主控器到集成协处理器包式存储器LSI的单向总线的控制总线;及
总线主控器和集成协处理器包式存储器LSI之间的双向总线的数据总线。
15.如权利要求11的存储器/协处理器总线,包括
从总线主控器到集成协处理器包式存储器LSI的单向总线的控制总线;及
总线主控器和集成协处理器包式存储器LSI之间的双向总线的数据总线。
16.如权利要求8的存储器/协处理器总线,包括:
从总线主控器到集成协处理器包式存储器LSI的单向总线的请求总线;及
从集成协处理器包式存储器LSI到总线主控器的单向总线的应答总线。
17.如权利要求9的存储器/协处理器总线,包括:
从总线主控器到集成协处理器包式存储器LSI的单向总线的请求总线;及
从集成协处理器包式存储器LSI到总线主控器的单向总线的应答总线。
18.如权利要求10的存储器/协处理器总线,包括:
从总线主控器到集成协处理器包式存储器LSI的单向总线的请求总线;及
从集成协处理器包式存储器LSI到总线主控器的单向总线的应答总线。
19.如权利要求11的存储器/协处理器总线,包括:
从总线主控器到集成协处理器包式存储器LSI的单向总线的请求总线;及
从集成协处理器包式存储器LSI到总线主控器的单向总线的应答总线。
20.一种控制如权利要求1、2或3的集成协处理器包式存储器LSI的方法,包括步骤:
接收步骤,其中接口区通过外部I/O端接收来自权利要求6或7的包式存储器/协处理器总线的请求包;
验证步骤,其中控制区根据存于集成协处理器包式存储器LSI中的存储器ID和协处理器ID,验证请求包中的设备ID字段;
解码步骤,其中只有在设备ID字段指定任何一个存于集成协处理器包式存储器LSI中的存储器ID和协处理器ID的情况下,控制区才把请求包中的命令字段解码;以及
指示步骤,其中控制区指示由设备ID字段指定的存储区或协处理器区执行由请求包发出请求的处理。
21.如权利要求1的集成协处理器包式存储器LSI,其特征在于,由权利要求20的方法控制该集成协处理器包式存储器LSI,且集成协处理器包式存储器LSI还包括:
存储器ID寄存器,用于存储存储区的存储器ID的;
一个或多个协处理器ID寄存器,分别用于存储协处理器区的协处理器ID;及
存储器/协处理器ID验证电路,该电路与存储器ID寄存器和协处理器ID寄存器连接,用于根据存储于存储器ID寄存器的设备ID,并行验证设备ID字段,根据分别存储于协处理器ID寄存器中的各协处理器ID,验证协处理器ID字段,由此判断设备ID字段是否指定了集成协处理器包式存储器LSI中的每个存储区和协处理器区。
22.如权利要求2的集成协处理器包式存储器LSI,其特征在于,由权利要求20的方法控制该集成协处理器包式存储器LSI,且集成协处理器包式存储器LSI还包括:
存储器ID寄存器,用于存储存储区的存储器ID;
一个或多个协处理器ID寄存器,分别用于存储协处理器区的协处理器ID;及
存储器/协处理器ID验证电路,该电路与存储器ID寄存器和协处理器ID寄存器连接,用于根据存储于存储器ID寄存器的设备ID,并行验证设备ID字段,根据分别存储于协处理器ID寄存器中的各协处理器ID,验证协处理器ID字段,由此判断设备ID字段是否指定了集成协处理器包式存储器LSI中的每个存储区和协处理器区。
23.如权利要求3的集成协处理器包式存储器LSI,其特征在于,由权利要求20的方法控制该集成协处理器包式存储器LSI,且集成协处理器包式存储器LSI还包括:
存储器ID寄存器,用于存储存储区的存储器ID;
一个或多个协处理器ID寄存器,分别用于存储协处理器区的协处理器ID;及
存储器/协处理器ID验证电路,该电路与存储器ID寄存器和协处理器ID寄存器连接,用于根据存储于存储器ID寄存器的设备ID,并行验证设备ID字段,根据分别存储于协处理器ID寄存器中的各协处理器ID,验证协处理器ID字段,由此判断设备ID字段是否指定了集成协处理器包式存储器LSI中的每个存储区和协处理器区。
24.如权利要求22的集成协处理器包式存储器LSI,其特征在于,提供存储器ID寄存器作为存储区的存储控制寄存器区中的一个存储控制寄存器,提供协处理器ID寄存器作为协处理器区的运算控制寄存器区的一个运算控制寄存器。
25.如权利要求20的方法,其特征在于,在解码步骤,控制区使用不同的解码方法,根据请求包的设备ID字段是否指定了存储区或协处理器区,把命令字段解码,其中有特定位模式的命令字段可以根据设备ID字段是否指定了存储区或协处理器指定不同的处理请求。
26.如权利要求20的方法,其特征在于,在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,并根据解码的结果指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取。
27.如权利要求20的方法,其特征在于,在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,根据解码结果判断存储区是否可以进行由请求包请求的写存取或读存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在已判断存储区可以进行存取时,指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取。
28.如权利要求20的方法,其特征在于,在请求包中的设备ID字段指定了一个协处理器区时,控制区把请求包的命令字段解码,并根据解码的结果指示指定的协处理器区对协处理器区中的运算控制寄存器区进行写存取或读存取。
29.如权利要求20的方法,其特征在于,在请求包中的设备ID字段指定了一个协处理器时,控制区把请求包的命令字段解码,根据解码结果判断指定的协处理器区是否可以进行由请求包请求的写存取或读存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在已判断协处理器区可以进行存取时,指示指定的协处理器区对协处理器区中的运算控制寄存器区进行写存取或读存取。
30.如权利要求20的方法,其特征在于,
在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,并根据解码的结果指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取;以及
在请求包中的设备ID字段指定了一个协处理器区时,控制区把请求包的命令字段解码,根据解码结果判断协处理器区是否可以进行由请求包请求的写存取或读存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在已判断指定的协处理器区可以进行存取时,指示指定的协处理器区对协处理器区中的运算控制寄存器区进行写存取或读存取。
31.如权利要求20的方法,其特征在于,
在请求包中的设备ID字段指定了存储区时,控制区把请求包的命令字段解码,并根据解码的结果指示存储区对存储区中的存储核心区或存储控制寄存器区进行写存取或读存取;
在请求包中的设备ID字段指定了一个协处理器区时,控制区把请求包的命令字段解码,
然后,在被解码的命令字段指示对运算控制寄存器区进行写存取后,控制区判断所指定的协处理器区是否可以进行写存取,把判断结果作为确认包传输给包式存储器/协处理器总线,并在判断协处理器区可以进行存取后,指示指定的协处理器区对协处理器区中的控制寄存器区进行写存取;及
在被解码的命令字段指示对运算控制寄存器区进行读存取后,控制区指示指定的协处理器区对协处理器区中的运算控制寄存器区进行读存取。
32.如权利要求26的方法,其特征在于,在对存储核心区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并利用由请求包的参数字段指定的地址将写数据写入存储核心区。
33.如权利要求27的方法,其特征在于,在对存储核心区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并利用由请求包的参数字段指定的存储地址将写数据写入存储核心区。
34.如权利要求30的方法,其特征在于,在对存储核心区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并利用由请求包的参数字段指定的存储地址将写数据写入存储核心区。
35.如权利要求31的方法,其特征在于,在对存储核心区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并利用由请求包的参数字段指定的存储地址将写数据写入存储核心区。
36.如权利要求26的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并利用由请求包的参数字段指定的存储地址将写数据写入存储控制寄存器。
37.如权利要求27的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入由请求包的参数字段指定的存储控制寄存器。
38.如权利要求30的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入由请求包的参数字段指定的存储控制寄存器。
39.如权利要求31的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入由请求包的参数字段指定的存储控制寄存器。
40.如权利要求26的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据写入由请求包的部分参数字段指定的存储控制寄存器。
41.如权利要求27的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据写入由请求包的部分参数字段指定的存储控制寄存器。
42.如权利要求30的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据写入由请求包的部分参数字段指定的存储控制寄存器。
43.如权利要求31的方法,其特征在于,在对存储控制寄存器区进行写存取时,存储区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据写入由请求包的部分参数字段指定的存储控制寄存器。
44.如权利要求26的方法,其特征在于,在对存储核心区或存储控制寄存器区进行读存取时,存储区根据请求包中的参数字段的指定,从存储核心区或存储控制寄存器区读出数据,并将该数据提供给控制区,控制区组合包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
45.如权利要求27的方法,其特征在于,在对存储核心区或存储控制寄存器区进行读存取时,存储区根据请求包中的参数字段的指定,从存储核心区或存储控制寄存器区读出数据,并将该数据提供给控制区,控制区组合包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
46.如权利要求30的方法,其特征在于,在对存储核心区或存储控制寄存器区进行读存取时,存储区根据请求包中的参数字段的指定,从存储核心区或存储控制寄存器区读出数据,并将该数据提供给控制区,控制区组合包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
47.如权利要求31的方法,其特征在于,在对存储核心区或存储控制寄存器区进行读存取时,存储区根据请求包中的参数字段的指定,从存储核心区或存储控制寄存器区读出数据,并将该数据提供给控制区,控制区组合包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
48.如权利要求28的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入请求包的参数字段指定的运算控制寄存器。
49.如权利要求29的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入请求包的参数字段指定的运算控制寄存器。
50.如权利要求30的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入请求包的参数字段指定的运算控制寄存器。
51.如权利要求31的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于写数据包中的写数据,该写数据包是控制区通过接口区从包式存储器/协处理器总线接收的,并将写数据写入请求包的参数字段指定的运算控制寄存器。
52.如权利要求28的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据包写入由请求包的部分参数字段指定的运算控制寄存器。
53.如权利要求29的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据包写入由请求包的部分参数字段指定的运算控制寄存器。
54.如权利要求30的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据包写入由请求包的部分参数字段指定的运算控制寄存器。
55.如权利要求31的方法,其特征在于,在对运算控制寄存器区进行写存取时,协处理器区接收已含于来自控制区的请求包的部分参数字段中的写数据,并将写数据包写入由请求包的部分参数字段指定的运算控制寄存器。
56.如权利要求28的方法,其特征在于,在对运算控制寄存器区进行读存取时,协处理器区从由请求包的参数字段指定的运算控制寄存器读取数据,并将该数据提供给控制区,控制区组合成包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
57.如权利要求29的方法,其特征在于,在对运算控制寄存器区进行读存取时,协处理器区从由请求包的参数字段指定的运算控制寄存器读取数据,并将该数据提供给控制区,控制区组合成包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
58.如权利要求30的方法,其特征在于,在对运算控制寄存器区进行读存取时,协处理器区从由请求包的参数字段指定的运算控制寄存器读取数据,并将该数据提供给控制区,控制区组合成包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
59.如权利要求31的方法,其特征在于,在对运算控制寄存器区进行读存取时,协处理器区从由请求包的参数字段指定的运算控制寄存器读取数据,并将该数据提供给控制区,控制区组合成包括该数据的读数据包,接口区通过外部I/O端将读数据包传输到包式存储器/协处理器总线。
60.如权利要求31的方法,其特征在于,
在对存储核心区、存储控制寄存器区或运算控制寄存器区进行读存取时,在接收了请求包后,集成协处理器包式存储器LSI以预定总线时序将读数据包传输到包式存储器/协处理器总线,及
在对运算控制寄存器区进行写存取时,在接收了请求包后,集成协处理器包式存储器LSI以相同的预定总线时序将确认包传输到包式存储器/协处理器总线。
61.如权利要求28的方法,其特征在于,在运算控制寄存器区提供运算启动寄存器,以便在协处理器区开始进行算术逻辑运算时,协处理器区能够查阅运算启动寄存器,在对运算启动寄存器的写存取由请求包中的命令字段和参数字段指定时,包含于请求包的参数字段中的写数据,或包含于写数据包中的写数据用作表示将要执行的算术逻辑运算程序的第一指令地址的程序指针,在程序指针写入到运算启动寄存器后,协处理器区开始利用程序指针进行算术逻辑运算。
62.如权利要求29的方法,其特征在于,在运算控制寄存器区提供运算启动寄存器,以便在协处理器区开始进行算术逻辑运算时,协处理器区能够查阅运算启动寄存器,在对运算启动寄存器的写存取由请求包中的命令字段和参数字段指定时,包含于请求包的参数字段中的写数据,或包含于写数据包中的写数据用作表示将要执行的算术逻辑运算程序的第一指令地址的程序指针,在程序指针写入到运算启动寄存器后,协处理器区开始利用程序指针进行算术逻辑运算。
63.如权利要求30的方法,其特征在于,在运算控制寄存器区提供运算启动寄存器,以便在协处理器区开始进行算术逻辑运算时,协处理器区能够查阅运算启动寄存器,在对运算启动寄存器的写存取由请求包中的命令字段和参数字段指定时,包含于请求包的参数字段中的写数据,或包含于写数据包中的写数据用作表示将要执行的算术逻辑运算程序的第一指令地址的程序指针,在程序指针写入到运算启动寄存器后,协处理器区开始利用程序指针进行算术逻辑运算。
64.如权利要求31的方法,其特征在于,在运算控制寄存器区提供运算启动寄存器,以便在协处理器区开始进行算术逻辑运算时,协处理器区能够查阅运算启动寄存器,在对运算启动寄存器的写存取由请求包中的命令字段和参数字段指定时,包含于请求包的参数字段中的写数据,或包含于写数据包中的写数据用作表示将要执行的算术逻辑运算程序的第一指令地址的程序指针,在程序指针写入到运算启动寄存器后,协处理器区开始利用程序指针进行算术逻辑运算。
65.如权利要求61的方法,其特征在于,在对运算启动寄存器的写存取由请求包指定时,表示协处理器区是否能进行指定的算术逻辑运算的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在指定的算术逻辑运算可以由协处理器区进行时,协处理器区才进行算术逻辑运算。
66.如权利要求62的方法,其特征在于,在对运算启动寄存器的写存取由请求包指定时,表示协处理器区是否能进行指定的算术逻辑运算的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在指定的算术逻辑运算可以由协处理器区进行时,协处理器区才进行算术逻辑运算。
67.如权利要求63的方法,其特征在于,在对运算启动寄存器的写存取由请求包指定时,表示协处理器区是否能进行指定的算术逻辑运算的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在指定的算术逻辑运算可以由协处理器区进行时,协处理器区才进行算术逻辑运算。
68.如权利要求64的方法,其特征在于,在对运算启动寄存器的写存取由请求包指定时,表示协处理器区是否能进行指定的算术逻辑运算的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在指定的算术逻辑运算可以由协处理器区进行时,协处理器区才进行算术逻辑运算。
69.如权利要求56的方法,其特征在于,提供一个运算结果寄存器,作为一个运算控制寄存器,以便协处理器区可以向运算结果寄存器中写入算术逻辑运算结果,在对运算结果寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算结果寄存器中的数据,并组合成读数据包,并将读数据包传输到包式存储器/协处理器总线。
70.如权利要求57的方法,其特征在于,提供一个运算结果寄存器,作为一个运算控制寄存器,以便协处理器区可以向运算结果寄存器中写入算术逻辑运算结果,在对运算结果寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算结果寄存器中的数据,并组合成读数据包,并将读数据包传输到包式存储器/协处理器总线。
71.如权利要求58的方法,其特征在于,提供一个运算结果寄存器,作为一个运算控制寄存器,以便协处理器区可以向运算结果寄存器中写入算术逻辑运算结果,在对运算结果寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算结果寄存器中的数据,并组合成读数据包,并将读数据包传输到包式存储器/协处理器总线。
72.如权利要求59的方法,其特征在于,提供一个运算结果寄存器,作为一个运算控制寄存器,以便协处理器区可以向运算结果寄存器中写入算术逻辑运算结果,在对运算结果寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算结果寄存器中的数据,并组合成读数据包,并将读数据包传输到包式存储器/协处理器总线。
73.如权利要求69的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,表示算术逻辑运算结果是否已写入指定运算结果寄存器的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在算术逻辑运算的结果已写入到运算结果寄存器中后,才进行对运算结果寄存器的读存取。
74.如权利要求70的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,表示算术逻辑运算结果是否已写入指定运算结果寄存器的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在算术逻辑运算的结果已写入到运算结果寄存器中后,才进行对运算结果寄存器的读存取。
75.如权利要求71的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,表示算术逻辑运算结果是否已写入指定运算结果寄存器的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在算术逻辑运算的结果已写入到运算结果寄存器中后,才进行对运算结果寄存器的读存取。
76.如权利要求72的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,表示算术逻辑运算结果是否已写入指定运算结果寄存器的信息被作为确认包传输到包式存储器/协处理器总线,并且只有在算术逻辑运算的结果已写入到运算结果寄存器中后,才进行对运算结果寄存器的读存取。
77.如权利要求69的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,包含于读数据包中的表示算术逻辑运算结果是否已写入指定的运算结果寄存器的信息被传输到包式存储器/协处理器总线。
78.如权利要求70的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,包含于读数据包中的表示算术逻辑运算结果是否已写入指定的运算结果寄存器的信息被传输到包式存储器/协处理器总线。
79.如权利要求71的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,包含于读数据包中的表示算术逻辑运算结果是否已写入指定的运算结果寄存器的信息被传输到包式存储器/协处理器总线。
80.如权利要求72的方法,其特征在于,在对运算结果寄存器的读存取由请求包指定时,包含于读数据包中的表示算术逻辑运算结果是否已写入指定的运算结果寄存器的信息被传输到包式存储器/协处理器总线。
81.如权利要求61的方法,其特征在于,在通过对运算控制寄存器的写存取,将协处理器进行算术逻辑运算所必需的参数写入了要求数量的运算控制寄存器后,协处理器区根据对运算启动寄存器的写存取开始进行算术逻辑运算,并且协处理器区查阅存储于运算控制寄存器中的参数进行算术逻辑运算。
82.如权利要求62的方法,其特征在于,在通过对运算控制寄存器的写存取,将协处理器进行算术逻辑运算所必需的参数写入了要求数量的运算控制寄存器后,协处理器区根据对运算启动寄存器的写存取开始进行算术逻辑运算,并且协处理器区查阅存储于运算控制寄存器中的参数进行算术逻辑运算。
83.如权利要求63的方法,其特征在于,在通过对运算控制寄存器的写存取,将协处理器进行算术逻辑运算所必需的参数写入了要求数量的运算控制寄存器后,协处理器区根据对运算启动寄存器的写存取开始进行算术逻辑运算,并且协处理器区查阅存储于运算控制寄存器中的参数进行算术逻辑运算。
84.如权利要求64的方法,其特征在于,在通过对运算控制寄存器的写存取,将协处理器进行算术逻辑运算所必需的参数写入了要求数量的运算控制寄存器后,协处理器区根据对运算启动寄存器的写存取开始进行算术逻辑运算,并且协处理器区查阅存储于运算控制寄存器中的参数进行算术逻辑运算。
85.如权利要求69的方法,其特征在于,在算术逻辑运算的结果不能容纳于运算结果寄存器时,要求数量的运算控制寄存器还用于存储部分算术逻辑运算结果,并且在通过对运算结果寄存器的读存取成功地读出了部分结果后,通过对运算控制寄存器的读存取,从协处理器区读出算术逻辑运算结果。
86.如权利要求70的方法,其特征在于,在算术逻辑运算的结果不能容纳于运算结果寄存器时,要求数量的运算控制寄存器还用于存储部分算术逻辑运算结果,并且在通过对运算结果寄存器的读存取成功地读出了部分结果后,通过对运算控制寄存器的读存取,从协处理器区读出算术逻辑运算结果。
87.如权利要求71的方法,其特征在于,在算术逻辑运算的结果不能容纳于运算结果寄存器时,要求数量的运算控制寄存器还用于存储部分算术逻辑运算结果,并且在通过对运算结果寄存器的读存取成功地读出了部分结果后,通过对运算控制寄存器的读存取,从协处理器区读出算术逻辑运算结果。
88.如权利要求72的方法,其特征在于,在算术逻辑运算的结果不能容纳于运算结果寄存器时,要求数量的运算控制寄存器还用于存储部分算术逻辑运算结果,并且在通过对运算结果寄存器的读存取成功地读出了部分结果后,通过对运算控制寄存器的读存取,从协处理器区读出算术逻辑运算结果。
89.如权利要求56的方法,其特征在于,要求数量的运算控制寄存器用于存储协处理器区进行算术逻辑运算期间产生的中间数据,在对一个存储中间数据的运算控制寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算控制寄存器中的中间数据,并将之组合成读数据包,然后将该读数据包传输到包式存储器/协处理器总线。
90.如权利要求57的方法,其特征在于,要求数量的运算控制寄存器用于存储协处理器区进行算术逻辑运算期间产生的中间数据,在对一个存储中间数据的运算控制寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算控制寄存器中的中间数据,并将之组合成读数据包,然后将该读数据包传输到包式存储器/协处理器总线。
91.如权利要求58的方法,其特征在于,要求数量的运算控制寄存器用于存储协处理器区进行算术逻辑运算期间产生的中间数据,在对一个存储中间数据的运算控制寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算控制寄存器中的中间数据,并将之组合成读数据包,然后将该读数据包传输到包式存储器/协处理器总线。
92.如权利要求59的方法,其特征在于,要求数量的运算控制寄存器用于存储协处理器区进行算术逻辑运算期间产生的中间数据,在对一个存储中间数据的运算控制寄存器的读存取由请求包中的命令字段和参数字段指定时,读出存储于运算控制寄存器中的中间数据,并将之组合成读数据包,然后将该读数据包传输到包式存储器/协处理器总线。
93.如权利要求21的集成处理器包式存储器LSI,其特征在于,
集成协处理器包式存储器LSI具有外部选择输入(select-in)端和外部选择输出(select-out)端,
每个存储器区和协处理器区具有内部选择输入端和内部选择输出端,
通过连接内部选择输出端与相应的内部选择输入端,并将所有存储区与协处理器区连接成链,形成存储区/协处理器区链,
集成协处理器包式存储器LSI的外部选择输入端与存储区/协处理器区链的第一块的内部选择输入端连接,及
存储器区/协处理器区链的最后一块的内部选择输出端与集成协处理器包式存储器LSI的外部选择输出端连接。
94.一种控制权利要求93的集成协处理器包式存储器LSI的方法,其特征在于,
在初始化处理时,集成协处理器包式存储器LSI中存储区和协处理器区的存储器ID和协处理器ID设定为预定的初始值,并且存储区和协处理器区的所有内部选择输出端设定为逻辑值‘0’,及
初始化处理后,只要向其内部选择输入端提供逻辑值‘0’,每一个其存储器ID和协处理器ID已设定为初始值的存储区和协处理器区忽略对其的写存取,并连续从其内部选择输出端输出逻辑值‘0’,
只要向其内部选择输入端提供逻辑值‘1’,每个存储区和协处理器区接受对其的写存取,并从其内部选择输出端输出逻辑值‘1’,由此,根据对其的写存取,将由请求包的参数字段指定的存储器ID和协处理器ID写入存储器ID寄存器或协处理器ID寄存器。
95.如权利要求4的包式存储器/协处理器总线,其特征在于,
通过连接外部选择输出端与相应的外部选择输入端,将要求数量的权利要求93的集成协处理器包式存储器LSI连接成链,从而形成集成协处理器包式存储器LSI链,
总线主控器具有外部选择输入端和外部选择输出端,
总线主控器的外部选择输出端与集成协处理器包式存储器LSI链中的第一集成协处理器包式存储器LSI的外部选择输入端连接,以及
集成协处理器包式存储器LSI链中的最后一个集成协处理器包式存储器LSI的外部选择输出端与总线主控器的外部选择输入端连接。
96.如权利要求5的包式存储器/协处理器总线,其特征在于,
通过连接外部选择输出端与相应的外部选择输入端,将要求数量的权利要求93的集成协处理器包式存储器LSI连接成链,从而形成集成协处理器包式存储器LSI链,
总线主控器具有外部选择输入端和外部选择输出端,
总线主控器的外部选择输出端与集成协处理器包式存储器LSI链中的第一集成协处理器包式存储器LSI的外部选择输入端连接,以及
集成协处理器包式存储器LSI链中的最后一个集成协处理器包式存储器LSI的外部选择输出端与总线主控器的外部选择输入端连接。
97.一种控制权利要求95或96的包式存储器/协处理器总线的方法,其特征在于,
初始化处理时,与包式存储器/协处理器总线连接的所有集成协处理器包式存储器LSI中的所有存储区和协处理器区的存储器ID和协处理器ID设定为预定初始值,存储区和协处理器区的所有内部选择输出端设定为逻辑‘0’,及
初始化处理后,总线主控器将其外部选择输出端的逻辑值从‘0’变到‘1’,并传输指定请求包的设备ID字段中的初始值和指定请求包的参数字段中的新存储器ID或新协处理器ID的请求包,由此将新存储器ID或新协处理器ID赋予集成协处理器包式存储器LSI链中第一集成协处理器包式存储器LSI的存储区/协处理器区链的第一块,以及
此后,总线主控器再次传输指定请求包的设备ID字段中的初始值和指定请求包的参数字段中新存储器ID和新协处理器ID的请求包,由此,根据通过集成协处理器包式存储器LSI链中的块逻辑值‘1’传输,将特定且唯一的存储区ID和协处理器ID一个接一个地赋予集成协处理器包式存储器LSI链中的存储区和协处理器区。
98.如权利要求2的集成协处理器包式存储器LSI,其特征在于,
存储区包括作为一个存储控制寄存器的设备定义寄存器,用于预存储将识别存储区和协处理器区的设备定义信息,以及
每个协处理器区包括作为一个运算控制寄存器的设备定义寄存器,用于预存储识别存储区和协处理器区的设备定义信息。
99.一种控制权利要求98的集成协处理器包式存储器LSI的方法,其特征在于,通过进行给存储控制寄存器区或运算控制寄存器区中的设备定义寄存器指定特定设备ID的读存取,获得设备定义信息,由此总线主控器检查特定设备ID是否已赋予存储区或协处理器区。
100.如权利要求99的方法,其特征在于,不管读存取的目标是否在存储区或协处理器区,总线主控器利用除设备ID字段的指定外都相同的请求包,进行对设备定义寄存器的读存取。
101.如权利要求2的集成协处理器包式存储器LSI,其特征在于,运算控制寄存器区包括作为一个运算控制寄存器的功能定义寄存器,用于预存储把协处理器区的算术逻辑运算功能分类的功能定义码。
102.一种控制权利要求101的集成协处理器包式存储器LSI的方法,其特征在于,通过进行给运算控制寄存器区中的功能定义寄存器指定特定设备ID的读存取,获得功能定义信息,由此总线主控器检查对应于特定设备ID的协处理器区的算术逻辑功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09758797A JP3189727B2 (ja) | 1997-04-15 | 1997-04-15 | コプロセッサ内蔵パケット型メモリlsi、それを用いたメモリシステム及びそれらの制御方法 |
JP097587/97 | 1997-04-15 | ||
JP097587/1997 | 1997-04-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1199203A true CN1199203A (zh) | 1998-11-18 |
CN1147802C CN1147802C (zh) | 2004-04-28 |
Family
ID=14196380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981012868A Expired - Fee Related CN1147802C (zh) | 1997-04-15 | 1998-04-15 | 大规模集成电路及其连接总线和控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6338108B1 (zh) |
JP (1) | JP3189727B2 (zh) |
KR (1) | KR19980081401A (zh) |
CN (1) | CN1147802C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281365A (zh) * | 2013-05-20 | 2013-09-04 | 深圳市京华科讯科技有限公司 | 分布式虚拟化架构 |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6505276B1 (en) * | 1998-06-26 | 2003-01-07 | Nec Corporation | Processing-function-provided packet-type memory system and method for controlling the same |
SE512773C2 (sv) * | 1998-10-28 | 2000-05-08 | Imsys Ab | Metod och anordning för kontroll/access av DRAM-minnen |
JP3615409B2 (ja) * | 1999-01-29 | 2005-02-02 | 沖電気工業株式会社 | パケット通信装置 |
KR100308618B1 (ko) * | 1999-02-27 | 2001-09-26 | 윤종용 | 단일 칩 상의 마이크로프로세서-코프로세서 시스템을 구비한 파이프라인 데이터 처리 시스템 및 호스트 마이크로프로세서와 코프로세서 사이의 인터페이스 방법 |
JP2001243211A (ja) * | 2000-02-29 | 2001-09-07 | Mitsubishi Electric Corp | マイクロコンピュータ |
US6535450B1 (en) | 2000-08-18 | 2003-03-18 | Micron Technology, Inc. | Method for selecting one or a bank of memory devices |
JP2002108691A (ja) * | 2000-09-29 | 2002-04-12 | Mitsubishi Electric Corp | 半導体記憶装置および半導体記憶装置の制御方法 |
US7036033B1 (en) * | 2001-01-04 | 2006-04-25 | 3Pardata, Inc. | Disk enclosure with multiplexers for connecting 12C buses in multiple power domains |
US6895498B2 (en) * | 2001-05-04 | 2005-05-17 | Ip-First, Llc | Apparatus and method for target address replacement in speculative branch target address cache |
US7437535B1 (en) * | 2002-04-04 | 2008-10-14 | Applied Micro Circuits Corporation | Method and apparatus for issuing a command to store an instruction and load resultant data in a microcontroller |
US7421693B1 (en) * | 2002-04-04 | 2008-09-02 | Applied Micro Circuits Corporation | Logic for synchronizing multiple tasks at multiple locations in an instruction stream |
US6978330B1 (en) | 2002-04-04 | 2005-12-20 | Applied Micro Circuits Corporation | Shared resource access via declarations that contain a sequence number of a packet |
US6938132B1 (en) | 2002-04-04 | 2005-08-30 | Applied Micro Circuits Corporation | Memory co-processor for a multi-tasking system |
US7155588B1 (en) * | 2002-08-12 | 2006-12-26 | Cisco Technology, Inc. | Memory fence with background lock release |
KR101095025B1 (ko) * | 2003-05-13 | 2011-12-20 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 직렬 메모리 상호접속부를 통해 복수의 메모리 모듈에결합된 호스트를 포함하는 시스템 |
US7200693B2 (en) * | 2004-08-27 | 2007-04-03 | Micron Technology, Inc. | Memory system and method having unidirectional data buses |
KR100714096B1 (ko) * | 2004-12-21 | 2007-05-02 | 한국전자통신연구원 | 온-칩 네트워크를 구비한 동영상 인코딩 장치 및 그 설계방법 |
US8077535B2 (en) * | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US7386656B2 (en) * | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8090897B2 (en) * | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US7590796B2 (en) * | 2006-07-31 | 2009-09-15 | Metaram, Inc. | System and method for power management in memory systems |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US7609567B2 (en) * | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US7392338B2 (en) * | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US9542352B2 (en) * | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8359187B2 (en) * | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US20080126690A1 (en) * | 2006-02-09 | 2008-05-29 | Rajan Suresh N | Memory module with memory stack |
WO2007002324A2 (en) * | 2005-06-24 | 2007-01-04 | Metaram, Inc. | An integrated memory core and memory interface circuit |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
DE112006002300B4 (de) | 2005-09-02 | 2013-12-19 | Google, Inc. | Vorrichtung zum Stapeln von DRAMs |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US20080028137A1 (en) * | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and Apparatus For Refresh Management of Memory Modules |
US7724589B2 (en) * | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US20080025136A1 (en) * | 2006-07-31 | 2008-01-31 | Metaram, Inc. | System and method for storing at least a portion of information received in association with a first operation for use in performing a second operation |
US8209479B2 (en) * | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US7865697B2 (en) * | 2008-02-27 | 2011-01-04 | International Business Machines Corporation | Apparatus for and method of processor to processor communication for coprocessor functionality activation |
US7930519B2 (en) * | 2008-12-17 | 2011-04-19 | Advanced Micro Devices, Inc. | Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit |
WO2010144624A1 (en) * | 2009-06-09 | 2010-12-16 | Google Inc. | Programming of dimm termination resistance values |
JP4937388B2 (ja) * | 2010-08-09 | 2012-05-23 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置およびメモリ制御システム |
US9141438B2 (en) | 2011-06-30 | 2015-09-22 | Net Navigation Systems, Llc | Logic for synchronizing multiple tasks |
US8797799B2 (en) * | 2012-01-05 | 2014-08-05 | Conversant Intellectual Property Management Inc. | Device selection schemes in multi chip package NAND flash memory system |
US9390042B2 (en) * | 2012-07-03 | 2016-07-12 | Nvidia Corporation | System and method for sending arbitrary packet types across a data connector |
US9817666B2 (en) | 2013-03-15 | 2017-11-14 | Intel Corporation | Method for a delayed branch implementation by using a front end track table |
US11003459B2 (en) | 2013-03-15 | 2021-05-11 | Intel Corporation | Method for implementing a line speed interconnect structure |
CN105190579B (zh) | 2013-03-15 | 2018-04-06 | 英特尔公司 | 一种用于实现线路速度互连结构的方法 |
US8914550B2 (en) * | 2013-03-15 | 2014-12-16 | Freescale Semiconductor, Inc. | System and method for transferring data between components of a data processor |
US9753691B2 (en) | 2013-03-15 | 2017-09-05 | Intel Corporation | Method for a stage optimized high speed adder |
WO2015101827A1 (en) * | 2013-12-31 | 2015-07-09 | Mosys, Inc. | Integrated main memory and coprocessor with low latency |
JP6385077B2 (ja) * | 2014-03-05 | 2018-09-05 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
FR3032814B1 (fr) * | 2015-02-18 | 2018-02-02 | Upmem | Circuit dram muni d'un processeur integre |
KR102395463B1 (ko) * | 2017-09-27 | 2022-05-09 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
KR20210155270A (ko) | 2020-06-15 | 2021-12-22 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
US20220166762A1 (en) * | 2020-11-25 | 2022-05-26 | Microsoft Technology Licensing, Llc | Integrated circuit for obtaining enhanced privileges for a network-based resource and performing actions in accordance therewith |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58192154A (ja) | 1982-05-07 | 1983-11-09 | Casio Comput Co Ltd | 自動デ−タ処理機能を有するメモリ装置 |
JP2539385B2 (ja) | 1986-08-08 | 1996-10-02 | 株式会社日立製作所 | 情報処理装置 |
JPH02148188A (ja) | 1988-11-29 | 1990-06-07 | Nippon Telegr & Teleph Corp <Ntt> | データフロープロセッサのメモリアクセス制御方式 |
JP2840320B2 (ja) * | 1989-09-20 | 1998-12-24 | 株式会社日立製作所 | 半導体記憶装置 |
JP2846904B2 (ja) | 1989-11-13 | 1999-01-13 | 富士通株式会社 | 付加演算装置制御方式 |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
JPH0496840A (ja) | 1990-08-14 | 1992-03-30 | Hitachi Maxell Ltd | 半導体ファイルメモリ装置 |
US5546343A (en) | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
EP0584783A3 (en) | 1992-08-25 | 1994-06-22 | Texas Instruments Inc | Method and apparatus for improved processing |
JPH0695956A (ja) | 1992-09-17 | 1994-04-08 | Seiko Instr Inc | Idコード内蔵型シリアル読み出しメモリ |
JPH06111010A (ja) * | 1992-09-29 | 1994-04-22 | Ricoh Co Ltd | Dram及びコントローラ |
US5701270A (en) | 1994-05-09 | 1997-12-23 | Cirrus Logic, Inc. | Single chip controller-memory device with interbank cell replacement capability and a memory architecture and methods suitble for implementing the same |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5877780A (en) * | 1996-08-08 | 1999-03-02 | Lu; Hsuehchung Shelton | Semiconductor chip having multiple independent memory sections, at least one of which includes simultaneously accessible arrays |
JPH10143489A (ja) | 1996-11-11 | 1998-05-29 | Hitachi Ltd | 情報処理システム |
JPH10222459A (ja) | 1997-02-10 | 1998-08-21 | Hitachi Ltd | 機能メモリとそれを用いたデータ処理装置 |
US5870350A (en) * | 1997-05-21 | 1999-02-09 | International Business Machines Corporation | High performance, high bandwidth memory bus architecture utilizing SDRAMs |
US6044429A (en) * | 1997-07-10 | 2000-03-28 | Micron Technology, Inc. | Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths |
-
1997
- 1997-04-15 JP JP09758797A patent/JP3189727B2/ja not_active Expired - Fee Related
-
1998
- 1998-04-14 US US09/059,377 patent/US6338108B1/en not_active Expired - Fee Related
- 1998-04-14 KR KR1019980013321A patent/KR19980081401A/ko not_active Application Discontinuation
- 1998-04-15 CN CNB981012868A patent/CN1147802C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281365A (zh) * | 2013-05-20 | 2013-09-04 | 深圳市京华科讯科技有限公司 | 分布式虚拟化架构 |
CN103281365B (zh) * | 2013-05-20 | 2016-12-28 | 深圳市京华科讯科技有限公司 | 分布式虚拟化架构 |
Also Published As
Publication number | Publication date |
---|---|
JPH10289192A (ja) | 1998-10-27 |
KR19980081401A (ko) | 1998-11-25 |
CN1147802C (zh) | 2004-04-28 |
JP3189727B2 (ja) | 2001-07-16 |
US6338108B1 (en) | 2002-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1147802C (zh) | 大规模集成电路及其连接总线和控制方法 | |
CN1230759C (zh) | 进行最佳数据传送的多总线信息处理系统的总线-总线桥 | |
CN1253806C (zh) | 仲裁电路和数据处理系统 | |
CN1205553C (zh) | 分优先级访问外部装置的设备 | |
CN1280716C (zh) | 计算机处理方法、分布式计算方法和网络计算方法 | |
TWI220477B (en) | System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN1586063A (zh) | 流数据处理器、流数据处理方法、程序和媒体 | |
CN1402845A (zh) | 多线程并行处理器结构中所用的微引擎的存储器引用指令 | |
CN1495601A (zh) | 移动计算装置用户打印文档的系统和方法 | |
CN1385794A (zh) | 数据传送控制装置、电子装置和数据传送控制方法 | |
CN1640089A (zh) | 用于NGIO/InfiniBandTM应用的远程密钥验证的方法和机制 | |
CN1993674A (zh) | 多芯架构中的资源管理 | |
CN1218566A (zh) | 支持要求驱动的多重并行数字数据流传输的方法和装置 | |
CN1218574A (zh) | 用于多线程数据流传输控制的分布式状态信令系统 | |
CN1250532A (zh) | 数据共享方法和计算机体系结构 | |
CN1125868A (zh) | 计算机系统及其输入输出指令的发送方法 | |
CN1503150A (zh) | 多处理器系统中的任务分配方法和多处理器系统 | |
CN1258142C (zh) | 用于管理对资源访问的方法 | |
CN1947107A (zh) | 用于在存储器间传输数据的装置 | |
CN1680930A (zh) | 减少总线使用时间的系统和控制器 | |
CN1202774A (zh) | 异步传输模式通信设备 | |
CN101359314A (zh) | 通过将所检索的数据直接写入存储器的存储控制器来最佳使用缓冲器空间 | |
CN1680915A (zh) | 参数处理装置及用于其的参数设置方法 | |
CN1234561A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040428 Termination date: 20150415 |
|
EXPY | Termination of patent right or utility model |