Many devices include multiple electronic components that exchange information with each other. Such information may be exchanged across interconnection media in the form of electrical signals. For example, interfaces known generally as buses may distribute information between components of a computer.
Certain signaling protocols may impose certain requirements for transmitting or driving electrical signals across a medium. Such requirements are often aimed at ensuring certain performance capabilities. For example, signaling protocols may impose requirements to ensure that a bus interface may provide for connectivity across a particular maximum distance. For certain devices, however, such performance capabilities may not be desirable.
Various embodiments may be generally directed to techniques involving the transfer of signals across interconnection media. For instance, in embodiments, an apparatus may include a configuration module and a driver module. The configuration module determines one of a first operational mode and a second operational mode. The driver module may operate according to this selection. For instance, when the first operational mode is selected, the driver module continually drives an interconnection medium. However, when the second operational mode is selected, the driver module drives the interconnection medium when it receives an input signal and otherwise refrains from driving the interconnection medium.
The apparatus may further include a termination module having a pull-up resistance. When the first operational mode is selected, the pull-up resistance is coupled to the interconnection medium. However, when the second operational mode is selected, the pull-up resistance is isolated from the interconnection medium.
As described herein, embodiments may advantageously provide for reduced power consumption. In addition, embodiments may provide for reduced heat dissipation.
Embodiments may comprise one or more elements. An element may comprise any structure arranged to perform certain operations. Each element may be implemented as hardware, software, or any combination thereof, as desired for a given set of design parameters or performance constraints. Although an embodiment may be described with a limited number of elements in a certain topology by way of example, the embodiment may include other combinations of elements in alternate arrangements as desired for a given implementation. It is worthy to note that any reference to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
An input terminal 120 is coupled to the gate terminals of devices 112 and 114. Also, an output terminal 122 is coupled between resistances 116 and 118. Additionally output terminal 122 is coupled to interconnection medium 108 via pad 104.
Pads 104 and 106 provide connections (e.g., physical contact) to interconnection medium 108 for driver module 102 and pull-up resistance 110, respectively.
Interconnection medium 108 provides for the transfer of electrical signals. For instance, interconnection medium 108 may provide for driver module 102 to send a logical signal to a receiving circuit (not shown), which is coupled to pad 106. Accordingly, interconnection medium 108 may be a line within a bus interface, such as a computer system front side bus (FSB) or processor bus. Additionally, interconnection medium 108 may have a characteristic impedance that is substantially equal to pull-up resistance 110 (e.g., approximately 55 Ohms). The embodiments, however, are not limited as such.
Driver module 102 may drive interconnection medium 108 with an output signal, which it provides at output terminal 122. This output signal may be a digital logic signal, such as a binary signal. For instance, driver module 102 may provide output terminal 122 with a high voltage level (corresponding, for example, to a logical ‘1’) or a low voltage level (corresponding, for example, to a logical ‘0’).
As shown in
Signals transferred across interconnection medium 108 may employ GTL signaling. GTL provides for signals between 0.4 volts and 1.2 volts. In addition, GTL signaling protocols establish various requirements. One exemplary requirement mandates the employment of pull-up resistors (such as pull-up resistance 110) at every connected agent device. Such pull-up resistors are typically on the order of 50 to 100 ohms. Also, GTL signals employ voltage levels that may vary around approximately 1 volt (e.g., between 0.4 and 1.2 volts). As a result, a GTL signal that is pulled down every bus clock cycle may consume approximately 10 to 20 milliwatts of system power per non-driving connection.
Such requirements are directed at providing very clean signaling on an interface that is operating over a relatively large distance (e.g., approximately one foot in length) and is approaching the interface's maximum plausible signal frequencies, given its technology generation. However, in many devices, providing clean signaling at such large distances requirements can be excessive.
For example, in very small devices like laptop, notebook, and ultra-mobile personal computers (PCs), trace lengths for processor bus signals are often short. More particularly, such trace signals are often short in relationship to the period of the signal employed by the signaling protocol (e.g., GTL). Thus, employment of pull-up resistors may not be needed, since the flight times of the signals will be substantially reduced.
Driver module 102′ is similar to driver module 102. However, as shown in
Removing pull-up resistance 110, establishes driver module 102′ with an connection to interconnection medium 108 that is not terminated. This removes the DC current path associated with electrical current 124 of
Thus, by removing pull-up resistance 110, power consumption is reduced when driver module 102′ drives interconnection medium with a low voltage level (e.g., a logical ‘0’).
Apparatus 200 may include various elements. For instance,
Driver module 202 may drive an interconnection medium 222. As shown in
A first mode involves operating as described above with reference to
A second mode involves operating as described above with reference to
Moreover, when operating in the second mode, driver module 202 may only drive interconnection medium 222 when an input signal (or a particular type of input signal) is being applied to it at an input terminal 220. Otherwise, driver module 202 may be isolated (or substantially isolated through, for example, a high impedance) from interconnection medium 222.
In embodiments, driver module 202 may drive interconnection only when it receives a data signal or an address signal at input terminal 220. As shown in
Thus, driver module 202 and termination module 208 may be implemented to provide for two or more modes of operation. Accordingly, driver module 202 may comprise two circuit implementations, such as an implementation of driver module 102 of
Alternatively, driver module 202 may comprise a circuit implementation having reconfigurable or adjustable elements. For example, driver module 202 may have a variable pull down resistance, or two or more pull-down resistance elements that may be configured in different ways. Moreover, driver module 202 may comprise element(s) to selectively isolate it from interconnection medium 222 so that it only drives interconnection medium 222 during second mode operations.
As described above, termination module 208 may provide a pull-up resistance in the first mode of operation, but not in the second mode of operation. Accordingly,
Such arrangements and implementations for driver module 202 and termination module 208 may be implemented with various solid-state switching techniques, logic gates, and/or other circuitry.
Interconnection medium 222 provides for the transfer of electrical signals among two or more devices. Accordingly, interconnection medium 222 may be a line within a bus interface, such as a computer system front side bus (FSB) or processor bus. The embodiments, however, are not limited to such.
As described above, device 210 may provide driver module 202 and configuration module 206 with various signals. Accordingly, device 210 may be, for example, a microprocessor or a central processing unit (CPU). However, device 210 may be other devices. Examples of such devices include microcontrollers, application specific integrated circuits (ASICs), memory devices, and so forth. The embodiments are not limited to such examples.
Operation according to the aforementioned operational modes may be determined by configuration module 206 and logic gate 204. Configuration module 206 establishes a setting, which determines a particular operational mode for driver module 202 and/or termination module 208. For instance, with reference to the first and second modes described herein, configuration module 206 may establish whether operations may be according to the first mode or the second mode.
This established setting is represented by configuration signal 224, which is sent to driver module 202 and termination module 208. Based on this signal, driver module 208 and termination module 208 are configured for operation according to the determined operational mode.
Logic gate 204 is shown as an OR gate that receives configuration signal 224 as an input. Also, logic gate 204 receives an active signal 226. As shown in
As described above, configuration signal 224 may establish performance according to a particular operational mode. For example, a logical “0” may indicate second mode operations and a logical “1” may indicate first mode operations. However, the embodiments are not limited to this convention. Also, as described above, active signal 226 indicates whether a signal (or a signal of a certain type) is currently being provided to input terminal 220.
Thus, logic gate 204 may output a drive signal 228, which directs driver module 202 to drive interconnection medium 222. This may occur during first mode operations, or during second mode operations when active signal 226 indicates that a signal is being provided to input terminal 220. In embodiments, driver module 202 may drive interconnection medium 222 when drive signal 228 is a logical “1” and not drive interconnection medium “0” when drive signal 228 is a logical “0”.
Configuration module 206 may establish the operational mode during operation of apparatus 200. This may be based on various factors. Examples of such factors include available power, device clock frequency, bus cycle frequency, and/or user selection. Accordingly, configuration module 206 may be implemented with hardware, software, firmware, or a combination thereof.
Alternatively, the setting provided by configuration module 206 may be preconfigured before operation. Preconfiguration techniques may include hardwiring, setting switches or jumpers, configuring memory (e.g., read only memory) and so forth. The embodiment, however, are not limited to these examples. Accordingly, in cases where such preconfiguration occurs, configuration module 206 may generate configuration signal 224 such that it has a constant value.
Operations for the above embodiments may be further described with reference to the following figures and accompanying examples. Some of the figures may include a logic flow. Although such figures presented herein may include a particular logic flow, it can be appreciated that the logic flow merely provides an example of how the general functionality as described herein can be implemented. Further, the given logic flow does not necessarily have to be executed in the order presented, unless otherwise indicated. In addition, the given logic flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof. The embodiments are not limited in this context.
A block 304 drives an interconnection medium (e.g., interconnection medium 222) according to the operational mode setting established by block 302. For the first operational mode, this may involve continually driving the interconnection medium. However, for the second operational mode, this may involve driving the interconnection medium only upon receiving an input signal (e.g., a data or address signal). Further, in the second operational mode, an impedance matched pull-down resistance may be coupled to the interconnection medium. In the context of
A block 306 terminates the interconnection medium in accordance with the operational mode setting. For the first operational mode, this may involve coupling a pull-up resistance to the interconnection medium at a termination point. However, for the second operational mode, this may involve isolating the pull-up resistance from the interconnection medium. With reference to
Bus interfaces 402 and 404 may each include multiple signal lines. For instance,
As shown in
Data active signal 426 and address active signal 428 are sent to logic gates 425 and 427, respectively. Logic gates 425 and 427 also receive configuration signal 424. From these inputs, logic gates 425 and 427 generate drive signals 429 and 430 in the manner described above with reference to
For purposes of clarity,
Numerous specific details have been set forth herein to provide a thorough understanding of the embodiments. It will be understood by those skilled in the art, however, that the embodiments may be practiced without these specific details. In other instances, well-known operations, components and circuits have not been described in detail so as not to obscure the embodiments. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments.
Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. These terms are not intended as synonyms for each other. For example, some embodiments may be described using the terms “connected” and/or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
Some embodiments may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
Unless specifically stated otherwise, it may be appreciated that terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. The embodiments are not limited in this context.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.