CN1279787A - 少引线数总线上的存储器事务处理 - Google Patents
少引线数总线上的存储器事务处理 Download PDFInfo
- Publication number
- CN1279787A CN1279787A CN98811468A CN98811468A CN1279787A CN 1279787 A CN1279787 A CN 1279787A CN 98811468 A CN98811468 A CN 98811468A CN 98811468 A CN98811468 A CN 98811468A CN 1279787 A CN1279787 A CN 1279787A
- Authority
- CN
- China
- Prior art keywords
- bus
- main frame
- memory device
- control information
- lpc
- 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
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
一种系统,其总线(124)与主机(102)和存储设备(108)耦合。总线(124)可能包含许多通用信号线来传送时分多路复用的地址,数据,和控制信息。存储设备(108)可保存系统启动信息,并通过总线(124)将此信息传达给主机(102)。
Description
本发明涉及计算机系统。更具体而言,本发明涉及计算机系统中少引线数总线上不同类型设备之间的通信。
传统老式基础(legacy-based)的计算机系统包含许多外围设备和存储设备,它们通过工业标准体系结构(ISA)总线或扩展总线(X-bus)与系统的芯片组或处理器通信。系统芯片组或处理器必须包含大量引线(例如大约50-70条引线)和相关电路来支持ISA总线或扩展总线信号,这些信号用于连接芯片组或处理器与老式基础的外围设备,包括输入/输出(I/O)或I/O控制设备,例如并行端口控制器、串行端口控制器、超级I/O控制器、软盘控制器、键盘控制器,与存储设备,例如非易失性存储设备用于存储,例如基本输入输出服务(BIOS)信息。
支持ISA总线和扩展总线标准所需的大量引线通常会增加整个系统的成本。例如,芯片组或处理器需要较大的封装。较大引线数封装的成本通常比较小引线数封装高,并且在封装组装和系统集成过程中通常对制造质量和可靠性问题更加敏感。而且,较大引线数封装要求印刷电路板(PCB)上更大的表面积,在印刷电路板上可实现计算机系统。因此,就希望把计算机系统中的ISA总线或扩展总线替换成支持相同类型外围设备,但利用相对较少数量引线或信号线的总线。
ISA总线和扩展总线标准还限制存储器或I/O地址空间大小在24位或大约16兆字节的存储器或I/O地址空间。由于一些处理器和芯片组能支持32位或64位的地址空间,从前要用别名来把处理器地址空间翻译到ISA地址空间。别名会产生相当的额外开销,可给计算机系统的性能带来负面影响。因此,就希望把ISA总线和扩展总线标准替换成支持一种地址空间的总线,这种地址空间与处理器或芯片组地址空间兼容,并且是潜在无限的。
ISA总线和扩展总线标准还有异步的缺点。这通常对于那些需要产生和响应ISA总线和扩展总线信号的元件会增加设计复杂度。因此,就希望把ISA总线和扩展总线标准替换成支持元件间同步通信的总线,从而整体上降低总线接口电路的复杂度。
描述了一种系统,其总线与主机和存储设备耦合。此总线可能包含许多通用信号线来传送时分多路复用的地址,数据,和控制信息。存储设备可保存系统启动信息,并通过总线将此信息传达给主机。
本发明的其他特征和优点从附图和下面的详细叙述中会变得明显。
本发明的特征和优点由附图中的例子来阐明,但并不局限于此,图中相似的标号表示相似的元素,其中:
图1是含少引线数(LPC)总线的计算机系统的一种实施方案;
图2是LPC接口的一种实施方案;
图3是用于执行存储器和I/O事务处理的状态机的一种实施方案;
图4是LPC存储器读事务处理的一种实施方案;
图5是LPC存储器写事务处理的一种实施方案;
图6是用于执行存储器和I/O事务处理的状态机的另一种实施方案;
图7是LPC存储器读事务处理的另一种实施方案;
图8是LPC存储器写事务处理的另一种实施方案;
图9是存储设备选择办法的一种实施方案;
图10是用于存储设备的LPC接口的一种实施方案;以及
图11是低功率模式工作时序图的一种实施方案。
公开了一种少引线数(LPC)总线的计算机系统。LPC总线可以替代计算机系统中的ISA总线或扩展总线,并提供主机,例如处理器或芯片组,与外围设备,例如I/O或I/O控制设备和存储设备,之间的通信机构。一种实施方案是,LPC总线可包含通用信号线,它们传送几乎所有的时分多路复用的地址,数据,和控制信息来执行主机和外围设备之间的存储器,I/O,直接存储器存取(DMA),和总线主控器的事务处理。
LPC总线的一个优点是,它可能只需要相当少的信号线(例如,约6-8根信号线)来完成以前由ISA总线和扩展总线标准的约50-70根信号线完成的所有功能。既然LPC总线的信号线数量可以比ISA总线和扩展总线标准大大减少,计算机系统的芯片组或处理器上用来支持LPC总线所需的引线数也就可以大大减少。类似地,包含在每个外围设备中的LPC接口也可只用同样少数量的引线来通过LPC总线与芯片组或处理器连接。这可使元件制造商的封装成本降低,计算机系统制造商的系统成本降低。另外,这可能提高质量,并使封装和系统集成更可靠。LPC总线还可以用来代替其他系统总线以减少与总线耦合的封装的引线数。
LPC总线的另一个优点是,存储器和/或I/O地址空间不再限于通信总线上一定数量的地址线;相反地,LPC总线可以串行传送所需数量的地址信号来寻址任何地址空间。因此,可避免传统的存储器或I/O地址空间的别名。
LPC总线的另一个优点是,可能用来连接芯片组或处理器和外围设备的LPC接口逻辑和/或软件与现有的采用ISA总线或扩展总线标准的计算机系统可以是软件兼容的。也就是说,比起ISA总线或扩展总线系统来,在LPC总线系统上运行操作系统软件或应用程序不需要特殊的驱动程序或配置。
LPC总线还有另一个优点是,它可以是同步总线,使得主机和外围设备中的LPC接口电路通常比异步总线接口设计所需的电路简单。
LPC总线和相关的支持电路也可包含在其他系统中,包括打印机,数字摄象机,和通信系统(例如,调制解调器,蜂窝式电话系统,寻呼机,和数字应答系统)。
图1是计算机系统100的一种实施方案,包含了主机102,它经由LPC总线124与外围设备,包括I/O或I/O控制设备104和106,和存储设备108耦合。主机102可以是芯片组,处理器,或者任何其他包含了与LPC总线124接口的智能的控制逻辑。主机102还可包含必要的逻辑以便与可选择的ISA总线126和可选择的PCI或主机总线128接口。主机102通过总线130与存储器110交流地址,数据,和控制信息,总线130可以是局部总线或其他存储器总线。存储器130可以是系统100的主要的或首要的存储器,例如动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),或任何其他类型的易失性或非易失性的存储器,可用来保存,例如,操作系统软件,应用程序,或程序数据。
I/O设备104和106,可以是I/O控制设备,可在I/O地址空间内寻址,并且控制访问外围元件,例如软盘驱动器,键盘,等等。每个I/O设备104和106可以是,例如,软盘控制器,串行端口控制器,并行端口控制器,红外线(IR)控制器,键盘控制器,声频控制设备,或视频控制设备。I/O设备104可以是超级I/O设备,包含I/O控制器120和122,它们都可以是,例如,软盘控制器,串行端口控制器,并行端口控制器,红外线(IR)控制器,键盘控制器,声频控制设备,或视频控制设备。
存储设备108是可在存储空间内寻址的外围设备。例如,存储设备108可包含任何类型的易失性或非易失性存储器,例如DRAM,SRAM,快速存储器,电可编程只读存储器(EPROM),电可擦除可编程只读存储器(EEPROM),磁存储介质,或光存储介质。存储设备108可保存系统启动代码,可管理代码,操作系统数据,应用程序代码,程序数据,或作为主机102或I/O设备104和106的便笺式存储器的过程。系统启动程序可包含必要的软件来配置或启动系统100中的元件,还可能包含BIOS信息。
主机102和外围设备104,106,和108均分别包含各自的LPC接口118,112,114,和116,用于产生LPC信号和响应LPC总线124上的LPC信号。这些LPC接口可以使系统100能通过LPC总线124执行存储器,I/O,DMA,和总线主控器的事务处理。每个LPC总线接口或者有输入或者有输出引线来接收或发送信号LAD[3:0],LCLK,和LFRAME#。注意磅符号“#”跟在信号名后表示该信号是低电平有效信号。可供选择的实施方案是,低电平有效信号可以改变成高电平有效信号。
LAD[3:0]信号线是通用信号线,通过LPC总线124在主机102和外围设备104,106,和108之间传送时分多路复用的地址,数据,和控制信息。在任何给定时刻LAD[3:0]到底是在传送地址,数据,或控制信息可以通过系统100的工作环境来确定,下面将会更详细叙述。尽管LAD[3:0]被表示成一条四位的总线,它可包含任何数目的信号线来实现传送时分多路复用的地址,数据,和控制信息的目的。四位半字节大小的总线有利于减少每个LPC接口112-118所需的引线数量,和减少主机102和外围设备104,106,和108的引线数量和封装尺寸。
LCLK是一个时钟信号,可由LPC接口118或主机102中的其它电路(未示出)产生。可选择地,LCLK也可由包含晶体或其他计时电路的系统时钟(未示出)产生。一种实施方案是,LCLK可以是来自PCI总线128的PCI时钟。
LFRAME#是由主机102的LPC接口118产生的,用来表示LPC事务处理或周期的开始和/或结束。每个LPC接口112,114,和116,都可监视或采样LFRAME#来确定LPC事务处理何时开始或结束。例如,当LFRAME#被主机102声明(assert)为(例如,低电平),外围设备104,106,和108各自的LPC接口112,114,和116就会监视LAD[3:0]来确定该事务处理或周期是否针对它们。有利的是,当一件事务处理不是针对某台外围设备时,该外围设备可以进入低功率模式,其状态机可从总线上去耦合,和/或选通其时钟。如果LFRAME#在不止一个LCLK周期中被声明,那么在LFRAME#有效的最后一个LCLK周期中,LPC接口112,114,和116可能仅对LAD[3:0]上的启动控制信息起反应。表1概括了LFRAME#被声明时LAD[3:0]上的启动控制信息的示例定义。表1
LAD[3:0] | 功能 |
0000 | 事务处理开始 |
0001 | 保留 |
0010 | 授权总线主控器0 |
0011 | 授权总线主控器1 |
0100 | 保留 |
1101 | 存储器读 |
1110 | 存储器写 |
1111 | 停止/异常中止事务处理 |
LFRAME#用于异常中止或结束LPC事务处理。例如,在LPC事务处理中,外围设备104,106,和108各自的LPC接口112,114,和116连续监视LFRAME#。如果LFRAME#在LPC事务处理中被声明,外围设备104,106,和108就会停止驱动LAD[3:0],并异常中止其LPC事务处理。一种实施方案是,主机102在一定数量的LCLK周期(例如,四个时钟周期)中声明LFRAME#以保证异常中止标志被所有的外围设备识别。在一个或多个这些LCLK周期中,主机102还可在外围设备104-108停止驱动LAD[3:0]后在LAD[3:0]上驱动预定数据。一种实施方案是,当LFRAME#被声明为表示异常中止序列时,主机102在LAD[3:0]上驱动1111。在异常中止序列结尾,LFRAME#可在新的LPC事务处理开始前去声明(deassert)。
另一种可选择的实施方案是,LFRAME#可在任何系统中的任意两台设备(例如,主机和外围设备)之间作为一条独立控制线(除总线之外)上的独立控制信号来传达一件事务处理,例如存储器,I/O,总线主控器,或DMA事务处理的开始或异常中止。
LPC总线124还可包含复位信号LRESET#输入到每个LPC接口112,114,116,和118,并把LPC接口复位到某已知状态(例如,空闲状态)。一种实施方案是,LRESET#可以是与PCI总线128上的PCI复位信号相同的复位信号。
I/O设备104和106也可分别含有DMA请求信号LDRQ0#和LDRQ1#,由单独的控制线接到主机102的LPC接口118上。LDRQ0#和LDRQ1#可用来在执行DMA或总线主控器事务处理之前向主机102发送编码DMA通道请求。每个I/O设备都有一个特有的LDRQ#信号,这样外围设备I/O控制器120和122在LDRQ0#上共享一个DMA通道请求。
LPC总线124还可包含低功率或备用信号LPCPD#,它可由主机102通过单独的控制线输出到每个外围设备104-108。如图11所示,主机102可能在时刻t0异步声明LPCPD#(例如,低电平)以使外围设备104-108进入低功率模式。当识别出被主机102声明的LPCPD#时,外围设备104-108将会终止任何LPC事务处理,并三态或驱动LDRQ#信号无效。外围设备104-108和/或主机102还可三态或驱动LAD[3:0]到某已知状态。主机102还可在声明LPCPD#后驱动LFRAME#到某已知状态(高或低电平)。在低功率模式下,LCLK可在时刻t1被关断,外围设备104-108可能关断其状态机和/或其他逻辑。一种实施方案是,t0和t1之间的时间差至少为30微秒。当退出低功率模式时,LCLK可在时刻t2异步重启动,并在LPCPD#于时刻t3去声明之前运行一段时间。另一种实施方案是,t2和t3之间的时间差至少为100微秒。那么从时刻t3到t4,LRESET#可被用于复位外围设备104-108。另一种实施方案是,时刻t3和t4之差至少为60微秒。
主机102和外围设备104-108也可含有在ISA或PCI总线中使用的附加边带输入和/或输出信号,包括中断信号(例如,SERIRQ和SMI#),附加时钟信号(例如,CLKRUN#),和功率管理信号,下面会更详细描述。
在一种实施方案中,通过使用大约6-9根信号线,LPC总线124会比传统的ISA总线或扩展总线部件或系统节省大量信号和引线数。例如,下列通常可在即插即用设备上找到的ISA总线或扩展总线信号可不再需要:D[7:0],SA[15:0],DREQ[3:0],DACK#[3:0],TC,IOR#,IOW#,IOCHRDY,IOCS16#,和MEMCS16#。这可使总线,主机,和/或外围设备节省大约30-40个信号。一种实施方案是,一台全功能的超级I/O外围控制设备,在与ISA或扩展总线兼容的情况下,可能需要多达160引线的封装,而使用图1所示的LPC接口可能只需88引线(或更少)的封装。
LPC总线可被LPC接口112-118用来执行存储器,I/O,DMA,和总线主控器事务处理或周期,包括存储器读,存储器写,I/O读,I/O写,DMA读,DMA写,总线主控器存储器读,总线主控器存储器写,总线主控器I/O读,和总线主控器I/O写。事务处理的类型可由循环类型和方向控制信息字段来表示,并由主机102或外围设备104,106,和108在LAD[3:0]上驱动。表2中示出LAD[3:1]上循环类型和控制信息编码的一种实施方案。也可能使用相同或其他信号线上的其他编码。
表2
LAD[3:1] | 事务处理 |
000 | I/O读 |
001 | I/O写 |
010 | 存储器读 |
011 | 存储器写 |
100 | DMA读 |
101 | DMA写 |
110-111 | 保留 |
图2显示了LPC接口200,它是主机102的LPC接口118的一种实施方案。LPC接口200产生和解释LPC总线124上的地址,数据,和控制信息来执行表2中的事务处理。LPC接口200包含存储器和I/OLPC控制逻辑202,可以控制主机102和外围设备104-108之一之间的存储器读,存储器写,I/O读,和I/O写的LPC事务处理。存储器和I/O LPC控制逻辑202可包含状态机或序列发生器用于对某特定LPC事务处理的必要状态排序,并在LAD[3:0],LFRAME#,和/或LCLK上产生地址,数据,或控制信息。供给LAD[3:0],LFRAME#,和/或LCLK的信息可能被提供给总线214以便让逻辑208输出到LPC总线124。
一种实施方案是,存储器和I/O LPC控制逻辑202确定一件LPC存储器或I/O事务处理可能要求通过与LPC译码逻辑210交流一个或多个信号216来执行。LPC译码逻辑210可接收存储器或I/O读或写请求和来自主机102,ISA总线126,或PCI或主机总线128的相关地址。LPC译码逻辑把地址译码,并向存储器和I/O LPC控制逻辑202送出信号来开始一件存储器或I/O LPC事务处理。可选择地,LPC译码逻辑210也可位于LPC接口200外,但仍在主机102内。用于外围设备104-108的译码地址范围可被定义,以使其与从前的ISA总线和扩展总线的老式基础的辅助外围设备兼容,即令LPC事务处理软件对操作系统软件和应用软件透明。另一种可选择的实施方案是,存储器和I/O LPC事务处理的控制可能被分成不同的控制电路。
LPC接口200还包含DMA LPC控制逻辑204,控制主机102与I/O设备104和106之一之间的DMA读写的LPC事务处理。DMA LPC控制逻辑204可包含状态机或序列发生器用于对DMA LPC事务处理的必要状态排序,在LAD[3:0],LFRAME#,和/或LCLK上产生地址,数据,或控制信息,并接收DMA请求信号LDRQ0#和LDRQ1#。供给LAD[3:0],LFRAME#,LDRQ0#,LDRQ1#,和/或LCLK的信息可能经由逻辑208和总线214被提供给或来自LPC总线124。
DMA LPC控制逻辑204可与主机102和存储器110接口,经由可能位于主机102内的DMA控制器212。DMA LPC控制逻辑204可与DMA控制器212交流一个或多个信号218。一种实施方案是,DMA控制器212可包含一个或多个8237或与8237兼容的DMA控制器。DMA控制器212可在主机102内代表一个DMA通道执行仲裁,以便让使用该DMA通道的I/O设备可通过主机102与主存储器110通信。
LPC接口200还可包含总线主控器LPC控制逻辑206,控制主机102与外围设备104-108之间的总线主控器存储器读写的LPC事务处理,和总线主控器I/O读写LPC事务处理。总线主控器LPC控制逻辑206可包含状态机或序列发生器用于对总线主控器LPC事务处理的必要状态排序,在LAD[3:0],LFRAME#,和/或LCLK上产生地址,数据,或控制信息,并接收DMA请求信号LDRQ0#和LDRQ1#。供给LAD[3:0],LFRAME#,LDRQ0#,LDRQ1#,和/或LCLK的信息可能经由逻辑208和总线214被提供给或来自LPC总线124。
逻辑208可能包含一个或多个缓冲器或收发器来连接LPC总线124与LPC总线214。可选择地,LPC接口200可能不包含总线214;相反地,逻辑208可能直接个别地与存储器和I/O LPC控制逻辑202,DMA LPC控制逻辑204,和总线主控器LPC控制逻辑206的输入和输出信号相连。在这种可选择的实施方案中,逻辑208可以是选择器或多路复用器电路,在主机102的控制下输出或输入适当的LPC信号到或从LPC总线124和控制逻辑202,204,和206。
图3是状态图的一种实施方案,可以被一个或多个LPC接口112-118用来在主机102和外围设备104-108之间执行存储器和/或I/O写或读LPC事务处理。例如,图3的状态图可被图2的存储器和I/O LPC控制逻辑202的状态机或序列发生器使用。这张状态图实现存储器读,存储器写,I/O读,和I/O写LPC事务处理。在其他的实施方案中,分别的状态机可能实现存储器事务处理和I/O事务处理。存储器读写LPC事务处理将会在图4和5中示例时序图的辅助下描述。
首先参考图3和4描述一件示例的存储器读LPC事务处理,它由主机102从存储设备108的一个存储单元读。这件存储器读LPC事务处理可以这样实现,例如,由主机102从存储设备108读取系统启动信息。在状态302,当LFRAME#去声明(例如,为高电平)时,LPC接口118处于空闲状态,没有执行LPC事务处理。当主机102通过声明LPC总线124上的LFRAME#(例如,为低电平)来开始一件LPC事务处理(例如,当控制逻辑202从LPC译码逻辑210接收到译码信号,并且主机102示意一件存储器读LPC事务处理将会发生)时,进程转换到状态304。主机102可能在LAD[3:0]上驱动起始控制信息,表示在周期T0中一件LPC事务处理的开始。例如,起始控制信息可以是LAD[3:0]上的0000,如表1所示。
接着进程转换到状态306,在周期T1中主机102在LAD[3:0]上驱动循环类型和方向控制信息。循环类型和方向控制信息示意外围设备104-108,该LPC事务处理是存储器读事务处理。例如,循环类型和方向控制信息可以是LAD[3:1]上的010,如表2所示。
接着进程转换到状态308,在n个时钟周期T2中主机102在LAD[3:0]上驱动选出的存储设备108中的存储单元地址。该地址可以是系统支持的任意位长,例如图1中的系统100,并在n个时钟周期T2中发送。一种实施方案是,存储器地址空间可以是4千兆字节,需要32位存储器地址。在这种实施方案中,地址信息的八个时钟周期由控制逻辑向LPC总线124提供,从而把地址信息的8个半字节(32位)从主机102传送到存储设备108。地址信息可以这样被提供,最高有效半字节最先,最低有效半字节最先,或者是存储设备108预期的任何次序。
另一种可选择的实施方案是,主机102可选择性地在随后的一个周期内在LAD[3:0]上驱动长度控制信息。一种实施方案是,长度控制信息表示要从存储设备108读取的存储数据的字节数,起始于状态308中提供的地址。表3提供了LAD[1:0]上字节数编码的一种实施方案,随后将在LAD[3:0]上传送。也可能使用相同或不同LAD信号线上的其他编码。
表3
LAD[1:0] | 长度 |
00 | 8位(1字节) |
01 | 16位(2字节) |
10 | 保留 |
11 | 32位(4字节) |
另一种实施方案是,长度控制信息可表示2长度个字节的存储数据将从存储设备108读取,起始于状态306中提供的地址。
接着进程转换到转向(TAR)状态312,在n个时钟周期T4中把对LPC总线124的控制从主机102移交给存储设备108。一种实施方案是,状态312为两个时钟宽。在第一个时钟周期内,主机102可用预定的控制信息(例如,1111)驱动LAD[3:0]线。在第二个时钟周期内,主机102三态LAD[3:0]线。这些线上附属的上拉电阻可能较弱,于是它们可保持在逻辑高的状态。在其他的实施方案中,n可以是一个时钟周期或大于两个时钟周期来使LAD[3:0]转向。
接着进程转换到状态314,这时主机102等待n个时钟周期T5,而存储设备108在LAD[3:0]上驱动带内同步控制信息。带内同步控制信息可用于增加等待状态,直到存储数据准备好被存储设备108输出。在这种方式下,不同速度或存取时间的存储设备可以耦合到同一条LPC总线上。传统地,专用控制线上的专用控制信号用来表示数据何时准备好(例如,ISA总线或扩展总线中的IOCHRDY)。相反,存储设备108可使用LAD[3:0]上的带内信号来插入等待状态,而不需要使用额外的专用引线或信号线。
一种实施方案是,同步控制信息字段有两种状态。第一状态驱动LAD[3:0]上的第一控制信息(例如,0101或0110),同时访问被请求的数据。第二状态驱动LAD[3:0]上的第二控制信息来表示数据已准备好输出到LPC总线124(例如,LAD[3:0]上的0000)。主机102可监视同步控制信息,并确定第二信息何时被发送。于是主机102可以知道,由存储设备108在随后的时钟周期T6中输出的数据将是主机102请求的数据。一种实施方案是,第一控制信息用编码(例如,LAD[3:0]上的0110)来表示,存储设备108可能向LAD[3:0]上驱动相对较大数目的等待状态(例如,大约20+个等待状态)。第一控制信息也可用编码(例如,LAD[3:0]上的0101)来表示,存储设备108可能向LAD[3:0]上驱动相对较小数目的等待状态(例如,大约1-20个等待状态)。例如(见下面的表4),存储设备108可在大约1-20个时钟周期内分别在LAD[3:0]上驱动同步信息0101,然后再分别在LAD[3:0]上驱动一个周期的0000,来表示被请求的数据已经准备好,将会在下一个时钟周期输出。
如果等待状态的数目较大,主机120可能决定进入状态320来异常中止事务处理。如前所述,主机102可通过声明LFRAME#一个或多个时钟周期,并在LAD[3:0]上驱动预定的异常中止控制信息(例如,表1中的1111)来异常中止事务处理。
控制信息的同步字段也可被存储设备108用来在LAD[3:0]上发送带内出错信息给主机102的LPC接口118。出错信息可以在同步时序中的任意时刻发送。例如,在有第一和第二同步控制信息的实施方案中,它可作为第二控制信息发送。出错信息可以表示,例如,被请求数据被某种方式破坏,外围设备不理解请求,作出无效请求,或者请求产生时外围设备正处于掉电模式或处于它未准备好或不能输出数据的另一模式。一种实施方案是,如果出错信息在存储器读事务处理时发出,数据被读出并忽略。
表4提供了上面描述的LAD[3:0]上的同步控制信息的编码的一种实施方案。也可能使用其他的编码。表4
LAD[3:0] | 表示 |
0000 | 准备好 |
0001-0100 | 保留 |
0101 | 短等待 |
0110 | 长等待 |
0111-1000 | 保留 |
1001 | DMA准备好更多信息 |
1010 | 错误 |
1011 | 保留 |
1100 | 没有更多的同步信息准备好 |
1101-1111 | 保留 |
可选择的实施方案是,带内同步控制信息可在任意两台设备(例如,主机和外围设备)间使用,通过任意系统中通用的时分多路复用的总线来传递等待状态,出错,或是前面提到的或表4中概括的任何其他信息。
当存储设备108准备好输出其数据到LPC总线124时,在提供了适当的同步控制信息于LAD[3:0]上(例如,0000)之后,进程转换到状态316,并保持n个时钟周期T6。在状态316,主机102读取由存储设备108向LAD[3:0]上提供的数据。存储设备108可能以字节的增量在两个时钟周期内向LAD[3:0]上驱动数据。一种两字节传送的实施方案是,第一字节可以在前两个时钟周期内输出,第二字节在随后的两个时钟周期内输出。对于每个字节,数据由存储设备108输出的方式可以是低半字节先,高半字节先,或任何其他方式。类似地,每组由存储设备108输出的字节也可以是低字节先,高字节先,或任何其他方式。
一种实施方案是,多字节读可以通过在状态316和314之间循环来实现,于是同步控制信息字段被插入到字节中。另一种可选择的实施方案是,多字节的字符组读可以当进程在状态316时被读取。另一种可选择的实施方案是,存储设备108可在状态314向LAD[3:0]上驱动1100来表示,不会再有同步控制信息夹在数据字节中被传送。还有一种实施方案是,可能不需要特别的同步控制信息来表示多字节或字符组数据读。
当所有的数据都被主机102读取后,进程转换到(转向)TAR状态318,在其n个时钟周期T7中,对LAD[3:0]的控制可以还给主机102。与状态312一样,状态318可以是两个时钟宽。在第一个时钟周期内,存储设备108可用预定的控制信息(例如,1111)驱动LAD[3:0]线。在第二个时钟周期内,存储设备108可三态LAD[3:0]线。在其他的实施方案中,n可以是一个时钟周期或大于两个时钟周期来使LAD[3:0]转向。
将参考图3和5描述一件示例的存储器写LPC事务处理,它由主机102写到存储设备108的存储单元中。这件存储器写LPC事务处理可以这样实现,例如,由主机102写系统启动信息到存储设备108。在状态302,主机102处于空闲状态,没有执行LPC事务处理。当主机102声明LPC总线124上的LFRAME#时,进程开始一件LPC事务处理(例如,当控制逻辑202从LPC译码逻辑210接收到译码信号,并且主机102指示一件存储器写LPC事务处理将会发生)。然后进程转换到起始状态304,主机102在LAD[3:0]上驱动起始控制信息,表示一件LPC事务处理的开始。例如,起始控制信息可以是0000,如表1所示。接着进程转换到状态304,在周期T1中向LAD[3:0]上驱动循环类型和方向控制信息来示意外围设备104-108,该LPC事务处理是存储器写事务处理。例如,循环类型和方向控制信息可以是LAD[3:1]上的011,如表2所示。
接着进程转换到状态308,在n个时钟周期T2中主机102在LAD[3:0]上驱动选出的存储设备108中的存储单元地址。如前所述,该地址可以是系统支持的任意位长,例如图1中的系统100,并在n个时钟周期T2中发送。地址信息可以这样被提供,最高有效半字节最先,最低有效半字节最先,或是存储设备108预期的任何次序。
另一种可选择的实施方案是,主机102然后可在进程的周期T3中在LAD[3:0]上驱动长度控制信息。长度控制信息可表示要写到存储设备108的存储数据的字节数,起始于状态308中提供的地址。
接着进程转换到状态310,在n个时钟周期T4中主机102将适当字节的数据经LAD[3:0]写到存储设备108。主机102可能以字节的增量在两个时钟周期内向LAD[3:0]上驱动数据。例如,如果此次传送是16位或两字节的传送,那么第一字节可以在前两个时钟周期内输出,第二字节可在随后的两个时钟周期内输出。对于每个字节,数据由主机102输出的方式可以是低半字节先,高半字节先,或任何其他方式。类似地,每组由主机102输出的字节也可以是低字节先,高字节先,或任何其他方式输出。主机102可在状态310写一个或多个(字符组)字节的数据。
接着进程转换到转向(TAR)状态312,在n个时钟周期T5中把对LPC总线124的控制移交给存储设备108。接着进程转换到状态314,这时主机102等待n个时钟周期,而存储设备108在时钟周期T6内向LAD[3:0]上驱动带内同步控制信息。一种实施方案是,同步控制信息可以是一个或多个时钟周期,用于确认收到写入存储设备108的数据(例如,LAD[3:0]上的0000)。同步控制信息也可用于增加等待状态,直到数据已被写入和保存到存储设备108。在这些等待状态中,存储设备108可向LAD[3:0]上驱动短等待状态同步控制信息或长等待状态同步控制信息,如表4所示。当存储设备108已把数据写入被访的存储单元时,存储设备108可在LAD[3:0]上驱动准备好状态(例如,0000)。
与存储器读LPC事务处理一样,存储设备108也可经LAD[3:0]发送带内出错信息(例如,1010)给主机102,使用控制信息的同步字段。出错信息可以表示,例如,写事务处理未正确发生或发生了一些其它错误。
接着主机102转换到转向(TAR)状态318,在其n个时钟周期T7中,对LAD[3:0]的控制可以还给主机102。
图6是状态图的另一种实施方案,可以被一个或多个LPC接口112-118用来在主机102和外围设备104-108之间执行存储器和/或I/O写或读LPC事务处理。例如,图6的状态图可被图2的存储器和I/O LPC控制逻辑202的状态机或序列发生器使用。这张状态图实现存储器读和存储器写LPC事务处理。存储器读写LPC事务处理将会在图7和8中的示例时序图的辅助下描述。
首先参考图6和7描述一件示例的存储器读LPC事务处理,它由主机102从存储设备108的一个存储单元读。这件存储器读LPC事务处理可以这样实现,例如,由主机102从存储设备108读取系统启动信息。在状态602,当LFRAME#去声明(例如,为高电平)时,LPC接口118处于空闲状态,没有执行LPC事务处理。当主机102通过声明LPC总线124上的LFRAME#(例如,为低电平)来开始一件LPC事务处理(例如,当控制逻辑202从LPC译码逻辑210接收到译码信号,并且主机102示意一件存储器读LPC事务处理将会发生)时,进程转换到状态604。在周期T0中主机102可能在LAD[3:0]上驱动起始控制信息来表示一件LPC存储器读事务处理的开始。例如,起始控制信息可以是LAD[3:0]上的1101,如表1所示。
进程接着转换到设备选择(IDSEL)状态606,主机102在LAD[3:0]上驱动设备选择控制信息来为此次存储器读事务处理选择一台特定的存储设备。一种实施方案是,耦合到LPC总线124的存储设备有外部硬连线的或内部基于寄存器的标志。图9显示了硬连线的存储设备标志的一种实施方案。存储设备900的标志分别是输入端I0,I1,I2,和I3上的0000。存储设备901的标志分别是输入端I0,I1,I2,和I3上的0001。存储设备915的标志分别是输入端I0,I1,I2,和I3上的1111。可以采用任意数目的硬连线输入来标识或选择任意数目的存储设备,使用二进制形式或任何其他形式。每个耦合到LPC总线124上的存储设备比较设备选择控制信息和其硬连线标志来确定此次LPC存储器读(或写)事务处理是否针对它们。如果此次存储器事务处理不是针对它们,该存储设备就进入掉电状态(例如,空闲状态602)。
接着进程转换到状态608,在n个时钟周期T2中主机102在LAD[3:0]上驱动选出的存储设备108中的存储单元地址。该地址可以是系统支持的任意位长,例如图1中的系统100,并在n个时钟周期T2中发送。一种实施方案是,存储器地址空间可以是256千字节,需要28位存储器地址。在这种实施方案中,地址信息的七个时钟周期由控制逻辑向LPC总线124提供,从而把地址信息的7个半字节(28位)从主机102传送到存储设备108。地址信息可以这样被提供,最高有效半字节最先,最低有效半字节最先,或者是存储设备108预期的任何次序。
接着进程转换到状态610,在时钟周期T3中主机102在LAD[3:0]上驱动长度控制信息。一种实施方案是,长度控制信息表示要从存储设备108读取的存储数据的字节数,起始于状态606中提供的地址。表6提供了字节数编码的一种实施方案。另一种实施方案是,长度控制信息可表示2长度个字节的存储数据将从存储设备108读取,起始于状态608中提供的地址。
一种实施方案是,数据传送可被主机102调整对齐于2长度的边界。例如,如果LAD[3:0]上的长度字段等于0100,那么此次操作就被调整对齐于16字节的边界,存储设备108应该接收或发送16字节的数据,起始于整16字节的地址。另一种实施方案是,数据传送可以被调整对齐于表3中的长度边界。例如,如果LAD[3:0]上的长度等于0100,那么此次操作就被调整对齐于16位或字边界,存储设备108应该接收或发送16位的数据,起始于整16位或字的地址。
接着进程转换到转向(TAR)状态614,在n个时钟周期T4中把对LPC总线124的控制从主机102移交给存储设备108。接着进程转换到状态616,这时主机102等待n个时钟周期T5,而存储设备108在LAD[3:0]上驱动带内同步控制信息。正如前面描述的图3中的状态314,同步控制信息可用于向存储器事务处理中增加等待状态。如果等待状态的数目较大,主机120可能决定进入状态622来异常中止事务处理。如前所述,主机102可通过声明LFRAME#一个或多个时钟周期,并在LAD[3:0]上驱动预定的异常中止控制信息(例如,表1中的1111)来异常中止事务处理。
正如前面描述的图3中的状态314,控制信息的同步字段也可被存储设备108用来在LAD[3:0]上发送带内出错信息给主机102的LPC接口118。上面的表4提供了上面描述的LAD[3:0]上的同步控制信息的编码的一种实施方案。也可能使用其他的编码。
可选择的实施方案是,带内同步控制信息可在任意两台设备(例如,主机和外围设备)间使用,通过任意系统中通用的时分多路复用的总线来传递等待状态,出错,或是前面提到的或表4中概括的任何其他信息。
当存储设备108准备好输出其数据到LPC总线124时,在提供了适当的同步控制信息于LAD[3:0]上(例如,0000)之后,进程转换到状态618,并保持n个时钟周期T6。在状态618,主机102读取由存储设备108向LAD[3:0]上提供的数据。存储设备108可能以字节的增量在两个时钟周期内向LAD[3:0]上驱动数据。对于每个字节,数据由存储设备108输出的方式可以是低半字节先,高半字节先,或任何其他方式。类似地,每组由存储设备108输出的字节也可以是低字节先,高字节先,或是主机102预期的任何其他方式。
一种实施方案是,多字节读可以通过在状态618和616之间循环来实现,于是同步控制信息字段被插入到字节中。另一种可选择的实施方案是,多字节的字符组读可以当主机102处于状态618时被读取。在这种可选择的实施方案中,存储设备108可在状态616时向LAD[3:0]上驱动1100来表示,不会再有同步控制信息夹在数据字节中传送。还有一种实施方案是,可能不需要特别的同步控制信息来表示多字节或字符组数据读。
当所有的数据都被主机102读取后,进程转换到转向(TAR)状态620,在其n个时钟周期T7中,对LAD[3:0]的控制可以还给主机102。与状态614一样,状态620可以是两个时钟宽。在第一个时钟周期内,存储设备108可用预定的控制信息(例如,1111)驱动LAD[3:0]线。在第二个时钟周期内,存储设备108可三态LAD[3:0]线。在其他的实施方案中,n可以是一个时钟周期或大于两个时钟周期来使LAD[3:0]转向。
一件示例的存储器写LPC事务处理,由主机102写到存储设备108的存储单元中,将参考图6和8进行描述。这件存储器写LPC事务处理可以这样实现,例如,由主机102写系统启动信息到存储设备108。在状态602,主机102处于空闲状态,没有执行LPC事务处理。当主机102声明LPC总线124上的LFRAME#时,进程开始一件LPC事务处理(例如,当控制逻辑202从LPC译码逻辑210接收到译码信号,并且主机102指示一件存储器写LPC事务处理将会发生)。然后进程转换到起始状态604,在时钟周期T0中主机102向LAD[3:0]上驱动起始控制信息。该起始驱动信息表示一件存储器写LPC事务处理的开始。例如,主机102可向LAD[3:0]上驱动起始控制信息1110,如表1所示。进程接着转换到设备选择(IDSEL)状态606来为此次存储器写事务处理标识或选择一台特定的存储设备。
接着进程转换到状态608,在n个时钟周期T2中主机102向LAD[3:0]上驱动选出的存储设备108中的存储单元地址。如前所示,该地址可以是系统支持的任意位长,例如图1中的系统100,并在n个时钟周期T2中发送。地址信息可以这样被提供,最高有效半字节最先,最低有效半字节最先,或者是存储设备108预期的任何次序。
接着进程转换到状态610,在时钟周期T3中主机102向LAD[3:0]上驱动长度控制信息。接着进程转换到状态612,在n个时钟周期T4中主机102将适当字节的数据经LAD[3:0]写到存储设备108。主机102可能以字节的增量在两个时钟周期内向LAD[3:0]上驱动数据。例如,如果此次传送是16位或两字节的传送,那么第一字节可以在前两个时钟周期内输出,第二字节可在随后的两个时钟周期内输出。对于每个字节,数据由主机102输出的方式可以是低半字节先,高半字节先,或任何其他方式。类似地,每组由主机102输出的字节也可以是低字节先,高字节先,或任何其他方式输出。主机102可在状态612写一个或多个(字符组)字节的数据。
接着进程转换到转向(TAR)状态614,在n个时钟周期T5中把对LPC总线124的控制移交给存储设备108。接着进程转换到状态616,这时主机102等待n个时钟周期,而在时钟周期T6中存储设备108向LAD[3:0]上驱动带内同步控制信息。一种实施方案是,同步控制信息可以是一个或多个时钟周期,用于确认收到写入存储设备108的数据(例如,LAD[3:0]上的0000)。同步控制信息也可用于增加等待状态,直到数据已被写入和保存到存储设备108。与存储器读LPC事务处理一样,存储设备108也可经LAD[3:0]发送带内出错信息(例如,1010)给主机102,使用控制信息的同步字段。出错信息可以表示,例如,写事务处理未正确发生或发生了一些其它错误。同步控制信息编码的一种实施方案在表4中示出。
接着主机102转换到转向(TAR)状态618,在其n个时钟周期T7中,对LAD[3:0]的控制可以还给主机102。
图10显示了存储设备1000,是存储设备108的一种实施方案。存储设备1000包括存储器1010,可以是存储设备的任何类型,包括易失性和非易失性的存储设备,例如SRAM,DRAM,EPROM,EEPROM,ROM等等。存储器1000包括实现任何易失性或非易失性存储设备所必要的控制电路和存储元件。一种实施方案是,存储器1000是非易失性(例如,快速)存储设备,其控制器与快速存储器单元阵列耦合,并控制其编程,读取,和擦除。
存储设备1000还包括LPC接口116的一种实施方案,含有I/O锁存器1002,控制逻辑1004,状态机1006,和存储器控制逻辑1008。控制逻辑1004接收LPC输入信号LFRAME#,LCLK,和/或LRESET#,并通过线1012上的控制信号提供这些信号的标志给状态机或序列发生器1006。一种实施方案是,I/O锁存器1002接收和输出地址,控制,和数据信息从和到LAD[3:0]。I/O锁存器1002把从LAD[3:0]上接收到的地址,数据,和控制信息经由总线1014传送给状态机1006和存储器控制逻辑1008。I/O锁存器1002可以连结从LAD[3:0]上接收到的许多半字节数据。
利用从总线1014和线1012接收到的地址,数据,和控制信息,状态机1006控制存储设备1000的LPC接口,于是存储设备1000可通过LPC总线124与主机102通信,或者可在总线主控器LPC事务处理中与I/O设备104和1010通信。状态机1006的一种实施方案在图3中示出。状态机1006的另一种实施方案在图6中示出。
状态机1006可与存储器控制逻辑1008一起工作来提供必要的控制,地址,和数据信息给存储器1010。存储器控制逻辑1008在线1018上产生必要的控制信号,在线1020上产生必要的地址信号,以及在线1022上产生必要的数据信号,用于存储器1010执行写或读事务处理。线1018上的控制信号可以包括地址选通(例如,RAS和/或CAS),芯片使能或芯片选择信号(例如,CE和/或CS),写或读使能信号,复位信号,掉电信号,等等。
当状态机1006确定存储器写事务处理要发生时,状态机1006可能经由线1016来指示,何时地址信息会出现在总线1014上,以便让存储器控制逻辑经线1020提供给存储器1010,连同线1018上适当的控制信号。接着,状态机1006可能通过线1016来指示,何时数据信息会出现在总线1014上,以便让存储器控制逻辑经线1022提供给存储器1010,连同线1018上适当的控制信号。类似地,当状态机1006确定存储器读事务处理要发生时,状态机1006可能经由线1016来指示,何时地址信息会出现在总线1014上,以便让存储器控制逻辑经线1020提供给存储器1010,连同线1018上适当的控制信号。接着,状态机1006可能通过线1016来指示,何时被请求数据应由存储器1010经由线1026输出到I/O锁存器1002和LAD[3:0]。存储器控制逻辑1008可能发出一个或多个I/O控制信号到线1024上来控制I/O锁存器1002的双向状态。例如,当数据正从存储器1010中被读取时,存储器控制逻辑1008可能通过线1024声明输出使能信号。
在前面的详细说明书中,本发明已经参考其具体的示例实施方案进行了描述。但是,显然可以对其作各种修改和变化而不违反在附加的权利要求中所提出的本发明的实质和范围。于是,说明书和附图应认为是示例性的而不是限定作用。
Claims (27)
1.一种系统包含:
一个主机;
一个总线,与该主机耦合并含有多个通用信号线以传送时分多路复用的地址,数据,和控制信息;以及
一个存储设备,与该总线耦合并保存系统启动信息,其中存储设备通过总线与主机交流系统启动信息。
2.一种系统包含:
一个总线,含有多个通用信号线以传送时分多路复用的地址,数据,和控制信息;
一个存储设备,与该总线耦合并保存系统启动信息;以及
一个主机,与该总线耦合并通过总线将第一控制信息写入存储设备以指示一件存储器事务处理,其中部分系统启动信息在主机和存储设备之间交流。
3.权利要求2的系统,其中总线还包含一根独立的控制信号线,用于传送控制信号以表示一件存储器事务处理的开始。
4.权利要求3的系统,其中独立的控制信号线上的控制信号表示异常中止存储器事务处理。
5.权利要求2的系统,其中总线包含一根独立的时钟信号线,用于传送时钟信号,和其中存储设备按照该时钟信号同步地与主机交流系统启动信息。
6.权利要求2的系统,其中主机通过总线将第二控制信息写入存储设备以表示存储设备中的存储地址。
7.权利要求6的系统,其中主机通过总线将第三控制信息写入存储设备以表示存储器事务处理中将被传送的字节数。
8.权利要求7的系统,其中主机通过总线将第四控制信息写入存储设备以将对总线的控制移交给存储设备。
9.权利要求8的系统,其中存储设备提供第五控制信息给总线以使存储设备的操作与主机同步。
10.权利要求9的系统,其中存储设备提供第五控制信息给总线,直到存储设备准备好数据输出到总线。
11.权利要求9的系统,其中第五控制信息包含存储器事务处理中的出错标志。
12.权利要求2的系统,其中主机包含处理器。
13.权利要求2的系统,其中主机包含芯片组。
14.权利要求2的系统,该多个通用信号线包含四条通用信号线。
15.权利要求2的系统,其中系统包含通信系统。
16.权利要求2的系统,其中总线还包含一根独立的控制信号线,用于传送控制信号以表示存储设备处于低功率模式。
17.一种通过总线在主机和存储设备之间执行存储器事务处理的方法,该总线包含多个通用信号线和一条单独的控制线,其存储设备保存系统启动信息,该方法包含以下步骤:
声明控制线上的控制信号以表示存储器事务处理的开始;
通过该多个通用信号线将第一控制信息从主机写入存储设备以表示该存储器事务处理包括主机写数据单元到存储设备;
通过该多个通用信号线将第二控制信息从主机写入存储设备以表示该数据单元将被写入的存储设备中的地址;
通过该多个通用信号线将第三控制信息从主机写入存储设备以表示将被传送的数据单元的字节数;以及
通过该通用信号线将该数据单元写入存储设备。
18.权利要求17的方法,还包含以下步骤:
将对总线的控制移交给存储设备;
从存储设备提供第四控制信息给总线以表示存储设备将对总线的控制移交给主机之前的时间长度;以及
将对总线的控制移交给主机。
19.权利要求17的方法,还包含以下步骤,即通过该多个通用信号线将第三控制信息从存储设备写到主机以表示存储器事务处理中的错误。
20.一种通过总线在主机和存储设备之间执行存储器事务处理的方法,其总线包含多个通用信号线和一条单独的控制线,其存储设备保存系统启动信息,该方法包含以下步骤:
声明控制线上的控制信号以表示存储器事务处理的开始;
通过该多个通用信号线将第一控制信息从主机写入存储设备以表示该存储器事务处理包括主机从存储设备读取一个数据单元;
通过该多个通用信号线将第二控制信息从主机写入存储设备以表示该数据单元将被读出的存储设备中的地址。
通过该多个通用信号线将第三控制信息从主机写入存储设备以表示将被读取的数据单元的字节数;
将对总线的控制移交给存储设备;
通过该多个通用信号线将第四控制信息从存储设备写入主机,直到该数据单元准备好从存储设备读出;以及
通过其通用信号线将此数据单元从存储设备读出。
21.权利要求20的方法,其中第四控制信息包含存储器事务处理中的出错标志。
22.一种系统包含:
一个总线;
一个外围设备,与该总线耦合;
一个主机,与该总线耦合;以及
一个独立的控制信号线,用于传送控制信号以表示主机与外围设备之间事务处理的开始。
23.权利要求22的系统,其中独立的控制信号线上的控制信号表示异常中止事务处理。
24.权利要求22的系统,其中总线包含多个通用信号线来在主机和设备之间传送时分多路复用的地址,数据,和控制信息。
25.权利要求22的系统,其中外围设备包含存储设备。
26.一种系统包含:
一个总线,含有多个通用信号线以传送时分多路复用的地址,数据,和控制信息;
一个外围设备,与该总线耦合;以及
一个主机,与该总线耦合,其中外围设备通过总线向主机设备传达等待状态信息。
27.权利要求26的系统,其中外围设备通过总线向主机传达出错信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/936,848 | 1997-09-24 | ||
US08/936,848 US5991841A (en) | 1997-09-24 | 1997-09-24 | Memory transactions on a low pin count bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1279787A true CN1279787A (zh) | 2001-01-10 |
CN100378690C CN100378690C (zh) | 2008-04-02 |
Family
ID=25469156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB988114682A Expired - Lifetime CN100378690C (zh) | 1997-09-24 | 1998-07-07 | 少引线数总线上的存储器事务处理的系统和方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US5991841A (zh) |
JP (1) | JP4279451B2 (zh) |
KR (1) | KR100388735B1 (zh) |
CN (1) | CN100378690C (zh) |
AU (1) | AU8475798A (zh) |
DE (1) | DE19882696B4 (zh) |
GB (1) | GB2345170B (zh) |
HK (1) | HK1026489A1 (zh) |
TW (1) | TW469373B (zh) |
WO (1) | WO1999015971A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477499A (zh) * | 2008-12-31 | 2009-07-08 | 北京中星微电子有限公司 | 总线、通过总线进行存储器访问的方法、接口模块、芯片 |
CN101533381A (zh) * | 2009-03-27 | 2009-09-16 | 北京中星微电子有限公司 | 一种类ahb总线及其实现方法 |
CN107608927A (zh) * | 2017-09-22 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种支持全功能的lpc总线主机端口的设计方法 |
CN107844450A (zh) * | 2016-09-21 | 2018-03-27 | 深圳中电长城信息安全系统有限公司 | Lpc接口通讯协议的转换方法和系统 |
CN107844449A (zh) * | 2016-09-20 | 2018-03-27 | 深圳中电长城信息安全系统有限公司 | 飞腾平台处理通信协议的方法和系统 |
CN109478167A (zh) * | 2016-06-17 | 2019-03-15 | 钰创科技股份有限公司 | 低引脚数高带宽存储器和存储器总线 |
CN110799956A (zh) * | 2017-06-27 | 2020-02-14 | 高通股份有限公司 | 具有多个主数据通道的高带宽soundwire主控设备 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6761657B2 (en) * | 1996-12-19 | 2004-07-13 | Cloyes Gear And Products, Inc. | Roller chain sprocket with added chordal pitch reduction |
US6157970A (en) * | 1997-09-24 | 2000-12-05 | Intel Corporation | Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number |
US6044412A (en) * | 1997-10-21 | 2000-03-28 | Vlsi Technology, Inc. | Integrated circuit pin sharing method and apparatus for diverse memory devices by multiplexing subsets of pins in accordance with operation modes |
TW409204B (en) * | 1998-08-15 | 2000-10-21 | Winbond Electronics Corp | Expansion interface conversion device and conversion method therefor |
US6654349B1 (en) * | 1999-08-17 | 2003-11-25 | Advanced Micro Devices, Inc. | Real time automated checking mechanism for a bus protocol on an integrated bus system |
TW446881B (en) * | 1999-11-10 | 2001-07-21 | Sunplus Technology Co Ltd | Expandable time sharing bus structure |
US7284064B1 (en) | 2000-03-21 | 2007-10-16 | Intel Corporation | Method and apparatus to determine broadcast content and scheduling in a broadcast system |
US7167895B1 (en) | 2000-03-22 | 2007-01-23 | Intel Corporation | Signaling method and apparatus to provide content on demand in a broadcast system |
US7275254B1 (en) | 2000-11-21 | 2007-09-25 | Intel Corporation | Method and apparatus for determining and displaying the service level of a digital television broadcast signal |
US20020144037A1 (en) * | 2001-03-29 | 2002-10-03 | Bennett Joseph A. | Data fetching mechanism and method for fetching data |
US6792494B2 (en) | 2001-03-30 | 2004-09-14 | Intel Corporation | Apparatus and method for parallel and serial PCI hot plug signals |
US7185352B2 (en) * | 2001-05-11 | 2007-02-27 | Intel Corporation | Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform |
JP2002366506A (ja) * | 2001-06-08 | 2002-12-20 | Hitachi Ltd | データ処理システム、半導体集積回路装置及び信号授受方法 |
US7055165B2 (en) * | 2001-06-15 | 2006-05-30 | Intel Corporation | Method and apparatus for periodically delivering an optimal batch broadcast schedule based on distributed client feedback |
US20020194585A1 (en) * | 2001-06-15 | 2002-12-19 | Connelly Jay H. | Methods and apparatus for providing ranking feedback for content in a broadcast system |
US7020893B2 (en) * | 2001-06-15 | 2006-03-28 | Intel Corporation | Method and apparatus for continuously and opportunistically driving an optimal broadcast schedule based on most recent client demand feedback from a distributed set of broadcast clients |
US20020193066A1 (en) * | 2001-06-15 | 2002-12-19 | Connelly Jay H. | Methods and apparatus for providing rating feedback for content in a broadcast system |
US7328455B2 (en) | 2001-06-28 | 2008-02-05 | Intel Corporation | Apparatus and method for enabling secure content decryption within a set-top box |
US7363569B2 (en) | 2001-06-29 | 2008-04-22 | Intel Corporation | Correcting for data losses with feedback and response |
US7047456B2 (en) * | 2001-08-28 | 2006-05-16 | Intel Corporation | Error correction for regional and dynamic factors in communications |
US20030046683A1 (en) * | 2001-08-28 | 2003-03-06 | Jutzi Curtis E. | Server-side preference prediction based on customer billing information to generate a broadcast schedule |
US7231653B2 (en) | 2001-09-24 | 2007-06-12 | Intel Corporation | Method for delivering transport stream data |
US8943540B2 (en) | 2001-09-28 | 2015-01-27 | Intel Corporation | Method and apparatus to provide a personalized channel |
TW552495B (en) * | 2001-10-24 | 2003-09-11 | Via Tech Inc | LPC interface chip set to adjust the data-access timing automatically |
EP1324346B1 (en) * | 2001-12-20 | 2008-02-27 | STMicroelectronics S.r.l. | Memory device |
US20030135553A1 (en) * | 2002-01-11 | 2003-07-17 | Ramesh Pendakur | Content-based caching and routing of content using subscription information from downstream nodes |
US6925510B2 (en) * | 2002-02-22 | 2005-08-02 | Winbond Electronics, Corp. | Peripheral or memory device having a combined ISA bus and LPC bus |
TW589534B (en) * | 2002-07-05 | 2004-06-01 | Via Tech Inc | Method and device to reduce the LDRQ input pin count of LPC control host |
US7103701B2 (en) * | 2002-09-23 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Memory bus interface |
TW588282B (en) * | 2002-10-22 | 2004-05-21 | Via Tech Inc | System capable of managing peripheral input/output control device |
ITVA20030022A1 (it) * | 2003-07-07 | 2005-01-08 | St Microelectronics Srl | Metodo di generazione di un segnale di abilitazione in una memoria multi-protocollo e relativo dispositivo di memoria. |
US7249213B2 (en) * | 2003-08-18 | 2007-07-24 | Silicon Storage Technology, Inc. | Memory device operable with a plurality of protocols with configuration data stored in non-volatile storage elements |
US20050044297A1 (en) * | 2003-08-18 | 2005-02-24 | Eugene Feng | Memory device operable with a plurality of protocols |
JP2005078493A (ja) * | 2003-09-02 | 2005-03-24 | Renesas Technology Corp | マイクロコンピュータ |
US6944064B2 (en) * | 2003-12-22 | 2005-09-13 | Silicon Storage Technology, Inc. | Memory unit having programmable device ID |
US7209998B2 (en) * | 2004-02-04 | 2007-04-24 | Qualcomm Incorporated | Scalable bus structure |
US7069371B2 (en) * | 2004-03-10 | 2006-06-27 | Silicon Storage Technology, Inc. | Motherboard having a non-volatile memory which is reprogrammable through a video display port and a non-volatile memory switchable between two communication protocols |
US7546402B2 (en) * | 2005-03-24 | 2009-06-09 | Sunplus Technology Co., Ltd. | Optical storage system comprising interface for transferring data |
US8239603B2 (en) * | 2006-05-03 | 2012-08-07 | Standard Microsystems Corporation | Serialized secondary bus architecture |
US7660177B2 (en) * | 2007-12-21 | 2010-02-09 | Silicon Storage Technology, Inc. | Non-volatile memory device having high speed serial interface |
US8607028B2 (en) | 2008-12-30 | 2013-12-10 | Micron Technology, Inc. | Enhanced addressability for serial non-volatile memory |
US8255725B2 (en) * | 2009-04-28 | 2012-08-28 | Kabushiki Kaisha Toshiba | Information processing apparatus and power-saving control method |
WO2011106049A1 (en) | 2010-02-23 | 2011-09-01 | Rambus Inc. | Time multiplexing at different rates to access different memory types |
JP4846862B2 (ja) * | 2010-05-12 | 2011-12-28 | 株式会社東芝 | 情報処理装置および省電力制御方法 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2044650B1 (zh) * | 1969-05-16 | 1974-06-14 | Ibm France | |
US3924241A (en) * | 1971-03-15 | 1975-12-02 | Burroughs Corp | Memory cycle initiation in response to the presence of the memory address |
US3821715A (en) * | 1973-01-22 | 1974-06-28 | Intel Corp | Memory system for a multi chip digital computer |
DE2364408C3 (de) * | 1973-12-22 | 1979-06-07 | Olympia Werke Ag, 2940 Wilhelmshaven | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers |
US3882470A (en) * | 1974-02-04 | 1975-05-06 | Honeywell Inf Systems | Multiple register variably addressable semiconductor mass memory |
US4263650B1 (en) * | 1974-10-30 | 1994-11-29 | Motorola Inc | Digital data processing system with interface adaptor having programmable monitorable control register therein |
US4007452A (en) * | 1975-07-28 | 1977-02-08 | Intel Corporation | Wafer scale integration system |
US4099231A (en) * | 1975-10-01 | 1978-07-04 | Digital Equipment Corporation | Memory control system for transferring selected words in a multiple memory word exchange during one memory cycle |
US4191996A (en) * | 1977-07-22 | 1980-03-04 | Chesley Gilman D | Self-configurable computer and memory system |
US4333142A (en) * | 1977-07-22 | 1982-06-01 | Chesley Gilman D | Self-configurable computer and memory system |
US4375665A (en) * | 1978-04-24 | 1983-03-01 | Texas Instruments Incorporated | Eight bit standard connector bus for sixteen bit microcomputer using mirrored memory boards |
US4315308A (en) * | 1978-12-21 | 1982-02-09 | Intel Corporation | Interface between a microprocessor chip and peripheral subsystems |
US4286321A (en) * | 1979-06-18 | 1981-08-25 | International Business Machines Corporation | Common bus communication system in which the width of the address field is greater than the number of lines on the bus |
US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
US4306298A (en) * | 1979-10-09 | 1981-12-15 | Texas Instruments Incorporated | Memory system for microprocessor with multiplexed address/data bus |
US4443864A (en) * | 1979-10-09 | 1984-04-17 | Texas Instruments Incorporated | Memory system for microprocessor with multiplexed address/data bus |
US4373183A (en) * | 1980-08-20 | 1983-02-08 | Ibm Corporation | Bus interface units sharing a common bus using distributed control for allocation of the bus |
WO1982003931A1 (en) * | 1981-04-27 | 1982-11-11 | Kris Bryan | Multi-master processor bus |
US4811202A (en) * | 1981-10-01 | 1989-03-07 | Texas Instruments Incorporated | Quadruply extended time multiplexed information bus for reducing the `pin out` configuration of a semiconductor chip package |
US4481625A (en) * | 1981-10-21 | 1984-11-06 | Elxsi | High speed data bus system |
US4480307A (en) * | 1982-01-04 | 1984-10-30 | Intel Corporation | Interface for use between a memory and components of a module switching apparatus |
US4488218A (en) * | 1982-01-07 | 1984-12-11 | At&T Bell Laboratories | Dynamic priority queue occupancy scheme for access to a demand-shared bus |
US4470114A (en) * | 1982-03-01 | 1984-09-04 | Burroughs Corporation | High speed interconnection network for a cluster of processors |
US4449207A (en) * | 1982-04-29 | 1984-05-15 | Intel Corporation | Byte-wide dynamic RAM with multiplexed internal buses |
US4513370A (en) * | 1982-07-19 | 1985-04-23 | Amdahl Corporation | Data transfer control system and method for a plurality of linked stations |
US4660141A (en) * | 1983-12-06 | 1987-04-21 | Tri Sigma Corporation | Self configuring computer network with automatic bus exchange of module identification numbers and processor assigned module numbers |
US4766536A (en) * | 1984-04-19 | 1988-08-23 | Rational | Computer bus apparatus with distributed arbitration |
US4675813A (en) * | 1985-01-03 | 1987-06-23 | Northern Telecom Limited | Program assignable I/O addresses for a computer |
US5038320A (en) * | 1987-03-13 | 1991-08-06 | International Business Machines Corp. | Computer system with automatic initialization of pluggable option cards |
US4920486A (en) * | 1987-11-23 | 1990-04-24 | Digital Equipment Corporation | Distributed arbitration apparatus and method for shared bus |
US5159679A (en) * | 1988-09-09 | 1992-10-27 | Compaq Computer Corporation | Computer system with high speed data transfer capabilities |
US5129069A (en) * | 1989-01-24 | 1992-07-07 | Zenith Data Systems Corporation | Method and apparatus for automatic memory configuration by a computer |
GB9012949D0 (en) * | 1989-08-25 | 1990-08-01 | Ibm | An apparatus and method for loading bios from a diskette in a personal computer system |
DE69031936T2 (de) * | 1989-11-17 | 1998-06-10 | Digital Equipment Corp | System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format |
US5175831A (en) * | 1989-12-05 | 1992-12-29 | Zilog, Inc. | System register initialization technique employing a non-volatile/read only memory |
JPH03210649A (ja) * | 1990-01-12 | 1991-09-13 | Fujitsu Ltd | マイクロコンピュータおよびそのバスサイクル制御方法 |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5367639A (en) * | 1991-12-30 | 1994-11-22 | Sun Microsystems, Inc. | Method and apparatus for dynamic chaining of DMA operations without incurring race conditions |
US5471674A (en) * | 1992-02-07 | 1995-11-28 | Dell Usa, L.P. | Computer system with plug-in override of system ROM |
US5579530A (en) * | 1992-06-11 | 1996-11-26 | Intel Corporation | Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus |
US5434997A (en) * | 1992-10-02 | 1995-07-18 | Compaq Computer Corp. | Method and apparatus for testing and debugging a tightly coupled mirrored processing system |
US5793990A (en) * | 1993-06-11 | 1998-08-11 | Vlsi Technology, Inc. | Multiplex address/data bus with multiplex system controller and method therefor |
US5561821A (en) * | 1993-10-29 | 1996-10-01 | Advanced Micro Devices | System for performing I/O access and memory access by driving address of DMA configuration registers and memory address stored therein respectively on local bus |
US5475854A (en) * | 1994-01-28 | 1995-12-12 | Vlsi Technology, Inc. | Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system |
US5596756A (en) * | 1994-07-13 | 1997-01-21 | Advanced Micro Devices, Inc. | Sub-bus activity detection technique for power management within a computer system |
US5619728A (en) * | 1994-10-20 | 1997-04-08 | Dell Usa, L.P. | Decoupled DMA transfer list storage technique for a peripheral resource controller |
US5664197A (en) * | 1995-04-21 | 1997-09-02 | Intel Corporation | Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller |
US5768622A (en) * | 1995-08-18 | 1998-06-16 | Dell U.S.A., L.P. | System for preemptive bus master termination by determining termination data for each target device and periodically terminating burst transfer to device according to termination data |
US6393492B1 (en) * | 1995-11-03 | 2002-05-21 | Texas Instruments Incorporated | Method and arrangement for operating a mass memory storage peripheral computer device connected to a host computer |
US5774680A (en) * | 1995-12-11 | 1998-06-30 | Compaq Computer Corporation | Interfacing direct memory access devices to a non-ISA bus |
-
1997
- 1997-09-24 US US08/936,848 patent/US5991841A/en not_active Expired - Lifetime
-
1998
- 1998-07-07 CN CNB988114682A patent/CN100378690C/zh not_active Expired - Lifetime
- 1998-07-07 DE DE19882696T patent/DE19882696B4/de not_active Expired - Lifetime
- 1998-07-07 GB GB0007301A patent/GB2345170B/en not_active Expired - Lifetime
- 1998-07-07 JP JP2000513205A patent/JP4279451B2/ja not_active Expired - Lifetime
- 1998-07-07 KR KR10-2000-7003137A patent/KR100388735B1/ko not_active IP Right Cessation
- 1998-07-07 AU AU84757/98A patent/AU8475798A/en not_active Abandoned
- 1998-07-07 WO PCT/US1998/013886 patent/WO1999015971A1/en active IP Right Grant
- 1998-07-23 TW TW087112051A patent/TW469373B/zh not_active IP Right Cessation
-
2000
- 2000-09-09 HK HK00105694A patent/HK1026489A1/xx not_active IP Right Cessation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477499A (zh) * | 2008-12-31 | 2009-07-08 | 北京中星微电子有限公司 | 总线、通过总线进行存储器访问的方法、接口模块、芯片 |
CN101533381A (zh) * | 2009-03-27 | 2009-09-16 | 北京中星微电子有限公司 | 一种类ahb总线及其实现方法 |
CN101533381B (zh) * | 2009-03-27 | 2015-11-25 | 北京中星微电子有限公司 | 一种类ahb总线及其实现方法 |
CN109478167A (zh) * | 2016-06-17 | 2019-03-15 | 钰创科技股份有限公司 | 低引脚数高带宽存储器和存储器总线 |
CN107844449A (zh) * | 2016-09-20 | 2018-03-27 | 深圳中电长城信息安全系统有限公司 | 飞腾平台处理通信协议的方法和系统 |
CN107844450A (zh) * | 2016-09-21 | 2018-03-27 | 深圳中电长城信息安全系统有限公司 | Lpc接口通讯协议的转换方法和系统 |
CN110799956A (zh) * | 2017-06-27 | 2020-02-14 | 高通股份有限公司 | 具有多个主数据通道的高带宽soundwire主控设备 |
CN110799956B (zh) * | 2017-06-27 | 2023-11-17 | 高通股份有限公司 | 具有多个主数据通道的高带宽soundwire主控设备 |
CN107608927A (zh) * | 2017-09-22 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种支持全功能的lpc总线主机端口的设计方法 |
CN107608927B (zh) * | 2017-09-22 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种支持全功能的lpc总线主机端口的设计方法 |
Also Published As
Publication number | Publication date |
---|---|
AU8475798A (en) | 1999-04-12 |
GB0007301D0 (en) | 2000-05-17 |
US5991841A (en) | 1999-11-23 |
KR100388735B1 (ko) | 2003-06-25 |
JP2001517834A (ja) | 2001-10-09 |
WO1999015971A1 (en) | 1999-04-01 |
KR20010024259A (ko) | 2001-03-26 |
GB2345170B (en) | 2002-12-18 |
HK1026489A1 (en) | 2000-12-15 |
CN100378690C (zh) | 2008-04-02 |
TW469373B (en) | 2001-12-21 |
DE19882696T1 (de) | 2000-10-26 |
DE19882696B4 (de) | 2007-05-24 |
JP4279451B2 (ja) | 2009-06-17 |
GB2345170A (en) | 2000-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1279787A (zh) | 少引线数总线上的存储器事务处理 | |
CN1126015C (zh) | 在少引线数总线上的直接存储器存取事务处理的系统和方法 | |
US6131127A (en) | I/O transactions on a low pin count bus | |
US6119189A (en) | Bus master transactions on a low pin count bus | |
US5799168A (en) | Standardized flash controller | |
US6286057B1 (en) | Method and arrangement for allowing a computer to communicate with a data storage device | |
US7802061B2 (en) | Command-based control of NAND flash memory | |
CN1732449A (zh) | 进行直接存储器存取的组合非易失性存储器及输入输出卡 | |
JP2000067574A (ja) | 半導体記憶装置 | |
US6070204A (en) | Method and apparatus for using universal serial bus keyboard to control DOS operations | |
US3833930A (en) | Input/output system for a microprogram digital computer | |
WO1994029797A1 (en) | Multiplex address/data bus with multiplex system controller and method therefor | |
CN1209711C (zh) | 用于计算机系统的双模式总线桥 | |
KR100222908B1 (ko) | 플래시 메모리 시스템 | |
KR20220007558A (ko) | 계층화된 레디 상태 리포팅 구조 | |
CN1284085C (zh) | 利用调试卡导出外围设备互连总线数据的装置及方法 | |
US20050144331A1 (en) | On-chip serialized peripheral bus system and operating method thereof | |
CN87103247A (zh) | 报文通信接口电路 | |
EP1069506B1 (en) | A parallel bus system capable of expanding peripheral devices | |
CN1046040C (zh) | 与总线位数相匹配的存贮器直接存取结构 | |
CN115202257B (zh) | 一种lpc总线协议转换及设备并行控制装置及方法 | |
CN100373364C (zh) | 应用于计算机系统中的总线装置 | |
KR920001800B1 (ko) | 팩시밀리의 용량확장용 접속장치 | |
US7739440B2 (en) | ATA HDD interface for personal media player with increased data transfer throughput | |
KR970002410B1 (ko) | 컴퓨터시스템에 있어서 중앙제어기와 주변기기간의 인터페이스장치 |
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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20080402 |