A host control interface for use in interfacing an external host processor with internal control/status registers of an integrated circuit is provided. In accordance with the teachings of the present invention, the control interface selectively couples the integrated circuit with an interchangeable one of a variety of host processor types. In one embodiment, the control interface supports processors having a multiplexed address/data port as well as processors having separate address and data ports. Similarly, in one embodiment, the control interface supports processors utilizing a transfer start indication signal in cooperation with a read/write signal, as well as processors utilizing separate read/write strobes.
|
24. A processor comprising:
internal resources; and
interface logic to selectively couple said processor to an interchangeable one of a plurality of host processors, by providing a first interface for connection to a first bus of a first host processor having a first architecture type, or a first and second bus of a second host processor having a second architecture type to provide a selected one of said first and second host processors with access to said resources.
0. 31. An integrated circuit comprising:
a control interface having:
a first interface for connection to an interchangeable one of a first bus of a first processor, and a first and second bus of a second processor,
a second interface for connection to a data bus and an address bus of switching logic, and
selection logic coupled to said first and second interfaces and equipped to receive a control signal identifying one of a first control mode to couple said first bus of said first processor to both said data bus and said address bus of said switching logic, and a second control mode to couple said first bus of said second processor to said data bus of said switching logic and to couple said second bus of said second processor to said address bus of said switching logic.
1. An integrated circuit comprising:
switching logic; and
a control interface having:
a first interface for connection to an interchangeable one of a first bus of a first processor, and a first and second bus of a second processor,
a second interface for connection to a data bus and an address bus of said switching logic, and
selection logic coupled to said first and second interfaces and equipped to receive a control signal identifying one of a first control mode to couple said first bus of said first processor to both said data bus and said address bus of said switching logic, and a second control mode to couple said first bus of said second processor to said data bus of said switching logic and to couple said second bus of said second processor to said address bus of said switching logic.
11. A control interface for transmitting signals between an integrated circuit and an identifiable one of at least a first processor type operating in accordance with a first protocol and a second processor type operating in accordance with a second protocol, comprising:
a first signal path to couple one of a first bus of said first processor type and a second bus of said second processor type, with a data bus of said integrated circuit based at least in part upon an identified processor type;
a second signal path to couple said first bus of said first processor type with an address bus of said integrated circuit;
a third signal path to couple a third bus of said second processor type with said address bus of said integrated circuit; and
selection logic to select between said second and said third signal paths based at least in part upon said identified processor type.
6. An integrated circuit comprising:
switching logic; and
a control interface having:
a first interface for connection to an interchangeable one of a first bus of a first processor, and a first and second bus of a second processor,
a second interface for connection to a data bus and an address bus of said switching logic,
selection logic coupled to said first and second interfaces and equipped to receive a control signal identifying one of a first control mode to couple said first bus of said first processor to both said data bus and said address bus of said switching logic, and a second control mode to couple said first bus of said second processor to said data bus of said switching logic and to couple said second bus of said second processor to said address bus of said switching logic, and
delay circuitry to programmably delay transmission of an address from one of said first and second processors to said address bus of said switching logic.
18. An apparatus comprising:
a first interface to couple said apparatus to one of a plurality of host devices and a second interface to couple said apparatus to a second device,
said first interface being equipped to interchangeably receive either multiplexed address and data signals from a first bus of a first host device of said plurality of host devices for transmission to an address bus and a data bus of said second device, or address signals from a second bus of a second host device of said plurality of host devices for transmission to said address bus of said second device and data signals from a third bus of said second host device for transmission to said data bus of said second device; and
said first interface being further equipped to receive one or more control signals including a read strobe signal and a write strobe signal if said apparatus is coupled to one of said plurality of host devices operating in accordance with a first protocol, and to receive one or more control signals including a transfer start indication signal and a read/write indicator signal if said apparatus is coupled to one of said plurality of host devices operating in accordance with a second protocol.
15. A control interface to be coupled to and transmit signals between a logic device and at least one of a first processor operating in accordance with a first protocol and a second processor operating in accordance with a second protocol, comprising:
a first signal line to receive a read strobe signal and a transfer start indication signal;
a second signal line to receive a write strobe signal and a read/write indicator signal to indicate read/write transactions;
first selection logic to signal a write transaction to said logic device if said control interface is coupled to said first processor and said write strobe signal is received on said second signal line, or said control interface is coupled to said second processor and a transfer start indication signal is received on said first signal line and a write transaction is indicated by said read/write indicator signal on said second signal line;
second selection logic to signal a read transaction to said logic device if said control interface is coupled to said first processor and said read strobe signal is received on said first signal line, or said control interface is coupled to said second processor and a transfer start indication signal is received on said first signal line and a read transaction is indicated by said read/write indicator signal on said second signal line; and
programmable delay circuitry to dynamically delay said write transaction.
20. An apparatus comprising:
a first interface to couple said apparatus to one of a plurality of host devices and a second interface to couple said apparatus to a second device,
said first interface being equipped to interchangeably receive either multiplexed address and data signals from a first bus of a first host device of said plurality of host devices for transmission to an address bus and a data bus of said second device, or address signals from a second bus of a second host device of said plurality of host devices for transmission to said address bus of said second device and data signals from a third bus of said second host device for transmission to said data bus of said second device;
said first interface being further equipped to receive one or more control signals including a read strobe signal and a write strobe signal if said apparatus is coupled to one of said plurality of host devices operating in accordance with a first protocol, and to receive one or more control signals including a transfer start indication signal and a read/write indicator signal if said apparatus is coupled to one of said plurality of host devices operating in accordance with a second protocol;
first delay circuitry to programmably delay address signals to be transmitted to said address bus of said second device; and
second delay circuitry to programmably delay write transactions to be transmitted to said second device.
2. The integrated circuit of
3. The integrated circuit of
4. The integrated circuit of
a read data bus coupled to said first interface and said second interface to transmit multiplexed data and address signals between said switching logic coupled to said second interface and said first processor coupled to said first interface when said control signal identifies said first control mode, and to transmit data signals between said switching logic coupled to said second interface and said second processor coupled to said first interface when said control signal identifies said second control mode.
5. The integrated circuit of
7. The integrated circuit of
8. The integrated circuit of
9. The integrated circuit of
a read data bus coupled to said first interface and said second interface to transmit multiplexed data and address signals between said switching logic coupled to said second interface and said first processor coupled to said first interface when said control signal identifies said first control mode, and to transmit data signals between said switching logic coupled to said second interface and said second processor coupled to said first interface when said control signal identifies said second control mode.
10. The integrated circuit of
12. The control interface of
13. The control interface of
identification logic to identify which of said first processor type and said second processor type is coupled to said control interface.
14. The control interface of
16. The control interface of
17. The control interface of
indicator logic coupled to said first selection logic and said second selection logic to identify whether said control interface is coupled to said first processor or said second processor.
19. The apparatus of
21. The apparatus of
22. The apparatus of
23. The apparatus of
0. 25. The integrated circuit of
0. 26. The integrated circuit of
0. 27. The integrated circuit of
0. 28. The integrated circuit of
0. 29. The integrated circuit of
0. 30. The integrated circuit of
0. 32. The integrated circuit of
0. 33. The integrated circuit of
0. 34. The integrated circuit of
|
This application is a reissue application for U.S. Pat. No. 6,842,816 issued on Jan. 11, 2005.
1. Field of the Invention
The present invention relates to the field of electronic circuits. More specifically, the present invention relates to a configurable glueless microprocessor interface.
2. Background Information
The Internet may be considered a global network of networks interconnected through countless numbers of network switching devices. These switching devices typically direct and/or route data from transmitting devices logically located within a first datacom/telecom network to receiving devices logically located within one or more additional datacom/telecom networks, regardless of their respective geographic locations. The Internet has undergone remarkable growth in recent years. Whether this rapid growth has resulted in the advancement of network processing technologies, or advancements in network processing technologies have in turn spurred the Internet's rapid growth, the fact remains that modern day network switching devices are continually being called upon to direct greater amounts of increasingly complex data. Accordingly, it is becoming increasingly important that network communications be carried efficiently at high speed across a wide variety of local, regional, and wide area networks, including those comprising the Internet.
When switching or routing network traffic, a need often arises to divert a portion of the data packets being routed/switched onto a particular routing path to perform additional processing (or to drop the packets), or to insert additional packets into the packet streams being received off a routing path. To provide the desired packet diversion and/or insertion functionality, one or more companion processors (also referred to as host processors) are sometimes provided. Basic implementations of these switches/routers typically route all packets through the host processor(s) to enable the host processor(s) to selectively divert some of the packets of selected ones of the various routing paths (for additional processing or dropping the packets), or to selectively inject additional packets into the packet streams of selected ones of the various routing paths. In other more advanced implementations, additional switching/routing resources (such as programmable switching/routing tables) may be employed to facilitate routing of some of the packets of selected ones of the routing paths to the host processor(s) for “processing” (“diversion”), and routing of the packets injected by the host processor(s) onto the routing paths of their selection (“insertion”). In addition to facilitating the diversion and/or insertion of packets, the host interface also allows the host processor to control the operational mode of the device, query the operational status of the device, and gain access to statistics, such as byte and packet counters, required by certain networking standards.
Host processors are often interfaced with network switching devices through various amounts of glue logic. Manufacturers and system integrators choose to utilize certain microprocessor architectures depending upon the specific functionality and features desired. For example, a first type of processor architecture (commonly available from Intel Corp., of Santa Clara, Calif.) uses a separate address and data bus for memory addressing, whereas a second type of processor architecture (commonly available from Motorola Inc., of Schaumburg, Ill.), uses a multiplexed address/data bus. A multiplexed address and data bus allows for a reduced pin count enabling a smaller component package size and therefore lower cost. The downside of a multiplexed address and data bus is that additional clock cycles are required to complete a transaction. For example, an address is typically driven onto the bus on a first clock edge, with the next clock edge signaling the beginning of one or more data phases in which data is to be transferred over the same bus. Separate address and data paths on the other hand dedicate bandwidth to each phase of the data transfer, speeding internal data handling, and resulting in higher system performance. Processors may also differ in the way they signal transactions. For example, certain types of processors utilize a transfer start indication signal in cooperation with a read/write signal to indicate the start of a read/write cycle, whereas other types of processors utilize separate read/write strobes to indicate the start of a read/write cycle.
Typically, network switching devices are designed to operate with host processors having a fixed architecture type. For example, if a network switch were designed to operate in cooperation with an Intel class processor functioning as a host processor, then simple substitution of a Motorola class host processor would not be possible without additional, and perhaps extensive glue logic being added. Accordingly, interoperability amongst processors and network switching devices is limited due to the proprietary signaling requirements of the various processors.
The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
The present invention includes a host control interface for use in interfacing an external host processor with internal control/status registers of an integrated circuit. In accordance with the teachings of the present invention, the control interface selectively couples the integrated circuit with an interchangeable one of a variety of host processor types. In one embodiment, the control interface supports processors having a multiplexed address/data port as well as processors having separate address and data ports. Similarly, in one embodiment, the control interface supports processors utilizing a transfer start indication signal in cooperation with a read/write signal, as well as processors utilizing separate read/write strobes. In the following description, various aspects of the present invention will be described. However, the present invention may be practiced with only some aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, the present invention may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the present invention. Further, the description repeatedly uses the phrase “in one embodiment”, which ordinarily does not refer to the same embodiment, although it may.
As will be discussed in further detail below, host processor 102 represents one or more processors having an identified architecture type. In one embodiment, host processor 102 is identified as corresponding to one of a variety of architecture types including those that utilize a multiplexed address and data bus, those that utilize separate address and data buses, those that utilize a transfer start indication signal in cooperation with a read/write indicator, those that utilize separate read and write strobes, and those utilizing various combinations there between. In the illustrated embodiment of the invention, control interface 105 includes mode selection logic 107 to configure control interface 105 to operate in one of a plurality of operational modes based at least in part upon the identified architecture type of host processor 102. In the illustrated embodiment, control interface 105 further includes delay circuitry 109 to provide programmable write latencies based at least in part upon the operating characteristics of host processor 102.
As illustrated in
Delay circuitry 109A (as well as 109B) represents circuitry and/or logic to programmably delay transmission of signals from the host interface to the IC interface in order to interchangeably accommodate various timing requirements of a variety of processors.
In one embodiment, the amount of latency desired is determined based upon the architecture of host processor 102. For example, in processors utilizing a multiplexed address/data bus, address information is typically driven on the multiplexed bus during a first clock cycle and data is driven on the same bus for at least the following clock cycle. In such cases, it may be desirable to delay the address information one or more cycles so that it is driven on the address bus at the same time valid write data is driven on the data bus. In the illustrated embodiment, delay circuitry 109A and 109B may be programmed to provide zero latency up to a three-cycle delay, however other embodiments may provide a greater or fewer number of delay intervals. In one embodiment, delay circuitry 109A and 109B default to a latency that accounts for the slowest of potential host processor types that may likely be used (i.e. worst case scenario). In one embodiment, a default latency of three cycles is implemented. If a particular processor is capable of functioning with less latency than that stipulated by default, the processor may subsequently adjust the stored latency value(s) by writing a representative value to a particular configuration register provided by integrated circuit 100 or control interface 105 to set the above-mentioned latency control signal.
Reference is once again made to
Mode control signal 130 represents a mechanism through which control interface 105 may be programmed to operate in one of a plurality of operational modes in accordance with one of a plurality of signaling protocols and/or processor architectures. In one embodiment, mode control signal 130 represents two control signals implemented in the form of one or more independently programmable binary switches, such as “DIP” switches, that may be manually set to signal a selected one of a plurality of operating modes under which control interface 105 is to operate (e.g. based upon the constitution of processor 102). In an alternative embodiment, mode control signal 130 may be implemented in the form of one or more independently and automatically programmable data registers to cause control interface 105 to operate in a specified operating mode based upon an identified architecture type of processor 102. For example, in the event processor 102 is equipped with one or more connection pins that provide external devices with information identifying one or more aspects of the processor's architecture, mode control signals 130 may be adapted to decode such information and identify an operating mode for control interface 105 based upon that information.
In one embodiment of the invention, mode control signal 130 represents two control signals enabling four independently programmable operating modes for control interface 105. For example, a first control signal is used to select between a first operating mode whereby multiplexed address and data signals are received on host address/data bus 120, and a second operating mode whereby data is received on host address/data bus 120 and address signals are received on separate host address bus 122. Similarly, a second control signal is used to select between a third operating mode whereby a transfer start indicates is used in cooperation with a read/write indication to signify the start of either a read or a write transaction, and a fourth operating mode whereby separate read and write strobes are used to signal the start of a read/write transaction. In accordance with one embodiment of the invention, each mode control signal may be independently set or cleared based upon the architecture of processor 102.
The control interface described above may provide flexible and interchangeable interface functionality to a broad category of devices.
In one embodiment, optical components 182, optical-electrical components 184, support control electronics 185 and processor 102 are encased in a body (not shown) forming a singular optical networking module. In addition to being equipped to provide optical to electrical and electrical to optical conversions, clock and data recovery, and so forth, the integrated optical networking module is also equipped to provide data link and physical sub-layer processing on egress and ingress data selectively for a number of protocols. In one embodiment, processor 102 is interchangeably coupled to the optical networking module, and may be replaced by one or more additional processors of varying architecture types.
Thus, as can be seen from the above descriptions, a novel control interface having selectable operating modes to facilitate interchangeable operation with multiple host processor architectures has been described. While the present invention has been described in terms of the foregoing embodiments, those skilled in the art will recognize that the invention is not limited to those embodiments. The present invention may be practiced with modification and alteration within the spirit and scope of the appended claims. Thus, the description is to be regarded as illustrative instead of restrictive on the present invention.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4935894, | Aug 31 1987 | Motorola, Inc | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
4967346, | Mar 14 1988 | Advanced Micro Devices, Inc. | Universal microprocessor interface circuit |
5305317, | Feb 28 1992 | Texas Instruments Incorporated | Local area network adaptive circuit for multiple network types |
5740466, | Jun 26 1992 | Cirrus Logic, Inc. | Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses |
5916312, | May 06 1997 | Sony Corporation; Sony Electronics, Inc. | ASIC having flexible host CPU interface for ASIC adaptable for multiple processor family members |
5918023, | Jun 09 1997 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System design to support either Pentium Pro processors, Pentium II processors, and future processor without having to replace the system board |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 31 2001 | PRIMROSE, DONALD R | NETWORK ELEMENTS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018849 | /0051 | |
Dec 17 2004 | NETWORK ELEMENTS, INC | TriQuint Semiconductor, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018849 | /0059 | |
Sep 08 2005 | TriQuint Semiconductor, Inc | Null Networks LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018849 | /0091 | |
Aug 13 2015 | Null Networks LLC | Xylon LLC | MERGER SEE DOCUMENT FOR DETAILS | 037057 | /0156 |
Date | Maintenance Fee Events |
Sep 24 2009 | ASPN: Payor Number Assigned. |
Jun 25 2012 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jun 27 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 10 2012 | 4 years fee payment window open |
Sep 10 2012 | 6 months grace period start (w surcharge) |
Mar 10 2013 | patent expiry (for year 4) |
Mar 10 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 10 2016 | 8 years fee payment window open |
Sep 10 2016 | 6 months grace period start (w surcharge) |
Mar 10 2017 | patent expiry (for year 8) |
Mar 10 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 10 2020 | 12 years fee payment window open |
Sep 10 2020 | 6 months grace period start (w surcharge) |
Mar 10 2021 | patent expiry (for year 12) |
Mar 10 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |