CN101313290B - 对仅m×n位外围设备执行n位写入访问的系统和方法 - Google Patents
对仅m×n位外围设备执行n位写入访问的系统和方法 Download PDFInfo
- Publication number
- CN101313290B CN101313290B CN2006800435721A CN200680043572A CN101313290B CN 101313290 B CN101313290 B CN 101313290B CN 2006800435721 A CN2006800435721 A CN 2006800435721A CN 200680043572 A CN200680043572 A CN 200680043572A CN 101313290 B CN101313290 B CN 101313290B
- Authority
- CN
- China
- Prior art keywords
- bit
- peripherals
- write
- address
- 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
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 claims abstract description 15
- 239000000758 substrate Substances 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 235000019800 disodium phosphate Nutrition 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 10
- 238000005755 formation reaction Methods 0.000 description 10
- 230000001052 transient effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000011068 loading method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
一种片上系统(100)包括16位DSP(102)、耦接到DSP的16位数据总线(202)、至少一个仅32位的外围设备(110)、耦接到该外围设备的32位数据总线(212)和耦接在16位和32位总线之间的桥(108),该桥包括写入合并系统(200)。一种写入合并系统的方法包括:在存储器映射结构(220和221)中预存储外围设备的地址;从DSP接收16位数据和用于修改外围设备的32位数据位置的16位的写入事务;读取外围设备的数据位置的32位内容;复用所接收的16位数据和所读取的32位内容;以及向外围设备的数据位置写入包括修改后的16位和未修改的16位的新的32位字,而在接收写入事务之后没有来自DSP的任何介入。
Description
技术领域
本发明一般涉及电子计算机的系统内连接,尤其涉及一种在不同数据宽度的总线之间的总线桥的接口结构。
背景技术
当数字信号处理器(DSP)是诸如片上系统(System-on-Chip)的计算机系统的仅有的处理器时,DSP必须执行控制和信号处理功能。作为其控制功能部分,不时地需要16位DSP来对32位输入/输出设备或仅允许32位写入访问的外围设备执行写入访问。16位DSP通过桥被耦接到仅32位外围设备。在传统的编程模型中,需要DSP固件或软件来对外围设备执行两个完整的16位写入操作,从而正确地将控制数据写入仅32位外围设备。当对外围设备执行应用程序代码时,要满足这种需求不利地增加了软件开销并降低了DSP的性能。
通过执行a)读取,b)修改和c)写入的序列的DSP固件或软件实现了这种公知的传统写入访问。不利地是,为了修改在外围设备的单2N位位置处的数据,所有公知的方法需要N位DSP来将前述的序列执行两次,对于两周期(two-cycle)访问的DSP来讲,这总共是两个读取周期和两个写入周期。针对处理器任务管理,利用现有技术对外围设备所得到的写入访问是低效的,这是因为单次写入访问需要四(4)条读取或写入的DSP指令。使用公知的方法和装置,每当两周期访问的16位DSP对仅32位外围设备进行写入时不利地使用了DSP的至少八(8)个时钟周期。
例如,假设计算机系统包括两周期访问的16位DSP和仅32位外围设备,并且预先确定具有DSP地址“0”的数据位置与仅32位外围设备的32位数据位置的低十六(16)位一致而具有DSP地址“1”的数据位置与仅32位外围设备的32位数据位置的高十六(16)位一致。如果16位DSP向仅32位外围设备进行写入以修改诸如外围设备地址“1”处的32位数据位置的高十六(16)位,那么将需要下述不利的大量操作:a)DSP在地址“0”处执行16位读取;然而直到桥完成下一个操作,这样读取的数据才被返回到DSP,这使DSP停止,从而有效地将附加的时钟周期加到DSP时间的至少八(8)个时钟周期;b)在仅32位外围设备的地址“0”处,通过桥执行从外围设备32位读取;c)DSP在地址“1”处出执行16位读取;d)在DSP的内部寄存器中,在地址“1”处的16位字的内容被修改;e)DSP在地址“0”处执行16位写入;f)DSP在地址“1”处执行16位写入;以及g)通过在仅32位外围设备上的桥执行在地址“0”处的32位写入。
在16位DSP修改32位寄存器的十六(16)位的情况下,需要总共六(6)次的操作,即,两(2)次DSP读取、两(2)次DSP写入、一(1)次桥读取和一(1)次桥写入。DSP的每次读取操作需要多个时钟周期,这取决于DSP总线的时钟速度与外围设备总线的通常较低的时钟速度之间的比率。因为通常将数据写入桥上的临时缓冲器,所以以DSP总线的速度来执行DSP的每次写入操作。
发明内容
本发明要解决的一个技术问题是需要在不同数据宽度的总线之间进行数据通信。
在本发明的一些实施例中,通过采用根据本发明的写入合并系统来解决上述技术问题。
根据本发明的一个方面,提供了一种计算机系统,包括:N位数字信号处理器(DSP),其产生N位写入事务以修改在N位外围设备的N位数据位置处的N位字;包括2×N位宽的数据总线的第一总线,其被耦接到N位DSP;至少一个外围设备,其包括仅2×N位外围设备,该仅2×N位外围设备具有数据位置,每个数据位置具有2×N位的宽度,该仅2×N位外围设备不能接受任何N位写入事务;包括2×N位宽的数据总线的第二总线,其被耦接到所述仅2×N位外围设备;以及耦接在所述第一总线和所述第二总线之间的桥,该桥包括写入合并系统,该写入合并系统包括:第一逻辑电路,其用于接收新的N位宽的数据并用于从N位DSP接收N位写入事务,该N位写入事务用于修改在所述仅2×N位外围设备的2×N位数据位置处的2×N位字的N位字;以及第二逻辑电路,其用于向所述仅2×N位外围设备的所述2×N位数据位置写入2×N位字,该2×N位字包括由所述新的N位宽的数据修改的所述N位字,其中所述第二逻辑电路执行2×N位的单次写入,所述单次写入只改变由所述N位写入事务修改的所述N位字。
根据本发明的另一个方面,提供了一种在计算机系统中使用两周期访问的N位处理器的仅两个时钟周期来修改仅M×N位外围设备的M×N位数据位置的N位字的方法,该计算机系统包括所述两周期访问的N位处理器、所述至少一个仅M×N位外围设备、以及耦接到所述两周期访问的N位处理器且耦接到所述至少一个仅M×N位外围设备的写入合并系统,该方法包括在所述写入合并系统执行的以下步骤:a)预存储外围设备的地址的存储器映射;b)在两周期访问的N位处理器的第一时钟周期期间接收包括P位地址的写入事务,以利用新的N位字来修改仅M×N位外围设备的M×N位数据位置的N位字;c)在所述两周期访问的N位处理器的第二时钟周期期间接收用于所述新的N位字的数据;d)根据所述P位地址并根据所述存储映射来形成Q位地址;e)从所述仅M×N位外围设备的所述M×N位数据位置读取M×N位字;f)将所述新的N位字与在步骤e读取的所述M×N位字合并以创建修改后的M×N位字;以及g)向所述仅M×N位外围设备的所述M×N位数据位置写入所述修改后的M×N位字。
通过本发明一些实施例的技术方案,可以实现在不同数据宽度的总线之间进行数据通信。
附图说明
图1是根据本发明一个实施例的片上系统的功能性框图,其包括系统桥和写入合并系统;
图2是根据本发明一个实施例的写入合并系统的功能性框图;
图3是写入合并系统的从动(slave)状态机的状态图;
图4是写入合并系统的窥探(snoop)状态机的状态图;
图5是写入合并系统的读取状态机的状态图;
图6是写入合并系统的写入从动状态机的状态图;
图7是示出写入合并系统的操作步骤的流程图;和
图8是写入合并系统的时序图。
具体实施方式
参考图1,片上系统(SoC)100包括至少一个处理器,其包括至少一个两周期访问的16位DSP 102。将注意到,SoC 100不包括32位处理器。通常使用SoC 100来作为如工业、科学与医疗(ISM)频段无线收发机的组件。优选地,DSP 102是具有ONYXTM内核的DSP,其被用于由德克萨斯州的奥斯汀的Freescale Semiconductor(飞思卡尔半导体)有限公司制造的DSP566xx系列产品的每个中。SoC 100包括16位DSP总线104、32位集成外围设备(IP)总线106、耦接16位DSP总线104到32位IP总线106的桥108、以及耦接到IP总线的至少一个仅32位外围设备110。通过术语“16位DSP”表示这样的DSP:其中用于输入/输出外围设备和数据存储器存取的x和y数据通道的宽度是十六(16)位;然而,主要用于存储器的指令数据通道的宽度可以不是十六(16)位。通过术语“仅32位”表示外围设备只接收32位数据而不接收16位数据。SoC 100也可以包括耦接到DSP总线104的16位外围设备112和耦接到IP总线106的另一16位外围设备114。可以从SoC(未示出)移植(migrate)至少一个仅32位外围设备110,该SoC包括用于信号处理功能的16位DSP和用于控制功能的32位处理器。有利地,本发明允许使用这样移植的仅32位外围设备而不用修改其设计。在没有32位处理器的情况下,需要16位DSP 102来在SoC上执行控制以及信号处理功能。作为控制功能的部分,可以要求DSP 102来向仅32位外围设备110写入16位控制数据。为了连贯地进行该操作,且在没有由软件控制的多周期写入的情况下,根据本发明的桥108接受来自DSP 102的16位数据并向仅32位外围设备110写入该16位数据,而不会破坏该32位数据中没被DSP访问的另一十六(16)位。DSP 102、桥108、DSP总线104、IP总线106以及外围设备110、112和114在SoC 100的单集成电路101的电路支撑晶片基板103上。可供选择地,32位总线的一部分也存在于SoC 100的集成电路101的外部,并且至少一个仅32位外围设备110位于SoC 100之外。SoC 100也可以包括接受16位数据的32位外围设备(未示出)。
根据本发明的桥108包括写入合并系统200。该写入合并系统200包括硬件,且优选地由硬件构成。在优选实施例中,硬件包括硬连线的、同步的和异步的、组合的和顺序的逻辑电路,但不包括处理器。在优选实施例中,写入合并系统200不包括任何固件或软件。不使用任何处理器、固件或软件作为写入合并系统200的部分的优点是较高的执行速度。在可供选择的实施例中,写入合并系统200的硬件包括处理器(与DSP 102分开)和软件或固件。在优选和可供选择的实施例中,写入合并系统200的另一优点包括将DSP 102的工作卸载到写入合并系统。在一个实施例中,可以由数字电路技术领域的普通技术人员使用互补金属氧化物半导体(CMOS)逻辑来设计写入合并系统200,并且可以由半导体制造技术领域的普通技术人员使用CMOS制造技术来制造写入合并系统200。
写入合并系统200将由DSP 102进行的单次16位写入转换为针对仅32位外围设备110的单次32位写入。在16位总线和32位总线之间的现有技术的桥(未示出)没有在此所述的写入合并系统200,并且不能将由DSP 102进行的单次16位写入转换为针对仅32位外围设备110的单次32位写入。桥108还执行诸如在32位和16位之间改变硬件控制信号的功能以及诸如允许16位DSP执行从所有外围设备的读取的功能。优选地,当外围设备的32位位置的高16位部分和低16位部分都需要修改时,除了写入合并系统200,使用桥108的一部分或者多个部分。可供选择地,使用桥108的写入合并系统200部分来修改外围设备的32位位置的高16位部分和低16位部分。优选地,当需要向耦接到32位总线106的16位外围设备114进行写入时,除了写入合并系统200外,使用桥108的一部分或者多个部分。可供选择地,使用写入合并系统200来向耦接到32位总线106的16位外围设备114进行写入。
参考图2,示出了写入合并系统200的功能框图。DSP总线104包括16位DSP数据总线202、7位DSP地址总线204和DSP控制总线206。为了简化说明,将地址总线204和控制总线206作为一条示出。IP总线106包括32位IP数据总线212、12位IP地址总线214和IP控制总线216。为了简化说明,将IP地址总线214和IP控制总线216作为一条示出。写入合并系统200包括存储器映射220,其是解码和存储器结构,其中预存储对应于在IP总线106上的所有外围设备(仅32位、32位、16位等)的地址的地址范围的存储器映射。写入合并系统200包括五(5)个窗选择寄存器(window select register)221,其中预存储与每个地址范围关联的五(5)位。窗选择寄存器221的功能为扩展DSP 102的可寻址地址范围。根据本发明,五(5)个窗选择寄存器221的内容成为外围设备的12位地址的五(5)个最高有效位。写入合并系统200按以下方式来使用窗选择寄存器221。在IP总线106的读取周期的读取地址阶段818(参看图8)期间或在IP总线的写周期的写入地址阶段822(参看图8)期间,将窗选择寄存器221的5位输出直接驱动到IP地址总线214上。这允许DSP 102将其地址范围从十六进制“00-7F”扩展到十六进制“000-FFF”,并且允许将更多的外围设备映射进入DSP系统地址映射。写入合并系统200包括地址队列222,或者有序的先进先出存储器结构,其顺序地提供DSP102执行写操作的地址。存储在地址队列222中的地址具有六(6)位的宽度,这是7位DSP地址的六(6)个最高有效位。写入合并系统200还包括写入数据队列224,或者有序的先进先出存储器结构,其顺序地提供DSP 102向IP总线106上的外围设备进行写入的数据。在写入数据队列224中存储的数据具有十六(16)位的宽度。
对于在地址队列222中的每一项来讲,存在一(1)个合并位和一(1)个字选择位。合并位的功能将确定在IP总线106的下一个写周期期间合并的必要性,如以下更为全面的解释。如果合并位被设置为任意值“1”,那么发生合并。如果合并位被设置为任意值“0”,那么不发生合并。如果16位字的地址的最低有效位是“0”,那么字选择位具有任意值“0”,并且写入合并系统200致使对32位字的低十六(16)位进行16位写入。如果16位字的地址的最低有效位是“1”,那么字选择位具有任意值“1”,并且写入合并系统200致使对32位字的高十六(16)位进行16位写入。当正对32位IP总线106上的16位外围设备114进行写入时,写入合并系统200执行写操作而不合并。
写入合并系统200包括合并位和字选择位队列226。对于在地址队列222中和在写入数据队列224中的每一项来讲,在合并位和字选择位队列226中存在单项,并且三(3)个队列一致地前进。合并位和字选择位队列226是根据基于存储器映射220中的目标寄存器的位置以及是否可以合并目标寄存器、并且基于当前的DSP写地址的表(未示出)形成的2位值的单队列。
写入合并系统200包括作为具有十二(12)位宽的存储器结构的IP地址缓冲器228,其保存当前被访问的IP总线106上的外围设备的地址。写入合并系统200还包括高位读取数据队列230和低位读取数据队列232。高位读取数据队列230保持32位字的高十六(16),即,位16-31。同时,低位读取数据队列232保持同一32位字的低十六(16)位,即,位0-15。写入合并系统200还包括两个多路复用器234和236。写入合并系统200包括从动状态机240、窥探状态机242、读取状态机244和写入状态机246。从动状态机240和窥探状态机242响应DSP总线104上的活动。读取状态机244和写入状态机246分别启动IP总线106上的读取周期和写入周期。从动状态机240、窥探状态机242、读取状态机244和写入状态机246被用于控制写入合并系统200的活动并对写入合并系统200的活动定时。
图3是示出从动状态机的动作和其内部短暂状态的从动状态机240的状态图。从动状态机240在状态302是空闲的。在DSP总线104的写周期的写入地址阶段811(参看图8)期间,在状态304,从动状态机240解码DSP总线上的地址。如果该地址无效,即,如果解码的地址没有与IP总线106上的外围设备的地址之一对应,那么从动状态机240返回空闲状态302。另一方面,如果该地址有效,即,如果解码的地址与IP总线106上的外围设备的地址之一对应,那么在状态306,从动状态机240将该地址加载到地址队列222、执行响应向窥探状态机242窥探请求307该地址的动作、以及在DSP总线104的写入周期的相关写入数据阶段813(参看图8)期间,将相关的数据加载(308)到写数据队列224。然后,从动状态机240返回空闲状态302。当DSP 102执行对窗选择寄存器221的写访问时,在选择窗寄存器状态310期间,从动状态机240选择在DSP总线104上的写入数据阶段813期间的窗选择寄存器的当前内容。在加载窗寄存器状态312期间,从动状态机240加载窗选择寄存器221。然后,从动状态机240返回空闲状态302。在对IP总线106进行读取或写入之前,DSP 102首先预配置窗映射阵列以指向合适的外围设备窗。当DSP需要访问一组外围设备时,DSP 102对窗选择寄存器221进行编程作为配置顺序的部分,该组外围设备处于分配给外围设备的、超出十六进制“00-7F”的DSP地址范围的地址范围。
图4是示出窥探状态机的动作和内部短暂状态的窥探状态机242的状态图。窥探状态机242在状态401处于空闲。窥探请求307作为窥探状态机242中的短暂状态。利用七(7)位DSP地址251向窥探状态机242发出窥探请求307。其将窥探状态机从空闲状态401转变成合并地址比较状态405。在状态405,窥探状态机将DSP地址总线204上的当前地址与耦接到IP总线106的已知外围设备的地址进行比较。这种外围设备可以是16位外围设备、32位外围设备和仅32位外围设备之一,其地址被预存在存储器映射220中。
如果所述地址对应于允许合并的仅32位外围设备的地址,那么该地址被认为是有效的合并地址407,并且写入合并系统200构建32位IP地址,并进入选择合并和字状态409。窥探状态机242设置(411)合并位。窥探状态机242将合并位设置(411)为值“1”以表示应当通过写入合并系统200来执行(32位字的16位部分的)合并。窥探状态机242还设置(411)字选择位。基于DSP地址的最低有效位的值,字选择位的值或是“1”或是“0”。窥探状态机242将字选择位设置(411)成为或是任意值“1”以表示要改变的数据是否在32位字的高十六(16)位内,或是任意值““0”以表示要改变的数据是否在32位字的低十六(16)位内。
如果所述地址是有效合并地址407,那么在进入加载32位IP读取地址状态413之前,写入合并系统构建IP地址。根据五(5)个窗选择寄存器211输出位、来自地址队列222的六(6)位、以及作为合并位和DSP地址位0的结果的一(1)个最低有效位的串接来构建该IP地址。例如,如果DSP地址的最低有效位是“1”,并且如果合并位是“1”,那么作为结果,使IP地址的最低有效位变为“0”。需要构建IP地址,这是因为仅32位外围设备110具有尺寸为十二(12)位的地址,而DSP 102试图利用具有尺寸为七(7)位的地址来访问外围设备。接着,窥探状态机242进入加载32位读取地址状态413。窥探状态机242向读取状态机244启动32位读取请求415。
再次参考合并地址比较状态405,如果所述地址对应于耦接到32位IP总线的16位外围设备114的地址,那么该地址被认为是无效的合并地址417。接着,窥探状态机242进入加载16位IP写入地址状态419。窥探状态机242清除(423)合并位,即,合并位值成为“0”,从而表示写入合并系统200将不执行合并,这是因为不需要合并。由于所述地址是无效的合并地址417,所以不需要合并,并且在加载IP地址之前不需要构建修改后的IP地址。写入合并系统200加载为进行写入操作而被访问的16位外围设备114的IP地址。窥探状态机242对写入状态机246启动16位写入请求。
图5是示出由读取状态机产生的动作和读取状态机的内部短暂状态的读取状态机244的状态图。读取状态机244在状态501处于空闲。由窥探状态机242启动的32位读取请求415作为读取状态机244中的短暂状态,并且其在IP总线106的读取地址阶段818期间产生读取状态机244的读取(504)DSP 102试图修改仅十六(16)位的仅32位外围设备的32位字的地址的动作。其后,在状态506,读取状态机244在IP总线106的读取周期的读取数据阶段819(参看图8)期间执行读取来自DSP 102试图修改十六(16)位的仅32位外围设备的32位字的地址的内容的动作。在状态506,读取状态机244还执行将来自所述地址的内容加载到高位读取数据队列230和低位读取数据队列232的动作。该内容的高位(位31-16)被加载到高位读取数据队列230。该内容的低位(位15-10)被加载到低位读取数据队列232。读取状态机244还对写入状态机246启动32位合并写入请求510。
图6是示出由写入状态机执行的动作和发生在其中的短暂状态的写入状态机246的状态图。写入状态机246在状态601处于空闲。对于写入合并系统200的每个写入访问来讲,写入状态机246接收来自窥探状态机242的16位写入请求421或者来自读取状态机244的32位合并写入请求510,其中的每一个在写入状态机中产生不同的短暂状态。
在写入状态机246接收来自读取状态机244的32位合并写入请求510的情况下,在状态603,写入状态机执行选择(605)目标外围设备(即,写入所针对的仅32位外围设备110)的目标寄存器的地址的动作。在IP总线106的写入地址阶段822期间,写入状态机246执行驱动(607)在IP地址总线214上的仅32位外围设备110的12位地址的动作。此时,写入状态机246还在IP总线106上维持(assert)写入控制信号809(参看图8)。此时,写入状态机246还执行选择读取数据队列的动作。来自读取数据队列230和232的三十二(32)位输出数据被置于多路复用器234和236的输入端上。来自高位读取数据队列230的十六(16)位数据被置于多路复用器234的输入端上,而来自低位读取数据队列232的十六(16)位数据被置于多路复用器236的输入端上。此时,写入状态机246还执行选择写入数据队列的动作,并且来自写入数据队列224的十六(16)位输出数据被置于多路复用器234和236的每个的输入端上。写入状态机246取消(de-assert)(609)在IP总线106上的写入控制信号809,并且在IP总线106的写入周期的写入数据阶段823(参看图8)期间,写入状态机246将来自多路复用器234和236的三十二(32)位数据驱动在IP数据总线212上,即,来自两个多路复用器中每个的十六(16)位数据。根据来自写入状态机246的选择写入信号250,多路复用器234的输出包括来自写入数据队列224的十六(16)位数据或者来自高位读取数据队列230的十六(16)位数据。根据来自写入状态机246的选择写入信号250,多路复用器236的输出包括来自写入数据队列224的十六(16)位数据或者来自低位读取数据队列232的十六(16)位数据。在仅32位外围设备110由于其未做好准备而请求等待状态的情况下,IP写入状态机246等待(611)32位传输完成。
在写入状态机246接收来自窥探状态机242的16位写入请求421的情况下,在状态602,写入状态机执行选择(604)对其进行写入的IP总线16位外围设备114的地址的动作。在IP总线106的写入地址阶段822期间,写入状态机驱动(606)16位外围设备114的12位地址到IP地址总线214上。此时,写入状态机246还执行选择写入数据队列的动作,并且来自写入数据队列224十六(16)位数据被置于多路复用器234的输入端上和多路复用器236的输入端上。在IP总线106的写入数据阶段823期间,写入状态机246驱动(608)来自多路复用器234和236之一的十六(16)位数据到IP数据总线212上。在IP总线16位外围设备114请求等待状态的情况下,写入状态机246等待(610)16位传输完成。
图7是示出写入合并系统200的操作步骤的流程图。写入合并系统200在状态701处于空闲。在步骤702,写入合并系统200首先解码DSP 102正在对其进行写入的外围设备的地址,即,写入目标。在步骤704,写入合并系统200接着判断作为写入目标的外围设备的地址是否也是IP总线106上的外围设备的地址。如果判断为肯定,那么在步骤708,写入合并系统200在地址队列222中存储来自DSP 102的目的地地址。如果在步骤704判断为否定,那么写入合并系统200进入空闲状态701。在步骤710,写入合并系统200判断作为写入目标的外围设备的地址是需要合并的只可以接收32位写入的外围设备(如外围设备110)的地址,还是不需要合并的外围设备的地址。
如果需要合并,那么在步骤712,写入合并系统200适当地设置合并位并且适当地设置字选择位,并且根据目标外围设备的7位DSP地址、根据窗选择寄存器221的内容以及根据合并位和字选择位队列226的内容来构建用于目标外围设备的12位IP地址。在步骤714,写入合并系统200加载具有来自DSP数据总线202的新的十六(16)位数据的写入数据队列224。在步骤716,写入合并系统200驱动12位地址,并运行读取地址阶段818。在步骤718,写入合并系统200从仅32位外围设备110执行32位读取,以及加载具有在读取数据阶段819期间从IP数据总线212获取的32位数据的高位读取数据队列230和低位读取数据队列232。在步骤720,对在读取数据队列230和232中的32位数据的高或低十六(16)位是否应该与存储在写入数据队列224中的新的目的数据进行合并做出判断。通过术语“合并”表示旧数据被新数据盖写或代替。在本示例实施例中,32位字的一个16位字被新数据的16位字代替。32位字的另一个16位字不被新数据代替或改变,并保持旧数据,并且有益地不受合并操作破坏或者其它不利影响。在状态506,32位读取包括要修改的来自仅32位外围设备110的十六(16)位加上不被修改的十六(16)位。取决于目的地地址,不被修改的十六(16)位是低十六(16)位或高十六(16)位。
在步骤722,假设判断低十六(16)位要与新的目的数据合并,那么选择在写入数据队列中的新的目的数据作为用于低位IP字的多路复用器236的输出,而选择在高位读取队列230中获取的、在仅32位外围设备110中的当前数据作为用于高位IP字的多路复用器234的输出。由此产生新的32位字。接着,在步骤724,写入合并系统200驱动来自IP地址缓冲器228的12位地址,并且运行写入地址阶段822。在步骤726,写入合并系统200驱动来自多路复用器234和236的数据到IP总线上,该数据包括来自写入数据队列224的16位数据,并且写入合并系统运行写入数据阶段823,从而将新的32位字写到仅32位外围设备110。在步骤728,写入合并系统使32位数据从读取数据队列230和232出列。然后,写入合并系统200返回空闲状态701。在该处理中,DSP 102执行单次16位写入周期以访问仅32位外围设备110。所以,写入合并系统200接收来自DSP 102的16位数据以修改仅32位外围设备110的16位字,并且作为响应,写入合并系统提供12位地址,并且在没有通过处理器的进一步软件介入的情况下,将该数据写到仅32位外围设备。
另一方面,如果在步骤720判断要合并高十六(16)位,那么写入合并系统执行步骤721、723、725和727,如图7的流程图所示,其与已经描述的模式类似。
另一方面,如果在步骤710写入合并系统200判断作为写入目标的外围设备的地址是不需要合并的外围设备的地址,那么在步骤713写入合并系统根据它的7位DSP地址和根据窗选择寄存器221的内容来构建用于目标外围设备的12位IP地址。在步骤715,写入合并系统200加载具有来自DSP数据总线202的新的十六(16)位数据的写入数据队列224。在步骤717,写入合并系统200驱动来自IP地址缓冲器228的12位地址,并且运行IP写入地址阶段。在步骤719,写入合并系统200从写入数据队列224取得16位数据,运行IP写入数据阶段以及将新的16位字写到16位外围设备114。然后,写入合并系统200返回空闲状态701。
图8是写入合并系统200的时序图800。通常,DSP总线104的时钟速度801快于IP总线106的时钟速度805。在SoC 100作为ISM频带无线收发机的组件的通常使用中,DSP总线104以133MHz的时钟速度工作,而IP总线106以16-32MHz的时钟速度工作。根据本发明的写入合并系统200不限于DSP总线104的时钟速度快于IP总线 106的时钟速度的情况,而是可以在DSP总线的时钟速度低于IP总线的时钟速度的情况下使用,并且可以在DSP总线的时钟速度等于IP总线的时钟速度的情况下使用。
在16位DSP总线104的写入地址阶段811期间,DSP 102将示例性7位地址812(如信号802所示)写到DSP地址总线204上。该示例性7位地址是二进制的“0000001”(在图8中以十六进制表示为“01”)。为了示教,选择示例性地址812来对应于仅32位外围设备的32位数据位置的高十六(16)位。DSP 102在DSP控制总线206上维持写入控制信号803。在DSP总线104的写入数据阶段813期间,DSP
102将示例性数据814(如信号804所示)写到DSP数据总线202上。示例性数据814是16位字(十六进制的“5555”)。
在32位IP总线106的读取地址阶段818期间,写入合并系统200将示例性12位地址820(如信号806在图8中所示)驱动到IP地址总线214上。在图8中,将示例性地址820表示为十六进制的“F00”,并且示例性地址820具有十二(12)位的宽度。示例性地址820对应于仅32位外围设备的32位数据位置,其包括示例性7位地址812和十六进制“1E”的窗选择寄存器221的当前设置。写入合并系统200在IP控制总线216上维持读取控制信号。在IP总线106的读取数据阶段819期间,写入合并系统200从IP数据总线212读取示例性数据821(如信号808所示)。示例性数据821是32位字(十六进制的“AAAAAAAA”)。在32位IP总线106的写入地址阶段822期间,写入合并系统200将示例性12位地址820驱动到IP地址总线214上。写入合并系统200在IP控制总线216上维持写入控制信号809。在IP总线106的写入数据阶段823期间,写入合并系统200将修改后的示例性数据825(如信号810所示)写到IP数据总线212上。修改后的示例性数据825是32位字(十六进制的“5555AAAA”)。修改后的示例性数据825是与新的16位字(十六进制的“5555”)合并的原始32位字(十六进制的“AAAAAAAA”),其中原始的32位字的高十六(16)位由新的16位字代替。
根据前述的说明,显而易见,SoC 100包括电路支持基板103和布置在电路支持基板上的诸如DSP 102的N位DSP。诸如DSP总线104的第一总线被布置在电路支持基板103上。第一总线包括耦接到N位DSP的N位宽的数据总线。包括至少一个仅M×N位外围设备的诸如仅32位外围设备110的至少一个外围设备被布置在电路支持基板103上。诸如IP总线106的第二总线被布置在电路支持基板103上。该第二总线包括耦接到至少一个仅M×N位外围设备的M×N位宽的数据总线。桥108被布置在电路支持基板103上。桥108将第一总线耦接到第二总线。桥108包括写入合并系统200。写入合并系统200包括用于从N位DSP接收N位宽的数据和写入事务(write transaction)的第一逻辑电路。该写入事务用于修改在仅M×N位外围设备的数据位置处的M×N位字的N位字,从而创建修改后的M×N位字。写入合并系统200还包括用于将包括修改后的N位字的M×N位字写到仅M×N位外围设备的所述数据位置的第二逻辑电路。
写入合并系统200不限于在SoC中的使用,而是可以用于其中处理器数据总线的宽度小于外围设备数据总线的宽度的任何计算机系统。本发明不限于处理器是DSP的情况,而是可应用到使用任何类型的处理器的情况。
根据前述的说明,显而易见,作为诸如SoC 100的计算机系统的部分的写入合并系统200接收来自诸如DSP 102的两周期访问处理器的写入事务。如本领域技术人员众所周知的,作为利用写入指令对DSP102编程的结果而发生写入事务。该写入事务是用于利用新的16位字修改仅32位外围设备110的32位位置的16位字。包括7位地址的写入事务有利地使用处理器的仅两(2)个时钟周期。仅32位外围设备110具有12位地址。写入合并系统200响应于接收写入事务来执行以下步骤。在运行外围设备访问周期前,并且作为初始化的部分,处理器在存储器映射220中预存储对应于计算机系统的所有外围设备的地址的地址范围。写入合并系统200判断所述地址是否是可合并的外围设备的地址。写入合并系统200根据7位地址和根据存储器映射220形成12位地址。写入合并系统200从仅32位外围设备110读取32位字,其包括被修改的16位字。写入合并系统200将新的16位字与先前步骤中读取的32位字合并以创建修改后的32位字。写入合并系统200将修改后的32位写入到仅32位外围设备110。
本发明不限于16位DSP 102需要执行写入访问以修改仅32位外围设备的16位位置的情况,而是可以被等同地扩展到N位DSP需要执行写入访问来修改2N位外围设备的N位位置的情况。此外,本发明不限于N位DSP需要执行写入访问来修改2N位外围设备的N位位置的情况,而是可以被等同地扩展到N位DSP需要执行写入访问以修改M×N位外围设备的N位位置的情况。根据本发明的写入合并系统200使得适应处理器-外围设备数据宽度失配,其中外围设备具有比处理器大的数据宽度。
本发明不限于由16位DSP使用的地址具有七(7)位的地址宽度的情况,而是可以被等同地扩展到由N位DSP使用的地址具有P位的地址宽度的情况。本发明不限于由仅32位外围设备使用的地址具有十二(12)位的地址宽度的情况,而是可以被等同地扩展到由仅M×N位外围设备使用的地址具有Q位的地址宽度的情况。优选地,Q大于P。可供选择地,Q等于P。作为第二种可供选择的情况,Q小于P。
根据前述的说明,显而易见,写入合并系统200将DSP总线104桥接到IP总线106。DSP总线104包括N位宽的DSP数据总线和P位宽的DSP地址总线。IP总线106包括M×N位宽的IP数据总线和Q位宽的IP地址总线。写入合并系统200包括:用于从DSP总线104接收P位宽的地址的地址接收装置;用于从DSP总线接收N位宽的新数据的数据装置;用于将P位宽的地址转换成Q位宽的修改地址的转换装置;用于从IP总线106读取M×N位宽的旧数据的读取装置;用于将接收的N位宽的新数据与读取的M×N位宽的旧数据进行合并以创建修改后的M×N位宽的数据的合并装置;以及用于向IP总线写入修改后的Q位宽的地址和修改后的M×N位宽的数据的写入装置。
在示例性实施例中,地址接收装置包括从动状态机240和地址队列222。在示例性实施例中,数据接收装置包括从动状态机240和写入数据队列224。在示例性实施例中,转换装置包括窥探状态机242、存储器映射220、窗选择寄存器221、合并位和字选择位队列226以及IP地址缓冲器228。在示例性实施例中,读取装置包括读取状态机224、高位读取数据队列230和低位读取数据队列232。在示例性实施例中,写入装置包括写入状态机246,而合并装置包括多路复用器234和236。然而,根据本发明的说明,对于本领域的技术人员来讲,显而易见,地址接收装置、数据接收装置、转换装置、读取装置和写入装置不限于在示例性实施例中说明的结构,而是可以代替地包括其它结构。
利用写入合并系统200,当仅修改十六(16)位时,对仅32位外围设备110的每次写入访问有益地仅需要两周期访问DSP 102的两(2)个时钟周期,其中一个时钟周期用于读取地址阶段,一个时钟周期用于读取数据阶段。例如,假设两周期访问的16位DSP 102对仅32位外围设备110进行写入以修改诸如地址“1”的32位地址的高十六(16)位,需要以下有益地少量总线操作:a)DSP总线执行对地址“1”的16位写入,然后DSP总线是有益地自由执行其它不相关的任务;b)桥108在地址“0”处执行32位读取;以及c)桥108在地址“0”处执行32位写入。通过术语“总线操作”来表示涉及总线以及对DSP 102和写入合并系统200都在外部发生的操作,而不包括仅在DSP内或仅在写入合并系统内发生的操作。本发明不限于使用两周期访问的DSP 102。当使用具有其它类型的处理器例如单周期访问的DSP或四周期访问的DSP的本发明时,获得相称的优点。
写入合并系统200的优点可以包括:a)提高了DSP 102的性能;b)减少了DSP的写入工作负荷;c)针对其它应用任务,提高了每秒可用上百万条指令;d)减少了控制固件的指令只读存储器;以及e)减少了DSP集成电路的电流消耗。更具体地,使用写入合并系统200可以使得电流消耗降低75%,将需要来支持单个外围设备写入任务的多次访问的指令存储器减少75%。
桥108的结构可以允许DSP 102编程的人员使用单个16位输入/输出写入指令来修改在仅32位外围设备110中的32位寄存器的十六(16)位。桥108的结构的优点包括减少代码数量以及在16位DSP结构的限制中使用仅32位外围设备110的能力。
写入合并系统200的优选实施例使用作为完成其主要功能的单元的地址和数据写入队列、地址窥探和数据合并的系统。本发明对来自DSP 102的数据与由地址合并映射预先确定的位置的外围设备进行合并,并且基于对外围设备的地址的窥探结果来执行读取和合并的写入访问。
尽管上面已经结合具体的装置说明了本发明的原理,但是容易理解,仅仅作为示例做出了该说明,而不对本发明的范围进行限制。
Claims (15)
1.一种计算机系统,包括:
N位数字信号处理器(DSP),其产生N位写入事务以修改在N位外围设备的N位数据位置处的N位字;
包括2×N位宽的数据总线的第一总线,其被耦接到N位DSP;
至少一个外围设备,其包括仅2×N位外围设备,该仅2×N位外围设备具有数据位置,每个数据位置具有2×N位的宽度,该仅2×N位外围设备不能接受任何N位写入事务;
包括2×N位宽的数据总线的第二总线,其被耦接到所述仅2×N位外围设备;以及
耦接在所述第一总线和所述第二总线之间的桥,该桥包括写入合并系统,该写入合并系统包括:
第一逻辑电路,其用于接收新的N位宽的数据并用于从N位DSP接收N位写入事务,该N位写入事务用于修改在所述仅2×N位外围设备的2×N位数据位置处的2×N位字的N位字;以及
第二逻辑电路,其用于向所述仅2×N位外围设备的所述2×N位数据位置写入2×N位字,该2×N位字包括由所述新的N位宽的数据修改的所述N位字,其中所述第二逻辑电路执行2×N位的单次写入,所述单次写入只改变由所述N位写入事务修改的所述N位字。
2.如权利要求1所述的计算机系统,其中,在接收所述写入事务之后,在没有通过所述N位DSP的任何软件介入的情况下,所述写入合并系统向所述仅2×N位外围设备的所述2×N位数据位置写入所述2×N位字。
3.如权利要求1所述的计算机系统,其中,所述写入合并系统包括其中预存储外围设备的地址范围的存储器映射以及其中预存储与每个地址范围关联的最高有效位的窗选择寄存器。
4.如权利要求3所述的计算机系统,其中,所述写入事务包括P位宽的地址;所述仅2×N位外围设备的所述数据位置具有Q位宽的地址;并且所述第一逻辑电路根据P位宽的地址、根据所述存储器映射并根据所述窗选择寄存器来产生Q位宽的地址。
5.如权利要求1所述的计算机系统,包括电路支持基板,并且其中,所述计算机系统是片上系统,而所述DSP、所述第一总线的至少一部分、所述第二总线的至少一部分、所述桥和所述至少一个外围设备被安置在所述电路支持基板上。
6.如权利要求1所述的计算机系统,其中,所述第一逻辑电路从所述仅2×N位外围设备读取所述2×N位字;并且所述被读取的2×N位字包括作为来自所述N位DSP的N位写入事务的结果而被修改的N位字。
7.如权利要求6所述的计算机系统,其中,所述第二逻辑电路包括读取状态机、耦接到所述读取状态机的高位读取数据队列、耦接到所述读取状态机的低位读取数据队列、耦接到所述读取状态机的至少一个多路复用器以及耦接到所述至少一个多路复用器的写入状态机。
8.如权利要求7所述的计算机系统,其中,所述被读取的2×N位字包括高N位字和低N位字,并且所述高N位字被存储在所述高位读取数据队列中,而所述低N位字被存储在所述低位读取数据队列中。
9.如权利要求8所述的计算机系统,其中,所述被读取的2×N位字是32位字并且包括高16位字和低16位字,并且所述高16位字被存储在所述高位读取数据队列中,而所述低16位字被存储在所述低位读取数据队列中。
10.如权利要求7所述的计算机系统,其中,所述至少一个多路复用器将所述新的N位宽的数据与所述被读取的2×N位字合并,从而在所述至少一个多路复用器的输出端处形成修改后的2×N位字。
11.如权利要求1所述的计算机系统,其中,由所述第二逻辑电路执行的所述2×N位的单次写入不改变在所述2×N位外围设备的所述2×N位数据位置处的所述2×N位字的另一个N位字。
12.一种在计算机系统中使用两周期访问的N位处理器的仅两个时钟周期来修改仅M×N位外围设备的M×N位数据位置的N位字的方法,该计算机系统包括所述两周期访问的N位处理器、所述至少一个仅M×N位外围设备、以及耦接到所述两周期访问的N位处理器且耦接到所述至少一个仅M×N位外围设备的写入合并系统,该方法包括在所述写入合并系统执行的以下步骤:
a)预存储外围设备的地址的存储器映射;
b)在两周期访问的N位处理器的第一时钟周期期间接收包括P位地址的写入事务,以利用新的N位字来修改仅M×N位外围设备的M×N位数据位置的N位字;
c)在所述两周期访问的N位处理器的第二时钟周期期间接收用于所述新的N位字的数据;
d)根据所述P位地址并根据所述存储映射来形成Q位地址;
e)从所述仅M×N位外围设备的所述M×N位数据位置读取M×N位字;
f)将所述新的N位字与在步骤e读取的所述M×N位字合并以创建修改后的M×N位字;以及
g)向所述仅M×N位外围设备的所述M×N位数据位置写入所述修改后的M×N位字。
13.如权利要求12所述的方法,其中,N=16。
14.如权利要求12所述的方法,其中,M=2。
15.如权利要求12所述的方法,其中,P<Q。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/233,915 US7376777B2 (en) | 2005-09-23 | 2005-09-23 | Performing an N-bit write access to an M×N-bit-only peripheral |
US11/233,915 | 2005-09-23 | ||
PCT/US2006/034775 WO2007037930A2 (en) | 2005-09-23 | 2006-09-06 | PERFORMING AN N-BIT WRITE ACCESS TO AN MxN-BIT-ONLY PERIPHERAL |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101313290A CN101313290A (zh) | 2008-11-26 |
CN101313290B true CN101313290B (zh) | 2010-10-27 |
Family
ID=37895532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800435721A Expired - Fee Related CN101313290B (zh) | 2005-09-23 | 2006-09-06 | 对仅m×n位外围设备执行n位写入访问的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7376777B2 (zh) |
CN (1) | CN101313290B (zh) |
WO (1) | WO2007037930A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006155387A (ja) * | 2004-11-30 | 2006-06-15 | Yamaha Corp | コンピュータシステム |
JP2008046993A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 半導体装置およびバス間接続方法 |
MY169787A (en) * | 2010-11-29 | 2019-05-15 | Mimos Berhad | A system-on-chip for baseband processing |
CN102981801B (zh) * | 2012-11-07 | 2015-10-28 | 迈普通信技术股份有限公司 | 一种本地总线数据位宽的转换方法及装置 |
CN103218346A (zh) * | 2012-11-13 | 2013-07-24 | 长沙景嘉微电子股份有限公司 | 一种应用于射频通信接收机中的数字信号处理器 |
US9563586B2 (en) * | 2013-04-11 | 2017-02-07 | Apple Inc. | Shims for processor interface |
US10997090B2 (en) | 2016-06-28 | 2021-05-04 | Intel Corporation | Accessing input/output devices of detachable peripheral by a main computer |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1157961A (zh) * | 1995-12-25 | 1997-08-27 | 松下电工株式会社 | 外围设备选择系统 |
US6393500B1 (en) * | 1999-08-12 | 2002-05-21 | Mips Technologies, Inc. | Burst-configurable data bus |
US6490642B1 (en) * | 1999-08-12 | 2002-12-03 | Mips Technologies, Inc. | Locked read/write on separate address/data bus using write barrier |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446845A (en) | 1993-09-20 | 1995-08-29 | International Business Machines Corporation | Steering logic to directly connect devices having different data word widths |
KR0157924B1 (ko) | 1995-12-23 | 1998-12-15 | 문정환 | 데이타 전송 시스템 및 그 방법 |
US5828865A (en) | 1995-12-27 | 1998-10-27 | Intel Corporation | Dual mode bus bridge for interfacing a host bus and a personal computer interface bus |
JP3232236B2 (ja) | 1996-04-05 | 2001-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | グラフィック処理システム |
US5892978A (en) * | 1996-07-24 | 1999-04-06 | Vlsi Technology, Inc. | Combined consective byte update buffer |
US5911053A (en) | 1996-09-30 | 1999-06-08 | Intel Corporation | Method and apparatus for changing data transfer widths in a computer system |
US6073190A (en) | 1997-07-18 | 2000-06-06 | Micron Electronics, Inc. | System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair |
US6467009B1 (en) * | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
US6181638B1 (en) * | 1998-12-07 | 2001-01-30 | Micron Technology, Inc. | Method for receiving data from a synchronous random access memory |
NO993483L (no) | 1999-07-15 | 2001-01-16 | Ericsson Telefon Ab L M | Fremgangsmåte og anordning for effektiv overföring av datapakker |
US6526462B1 (en) * | 1999-11-19 | 2003-02-25 | Hammam Elabd | Programmable multi-tasking memory management system |
US6571308B1 (en) * | 2000-01-31 | 2003-05-27 | Koninklijke Philips Electronics N.V. | Bridging a host bus to an external bus using a host-bus-to-processor protocol translator |
US6791611B2 (en) | 2000-05-09 | 2004-09-14 | Pixim, Inc. | Dual ported memory for digital image sensor |
US6810463B2 (en) | 2000-05-24 | 2004-10-26 | Nintendo Co., Ltd. | Gaming machine that is usable with different game cartridge types |
US6754760B1 (en) * | 2000-08-21 | 2004-06-22 | Xilinx, Inc. | Programmable interface for a configurable system bus |
US6829669B2 (en) * | 2000-09-08 | 2004-12-07 | Texas Instruments Incorporated | Bus bridge interface system |
US6751751B1 (en) * | 2000-11-06 | 2004-06-15 | Xilinx, Inc. | Universal multi-bus breakpoint unit for a configurable system-on-chip |
US6754741B2 (en) | 2001-05-10 | 2004-06-22 | Pmc-Sierra, Inc. | Flexible FIFO system for interfacing between datapaths of variable length |
JP2003108514A (ja) * | 2001-10-01 | 2003-04-11 | Matsushita Electric Ind Co Ltd | バスブリッジ |
JP2003223412A (ja) * | 2002-01-30 | 2003-08-08 | Oki Electric Ind Co Ltd | 半導体集積回路 |
KR100449721B1 (ko) | 2002-05-20 | 2004-09-22 | 삼성전자주식회사 | 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법 |
KR100476895B1 (ko) | 2002-05-21 | 2005-03-18 | 삼성전자주식회사 | 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법 |
US6848032B2 (en) | 2002-09-27 | 2005-01-25 | Apple Computer, Inc. | Pipelining cache-coherence operations in a shared-memory multiprocessing system |
US7054988B2 (en) * | 2003-04-17 | 2006-05-30 | Lsi Logic Corporation | Bus interface for processor |
US7152138B2 (en) * | 2004-01-30 | 2006-12-19 | Hewlett-Packard Development Company, L.P. | System on a chip having a non-volatile imperfect memory |
TW200535687A (en) * | 2004-04-23 | 2005-11-01 | Mediatek Inc | Control system of peripheral device |
-
2005
- 2005-09-23 US US11/233,915 patent/US7376777B2/en not_active Expired - Fee Related
-
2006
- 2006-09-06 CN CN2006800435721A patent/CN101313290B/zh not_active Expired - Fee Related
- 2006-09-06 WO PCT/US2006/034775 patent/WO2007037930A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1157961A (zh) * | 1995-12-25 | 1997-08-27 | 松下电工株式会社 | 外围设备选择系统 |
US6393500B1 (en) * | 1999-08-12 | 2002-05-21 | Mips Technologies, Inc. | Burst-configurable data bus |
US6490642B1 (en) * | 1999-08-12 | 2002-12-03 | Mips Technologies, Inc. | Locked read/write on separate address/data bus using write barrier |
Also Published As
Publication number | Publication date |
---|---|
WO2007037930A3 (en) | 2007-10-04 |
WO2007037930A2 (en) | 2007-04-05 |
US7376777B2 (en) | 2008-05-20 |
CN101313290A (zh) | 2008-11-26 |
US20070073953A1 (en) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5608881A (en) | Microcomputer system for accessing hierarchical buses | |
US5930523A (en) | Microcomputer having multiple bus structure coupling CPU to other processing elements | |
CN101313290B (zh) | 对仅m×n位外围设备执行n位写入访问的系统和方法 | |
US7617383B2 (en) | Circular register arrays of a computer | |
US7590774B2 (en) | Method and system for efficient context swapping | |
JPH05502125A (ja) | 後入れ先出しスタックを備えるマイクロプロセッサ、マイクロプロセッサシステム、及び後入れ先出しスタックの動作方法 | |
JPS6051134B2 (ja) | デ−タ処理システム | |
US20050262288A1 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
CN117435251B (zh) | 一种后量子密码算法处理器及其片上系统 | |
US6230238B1 (en) | Method and apparatus for accessing misaligned data from memory in an efficient manner | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
CN112486904B (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
US6708259B1 (en) | Programmable wake up of memory transfer controllers in a memory transfer engine | |
JP7567133B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
JPH06103225A (ja) | チェーン式dma方式及びそのためのdmaコントローラ | |
JP2002278836A (ja) | キャッシュメモリ | |
JP2006515446A (ja) | 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム | |
US9804985B2 (en) | Hardware abstract data structure, data processing method and system | |
JPH01205339A (ja) | マイクロコンピュータシステム | |
JP2001273014A (ja) | プログラマブルコントローラ | |
US20080183941A1 (en) | Hardware assisted bus state transition using content addressable memories. | |
JPH0256029A (ja) | 汎用レジスタ切換方式 | |
JPH055133B2 (zh) | ||
JPS635432A (ja) | マイクロプロセツサ | |
JP2847729B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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: 20101027 Termination date: 20180906 |
|
CF01 | Termination of patent right due to non-payment of annual fee |