摘要:
A method and apparatus for scheduling instructions to provide adequate prefetch latency is disclosed during compilation of a program code in to a program. The prefetch scheduler component of the present invention selects a memory operation within the program code as a “martyr load” and removes the prefetch associated with the martyr load, if any. The prefetch scheduler takes advantage of the latency associated with the martyr load to schedule prefetches for memory operations which follow the martyr load. The prefetches are scheduled “behind” (i.e., prior to) the martyr load to allow the prefetches to complete before the associated memory operations are carried out. The prefetch schedule component continues this process throughout the program code to optimize prefetch scheduling and overall program operation.
摘要:
A method, system or switch device, the switch device being one of a ported and a non-ported switch device, either of which including a housing containing an ASIC providing a switching system within the switch device, the housing further including a plurality of extender ports communicating with the ASIC and being connectable to themselves either in loopback fashion or to one or more ported or non-ported switch devices, whereby the extender ports operate on a discrete protocol from standard switch ports. The ported switch device further includes a plurality of standard ports connectable to one or more external computer network devices. A switch device hereof is adapted to send and/or receive an identification communication, the identification communication adapted to be indicative of the health of a switch device or a connecting link in a switch system.
摘要:
A processor reduces wasted cycle time resulting from stalling and idling, and increases the proportion of execution time, by supporting and implementing both vertical multithreading and horizontal multithreading. Vertical multithreading permits overlapping or “hiding” of cache miss wait times. In vertical multithreading, multiple hardware threads share the same processor pipeline. A hardware thread is typically a process, a lightweight process, a native thread, or the like in an operating system that supports multithreading. Horizontal multithreading increases parallelism within the processor circuit structure, for example within a single integrated circuit die that makes up a single-chip processor. To further increase system parallelism in some processor embodiments, multiple processor cores are formed in a single die. Advances in on-chip multiprocessor horizontal threading are gained as processor core sizes are reduced through technological advancements.
摘要:
Intelligent services are provided in a storage network using intelligent service modules that can be cabled to a switch external to the switch chassis and yet be managed as part of the switch's logical domain. Data and management communications between the intelligent service module and the core switch are provided through a “soft-backplane” implemented using in-band communications through cabling attached between the switch and the intelligent service module rather than through hardwired backplane within the chassis. Management communications from management software is directed to the switch, which handles the management functions relating to the intelligent service module or forwards the management requests to the intelligent service module for processing.
摘要:
A memory cache method and apparatus with two memory execution pipelines, each having a translation lookaside buffer (TLB). Memory instructions are executed in the first pipeline (324) by searching a data cache (310) and a prefetch cache (320). A large data TLB (330) provides memory for storing address translations for the first pipeline (324) A second pipeline (328) executes memory instructions by accessing the prefetch cache (320). A second micro-TLB (340) is associated with the second pipeline (328). It is loaded in anticipation of data that will be referenced by the second pipeline (328). A history file (360) is also provided to retain information on previous instructions to aid in deciding when to prefetch data. Prefetch logic (370) determines when to prefetch data, and steering logic (380) routes certain instructions to the second pipeline (328) to increase system performance.
摘要:
A scalable solution to managing fairness in a congested hierarchical switched system is disclosed. The solution comprises a means for managing fairness during congestion in a hierarchical switched system comprising a first level arbitration system and a second level arbitration system of a stage. The first level arbitration system comprises a plurality of arbitration segments that arbitrate between information flows received from at least one ingress point based upon weights associated with those information flows (or the ingress points). Each arbitration segment determines an aggregate weight from each active ingress point providing the information flows to the segment and forwards a selected information flow along with the aggregate weight (in-band or out-of-band) to the second level arbitration system. The second level arbitration system then arbitrates between information flows received from the arbitration segments of the first level arbitration system based upon the aggregate weights received along with those information flows. The second level arbitration system then forwards a selected information flow to an egress point of the stage. The stage may, for example, comprise a portion of a switch, a switch, or a switch network.
摘要:
A method, system or switch device, the switch device having both switch and test capabilities. A method includes running in a test or switch mode or both; and, performing the testing operation or the switching operations, or both. Another method includes setting up the test functionality in the switch device, the test functionality including one or both of transmitting test data and receiving test data. Other steps may include initiating the transmission of test data; and checking the test data. A switch device may include an ASIC disposed within the switch device, the ASIC including one or both of an egress test block and an ingress test block; whereby the egress test block and the ingress test block are respectively adapted to transmit and receive a test packet; whereby the ASIC and one or both of the egress and ingress test blocks provide for alternatively operating in the conventional switch mode and in test mode.
摘要:
A method, system or switch device, the switch device including an ASIC creating a switching system within the switch device, the ASIC including an ingress packet processor, an egress packet assembly device, a transmit control device and a routing device; whereby the ingress packet processor is disposed to receive a data packet, the routing device is adapted to route the data packet from the ingress packet processor to the egress packet assembly device and the transmit control device is disposed to control the routing of the routing device; the switch device further including an ingress port communicating with the ASIC and being connectable to one or more external computer network devices, the ingress port being a substantially standard switch port; an egress port communicating with the ASIC and being connectable to one or more external computer network devices, the egress port being a substantially standard switch port; and, an extender port, the extender port being connectable to another extender port in loopback fashion and being connectable to a corresponding extender port of a discrete switch device, whereby the extender port operates on a discrete protocol from the standard ports; whereby the ASIC is adapted to provide for alternatively transmitting a data packet locally to the egress port and remotely through the extender port.
摘要:
A computer system includes a processor capable of executing a plurality of N threads of instructions, N being an integer greater than one, with a set of global registers visible to each of the plurality of threads and a plurality of busy bit memory elements used to signal whether or not a register is in use by a thread. The processor includes logic to stall a read from global register if the thread reading the global register is a speculative thread and the busy bits for prior threads are set. The processor might also include a speculative load address memory, into which speculative loads from speculative threads are entered and logic to compare addresses for stores from nonspeculative threads with addressees in the speculative load address memory and invalidate speculative threads corresponding to the speculative load addresses stored in the speculative load address memory. In an efficient implementation, aliasing load instructions can be distinct from nonaliasing load instructions, whereby addresses of aliasing load instructions are selectively stored in the speculative load address memory.
摘要:
Differential configuration update commands can be communicated and applied quickly and efficiently to active zone sets and zone set libraries, without requiring propagation of entire zone sets through a fabric of a SAN. Furthermore, the commands can be applied quickly to support dynamic configuration updates. Ordered differential configuration update commands can be applied to ordered zone set data structures to minimize update instruction communication requirements and optimize configuration update operations. In addition, differential configuration update commands can be applied to active zone set data structures (e.g., in an active zone set or a zone set library) to optimize configuration update operations.