Modular input/output controller capable of routing packets...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus interface architecture

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S306000, C710S309000, C710S310000, C710S316000

Reexamination Certificate

active

06553446

ABSTRACT:

TECHNICAL FIELD
This invention involves a scalable, modular approach to input/output management in a computer system. In particular, the approach integrates packet switched router architecture with high bandwidth bridges to low bandwidth peripheral buses. The former provides simultaneous point-to-point communications between multiple devices of the computer system, while the latter minimizes memory latencies for optimal system performance.
BACKGROUND
In the past, computers were primarily applied to processing rather mundane, repetitive numerical and/or textual tasks involving number-crunching, spread sheeting, and word processing. These simple tasks merely entailed entering data from a keyboard, processing the data according to some computer program, and then displaying the resulting text or numbers on a computer monitor and perhaps later storing these results in a magnetic disk drive. However, today's computer systems are much more advanced, versatile, and sophisticated. Especially since the advent of digital media applications and the Internet, computers are now commonly called upon to accept and process data from a wide variety of different formats ranging from audio to video and even realistic computer-generated three-dimensional graphic images. A partial list of applications involving these digital media applications include the generation of special effects for movies, computer animation, real-time simulations, video teleconferencing, Internetrelated applications, computer games, telecommuting, virtual reality, high-speed databases, real-time interactive simulations, medical diagnostic imaging, etc.
The reason behind the proliferation of digital media applications is due to the fact that much more information can be conveyed and readily comprehended with pictures and sounds rather than with text or numbers. Video, audio, and three dimensional graphics render a computer system more user friendly, dynamic, and realistic. However, the added degree of complexity for the design of new generations of computer systems necessary for processing these digital media applications is tremendous. The ability of handling digitized audio, video, and graphics requires that vast amounts of data be processed at extremely fast speeds. An incredible amount of data must be processed every second in order to produce smooth, fluid, and realistic full-motion displays on a computer screen. Additional speed and processing power is needed in order to provide the computer system with high-fidelity stereo sound and real-time, and interactive capabilities. Otherwise, if the computer system is too slow to handle the requisite amount of data, its rendered images would tend to be small, grainy and otherwise blurry.
Furthermore, movement in these images would likely be jerky and disjointed because its update rate is too slow. Sometimes, entire video frames might be dropped. Hence, speed is of the essence in designing modern, state-of-the-art computer systems.
One of the major bottlenecks in designing fast, high performance computer systems pertains to the current bus architecture. A “bus” is comprised of a set of wires that is used to electrically interconnect the various semiconductor chips and input/output devices of the computer system. Electric signals are conducted over the bus so that the various components can communicate with each other. Virtually all of today's computer systems use this same type of busing scheme. A single bus is used to electrically interconnect the central processing unit (CPU) with the memory (e.g., RAM) via a memory controller. Furthermore, other various devices are also coupled to the bus. The bus is comprised of a set of physical wires which are used to convey digital data, address information for specifying the destination of the data, control signals, and timing/clock signals. For instance, the CPU may generate a request to retrieve certain data stored in the memory. This read request is then sent over the bus to the memory controller. Upon receipt of this read request, the memory controller fetches the desired data from memory and sends it back over the bus to the CPU. Once the CPU is finished processing the data, it can be sent via the bus for output by a device (e.g., fax, modem, network controller, storage device, audio/video driver, etc.).
The major drawback to this prior art bus architecture is the fact that it is a “shared” arrangement. All of the components share the same bus. They all rely on a single bus to meet their individual communication needs.
However, the bus can only establish communications between two of these devices at any given time. Hence, if the bus is currently busy transmitting signals between two of the devices (e.g., the CPU and another device), then all the other devices (e.g., memory) must wait their turn until that transaction is complete and the bus again becomes available. If a conflict arises, an arbitration circuit, usually residing in the memory controller, resolves which of the devices gets priority of access to the bus.
Essentially, the bus is analogous to a telephone “party” line, whereby only one conversation can take place amongst a host of different handsets serviced by the party line. If the party line is currently busy, one must wait until the prior parties hang up, before one can initiate their own call.
In the past, this type of bus architecture offered a simple, efficient, and cost-effective method of transmitting data. For a time, it was also sufficient to handle the trickle of data flowing between the various devices residing within the computer system. However, as the demand for increased amounts of data skyrocketed, designers had to find ways to improve the speed at which bits of data can be conveyed (i.e., increased “bandwidth”) over the bus. One temporary solution was to increase the width of the bus by adding more wires. The effect is analogous to replacing a two-lane road with a ten-lane super freeway. However, the increase in bus width consumes valuable space on an already densely packed and overcrowded printed circuit board. Furthermore, each of the semiconductor chips connected to the bus must have an equivalent amount of pins to match the increased bus width for accepting and outputting its signals. These additional pins significantly increase the size of the chips. It becomes more difficult to fit these chips onto the printed circuit boards. Furthermore, the practical limitation for cost effective chips and packages impose a physical restriction on the chip's overall size and its number of pins. Today's buses are typically limited to being 64-bits wide. In other words, 64 bits of data or address can be sent simultaneously in parallel over 64 separate wires. The next step of increasing the bus width to 128 bits wide has become impractical.
Another temporary solution to the bandwidth problem was to increase the rate (i.e., frequency) at which data is sent over the bus. However, the physics associated with implementing long sets of parallel wires with multiple loads produces a wide range of problems such as impedance, mismatches, reflections, crosstalk, noise, non-linearities, attenuations, distortions, timing, etc. These problems become even more severe as the frequency increases. It has come to a point where the highest attainable frequency is approximately 33-50 MHz. Higher frequencies cannot be attained without fine tuning, extremely tight tolerances, exotic micro-strip layouts, and extensive testing. It is extremely difficult to reliably mass produce such high frequency computers.
Given a 64-bit bus running at 50 MHz, the highest attainable data rate for a typical computer system is 400 Mbytes per second. Although this data rate appears to be quite impressive, it is nevertheless fast becoming insufficient to meet the demands imposed by tomorrow's new applications. Thus, there is a great need for some type of bus scheme that provides increased throughput.
A specific example of a bottleneck in attaining faster, greater bandwidth computer systems is the standard bus architecture found in

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Modular input/output controller capable of routing packets... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Modular input/output controller capable of routing packets..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Modular input/output controller capable of routing packets... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3042549

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.