RU2599971C2 - Физический уровень высокопроизводительного межсоединения - Google Patents
Физический уровень высокопроизводительного межсоединения Download PDFInfo
- Publication number
- RU2599971C2 RU2599971C2 RU2014145179/08A RU2014145179A RU2599971C2 RU 2599971 C2 RU2599971 C2 RU 2599971C2 RU 2014145179/08 A RU2014145179/08 A RU 2014145179/08A RU 2014145179 A RU2014145179 A RU 2014145179A RU 2599971 C2 RU2599971 C2 RU 2599971C2
- Authority
- RU
- Russia
- Prior art keywords
- data
- state
- data transmission
- fleets
- transmission paths
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- 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/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4273—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
- G06F2212/2542—Non-uniform memory access [NUMA] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/622—State-only directory, i.e. not recording identity of sharing or owning nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Изобретение относится к области компьютерных разработок, а более конкретно - к разработке программного обеспечения, включающей в себя координацию взаимозависимых систем с ограничениями. Технический результат - повышение скорости передачи данных в существующих архитектурных межсоединениях. Для этого устройство согласно изобретению содержит: логическую схему интерфейса, предназначенную для того, чтобы дифференцированно передавать сигналы по нескольким путям передачи данных; логическую схему интерфейса, предназначенную для того, чтобы логически группировать данные в кванты информации, причем логическая схема интерфейса предназначена для передачи, по меньшей мере, части первого кванта информации из нескольких квантов информации по нескольким путям передачи информации в течение первого единичного интервала (UI); и, по меньшей мере, части первого кванта информации и второго кванта информации из нескольких квантов информации по нескольким путям передачи данных во время следующего UI. 3 н. и 17 з.п. ф-лы, 17 ил., 2 табл.
Description
Область техники, к которой относится изобретение
Настоящее раскрываемое изобретение относится в общем к области компьютерных разработок, а более конкретно - к разработке программного обеспечения, включающей в себя координацию взаимозависимых систем с ограничениями.
Уровень техники
Успехи в обработке полупроводников и логическом проектировании позволили увеличить количество логических схем, которое может находиться на устройствах с интегральными схемами. Как следствие этого, конфигурации компьютерных систем эволюционировали от единственной или множественных интегральных схем в системе до множественных ядер, множественных аппаратных потоков обработки и множественных логических процессоров, находящихся на отдельных интегральных схемах, равно как и других интерфейсах, интегрируемых в пределах таких процессоров. Процессор или интегральная схема обычно содержат один физический кристалл процессора, причем этот кристалл процессора может включать в себя любое количество ядер, аппаратных потоков обработки, логических процессоров, интерфейсов, памяти, концентраторов-контроллеров и так далее.
В результате большей возможности вмещать больше вычислительной мощности в меньших по размеру корпусах, выросла популярность малых вычислительных устройств. Количество смартфонов, планшетных компьютеров, ультратонких ноутбуков и другого пользовательского оборудования росло по экспоненте. Однако эти меньшие по размеру устройства полагаются в отношении как хранения данных, так и сложной обработки данных, которая выходит за рамки возможностей этого форм-фактора, на серверы. Следовательно, спрос на рынке высокопроизводительных вычислений (то есть на серверное пространство) также увеличился. Например, в современных серверах обычно имеется не только одиночный процессор с множественными ядрами, но также и множественные физические процессоры (также именуемые как множественные панельки) для увеличения вычислительной мощности. Но по мере того как вместе с количеством устройств в вычислительной системе растут возможности по обработке данных, все более критически важной становится связь между панельками и другими устройствами.
В сущности, межсоединения проделали путь от более традиционных многоотводных шин, которые главным образом имели дело с электрической связью, до архитектур межсоединения, в их полном расцвете, которые облегчают быстрый обмен данными. К сожалению, поскольку от будущих процессоров требуется потреблять данные с еще более высокими скоростями, то соответствующее требование предъявляется и к возможностям существующих архитектур межсоединений.
Краткое описание чертежей
На фиг. 1 проиллюстрирована упрощенная структурная схема системы, включающая в себя двухточечное межсоединение последовательной передачи данных, подсоединяющее устройства ввода-вывода в вычислительной системе в соответствии с одним вариантом реализации изобретения;
На фиг. 2 проиллюстрирована упрощенная блок-схема многоуровневого стека протоколов, соответствующего одному варианту реализации изобретения;
На фиг. 3 проиллюстрирован вариант реализации описателя транзакции.
На фиг. 4 проиллюстрирован вариант реализации двухточечного канала последовательной передачи данных.
На фиг. 5 проиллюстрированы варианты реализации возможных конфигураций системы высокопроизводительных межсоединений (HPI-межсоединений).
На фиг. 6 проиллюстрирован вариант реализации многоуровневого стека протоколов, связанного с HPI-межсоединением.
На фиг. 7 проиллюстрировано представление приводимого в качестве примера конечного автомата.
На фиг. 8 проиллюстрированы приводимые в качестве примера управляющие надпоследовательности.
На фиг. 9 проиллюстрирована схема последовательности операций, представляющая приводимое в качестве примера вхождение в передающее состояние с частичной шириной.
На фиг. 10 проиллюстрировано представление приводимого в качестве примера флита, отправленного по приводимому в качестве примера каналу передачи данных, имеющему двадцать путей передачи данных.
На фиг. 11 проиллюстрировано представление приводимого в качестве примера флита, отправленного по приводимому в качестве примера каналу передачи данных, имеющему восемь путей передачи данных.
На фиг. 12 проиллюстрирован вариант реализации структурной схемы для вычислительной системы, включающей в себя многоядерный процессор.
На фиг. 13 проиллюстрирован другой вариант реализации структурной схемы для вычислительной системы, включающей в себя многоядерный процессор.
На фиг. 14 проиллюстрирован вариант реализации структурной схемы для процессора.
На фиг. 15 проиллюстрирован другой вариант реализации структурной схемы для вычислительной системы, включающей в себя процессор.
На фиг. 16 проиллюстрирован вариант реализации блока для вычислительной системы, включающей в себя множественные сокеты процессоров.
На фиг. 17 проиллюстрирован другой вариант реализации структурной схемы для вычислительной системы.
Одинаковые ссылочные позиции и обозначения на различных чертежах указывают одинаковые элементы.
Подробное описание изобретения
В нижеследующем описании, в целях обеспечения глубокого понимания настоящего изобретения, приводятся многочисленные конкретные подробности, такие как примеры конкретных типов процессоров и конфигураций системы, конкретных конструкций аппаратных средств, конкретных подробностей архитектуры и микроархитектуры, конкретных конфигураций регистров, конкретных типов команд, конкретных компонентов системы, конкретных стадий процессорного конвейера, конкретных слоев внутрисхемных соединений, конкретных конфигураций пакетов/транзакций, конкретных наименований транзакций, обменов данными по конкретным протоколам, конкретных ширин канала передачи данных, конкретных реализаций и функционирования и так далее. Однако специалисту в данной области техники может быть очевидно, что эти конкретные подробности не обязательно должны использоваться для осуществления на практике предмета настоящего раскрываемого изобретения. В других случаях, во избежание излишне затемнения сути настоящего раскрываемого изобретения, не приводится очень детализированное описание известных компонентов или способов, таких как специальные и альтернативные архитектуры процессора, конкретные логические схемы/код для описанных алгоритмов, конкретный микропрограммный код, функционирование межсоединений нижнего уровня, конкретные логические конфигурации, конкретные технологии изготовления и материалы, конкретные реализации компилятора, конкретное выражение алгоритмов в коде, конкретные технология/логика выключения и отпирания и другие подробности функционирования компьютерной системы.
Хотя нижеследующие варианты реализации изобретения могут быть описаны в отношении сохранения энергии, энергетической эффективности, эффективности обработки данных и так далее в специальных интегральных схемах, таких как в вычислительных платформах или микропроцессорах, другие варианты реализации изобретения применимы к другим типам интегральных схем и логических устройств. Технологии и идеи, аналогичные описанным здесь вариантам реализации изобретения, могут быть применены к другим типам схем или полупроводниковых устройств, которые также могут получить пользу от таких характеристик. Например, раскрытые варианты реализации изобретения не ограничены компьютерной системой сервера, настольными компьютерными системами, портативными компьютерами, компьютерами Ultrabooks™ (сверхтонкими "ноутбуками"), но могут также использоваться в других устройствах, таких как карманные устройства, "смартфоны", планшетные компьютеры, другие тонкие "ноутбуки", устройства "систем, встроенных в кристалл" (SOC-систем) и встраиваемые варианты применения. Некоторые примеры карманных устройств включают в себя сотовые телефоны, устройства, поддерживающие интернет-протокол, цифровые фотокамеры, персональные цифровые секретари (PDA) и карманные персональные компьютеры. Здесь, технологии, аналогичные высокопроизводительному межсоединению могут быть применены для того, чтобы повысить производительность (или даже сберечь энергию) в межсоединении с низким энергопотреблением. Встроенные варианты применения обычно включают в себя микроконтроллер, процессор цифровой обработки сигналов (DSP-процессор), внутрикристальную систему, сетевые компьютеры (NetPC (сетевые персональные компьютеры)), телевизионные абонентские приставки, сетевые концентраторы, коммутаторы глобальной сети (WAN) или любую другую систему, которая может выполнять функции и операции, описываемые ниже. Кроме того, описываемые здесь аппараты, способы и системы не ограничены физическими вычислительными устройствами, но могут также относиться к программным оптимизациям для энергосбережения и эффективности. Как можно легко понять из приводимого ниже описания, варианты реализации способов, аппаратов и систем, описываемых здесь (будь то в отношении аппаратных средств, программно-аппаратных средств, программных средств или их сочетания), могут рассматриваться как существенно важные для будущего "зеленой технологии", сбалансированного с соображениями производительности.
По мере развития вычислительных систем компоненты этих систем становятся более сложными. Архитектура межсоединений для сопряжения компонентов и обмена данными между ними также усложняется таким образом, чтобы обеспечивать удовлетворение потребности в ширине полосы пропускания для оптимального функционирования компонентов. Кроме того, различным сегментам рынка требуются, для удовлетворения соответствующего рынка, различные аспекты архитектуры межсоединений. Например, серверам требуется более высокая производительность, в то время как в экосистеме мобильных устройств иногда можно пожертвовать общей производительностью ради сбережения энергии. Тем не менее, единая цель большинства структур заключается в том, чтобы обеспечить максимально возможную производительность при максимальном сбережении энергии. Кроме того, описываемый здесь предмет изобретения может потенциально принести пользу большому разнообразию различных межсоединений.
В соответствии с одним или более принципами, описываемыми здесь среди других примеров, потенциально может быть усовершенствована, среди других примеров, архитектура структуры межсоединения PCIe (Скоростное межсоединение PCI (межсоединение периферийных компонентов)) и архитектура структуры межсоединения QuickPath (межсоединением QPI (Межсоединением тракта быстрой передачи данных)). Например, основная цель межсоединения PCIe заключается в том, чтобы позволить компонентам и устройствам от различных поставщиков взаимодействовать в открытой архитектуре, охватывая множественные сегменты рынка; клиентов (настольные компьютеры и мобильные устройства), серверы (стандартные серверы и серверы предприятий) и встроенные устройства и устройства связи. Межсоединение PCI Express (Скоростное межсоединение периферийных компонентов) представляет собой высокопроизводительное межсоединение ввода-вывода общего назначения, определенное для широкого круга будущих платформ вычисления и связи. Некоторые атрибуты межсоединения PCI, такие как его модели использования, архитектура загрузки-хранения и программируемые интерфейсы, были сохранены при пересмотрах этого стандарта, тогда как существовавшие ранее реализации параллельной шины были заменены значительно расширяемым полностью последовательным интерфейсом. Более свежие версии межсоединения PCI Express используют достижения в области двухточечных межсоединений, технологии на основе переключателя, и пакетизированный протокол для того, чтобы предоставить новые уровни производительности и функциональных возможностей. Среди некоторых из усовершенствованных функциональных возможностей, поддерживаемых межсоединением PCI Express имеются: администрирование энергопотребления, качество обслуживания (QoS), поддержка Hot-Plug/Hot-Swap (подключения устройств без выключения системы/смены устройств без выключения системы), обеспечение целостности данных и обработка ошибок. Хотя основное обсуждение в данном описании относится к новой архитектуре высокопроизводительного межсоединения (HPI-межсоединения), аспекты описываемого здесь изобретения могут быть применены к другим архитектурам межсоединений, таким как PCIe - совместимой архитектуре, QPI - совместимой архитектуре, MIPI - совместимой архитектуре, высокопроизводительной архитектуре или другой известной архитектуре межсоединения.
Обратимся к фиг. 1, на которой проиллюстрирован вариант реализации структуры, составленной из двухточечных каналов передачи данных, которые соединяют между собой некоторый набор компонентов. Система (100) включает в себя процессор (105) и системную память (110), сопряженные с концентратором-контроллером (115). Процессор (105) может включать в себя любой процессорный элемент, такой как микропроцессор, главный процессор, встроенный процессор, сопроцессор или другой процессор. Процессор (105) сопряжен с концентратором-контроллером (115) через управляющую шину (FSB-шину) (106). В одном варианте реализации изобретения FSB-шина (106) представляет собой двухточечное межсоединение последовательной передачи данных, которое описывается ниже. В другом варианте реализации изобретения канал (106) передачи данных включает в себя последовательную, дифференциальную архитектуру межсоединения, которая совместима со стандартом дифференциального межсоединения.
Системная память (110) включает в себя любое запоминающее устройство, такое как оперативное запоминающее устройство (RAM), энергонезависимое (NV) запоминающее устройство или другое запоминающее устройство, доступное для устройств в системе (100). Системная память (110) сопряжена с концентратором-контроллером (115) через интерфейс (116) памяти. Примеры интерфейса памяти включают в себя интерфейс (DDR) памяти с удвоенной скоростью передачи данных, двухканальный интерфейс памяти с удвоенной скоростью передачи данных и интерфейс памяти динамического оперативного запоминающего устройства (DRAM).
В одном варианте реализации изобретения концентратор-контроллер (115) может включать в себя корневой концентратор, корневой комплекс или корневой контроллер, такие как в иерархии межсоединения PCIe. Примеры концентратора-контроллера (115) включают в себя набор микросхем, концентратор-контроллер (МСН) памяти, "северный мост", концентратор-контроллер (ICH) межсоединения, "южный мост" и корневой концентратор-контроллер. Часто термин "набор микросхем" относится к двум физически отдельным концентраторам-контроллерам, например, к концентратору-контроллеру (МСН) памяти, сопряженному с концентратором-контроллером (ICH) межсоединения. Отметим, что имеющиеся в настоящее время системы часто включают в себя концентратор-контроллер (МСН) памяти, интегрированный с процессором (105), в то время как контроллер (115) должен поддерживать связь с устройствами ввода-вывода способом, аналогичным тому, что описан ниже. В некоторых вариантах реализации изобретения, посредством корневого комплекса (115) дополнительно поддерживается одноранговая маршрутизация.
Здесь, концентратор-контроллер (115) сопряжен с переключателем/мостом (120) через канал (119) последовательной передачи данных. Модули (117) и (121) ввода/вывода, которые могут также упоминаться как интерфейсы/порты (117) и (121), могут включать в себя/реализовывать многоуровневый стек протоколов для обеспечения связи между концентратором-контроллером (115) и переключателем (120). В одном варианте реализации изобретения, с переключателем (120) способны сопрягаться множественные устройства.
Переключатель/мост (120) осуществляет маршрутизацию пакетов/сообщений от устройства (125) по восходящему потоку (данных), то есть вверх по иерархии по направлению к корневому комплексу, к концентратору-контроллеру (115), и по нисходящему потоку (данных), то есть вниз по иерархии в направлении от корневого контроллера, от процессора (105) или системной памяти (110) к устройству (125). Переключатель (120), в одном варианте реализации изобретения, упоминается как логический узел множественных виртуальных мостовых устройств "PCI-c-PCI". Устройство (125) включает в себя любое внутреннее или внешнее устройство или компонент, подлежащий сопряжению с электронной системой, такое как устройство ввода/вывода, сетевой интерфейсный контроллер (NIC-контроллер), расширительная плата, процессор обработки звукового сигнала, сетевой процессор, накопитель на жестких магнитных дисках, запоминающее устройство, CD/DVD ROM (постоянное запоминающее устройство на компакт-дисках/универсальных цифровых дисках), монитор, принтер, "мышь", клавиатура, маршрутизатор, портативное запоминающее устройство, устройство Firewire, устройство с универсальной последовательной шиной (USB-шиной), сканер и другие устройства ввода/вывода. Часто в терминологии стандарта PCIe, такого рода устройство упоминается как "конечная точка". Устройство (125) может включать в себя, хотя это особо и не показано, мост (например, мост от PCIe к PCI/PCI - X) для поддержания преемственности или других версий устройств или структур межсоединения, поддерживаемых такими устройствами.
С концентратором-контроллером (115) через канал (132) последовательной передачи данных может также быть сопряжен графический ускоритель (130). В одном варианте реализации изобретения, графический ускоритель (130) сопряжен с концентратором-контроллером (МСН) памяти, который сопряжен с концентратором-контроллером (ICH) межсоединения. Переключатель (120), и, соответственно устройство ввода/вывода (125), в таком случае сопрягаются с концентратором-контроллером (ICH) межсоединения. Модули ввода-вывода (131) и (118) должны также реализовывать многоуровневый стек протоколов для поддержания связи между графическим ускорителем (130) и концентратором-контроллером (115). Аналогично тому, что было сказано выше в отношении концентратора-контроллера (МСН) памяти, сам графический контроллер или графический ускоритель (130) может быть интегрирован в процессор (105).
Обратимся к фиг. 2, на которой проиллюстрирован вариант реализации многоуровневого стека протоколов. Многоуровневый стек (200) протоколов может включать в себя любую форму многоуровневого стека протоколов связи, такую как стек QPI, стек PCIe, стек для межсоединения следующего поколения для высокопроизводительного вычисления (HPI-стек) или другой многоуровневый стек. В одном варианте реализации изобретения, стек (200) протоколов может включать в себя транзакционный уровень (205), канальный уровень (210) и физический уровень (220). Интерфейс, такой как интерфейсы (117), (118), (121), (122), (126) и (131), показанные на фиг. 1, могут быть представлены как стек (200) протоколов связи. Представление в виде стека протоколов связи может также упоминаться как модуль или интерфейс, реализующий/включающий в себя стек протоколов.
Для обмена информацией между компонентами могут использоваться пакеты. Пакеты могут быть сформированы на транзакционном уровне (205) и уровне (210) канала передачи данных для того, чтобы переносить информацию от передающего компонента к принимающему компоненту. Поскольку передаваемые пакеты проходят через другие уровни, то они дополняются дополнительной информацией, используемой для обработки пакетов на этих уровнях. На стороне приема происходит обратный процесс, и пакеты преобразуются из их представления физического уровня (220) в представление уровня канала передачи данных и, наконец (для пакетов транзакционного уровня), в форму, которая может быть обработана на транзакционном уровне (205) принимающего устройства.
В одном варианте реализации изобретения, транзакционный уровень (205) может обеспечивать интерфейс между ядром обработки данных в устройстве и архитектурой межсоединения, такой как уровень (210) канала передачи данных и физический уровень (220). Отметим в этой связи, что основная обязанность транзакционного уровня (205) может включать в себя сборку и разборку пакетов (то есть пакетов транзакционного уровня или TLP-пакетов). Трансляционный уровень (205) может также администрировать управление потоками для TLP-пакетов, основанное на "кредитах" (разрешениях на передачу некоторого количества данных). В некоторых вариантах осуществления изобретения могут, среди других примеров, использоваться "разделенные" транзакции, то есть транзакции с запросом и ответом, разделенными временем, что позволяет каналу передачи данных передавать другой трафик в то время, пока целевое устройство собирает данные для ответа.
Управление потоками, основанное на "кредитах", может быть использовано для того, чтобы реализовывать виртуальные каналы и сети, использующие эту структуру межсоединения. В одном примере, устройство может объявлять некоторое начальное количество "кредитов" для каждого из приемных буферов на транзакционном уровне (205). Внешнее устройство на противоположном конце канала передачи данных, такое как концентратор-контроллер (115), показанный на фиг. 1, может подсчитывать количество "кредитов", потребляемое каждым TLP-пакетом. Транзакция может быть передана в том случае, если транзакция не превышает предел "кредитов". После получения ответа количество "кредита" восстанавливается. Один пример преимущества, среди других потенциальных преимуществ, такой схемы с "кредитами" заключается в том, что время задержки возвращения "кредита" не влияет на производительность, при том условии, что предел "кредитов" не нарушен.
В одном варианте реализации изобретения, четыре транзакционных адресных пространства могут включать в себя адресное пространство конфигурации, адресное пространство памяти, адресное пространство ввода/вывода и адресное пространство сообщений. Транзакции пространства памяти включают в себя один или более запросов чтения и запросов записи для передачи данных в отображенные в памяти места. В одном варианте реализации изобретения, транзакции пространства памяти способны использовать два различных формата адреса, например, короткий формат адреса, такой как 32-разрядный адрес, или длинный формат адреса, такой как 64-разрядный адрес. Транзакции пространства конфигурации могут быть использованы для того, чтобы получать доступ к пространству конфигурации различных устройств, подсоединяемых к межсоединению. Транзакции в отношении пространства конфигурации могут включать в себя запросы чтения и запросы записи. Транзакции пространства сообщений (или просто сообщения) могут также быть определены таким образом, чтобы поддерживать внутриполосную связь между агентами межсоединения. Следовательно, в одном приводимом в качестве примера варианте реализации, транзакционный уровень (205) может осуществлять сборку заголовка/полезных данных (206) пакета.
Быстро рассмотрим фиг. 3, на которой проиллюстрирован приводимый в качестве примера вариант реализации дескриптора пакета транзакционного уровня. В одном варианте реализации изобретения, дескриптор (300) транзакции может представлять собой механизм для передачи информации о транзакции. В этом отношении отметим, что дескриптор (300) транзакции поддерживает идентификацию транзакций в системе. Другие потенциальные варианты использования включают в себя отслеживание изменений упорядочивания транзакции по умолчанию и ассоциативную привязку транзакции к каналам. Например, дескриптор (300) транзакции может включать в себя поле (302) глобального идентификатора, поле (304) атрибутов и поле (306) идентификатора канала. В проиллюстрированном примере поле (302) глобального идентификатора изображено содержащим поле (308) локального идентификатора транзакции и поле (310) идентификатора источника. В одном варианте реализации изобретения, глобальный идентификатор (302) транзакции является уникальным для всех невыполненных запросов.
В соответствии с одним вариантом осуществления изобретения, поле (308) локального идентификатора транзакции представляет собой поле, сгенерированное запрашивающим агентом, и может быть уникальным для всех невыполненных запросов, которые требуют своего завершения для этого запрашивающего агента. Кроме того, в этом примере, идентификатор (310) источника уникальным образом определяет запрашивающего агента в пределах иерархии межсоединений. Соответственно, вместе с идентификатором (310) источника, поле (308) локального идентификатора транзакции обеспечивают глобальную идентификацию транзакции в пределах домена иерархии.
Поле (304) атрибутов определяет характеристики и связи транзакции. В этом отношении отметим, что поле (304) атрибутов потенциально используется для того, чтобы предоставлять дополнительную информацию, которая позволяет изменять обработку транзакций по умолчанию. В одном варианте реализации изобретения, поле (304) атрибутов включает в себя поле (312) приоритета, зарезервированное поле (314), поле (316) упорядочивания и поле (318) защиты от "прослушивания". Здесь, подполе (312) приоритета может быть изменено инициатором для задания приоритета транзакции. Зарезервированное поле (314) атрибутов оставлено зарезервированным для будущего использования или использования, определенного поставщиком оборудования. С использованием зарезервированного поля (314) атрибутов могут быть воплощены возможные модели использования, использующие приоритет или атрибуты секретности.
В этом примере, поле (316) атрибута упорядочивания используется для предоставления дополнительной информации, сообщающей тип упорядочивания, который может изменять правила упорядочивания по умолчанию. В соответствии с одним примером варианта осуществления изобретения, атрибут упорядочивания, составляющий "0", означает то, что должны быть применены правила упорядочивания по умолчанию, тогда как атрибут упорядочивания, составляющий "1", означает смягченное упорядочивание, при котором записи могут обгонять записи в том же самом направлении, а завершения чтения могут обгонять записи в том же самом направлении. Поле (318) атрибута "прослушивания" используется для определения того, не "прослушиваются" ли транзакции. Как показано на фигуре, поле (306) идентификатора канала идентифицирует канал, с которым связана транзакция.
Возвращаясь к обсуждению фиг. 2, отметим, что канальный уровень (210), также именуемый как уровень (210) канала передачи данных, может действовать в качестве промежуточной стадии между транзакционным уровнем (205) и физическим уровнем (220). В одном варианте реализации изобретения, обязанность уровня (210) канала передачи данных заключается в обеспечении надежного механизма для обмена пакетами транзакционного уровня (TLP-пакетами) между двумя компонентами по каналу передачи данных. Одна сторона уровня (210) канала передачи данных принимает TLP-пакеты, собранные на транзакционном уровне (205), применяет идентификатор (211) последовательности пакетов, то есть идентификационный номер или номер пакета, вычисляет и применяет код обнаружения ошибок, то есть циклический избыточный код (212), и представляет измененные TLP-пакеты на физический уровень (220) для передачи на физическом уровне внешнему устройству.
В одном примере, физический уровень (220) включает в себя логический субблок (221) и электрический субблок (222) для физической передачи пакета на внешнее устройство. Здесь, логический субблок (221) ответствен за "цифровые" функции физического уровня (221). В этом отношении отметим, что логический субблок может включать в себя секцию передатчика, предназначенную для подготовки исходящей информации к передаче физическим субблоком (222), и секцию приемника, предназначенную для идентификации и подготовки принятой информации перед передачей ее на канальный уровень (210).
Физический блок (222) включает в себя передатчик и приемник. Логический субблок (221) снабжает передатчик символами, которые трансмиттер преобразовывает в последовательную форму и передает на внешнее устройство. Приемник снабжается преобразованными в последовательную форму символами, поступающими от внешнего устройства, и преобразовывает принятые сигналы в поток битов. Поток битов преобразуется из последовательной формы в параллельную и подается на логический субблок (221). В одном приводимом в качестве примера варианте реализации изобретения используется код передачи 8 битов / 10 битов, при котором передаются/принимаются десятибитовые символы. При этом для того чтобы кадрировать пакет кадрами (223) используются специальные символы. В дополнение к этому, в одном примере приемник также обеспечивает синхронизацию символа, восстанавливаемую из поступающего последовательного потока данных.
Как было сказано выше, хотя в отношении конкретного варианта реализации стека протоколов (такого как стек протоколов стандарта PCIe) рассмотрены транзакционный уровень (205), канальный уровень (210) и физический уровень (220), многоуровневый стек (200) протоколов этим не ограничен. Фактически, любой многоуровневый протокол может быть включен сюда/реализован и наделен обсуждаемыми здесь признаками. В качестве примера, порт/интерфейс, который представлен как многоуровневый протокол, может включать в себя: (1) первый уровень для сборки пакетов, то есть транзакционный уровень; второй уровень для создания последовательности пакетов, то есть канальный уровень; и третий уровень для передачи пакетов, то есть физический уровень. В качестве конкретного примера используется многоуровневый протокол высокопроизводительного межсоединения, который описан в данном описании.
Обратимся далее к фиг. 4, на которой проиллюстрирован приводимый в качестве примера вариант реализации структуры двухточечного канала последовательной передачи данных. Двухточечный канал последовательной передачи данных может включать в себя любой тракт передачи данных, предназначенный для передачи последовательно передаваемых данных. В показанном варианте реализации изобретения, канал передачи данных может включать в себя две сигнальные пары низкого напряжения с дифференциальным возбуждением: передающую пару (406)/(411) и принимающую пару (412)/(407). Соответственно, устройство (405) включает в себя передающую логическую схему (406) для передачи данных на устройство (410) и принимающую логическую схему (407) для приема данных от устройства (410). Другими словами, в состав некоторых вариантов осуществления канала передачи данных входят два передающих тракта, то есть тракты (416) и (417), и два принимающих тракта, то есть тракты (418) и (419).
Термин "тракт передачи данных" относится к любому тракту для передачи данных, такому как линия передачи данных, медная линия, оптическая линия, канал беспроводной связи, канал связи в инфракрасном диапазоне или другой тракт связи. Соединение между двумя устройствами, такими как устройство (405) и устройство (410), именуется как канал передачи данных, такой как канал (415) передачи данных. Канал передачи данных может поддерживать один путь передачи данных - каждый путь передачи данных представляет набор дифференциальных сигнальных пар (одна пара для передачи, одна пара для приема). Для масштабирования ширины полосы пропускания канал передачи данных может объединять множественные пути передачи данных, обозначаемые как xN, где N представляет собой любую поддерживаемую ширину канала передачи данных, такую как 1, 2, 4, 8, 12, 16, 32, 64 или шире.
Дифференциальная пара может относиться к двум трактам передачи данных, таким как линии (416) и (417), для передачи разностных сигналов. В качестве примера, когда линия (416) переключается с низкого уровня напряжения на высокий уровень напряжения, то есть при нарастающем фронте, линия (417) переводится с высокого логического уровня на низкий логический уровень, то есть на падающий фронт. Разностные сигналы потенциально демонстрируют лучшие электрические характеристики, такие как лучшая целостность сигнала, то есть перекрестное взаимодействие, "выброс" напряжения вверх/вниз, "звон", среди других приводимых в качестве примера преимуществ. Это делает возможным лучшее окно синхронизации, которое делает возможным более высокие частоты передачи.
В одном варианте реализации изобретения предлагается новое высокопроизводительное межсоединение (HPI-межсоединение). HPI-межсоединение может включать в себя кэш - когерентное основанное на канале передачи данных межсоединение следующего поколения. В качестве одного примера, HPI-межсоединение может быть использовано на высокопроизводительных вычислительных платформах, таких как рабочие станции или серверы, включая сюда системы, где для соединения процессоров, ускорителей, устройств ввода/вывода и тому подобного обычно используются протокол PCIe (Скоростного межсоединения периферийных компонентов) или другой протокол межсоединения. Однако HPI-межсоединение этим не ограничено. Вместо этого, HPI-межсоединение может быть использовано в любой из описываемых здесь систем или платформ. Кроме того, отдельные разработанные идеи могут быть применены к другим межсоединениям и платформам, таким как PCIe, MIPI, QPI и так далее.
Для поддержания множественных устройств, в одном приводимом в качестве примера варианте осуществления изобретения, HPI-межсоединение может включать в себя агностика архитектуры набора команд (то есть HPI-межсоединение может быть реализовано во множественных различных устройствах). В другом сценарии HPI-межсоединение может также быть использовано для подсоединения высокопроизводительных устройств ввода/вывода, а не только процессоров или ускорителей. Например, высокопроизводительное устройство стандарта PCIe может быть подсоединено к HPI-межсоединению через соответствующий мост преобразования (то есть из HPI в PCIe). Кроме того, каналы передачи данных HPI-межсоединения могут быть использованы многими устройствами, основанными на HPI-межсоединении, такими как процессорами, различными способами (например, звездами, кольцами, многоугольниками и так далее). На фиг. 5 проиллюстрированы приводимые в качестве примера варианты осуществления множественных потенциальных многосортных конфигураций. Двухсокетная конфигурация (505), как изображено на фигуре, может включать в себя два HPI-канала передачи данных (канала передачи данных по HPI-межсоединению); однако в других вариантах осуществления изобретения может использоваться один HPI-канал передачи данных. Для более крупных топологий может быть использована любая конфигурация до тех пор, пока может быть присвоен идентификатор (ID) и есть некоторая форма виртуального тракта, среди других дополнительных признаков или заменяющих признаков. Как показано на фигуре, в одном примере, четырехсокетная конфигурация (510) имеет HPI-канал передачи данных, идущий от каждого процессора к другому. Но на восьмисокетном варианте осуществления изобретения, который показан на конфигурации (515), не каждый сокет напрямую соединен друг с другом через HPI-канал передачи данных. Однако если между процессорами существует некоторый виртуальный тракт или канал, то эта конфигурация поддерживается. Диапазон поддерживаемых процессоров включает в себя 2-32 в собственном домене. Более высокие количества процессоров могут быть достигнуты, среди других примеров, посредством использования множественных доменов или других межсоединений между контроллерами узлов.
Архитектура HPI-межсоединения включает в себя определение многоуровневую архитектуру протоколов, включающую в себя, в некоторых примерах, уровни протоколов (когерентный, некогерентный и, по желанию, другие основанные на памяти протоколы), уровень маршрутизации, канальный уровень и физический уровень. Кроме того, HPI-межсоединение может, среди других примеров, дополнительно включать в себя расширения, связанные с администраторами энергопотребления (такими как звенья управления энергопотреблением (PCU-звенья)), конструкцией для тестирования и отладки (DFT-конструкцией), устранением неисправностей, регистрами, безопасностью. На фиг. 5 проиллюстрирован вариант реализации приводимого в качестве примера многоуровневого стека протоколов HPI-межсоединения. В некоторых вариантах осуществления изобретения, по меньшей мере, некоторые из уровней, проиллюстрированных на фиг. 5, могут быть необязательными. Каждый уровень имеет дело со своим собственным уровнем гранулярности или кванта информации (уровень протокола (605 а, b) - с пакетами, (630), канальный уровень (610 а, b) - с флитами (flit) (635), а физический уровень (605 а, b) - с фитами (phit) (640)). Отметим, что пакет, в некоторых вариантах реализации изобретения, может, основываясь на варианте осуществления, включать в себя неполные флиты, единственный флит или множественные флиты.
В качестве первого примера, ширина фита (640) включает в себя отображение "1 в 1" ширины канала передачи данных на биты (например, 20-битовая ширина канала передачи данных включает в себя фит, составляющий 20 битов, и так далее). Флиты могут иметь больший размер, такой как 184, 192 или 200 битов. Отметим, что если фит (640) имеет ширину 20 битов, а размер флита (635) составляет 184 бита, то для того чтобы передать один флит (635), требуется дробное количество фитов (640) (например, среди других примеров, 9, 2 фитов с 20 битами - для передачи 184-битового флита (635), или 9, 6 при 20 битах - для передачи 192-битового флита). Отметим, что ширина основного канала передачи данных на физическом уровне может варьироваться. Например, количество путей передачи данных, приходящихся на одно направление, может включать в себя 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 и так далее. В одном варианте реализации изобретения, канальный уровень (610 а, b) способен вкладывать в один флит множественные части различных транзакций, и в этот флит могут быть вложены один или множество заголовков (например, 1, 2, 3, 4). В одном примере, HPI-межсоединение разделяет заголовки на соответствующие сегменты для того, чтобы сделать возможными множественные сообщения в флите, предназначенные для различных узлов.
Физический уровень (605 а, b), в одном варианте реализации изобретения, может быть ответственным за быструю передачу информации в физической среде (электрической или оптической и так далее). Физический канал передачи данных может быть двухточечным между двумя объектами канального уровня, такими как уровень (605 а) и (605 b). Канальный уровень (610 а, b) может отделить физический уровень (605 а, b) от верхних уровней и предоставляет возможность надежно передавать данные (равно как и запросы) и администрировать управлением потоками данных между двумя напрямую связанными объектами. Канальный уровень может также быть ответственным за виртуализацию физического канала передачи данных во множественные виртуальные каналы и классы сообщений. Уровень (620 а, b) протокола полагается на канальный уровень (610 а, b) в том, чтобы отображать сообщения протокола на соответствующие классы сообщений и виртуальные каналы перед передачей их на физический уровень (605 а, b) для передачи по физическим каналам передачи данных. Канальный уровень (610 а, b) может поддерживать множественные сообщения, такие как, среди других примеров, запрос, "прослушивание", ответ, обратная запись, некогерентных данных.
Физический уровень (605 а, b) (или PHY-уровень) HPI - межсоединения может быть реализован выше электрического уровня (то есть электрических проводов, соединяющих два компонента) и ниже канального уровня (610 а, b), как это проиллюстрировано на фиг. 6. Физический уровень и соответствующая логика может постоянно находиться на каждом агенте и соединяет канальные уровни на двух агентах (А и В), отделенных друг от друга, (например на устройствах по обеим сторонам канала передачи данных). Местный и удаленный электрические уровни соединены посредством физических сред (например, проводов, проводников, оптической среды и так далее). Физический уровень (605 а, b) в одном варианте реализации изобретения имеет две большие фазы: инициализацию и работу. Во время инициализации соединение непрозрачно по отношению к канальному уровню, и передача сигналов может включать в себя сочетание синхронизированных состояний и событий установления связи. Во время работы, соединение прозрачно по отношению к канальному уровню, и передача сигналов осуществляется на скорости, при этом все пути передачи данных работают вместе как один канал передачи данных. Во время фазы работы, физический уровень транспортирует флиты от агента А агенту В и от агента В агенту А. Это соединение также именуется как канал передачи данных и отделяет некоторые физические аспекты, включая среды, ширину и скорость, от канальных уровней, обмениваясь при этом флитами и данными управления/состояния текущей конфигурации (например, ширины) с канальным уровнем. Фаза инициализации включает в себя младшие фазы, например, опрос, конфигурацию. Фаза работы также включает в себя младшие фазы (например, состояния с администрированием энергопотребления в канале передачи данных).
В одном варианте реализации изобретения, канальный уровень (610 а, b) может быть реализован таким образом, чтобы обеспечивать надежную передачу данных между двумя протоколами или объектами маршрутизации. Канальный уровень может отделять физический уровень (605 а, b) от уровня (620 а, b) протокола, и может быть ответственным за управление потоками данных между двумя агентами (А, В) протокола, и предоставлять сервисы виртуальных каналов уровню протокола (классы сообщений) и уровню маршрутизации (виртуальные сети). Интерфейс между уровнем (620 а, b) протокола и канальным уровнем (610 а) обычно может находиться на пакетном уровне. В одном варианте реализации изобретения, самая малая порция передачи на канальном уровне именуется как флит (flit) с некоторым указанным количеством битов, таким как 192 бита или некоторого другого достоинства. Канальный уровень (610 а, b) полагается на физический уровень (605 а, b) в том, чтобы вместить порцию (фит) передачи на физическом уровне (605 а, b) в порцию (флит) передачи на канальном уровне (610 а, b). В дополнение к этому, канальный уровень (610 а, b) может быть логически разделен на две части, отправитель и приемник. Пара "отправитель/приемник" на одном объекте может быть соединена с парой "приемник/отправитель" на другом объекте. Управление потоками данных часто выполняется на основе как флита, так и пакета. Обнаружение и исправление ошибок также потенциально выполняется на основе уровня флита.
В одном варианте реализации изобретения уровень (615 а, b) маршрутизации может обеспечить гибкий и распределенный способ маршрутизации HPI-транзакций (транзакций HPI-межсоединения) от источника до пункта назначения. Схема является гибкой, поскольку алгоритмы маршрутизации для множественных топологий могут быть указаны посредством программируемых таблиц маршрутизации в каждом маршрутизаторе (программирование в одном варианте реализации изобретения выполняется посредством программно-аппаратных средств, программных средств или их сочетания). Функциональные возможности маршрутизации могут быть распределенными; маршрутизация может быть выполнена посредством ряда этапов маршрутизации, при этом каждый этап маршрутизации определяется посредством просмотра таблицы в маршрутизаторах либо в источнике, промежуточном звене, либо в пункте назначения. Поиск в источнике может быть использован для того, чтобы ввести HPI-пакет (пакет HPI-межсоединения) в структуру HPI-межсоединения. Поиск в промежуточном маршрутизаторе может быть использован для того, чтобы маршрутизировать HPI-пакет от входного порта до выходного порта. Поиск в порту пункта назначения может быть использован для того, чтобы задавать пункт назначения агента HPI-протокола. Отметим, что уровень маршрутизации, в некоторых вариантах осуществления изобретения, может быть тонким, поскольку таблицы маршрутизации и, следовательно, алгоритмы маршрутизации, конкретно не определены техническими требованиями. Это делает возможным гибкость и разнообразие моделей использования, включающих в себя гибкие архитектурные топологии платформ, определяемые при реализации системы. Уровень (615 а, b) маршрутизации полагается на канальный уровень (610 а, b) в обеспечении использования до трех (или более) виртуальных сетей (VN), в одном примере - двух беступиковых виртуальных сетей (VN 0) и (VN 1) с несколькими классами сообщений, определенными в каждой виртуальной сети. На канальном уровне может быть определена совместно используемая адаптивная виртуальная сеть (VNA), но эта адаптивная сеть не может быть непосредственно раскрыта в концепциях маршрутизации, поскольку каждый класс сообщений и виртуальная сеть, могут иметь выделенные ресурсы и гарантированное лидирующее развитие, среди других признаков и примеров.
В некоторых вариантах осуществления, HPI-межсоединение может использовать встроенную синхронизацию. Синхронизирующий сигнал может быть встроен в данные, передаваемые с использованием этого межсоединения. При синхронизирующем сигнале, встроенном в данные, могут быть опущены особые и специально выделенные пути передачи синхронизирующего сигнала. Это может быть полезным, например, поскольку это может позволить выделить большее количество штырьковых контактов в устройстве для передачи данных, особенно в системах, где пространство для штырьковых контактов пользуется большим спросом.
Канал передачи данных может быть установлен между двумя агентами с обеих сторон межсоединения. Агент, отправляющий данные, может быть локальным агентом, а агент, принимающий данные, может быть удаленно расположенным агентом. Оба агента для управления различными аспектами канала передачи данных могут использовать конечные автоматы. В одном варианте реализации изобретения, тракт передачи данных на физическом уровне может передавать флиты с канального уровня на электрический внешний интерфейс. Тракт управления, в одном варианте осуществления изобретения, включает в себя конечный автомат (также именуемый как конечный автомат обучения канала передачи данных или тому подобное). Действия конечного автомата и выходы из состояний могут зависеть от внутренних сигналов, таймеров, внешних сигналов или другой информации. На самом деле, некоторые из состояний, такие как несколько состояний инициализации, могут иметь таймеры для предоставления значения времени ожидания для выхода из некоторого состояния. Отметим, что термин "обнаруживать" в некоторых вариантах реализации изобретения, относится к обнаружению события на обеих ветвях пути передачи данных; но не обязательно одновременно. Однако, в других вариантах реализации изобретения, термин "обнаружить" относится к обнаружению события агентом ссылки. Термин "противодребезговый", в качестве одного примера, относится к устойчивому установлению уровня сигнала. В одном варианте реализации изобретения, HPI-межсоединение поддерживает работу в случае нефункционирующих путей передачи данных. Здесь, в специальных состояниях пути передачи данных могут быть освобождены.
Состояния, определенные в конечном автомате, могут, среди других категорий и подкатегорий, включать в себя состояния сброса, состояния инициализации и рабочие состояния. В одном примере, некоторые состояния инициализации могут иметь вторичный таймер, который используется для того, чтобы выйти из состояния на некотором времени ожидания (по существу аварийное завершение вследствие неудачи в достижении прогресса в состоянии). Аварийное завершение может включать в себя обновление значения регистров, таких как регистра состояния. Некоторые состояния могут также иметь первичный таймер (первичные таймеры), которые используются для синхронизации основных функций в состоянии. Другие состояния могут быть определены, среди других примеров, таким образом, чтобы внутренние или внешние сигналы (такие как протоколы установления связи) переводили транзакцию из состояния в другое состояние.
Конечный автомат может также поддерживать отладку на одном этапе, фиксацию параметров системы при аварийном прекращении инициализации и использование тестеров. При этом выходы из состояний могут быть отложены/задержаны до тех пор, пока не будут готовы программные средства отладки. В некотором случае, выход может быть отложен/задержан до вторичного времени ожидания. Действия и выходы, в одном варианте реализации изобретения, могут быть основаны на обмене обучающими последовательностями. В одном варианте реализации изобретения, конечный автомат ссылки должен работать в локальном домене часов агента, и переход из одного состояния в следующее должно совпадать с границей обучающей последовательности. Для отражения текущего состояния могут быть использованы регистры состояний.
На фиг. 7 проиллюстрировано представление, по меньшей мере, части конечного автомата, используемого агентами на одном приводимом в качестве примера HPI-межсоединении. Следует понимать, что состояния, включенные в состав таблицы состояний, приведенной на фиг. 7, включают в себя неисчерпывающий перечень возможных состояний. Например, некоторые переходы не приводятся для того, чтобы упростить схему. Кроме того, некоторые состояния могут быть объединены, разделены или опущены, в то время как другие могли бы быть добавлены. Такие состояния могут включать в себя:
Состояние сброса по событию: наступает при событии "теплого" или "холодного" сброса. Восстанавливает значения "по умолчанию". Инициализирует счетчики (например, счетчики синхронизации). Может выйти в другое состояние, такое как другое состояние сброса.
Синхронизированное состояние сброса: синхронизированное состояние для внутриполосного сброса. Может приводить в действие предварительно определенный электрический упорядоченный набор (EOS-набор), так что удаленные приемники способны обнаружить этот EOS-набор и также войти в состояние синхронизированного сброса. Приемник имеет пути передачи данных, поддерживающие электрические настройки. Может осуществляться выход на агента для калибровочное состояния сброса.
Калибровочное состояние сброса: калибровка без передачи сигналов по путям передачи данных (например, состояние калибровки приемника) или выключения драйверов. Может быть некоторое предварительно заданное количество времени в состоянии, основанном на таймере. Может задавать рабочую скорость. Может действовать в качестве состояния ожидания, когда порт не разблокирован. Может включать в себя минимальное время пребывания (в этом состоянии). Может происходить основанное на конструкции подготовка приемника к работе или отключение расстройки. Может осуществляться выход в состояние обнаружения приемника после некоторого времени ожидания и/или завершения калибровки.
Состояние обнаружение приемника: обнаружение присутствия приемника на пути (путях) передачи данных. Может осуществляться поиск завершения работы приемника (например, введения отбоя приемника). Может осуществлять выход в калибровочное состояние сброса после установки некоторого указанного значения или когда другое указанное значение не установлено. Если приемник обнаружен или время ожидания достигнуто, то может осуществляться выход в состояние калибровки передатчика.
Состояние калибровки передатчика: для калибровок передатчика. Может представлять собой синхронизированное состояние, выделенное для калибровок передатчика. Может включать в себя передачу сигналов по пути передачи данных. Может непрерывно приводить в действие EOS-набор, такой как электрический упорядоченный набор выхода из простоя (EIEOS-набор). Когда калибровка выполнена, или при истечении времени на таймере может осуществляться выход в состояние согласованности. Если истекло значение счетчика или прошло вторичное время ожидания, то может осуществляться выход в состояние обнаружения передатчика.
Состояние обнаружения передатчика: определяется правильность передачи сигналов. Может представлять собой состояние установления связи, при котором агент завершает действия и осуществляет выход в следующее состояние, основываясь на сигналах удаленного агента. Правильность передачи сигналов из передатчика может определять приемник. Приемник, в одном варианте реализации изобретения, осуществляет поиск сигнала обнаружения "пробуждения", и если тот подвергся противодребезговой обработке на одном или более путях передачи данных, то ищет его на других путях передачи данных. Передатчик порождает сигнал обнаружения. В ответ на завершение противодребезговой обработки для всех путей передачи данных и/или времени ожидания или, если противодребезговая обработка на всех путях передачи данных не завершена и есть время ожидания, может осуществляться выход в состояние опроса. При этом один или более контрольных путей передачи данных могут бодрствовать для противодребезговой обработки сигнала пробуждения. И если они свободны от дребезжания, тогда другие пути передачи данных потенциально являются свободными от дребезжания. Это может сделать возможным сбережение энергии в состояниях низкого энергопотребления.
Состояние опроса: приемник настраивает, инициализирует буфер сдвига и захватывает биты/байты (например, идентифицирует границы символов). Пути передачи данных могут быть выровнены. В ответ на подтверждающее сообщение удаленный агент может вызвать выход в следующее состояние (например, состояние ширины канала передачи данных). Опрос может дополнительно включать в себя синхронизацию обучающей последовательности посредством синхронизации по EOS-набору и заголовку обучающей последовательности. Расфазировка между путями передачи данных на удаленном передатчике может быть покрыта на первой длине для максимальной скорости и второй длине для медленной скорости. Выравнивание может быть выполнено в медленном режиме, так же как и в рабочем режиме. Приемник может иметь специальный максимум для выравнивания расфазировки между путями передачи данных, такой как 8, 16 или 32 интервалов расфазировки. Действия приемника могут включать в себя фиксацию времени задержки. Действия приемника, в одном варианте реализации изобретения, могут быть завершены при успешном выравнивании действующей карты путей передачи данных. Успешное установление связи может быть достигнуто, в одном примере, тогда, когда некоторое количество следующих друг за другом заголовков обучающих последовательностей приняты с подтверждениями, и некоторое количество обучающих последовательностей с подтверждением переданы после того, как приемник завершил свои действия.
Состояние ширины канала передачи данных: агент поддерживает связь с окончательной картой путей передачи данных, ведущей к удаленному передатчику. Приемник принимает информацию и декодирует ее. Приемник может записать сконфигурированную карту путем передачи данных в структуру после контрольной точки предшествующего значения карты путей передачи данных во второй структуре. Приемник может также ответить подтверждением ("АСК"). Может инициировать внутриполосный сброс. В качестве одного примера, первое состояние внутриполосного сброса. В одном варианте реализации изобретения, выход в следующее состояние, такое как состояние конфигурации флита, выполняется в ответ на это подтверждение. Кроме того, перед входом в состояние с низким энергопотреблением, если частота появления сигнала обнаружения пробуждения падает ниже некоторого указанного значения (например, 1 на каждое количество единичных интервалов (UI-интервалов), такое как 4 тысячи единичных интервалов), то также может быть сгенерирован сигнал сброса. Приемник может сохранять текущую и предшествующую карту путей передачи данных. Передатчик может использовать различные группы путей передачи данных, основываясь на обучающих последовательностях, имеющих различные значения. Карта путей передачи данных, может, в некоторых вариантах реализации изобретения, не изменять некоторые регистры состояния.
Состояние конфигурации фиксации флита: вхождение в него осуществляется передатчиком, но это состояние считается покинутым (то есть, режим вторичного времени ожидания), когда как передатчик, так и приемник осуществили выход в состояние блокирования канала передачи данных или другое состояние канала передачи данных. Выход передатчика в состояние канала передачи данных, в одном варианте реализации изобретения, включает в себя границу начала последовательности данных (SDS) и обучающей последовательности (TS-последовательности) после получения сигнала планетарного выравнивания. При этом выход приемника может основываться на приеме SDS от удаленного передатчика. Это состояние может быть мостом от агента к состоянию канала передачи данных. Приемник идентифицирует SDS. Приемник может осуществить выход в состояния блокирования канала передачи данных (BLS-состояние) (или окно управления), если SDS принято после того, как инициализирован дескремблер. Если имеет место время ожидания, то выход может быть в состояние сброса. Передатчик управляет путями передачи данных посредством сигнала конфигурации. Выход передатчика может быть выполнен в сброс, BLS-состояние или другие состояния, основываясь на условиях или временах ожидания.
Передающее состояние канала передачи данных: состояние канала передачи данных. Флиты отправляются удаленному агенту. Может быть введено из состояния блокирования канала передачи данных и возвращается в состояние блокирования канала передачи данных при некотором событии, таком как время ожидания. Передатчик передает флиты. Приемник принимает флиты. Также может осуществляться выход в состояние канала передачи данных, имеющее низкое энергопотребление. В некоторых вариантах осуществления изобретения, передающее состояние канала передачи данных (TLS-состояние) может упоминаться как состояние L0.
Состояние блокирования канала передачи данных: состояние канала передачи данных. Передатчик и приемник работают объединенным образом. Может представлять собой синхронизированное состояние, в течение которого флиты канального уровня удерживаются, в то время как информация физического уровня передается удаленному агенту. Может осуществляться выход в состояние канала передачи данных, имеющее низкое энергопотребление (или другое состояние канала передачи данных, основанное на конструкции). Состояние блокирования канала передачи данных (BLS-состояние), в одном варианте реализации изобретения, имеет место периодически. Этот период именуется как интервал BLS-состояния и может быть синхронизирован, равно как и может различаться между медленной скоростью и рабочей скоростью. Отметим, что канальный уровень может периодически быть блокирован от отправки флитов, так чтобы могла быть отправлена управляющая последовательность физического уровня, имеющая некоторую длину, такая как в течение передающего состояния канала передачи данных или передающего состояния канала передачи данных, имеющего частичную ширину. В некоторых вариантах осуществления изобретения, состояние блокирования канала передачи данных (BLS-состояние) может упоминаться как состояние L0-управления, или состояние L0c.
Состояние канала передачи данных, имеющее частичную ширину: состояние канала передачи данных. Может сберегать энергию благодаря вхождению в состояние с частичной шириной. В одном варианте реализации изобретения асимметричная частичная ширина относится к каждому направлению двунаправленного канала передачи данных, имеющего различные ширины, которые могут поддерживаться в некоторых конструкциях. Пример инициатора, такого как передатчик, отправляющего указание частичной ширины, для вхождения в состояние канала передачи данных, имеющее частичную ширину, показан в примере, приведенном на фиг. 14. При этом указание частичной ширины отправляют, передавая по каналу передачи данных, имеющему первую ширину, для перехода этого канала передачи данных к передаче со второй, новой шириной. Несоответствие может привести к сбросу. Отметим, что скорости не могут быть изменены, но ширина может. Следовательно, флиты потенциально отправляются с различными ширинами. Может быть логически аналогичным передающему состоянию канала передачи данных; и все же, поскольку ширина меньше, то может потребоваться большее время для передачи флитов. Может осуществляться выход в другие состояния канала передачи данных, такие как состояние канала передачи данных, имеющее низкое энергопотребление, - на основе некоторых принятых и отправленных сообщений, или выход из передающего состояния канала передачи данных, имеющего частичную ширину, или из состояния блокирования канала передачи данных, основанный на других событиях. В одном варианте реализации изобретения, передающий порт может выключать бездействующие пути передачи данных в шахматном порядке для того, чтобы обеспечить лучшую целостность сигнала (то есть уменьшение шума). При этом, во время периодов, в которые изменяется ширина канала передачи данных, может использоваться флиты, способные не подвергаться повторной передаче, такие как нулевые флиты. Соответствующий приемник может отбрасывать эти нулевые флиты и выключать бездействующие пути передачи данных в шахматном порядке, так же как и записывать в одну или несколько структур текущую и предшествующую карту путей передачи данных. Отметим, что состояние и связанный с ним регистр состояния могут оставаться неизменными. В некоторых вариантах осуществления изобретения передающее состояние канала передачи данных, имеющее частичную ширину, может упоминаться как частичное состояние L0 или состояние L0p.
Состояние выхода из передающего состояния канала передачи данных, имеющего частичную ширину: выход из состояния с частичной шириной. В некоторых вариантах осуществления изобретения может использовать или может не использовать состояние блокирования канала передачи данных. Передатчик инициирует выход, в одном варианте реализации изобретения, отправляя комбинации выхода из состояния с частичной шириной по бездействующим путям передачи данных для того, чтобы осуществить "обучение" и выравнивание для этих путей. В качестве одного примера, комбинация выхода начинается с EIEOS набора, который обнаруживают и освобождают от дребезжания, для сигнализирования о том, что путь передачи данных готов начать вхождение в полное передающее состояние канала передачи данных, и может заканчиваться сигналом SDS или быстрой обучающей последовательностью (FTS-последовательностью) на бездействующих путях передачи данных. Любой сбой во время последовательности выхода (действия приемника, такие как выравнивание, не завершенные до времени ожидания) останавливают передачу флитов канальному уровню, и заявляют сброс, который обрабатывается посредством осуществления сброса канала передачи данных при следующем возникновении состояния блокирования канала передачи данных. SDS может также задавать скремблеру/дескремблеру на путях передачи данных надлежащие значения.
Состояние канала передачи данных, имеющее низкое энергопотребление: является состоянием с низким энергопотреблением. В одном варианте реализации изобретения, оно имеет более низкое энергопотребление, чем состояние канала передачи данных, имеющее частичную ширину, поскольку передача сигналов в этом варианте реализации изобретения прекращается на всех путях передачи данных и в обоих направлениях. Для запроса состояния канала передачи данных, имеющего низкое энергопотребление, передатчики могут использовать состояние блокирования канала передачи данных. При этом, приемник может декодировать запрос и ответить подтверждением (АСК) или отрицательным квитированием (NAK); в ином случае может быть запущен сброс. В некоторых вариантах осуществления изобретения, состояние канала передачи данных, имеющее низкое энергопотребление, может упоминаться как состояние L1.
В некоторых вариантах осуществления изобретения, переходы из одного состояния в другое состояние могут быть облегчены таким образом, чтобы позволить обходить состояния, например, в случае, когда действия состояний, осуществляемые в этих состояниях, такие как некоторые калибровки и конфигурирования, были уже выполнены. Результаты и конфигурации предшествующего состояния канала передачи данных могут быть сохранены и повторно использоваться в последующих инициализациях и конфигурациях канала передачи данных. Вместо того, чтобы повторять такие конфигурации и действия состояний, соответствующие состояния можно обойти. Однако, традиционные системы, осуществляющие обходы состояний, часто воплощают сложные конструкции и дорогие переходы с оценкой. Вместо того, чтобы использовать традиционный обход, в одном примере, HPI-межсоединение может использовать короткие таймеры в некоторых состояниях, таких как те, в которых действия состояния не должны повторяться. Это, среди других потенциальных преимуществ, может потенциально сделать возможным более однородные и синхронизированные переходы конечного автомата.
В одном примере, контроллер, основанный на программном обеспечении, (например, через внешнюю точку управления для физического уровня) может сделать возможным короткий таймер для одного или более конкретных состояний. Например, для состояния, для которого действия были уже выполнены и сохранены, состояние может быть сокращено во времени для того, чтобы облегчить быстрый выход из этого состояния в следующее состояние. Однако если действие предшествующего состояния не удалось или не может быть применено в пределах короткой продолжительности таймера, то может быть выполнен выход из состояния. Далее, контроллер может блокировать короткий таймер, например, когда действия состояния должны быть выполнены снова. Длинный, или задаваемый по умолчанию, таймер может быть установлен для каждого соответствующего состояния. Если конфигурационные действия в состоянии не могут быть завершены в пределах длинного таймера, то может произойти выход из состояния. Длинный таймер может быть установлен на некоторую разумную продолжительность для того, чтобы позволить завершение действий состояния. В противоположность этому, короткий таймер может быть значительно более коротким, что в некоторых случаях, делает невозможным выполнение действий состояния без повторного обращения, среди других примеров, к ранее выполненным действиям состояния.
В некоторых вариантах осуществления HPI-межсоединения, могут быть определены надпоследовательности, причем каждая надпоследовательность соответствует соответствующему состоянию или входу в соответствующее состояние / выходу из него. Надпоследовательность может включать в себя повторяющуюся последовательность наборов данных и символов. Эти последовательности в некоторых случаях могут повторяться, среди других примеров, до завершения состояния или перехода из одного состояния в другое состояние, или сообщения о соответствующем событии. В некоторых случаях, повторяющаяся последовательность надпоследовательности может повторяться в соответствии с некоторой определенной частотой, такой как определенное количество единичных интервалов (UI-интервалов). Единичный интервал (UI) может соответствовать интервалу времени для передачи одного бита по пути передачи данных в канале передачи данных или системе. В некоторых вариантах осуществления изобретения, повторяющаяся последовательность может начинаться с электрически упорядоченного набора (EOS-набора). Соответственно, можно ожидать, что экземпляр EOS-набора будет повторяться в соответствии с некоторой предварительно заданной частотой. Такие упорядоченные наборы могут быть реализованы, среди других примеров, как определенные 16-байтовые коды, которые могут быть представлены в шестнадцатеричном формате. В одном примере, EOS-набор надпоследовательности может представлять собой электрический упорядоченный набор простоя (или EIEIOS-набор). В одном примере, EIEOS-набор может напоминать низкочастотный синхронизирующий сигнал (например, предварительно заданное количество повторения шестнадцатеричных символов FF00 или FFF000 и так далее). За EOS-набором может следовать некоторый предварительно заданный набор данных, такой как некоторое предварительно заданное количества обучающих последовательностей или других данных. Такие надпоследовательности могут быть использованы, среди других примеров, при переходах из одного состояния в другое состояние, включающих в себя переходы из одного состояния в другое состояние канала передачи данных, так же как и при инициализации.
Как было представлено выше, инициализация, в одном варианте реализации изобретения, может быть выполнена первоначально на медленной скорости, вслед за чем следует инициализация на быстрой скорости. Инициализация на медленной скорости использует для регистров и таймеров значения "по умолчанию". После этого программные средства используют канал передачи данных на медленной скорости для настройки регистров, таймеров и электрических параметров и очищают калибровочные семафоры для того, чтобы проложить путь для инициализации на быстрой скорости. В качестве одного примера, инициализация может состоять из таких состояний или задач, как сброс, обнаружение, опрос и конфигурирования, среди потенциально других состояний или задач.
В одном примере, блокирующая управляющая последовательность канального уровня (то есть, состояние блокирования канала передачи данных (BLS-состояние) или состояние L0c) может включать в себя синхронизированное состояние, в течение которого флиты канального уровня, удерживаются, в то время как информация PHY-уровня передается удаленному агенту. При этом передатчик и приемник могут запустить таймер управляющей последовательности блокирования. И после истечения времени таймеров, передатчик и приемник могут выйти из состояния блокирования и могут предпринять другие действия, такие как выход в сброс, выход в другие состояния канала передачи данных (или другое состояние), включающие в себя состояния, которые позволяют отправку флита по этому каналу передачи данных.
В одном варианте реализации изобретения, может быть обеспечено "обучение" канала передачи данных и оно может включать в себя отправку одного или больше скремблированных обучающих последовательностей, упорядоченных наборов и управляющих последовательностей, таких как в связи с определенной надпоследовательностью. Символ обучающей последовательности может включать в себя одно или более из числа: заголовка, зарезервированных участков, целевого времени задержки, номера пары, код карты физических путей передачи данных опорный путь передачи данных или группа путей передачи данных, и состояния инициализации. В одном варианте реализации изобретения, заголовок, среди других примеров, может быть отправлен с подтверждением или отрицательным квитированием. В качестве примера, обучающие последовательности могут быть отправлены как часть надпоследовательностей и могут быть скремблированы.
В одном варианте реализации изобретения, упорядоченные наборы и управляющие последовательности не скремблируются или сдвигаются и передаются одинаковым образом, одновременно и полностью по всем путям передачи данных. Правильный прием упорядоченного набора может включать в себя проверку по меньшей мере части упорядоченного набора (или всего упорядоченного набора для частичных упорядоченных наборов). Упорядоченные наборы могут включать в себя электрически упорядоченный набор (EOS-набор), такой как электрический упорядоченный набор простоя (EIOS-набор) или EIEOS-набор. Надпоследовательность может включать в себя начало последовательности данных (SDS) или Быструю обучающую последовательность (FTS-последовательность). Такие наборы и управляющие надпоследовательности могут быть предварительно заданными и могут иметь любую структуру или шестнадцатеричное представление, так же как и любую длину. Например, упорядоченные наборы и надпоследовательности могут иметь длину, составляющую 8 байтов, 16 байтов или 32 байта и так далее. FTS-последовательность, в качестве примера, может дополнительно использоваться для быстрого захвата бита во время выхода из передающего состояния канала передачи данных, имеющего частичную ширину. Отметим, что формирование определение FTS-последовательности может быть по пути передачи данных и может использовать повернутую версию FTS-последовательности.
Надпоследовательности, в одном варианте реализации изобретения, могут включать в себя введение EOS-набора, такого как EIEOS-набор, в поток обучающей последовательности. Когда начинается передача сигналов, электропитание путей передачи данных, в одном варианте осуществления изобретения, включается в шахматном порядке. Однако это может в результате привести к тому, что начальные надпоследовательности будут выглядеть усеченными в приемнике на некоторых путях передачи данных. Надпоследовательности могут быть повторены, однако, через короткие интервалы времени (например, приблизительно одну тысячу единичных интервалов (или ~1 KUI)). Обучающие надпоследовательности могут дополнительно использоваться для одного или более из числа: выравнивания конфигурирования, и для сообщения объекта инициализации, карты путей передачи данных и так далее. EIEOS-набор может использоваться, среди других примеров, для одного или более из числа: перевода пути передачи данных из неактивного в активное состояние, отбора хороших путей передачи данных, идентификации границ символа и TS-последовательности (обучающей последовательности).
Обратимся к фиг. 8, на которой показаны представления приводимых в качестве примера надпоследовательностей. Например, может быть определена приводимая в качестве примера надпоследовательность (805) обнаружения. Надпоследовательность (805) обнаружения может включать в себя повторяющуюся последовательность, состоящую из единственного EIEOS-набора (или другого EOS-набора) сопровождаемого некоторым предварительно заданным количеством экземпляров некоторой конкретной обучающей последовательности (TS-последовательности). В одном примере, EIEOS-набор может быть передан, непосредственно сопровождаемым семью повторенными экземплярами TS-последовательности. Когда последние из семи TS-последовательностей отправлены, EIEOS может быть отправлен снова сопровождаемый семью дополнительными экземплярами TS-последовательности и так далее. Эта последовательность может повторяться в соответствии с некоторой конкретной предварительно заданной частотой. В примере, приведенном на фиг. 8, EIEOS-набор может повторно появляться на путях передачи данных приблизительно один раз на каждую тысячу UI-интервалов (~1 KUI) сопровождаемый остальной частью надпоследовательности (805) обнаружения. Приемник может контролировать пути передачи данных на присутствие повторения надпоследовательности (805) обнаружения, и после проверки надпоследовательности (705) может прийти к заключению о том, что удаленный агент присутствует, был добавлен (например, подключен без выключения системы) на путях передачи данных, "пробудился" или повторно инициализируется и так далее.
В другом примере, может быть определена другая надпоследовательность (810) для указания условия или состояния опроса, конфигурирования или кольцевой проверки. Как и в случае с примером надпоследовательности (805) обнаружения, пути передачи данных канала передачи данных могут контролироваться приемником для такого рода надпоследовательности (810) опроса/конфигурирования/кольцевой проверки для того, чтобы идентифицировать состояние опроса, состояние конфигурирования или состояние или условия кольцевой проверки. В одном примере, надпоследовательности (810) опроса/конфигурирования/кольцевой проверки может начинаться с EIEOS-набора, сопровождаемого некоторым предварительно заданным количеством повторенных экземпляров некоторой TS-последовательности. Например, в одном примере EIEOS-набор может сопровождаться тридцатью одним (31) экземпляром TS-последовательности, при этом EIEOS-последовательность повторяется приблизительно каждые четыре тысячи UI-интервалов (например, ~4 KUI).
Кроме того, в другом примере, может быть определена надпоследовательность (815) выхода из передающего состояния с частичной шириной (PWTS-состояния). В одном примере, надпоследовательность выхода из PWTS-состояния может включать в себя начальный EIEOS-набор для повторения с целью предварительно подготовить пути передачи данных заранее, перед отправкой первой полной последовательности в надпоследовательности. Например, последовательность, подлежащая повторению в надпоследовательности (815), может начинаться с EIEOS-набора (для повторения приблизительно один раз каждые 1 тысяча UI-интервалов). Кроме того, могут быть использованы быстрые обучающие последовательности (FTS-последовательности) вместо других обучающих последовательностей (TS-последовательностей), причем FTS-последовательности, сконфигурированные таким образом, чтобы содействовать в более быстром захвате бита, захвате байта и выравнивании. В некоторых вариантах осуществления изобретения, FTS-последовательность может быть разложена на составные части, чтобы далее содействовать в возвращении бездействующих путей передачи данных в активное состояние настолько быстро и безущербно, насколько это возможно. Как и в случае с другими надпоследовательностями, предшествующими входу в передающее состояние канала передачи данных, надпоследовательность (815) может быть прервана и закончена посредством отправки начала последовательности данных (SDS). Кроме того, может быть отправлена частичная FTS-последовательность (FTSp-последовательность) для содействия в синхронизации новых путей передачи данных с активными путями передачи данных, как, например, позволяя, среди других примеров, вычитать биты (или добавлять) к FTSp-последовательности.
Надпоследовательности, такие как надпоследовательность (705) обнаружения и надпоследовательность (710) опроса/конфигурирования/кольцевой проверки, и так далее потенциально могут быть отправлены, по существу, во время инициализации или повторной инициализации канала передачи данных. Приемник, после приема и обнаружения конкретной надпоследовательности может, в некоторых случаях, ответить, осуществив эхопередачу той же самой надпоследовательности на передатчик по путям передачи данных. Прием и проверка конкретной надпоследовательности передатчиком и приемником могут служить в качестве установления связи для подтверждения состояния или условия, сообщенного через надпоследовательность. Например, такое установление связи (например, с использованием надпоследовательности (705) обнаружения) может быть использовано для того, чтобы идентифицировать повторную инициализацию канала передачи данных. В другом примере, такое установление связи может быть использовано, среди других примеров, для того, чтобы указать конец электрического сброса или состояния малого энергопотребления, что в результате приводит к тому, что соответствующие пути передачи данных восстанавливаются. Конец электрического сброса может быть идентифицирован, например, из установления связи между трансмиттером и приемником каждый из которых передает надпоследовательность (705) обнаружения.
В другом примере, пути передачи данных могут контролироваться на надпоследовательности и могут использовать эти надпоследовательности в связи с отбором путей передачи данных для обнаружения, "пробуждения", выходов из состояний и входов в них, среди других событий. Предварительно заданная и предсказуемая природа и форма надпоследовательностей могут, кроме того, использоваться для того, чтобы выполнять такие задачи инициализации как захват бита, захват байта, устранение "дребезжания", дескремблирование, выравнивание, адаптация, фиксирования времени задержки, устанавливая, согласованные запаздывания и другие потенциальные варианты использования. Действительно, пути передачи данных могут, по существу, непрерывно контролироваться на такие события, что ускоряет способность системы реагировать на такие условия и обрабатывать их.
В случае устранения "дребезжания", переходные процессы могут быть созданы на путях передачи данных в результате разнообразных условий. Например, переходные процессы на путь передачи данных могут быть созданы добавлением или включением устройства. В дополнение к этому, на пути передачи данных может иметься неравномерности напряжения по причине плохого качества пути передачи данных или неисправности электрических приборов. В некоторых случаях "дребезжание" на пути передачи данных может создавать ложные положительные величины, такие как ложный EIEOS-набор. Однако в некоторых вариантах осуществления изобретения, хотя надпоследовательности могут начинаться с EIEOS-набора, определенные надпоследовательности могут далее включать в себя дополнительные последовательности данных, так же как и некоторую определенную частоту, с которой будет повторяться EIEOS-набор. В результате этого, даже там, где на пути передачи данных появляется ложный EIEOS-набор, логический анализатор в приемнике может определить, что этот EIEOS-набор является ложной положительной величиной, проверив данные, которые следуют за ложным EIEOS-набором. Например, если ожидаемая TS-последовательность или другие данные не следуют за EIEOS-набором, или EIEOS-набор не повторяется в пределах конкретного одной из предварительно заданных частот одной из предварительно заданных надпоследовательностей, то логический анализатор приемника может признать неудачной проверку принятого EIEOS-набора. Поскольку "дребезжание" может произойти при запуске, когда устройство добавляется в линию, то в результате этого могут также возникнуть ложные отрицательные величины. Например, после добавленных к набору путей передачи данных, устройство может начать отправлять надпоследовательность (705) обнаружения для того, чтобы известить другую сторону канала передачи данных о своем присутствии и начать инициализацию канала передачи данных. Однако переходные процессы, созданные на путях передачи данных, могут разрушить начальный EIEOS, экземпляры TS-последовательности, и другие данные надпоследовательности. Однако, среди других примеров, логический анализатор на приемном устройстве может продолжить контролировать пути передачи данных и идентифицировать следующие EIEOS-наборы, отправленные новым устройством при повторении надпоследовательности (705) обнаружения.
В некоторых вариантах осуществления изобретения, HPI-канал передачи данных (канал передачи данных, относящийся к HPI-межсоединению) способен работать на множественных скоростях, чему способствует встроенная синхронизация. Например, может быть определен медленный режим. В некоторых случаях, медленный режим может быть использован для того, чтобы содействовать в облегчении инициализации канала передачи данных. В калибровку канала передачи данных могут быть вовлечены контроллеры, основанные на программном обеспечении, предоставляющие логику для задания различных калибруемых характеристик канала передачи данных, включающих в себя, среди других потенциальных характеристик, то, какие пути передачи данных должен использовать канал передачи данных, конфигурацию путей передачи данных, рабочую скорость канала передачи данных, синхронизацию путей передачи данных и агентов, выравнивание, целевое время задержки. Такие инструменты, основанные на программном обеспечении, могут использовать внешние точки управления для добавления данных в регистры физического уровня для того, чтобы управлять различными аспектами средств и логики физического уровня.
Рабочая скорость канала передачи данных может быть значительно более быстрой чем эффективная рабочая скорость контроллеров, основанных на программном обеспечении, используемых при инициализации канала передачи данных. Медленный режим может использоваться для того, чтобы позволить использование таких контроллеров, основанных на программном обеспечении, например, среди других случаев, при инициализации или повторной инициализации канала передачи данных. Медленный режим может быть применен к путям передачи данных, соединяющим приемник и передатчик, например, в случае, когда канал передачи данных включается, инициализируется, осуществляется его сброс и так далее, для того чтобы содействовать в облегчении калибровки этого канала передачи данных.
В одном варианте реализации изобретения, синхронизация может быть встроена в данные, так что нет отдельных путей передачи данных для синхронизации. Флиты могут быть отправлены в соответствии со встроенной синхронизацией. Кроме того, флиты, отправляемые по путям передачи данных, могут быть скремблированы для облегчения восстановления синхронизации. Звено восстановления синхронизации приемника, в качестве одного примера, может подавать синхронизирующие импульсы дискретизации приемнику (то есть приемник восстанавливает синхронизацию из данных и использует ее для того, чтобы производить выборку поступающих данных). Приемники в некоторых вариантах осуществления изобретения непрерывно адаптируются к поступающему потоку битов. Благодаря встраиванию синхронизации, количество выходных контактов потенциально можно снизить. Однако встраивание синхронизации во внутриполосные данные может изменить способ, с которым подходят к внутриполосному сбросу. В одном варианте реализации изобретения, после инициализации может быть использовано состояние блокирования канала передачи данных (BLS-состояние). Кроме того, среди других соображений, во время инициализации можно для облегчения сброса использовать надпоследовательности электрических упорядоченных наборов. Встроенная синхронизация может быть общей между устройствами на канале передачи данных, и во время калибровки и конфигурирования канала передачи данных может быть задана общая рабочая синхронизация. Например, HPI-каналы передачи данных могут обращаться к общей синхронизации с буферами сдвига. Такой вариант осуществления изобретения может, среди других потенциальных преимуществ, реализовать более низкое время задержки, чем эластичные буфера, используемые при необщих опорных синхронизирующих импульсах. Кроме того, сегменты распределения опорных синхронизирующих импульсов могут быть согласованы в указанных пределах.
Как было отмечено выше, HPI-канал передачи данных может быть способен работать на множественных скоростях, включающих в себя "медленный режим" для включения питания по умолчанию, инициализации и так далее. Рабочая (или "быстрая") скорость или режим каждого устройства может быть статически задана базовой системой ввода-вывода. Общая синхронизация на канале передачи данных может быть сконфигурирована на основе соответствующих рабочих скоростей каждого устройства с обеих сторон канала передачи данных. Например, среди других примеров, скорость канала передачи данных может быть основана на более медленной из скоростей выполнения операций этими двумя устройствами. Любое изменение рабочей скорости может сопровождаться "теплым" или "холодным" сбросом.
В некоторых примерах, при включении электропитания, канал передачи данных инициализируется в медленный режим со скоростью передачи, составляющей, например, 100 МТ/с. После этого, программные средства устанавливают эти две стороны для рабочей скорости канала передачи данных и начинают инициализацию. В других случаях, для настройки канала передачи данных, включающего в себя общую синхронизацию, может использоваться механизм боковой полосы частот, например, при отсутствии или неготовности медленного режима.
Фаза инициализации медленного режима, в одном варианте реализации изобретения, может использовать то же самое кодирование, скремблирование, обучающие последовательности (TS-последовательности), состояния и так далее, что и рабочая скорость, но с потенциально меньшим количеством функций (например, без настройки электрических параметров, без адаптации и так далее). Фаза работы в медленном режиме потенциально может также использовать то же самое кодирование, скремблирование и так далее (хотя в других вариантах осуществления изобретения может и не использовать), но может иметь меньшее количество состояний и функций по сравнению с рабочей скоростью (например, без состояния низкого энергопотребления).
Кроме того, медленный режим может быть осуществлен с использованием собственной частоты синхронизации системы фазовой автоподстройки частоты (PLL-системы) устройства. Например, HPI-межсоединение может поддерживать эмулированный медленный режим, не изменяя частоту синхронизации PLL-системы. В то время как в некоторых конструкциях могут использоваться отдельные PLL-системы для медленной и быстрой скорости, в некоторых вариантах осуществления HPI-межсоединения эмулированный медленный режим можно достигнуть, позволяя генератору синхронизирующих импульсов PLL-системы функционировать во время медленного режима на той же самой быстрой рабочей скорости. Например, передатчик может эмулировать более медленный синхронизирующий сигнал, повторяя биты множество раз, так чтобы эмулировать медленный высокий синхронизирующий сигнал и затем медленный низкий синхронизирующий сигнал. Приемник может затем передискретизировать принятый сигнал для того, чтобы обнаружить фронты импульсов, эмулированные повторившимися битами и идентифицировать бит. В таких вариантах осуществления изобретения, порты, совместно использующие PLL-систему могут сосуществовать на медленных и быстрых скоростях.
В некоторых вариантах осуществления HPI-межсоединения, может поддерживаться адаптация путей передачи данных в канале передачи данных. Физический уровень может поддерживать и как адаптацию приемника, так и адаптацию передатчика или отправителя. При адаптации приемника, передатчик на пути передачи данных может отправлять приемнику образцы данных, которые логическая схема приемника может обработать с целью идентификации недостатков в электрических характеристиках пути передачи данных и качества сигнала. После этого, приемник может внести корректировки в калибровку пути передачи данных, чтобы, основываясь на анализе принятых образцов данных, оптимизировать путь передачи данных. В случае адаптации передатчика, приемник может снова принять образцы данных и разработать метрики, описывающие качество пути передачи данных, но в этом случае сообщить эти метрики передатчику (например, используя обратный канал, такой как программный, аппаратный, встроенный, боковую полосу частот или другой канал) для того, чтобы, основываясь на этой обратной связи, позволить передатчику внести корректировки в путь передачи данных.
Поскольку оба устройства на канале передачи данных могут работать, исходя из одних и тех опорных синхронизирующих импульсов (например, ref clk), то эластичные буфера могут не предусматриваться (любые эластичные буфера могут быть шунтированы или использованы как буфер сдвига с самым низким временем задержки). Однако регулирование фазы или буфера сдвига могут использоваться на каждом пути передачи данных для того, чтобы переводить поток битов соответствующего приемника из удаленной области синхронизации в локальную область синхронизации. Время задержки буферов сдвига может быть достаточным для обработки суммы сдвига от всех источников в спецификации электрического оборудования (например, напряжения, температуры, остаточного SSC, созданного рассогласованиями маршрутизации опорных синхронизирующих сигналов и так далее), но как можно меньше, для того чтобы снизить транспортное запаздывание. Если буфер сдвига является слишком неглубоким, то в результате могут иметь место ошибки сдвига и проявиться как ряд ошибок контроля циклическим избыточным кодом. Следовательно, в некоторых вариантах осуществления изобретения, среди других примеров, может быть предусмотрена сигнализация об аварийном сдвиге, которая может инициировать сброс физического уровня прежде, чем произойдут реальные ошибки сдвига.
Некоторые варианты осуществления HPI-межсоединения могут поддерживать функционирование этих двух сторон с одной и той же номинальной частотой опорных синхронизирующих импульсов, но с разницей в миллионные доли. В этом случае, среди других примеров, могут потребоваться буфера подстройки частоты (или эластичные буфера), которые могут перенастраиваться во время расширенного окна BLS-состояния или во время специальных последовательностей, которые периодически имели бы место.
Некоторые системы и устройства, использующие HPI-межсоединение, могут быть детерминированными таким образом, что их транзакции и взаимодействия с другими системами, включающие в себя связь по HPI-каналу передачи данных, синхронизированы с конкретными событиями в системе или устройстве. Такая синхронизация может иметь место в соответствии с точкой или сигналом планетарного выравнивания, соответствующими этим детерминированным событиям. Например, сигнал планетарного выравнивания может быть использован для того, чтобы синхронизировать переходы из одного состояния в другое состояние, включающие в себя вхождение в передающее состояние канала передачи данных, с другими событиями на устройстве. В некоторых случаях, для поддержания выравнивания с планетарным выравниванием устройства могут быть использованы синхронизирующие счетчики. Например, каждый агент может включать в себя локальный синхронизирующий счетчик, который инициализируется планетарно выровненным сигналом (то есть общим и одновременным (за исключением фиксированного сдвига) для всех агентов/уровней, которые находятся в синхронизации). Этот синхронизирующий счетчик может правильно отсчитывать точки выравнивания даже в состояниях с выключенным электропитанием или с малым энергопотреблением (например, в состоянии L1), и может быть использован для хронирования процесса инициализации (после сброса или выхода из состояния L1), включая границы (то есть начало или конец) EIEOS-набора (или другого EOS-набора), включенного в состав надпоследовательности, используемой во время инициализации. Такие надпоследовательности могут быть фиксированными по размеру и более длинными чем максимально возможное время задержки в канале передачи данных. Границы EIEOS-TS в надпоследовательности могут, таким образом, использоваться в качестве "заместителя" для значения удаленного синхронизирующего счетчика.
Кроме того, HPI-межсоединение может поддерживать модели "главный-подчиненный", в которой детерминированное главное устройство или система могут управлять синхронизацией взаимодействия с другим устройством в соответствии со своими собственными моментами планетарного выравнивания. Кроме того, в некоторых примерах может поддерживаться детерминизм "главный-главный". Детерминизм "главный-главный" или "главный-подчиненный" может обеспечивать то, что две или больше пары канала передачи данных могут быть жестко синхронизированы на канальном уровне и выше. В детерминизме "главный-главный", выходом каждого направления из инициализации может управлять соответствующий передатчик. В случае детерминизма "главный-подчиненный", главный агент может, например, среди других потенциальных примеров и вариантов осуществления изобретения, управлять детерминизмом пары канала передачи данных (то есть в обоих направлениях), заставляя выход из инициализации подчиненного передатчика ждать выхода из инициализации его приемника.
На некоторых вариантах осуществления изобретения, синхронизирующий (или "sync") счетчик может быть использован в связи с поддержанием детерминизма в среде HPI-межсоединения. Например, синхронизирующий счетчик может быть реализован таким образом, чтобы отсчитывать определенное количество, такое как 256 или 512 UI-интервалов (единичных интервалов). Сброс этого синхронизирующего счетчика может быть осуществлен некоторым асинхронным событием, и он может непрерывно осуществлять отсчет (с опрокидыванием) с того времени (потенциально даже во время состояния канала передачи данных, имеющего низкое энергопотребление). Синхронизирующими событиями, которые осуществляют сброс синхронизирующего счетчика могут, среди другого примера, служить сбросы, основанные на штекере, (например, сброс при включении электропитания, "теплый" сброс). В одном варианте реализации изобретения, эти события могут происходить с двух сторон со сдвигом, меньшим (и, во многих случаях, намного меньшим) чем значение синхронизирующего счетчика. Во время инициализации, начало переданного упорядоченного набора выхода (например, EIEOS-набора), предшествующего обучающей последовательности обучающей надпоследовательности может быть выровнено со значением сброса синхронизирующего счетчика (например, с опрокидыванием синхронизирующего счетчика). Такие синхронизирующие счетчики могут поддерживаться в каждом агенте на канале передачи данных, так чтобы сохранять детерминизм посредством поддержания постоянного времени задержки передач флитов по конкретному каналу передачи данных.
Управляющие последовательности и коды, среди других сигналов, могут быть синхронизированы с сигналом планетарного выравнивания. Например, последовательности EIEOS-набора, BLS-состояние или окно L0c (и включенные в их состав коды), сигналы SDS и так далее могут быть сконфигурированы таким образом, чтобы быть синхронизированными с планетарным выравниванием. Кроме того, сброс синхронизирующих счетчиков может, среди других примеров, осуществляться в соответствии с некоторым внешним сигналом, таким как сигнал планетарного выравнивания, поступающим от устройства, чтобы сам этот счетчик был синхронизирован с планетарным выравниванием.
Синхронизирующие счетчики обоих агентов на канале передачи данных могут быть синхронизированы. Осуществление сброса, инициализация или повторная инициализация канала передачи данных могут включать в себя сброс синхронизирующих счетчиков для повторного выравнивания синхронизирующих счетчиков друг с другом и/или внешним управляющим сигналом (например, сигналом планетарного выравнивания). В некоторых вариантах осуществления изобретения, сброс синхронизирующих счетчиков могут быть осуществлен только посредством вхождения в состояние сброса. В некоторых случаях, детерминизм может быть сохранен, как, например, при возвращении в состояние L0, без сброса синхронизирующего счетчика. Вместо этого, в качестве "заместителя" для сброса могут быть использованы другие сигналы, уже настроенные на планетарное выравнивание, или другое детерминированное событие. В некоторых вариантах осуществления изобретения, при вхождении в детерминированное состояние может быть использован EIEOS-набор. В некоторых случаях, для того чтобы идентифицировать момент синхронизации и синхронизировать синхронизирующие счетчики одного из агентов на канале передачи данных, могут быть использованы граница EIEOS-набора и начальная TS-последовательность надпоследовательности. Конец EIEOS-набора может, среди других примеров, быть использован, например, для того, чтобы избежать потенциала переходных процессов, разрушающих начальную границу EIEOS-набора.
В некоторых вариантах осуществления HPI-межсоединения может также быть предусмотрена фиксация времени задержки. Время задержки может включать в себя не только время задержки, вносимой линией передачи, используемой для передачи флитов, но также и время задержки, получающееся в результате обработки данных агентом на другой стороны канала передачи данных. Время задержки для пути передачи данных может быть определено во время инициализации канала передачи данных. Кроме того, могут также быть определены изменения во времени задержки. Исходя из этого определенного времени задержки, можно инициировать фиксацию времени задержки для того, чтобы компенсировать такие изменения и возвратить время задержки, ожидаемое для этого пути передачи данных, к некоторому постоянному, ожидаемому значению. Поддержание постоянного времени задержки на пути передачи данных может быть критическим для поддержания детерминизма в некоторых системах.
Время задержки может быть зафиксировано на канальном уровне приемника на некотором запрограммированном значении с использованием, в некоторых вариантах осуществления изобретения, буфера времени задержки в сочетании с детерминизмом и может быть задействовано посредством начала обнаружения (например, посредством отправления надпоследовательности обнаружения) при опрокидывании синхронизирующего счетчика. Соответственно, в одном примере, переданный EIEOS-набор (или другой EOS-набор) при опросе и конфигурировании может иметь место при опрокидывании синхронизирующего счетчика. Другими словами, EIEOS-набор может быть точно выровнен с синхронизирующим счетчиком таким образом, что синхронизированный EIEOS-набор (или другой EOS-набор) может служить в качестве "заместителя", в некоторых случаях, для самого значения синхронизирующего счетчика, по меньшей мере, в связи с некоторыми действиями при фиксировании временем задержки. Например, приемник может прибавить достаточно времени задержки к принятому EIEOS-набору таким образом, чтобы он удовлетворял продиктованному целевому времени задержки в интерфейсе физического уровня - канального уровня. В качестве примера, если целевое время задержки составляет 96 UI-интервалов (единичных интервалов) и EIEOS-набор приемника, после выравнивания составляет в синхронизирующем отсчете 80 UI-интервалов, то можно прибавить 16 UI-интервалов времени задержки. По существу, при заданной синхронизации EIEOS-набора, время задержки для пути передачи данных может быть определено на основе запаздывания между тем, когда, как известно, был отправлен EIEOS-набор (например, при некотором конкретном значении синхронизирующего счетчика), и тем, когда этот EIEOS-набор был принят. Кроме того, время задержки может быть зафиксировано с использованием EIEOS-набора (например, посредством прибавления времени задержки к передаче EIEOS-набора для того, чтобы поддерживать целевое время задержки, и так далее).
Фиксация времени задержки может быть использована в рамках контекста детерминизма для того, чтобы позволить внешнему объекту (такому как объект, предоставляющий сигнал планетарного выравнивания) синхронизировать физическое состояние двух агентов на канале передачи данных в двух направлениях. Такого рода признак может быть использован, например, при отладке проблем в полевой обстановке и для поддержания жестко синхронного поведения. Соответственно, такие варианты осуществления изобретения могут включать в себя внешнее управление одним или более сигналами, которые могут заставлять физический уровень переходить в передающее состояние канала передачи данных (TLS-состояние) по двум агентам. Агенты, обладающие возможностями детерминизма могут осуществлять выход из инициализации на границе TS-последовательности, которая потенциально также представляет собой чистую границу флита при или после того, как сигнал утвержден. Детерминизм "главный-подчиненный" может позволить "главному" синхронизировать состояние физического уровня "главного" и "подчиненного" агентов по каналу передачи данных в обоих направлениях. Если это разрешено, то выход "главного" передатчика из инициализации может зависеть (например, следовать за ним или быть скоординированным с ним) от выхода его приемника из инициализации (в дополнение к другим соображениям, основанным на детерминизме). Агенты, которые имеют возможность детерминизма, могут дополнительно, среди других примеров, обладать функциональными возможностями для вхождения в BLS-состояние или окно L0c на чистом флите.
Детерминизм может также упоминаться как автоматическое испытательное оборудование (АТЕ-оборудование), когда используется для синхронизации тестовых комбинаций на АТЕ-оборудовании, при этом проверяемое устройство (DUT-устройство) управляет состоянием физического и канального уровня, фиксируя время задержки в канальном уровне приемника на некотором запрограммированном значении, используя буфер времени задержки.
В некоторых вариантах осуществления изобретения, детерминизм в HPI-межсоединении может включать в себя содействие способности одного агента определять и применять запаздывание, основанное на детерминированном сигнале. "Главный" может отправить удаленному агенту указание целевого времени задержки. Удаленный агент может определить фактическое время задержки на пути передачи данных и применить некоторое запаздывание для того, чтобы скорректировать время задержки таким образом, чтобы оно удовлетворяло целевому времени задержки (например, идентифицированному в TS-последовательности). Корректировка запаздывания или времени задержки может содействовать облегчению возможного синхронизированного вхождения в передающее состояние канала передачи данных, в некоторой точке планетарного выравнивания. Значение запаздывания может быть сообщено "главным" "подчиненному", например, в полезных данных TS-последовательности, входящей в состав надпоследовательности. Это запаздывание может указывать некоторое конкретное количество UI-интервалов (единичных интервалов), определенных для запаздывания. Основываясь на этом определенном времени задержки, "подчиненный" может задержать вхождение в состояние. Такие запаздывания могут, среди других примеров, использоваться, например, для того, чтобы облегчать тестирование, для того, чтобы располагать в шахматном порядке интервалы L0c на путях передачи данных в канале передачи данных.
Как было отмечено выше, выход из состояния может иметь место в соответствии с точкой планетарного выравнивания. Например, SDS может быть отправлено для того, чтобы прервать надпоследовательность состояния для того, чтобы провести переход из этого состояния в другое состояние. Отправка SDS может быть синхронизирована таким образом, чтобы совпасть с точкой планетарного выравнивания, и, в некоторых случаях, в ответ на сигнал планетарного выравнивания. В других случаях, отправку SDS можно синхронизировать с точкой планетарного выравнивания, основываясь на значении синхронизирующего счетчика или другом сигнале, синхронизированном с планетарным выравниванием. SDS можно отправить в любой точке в надпоследовательности, в некоторых случаях, прерывая конкретную TS-последовательность или EIEOS-набор и так далее в надпоследовательности. Это, среди других примеров, может обеспечить то что переход из одного состояния в другое состояние осуществляется с небольшим запаздыванием при сохранении выравнивания с точкой планетарного выравнивания.
В некоторых вариантах осуществления изобретения, HPI-межсоединение может поддерживать флиты с шириной, которая, в некоторых случаях, не является кратным числом номинальной ширины пути передачи данных (например, использование ширины флита, составляющей 192 бита, и 20 путей передачи данных, как просто иллюстративный пример). Действительно, в вариантах осуществления изобретения, допускающих передающие состояния с частичной шириной, количество путей передачи данных, по которым передаются флиты, может колебаться, даже в течение срока службы канала передачи данных. Например, в некоторых случаях, ширина флита может являться кратным числом количества активных путей передачи данных в один момент, но не являться кратным число количества активных путей передачи данных в другой момент (например, когда канал передачи данных изменяет состояние и ширину пути передачи данных). В случаях, при которых количество путей передачи данных не является кратным текущей ширины пути передачи данных (например, пример ширины флита, составляющей 192 битов на 20 путях передачи данных), в некоторых вариантах реализации изобретения могут быть сконфигурированы для передачи следующие друг за другом флиты для того, чтобы накладываться на пути передачи данных, чтобы таким образом сохранить ширину полосы пропускания (например, при передаче пяти следующих друг за другом 192-битовых флитов, наложенных на эти 20 путей передачи данных).
На фиг. 10 проиллюстрировано представление передачи следующих друг за другом флитов, наложенных на ряд путей передачи данных. Например, на фиг. 10 показано представлению пяти 192-битовых флитов наложения, отправляемых по 20 путям передачи данных канала передачи данных (пути передачи данных представлены столбцами 0-19). Каждая ячейка на фиг. 10 представляет соответствующий "полубайт", или группировку из четырех битов (например, биты 4n+3 : 4n), включенный в состав флита, отправленного во временной промежуток из 4 UI-интервалов (единичных интервалов). Например, 192-битовый флит может быть разделен на 48 четырехбитовых полубайта. В одном примере, полубайт 0 включает в себя биты: 0-3, полубайт 1 включает в себя биты: 4-7 и так далее. Биты в полубайтах могут быть отправлены таким образом, чтобы частично перекрываться или быть перемежающимися (например, "смешиваться") таким образом, чтобы поля флита, имеющие более высокий приоритет, были представлены раньше, свойства обнаружения ошибок (например, контроль циклическим избыточным кодом) сохранялись, среди других соображений. На самом деле, схема смешивания может также обеспечивать то, что некоторые полубайты (и их соответствующие биты) отправляются вне очереди (например, как в примерах на фигурах 10 и 11). В некоторых вариантах осуществления изобретения, схема смешивания может зависеть от архитектуры канального уровня и формата флита, используемого в канальном уровне.
Биты (или полубайты) флита с длиной, которая не является кратным числом активных путей передачи данных, могут смешиваться, как, например, в соответствии с примером, показанным на фиг. 10. Например, в течение первых 4 UI-интервалов могут быть отправлены полубайты 1, 3, 5, 7, 9, 12, 14, 17, 19, 22, 24, 27, 29, 32, 34, 37, 39, 42, 44 и 47. В течение следующих 4 UI-интервалов могут быть отправлены полубайты 0, 2, 4, 6, 8, 11, 13, 16, 18, 21, 23, 26, 28, 31, 33, 36, 38, 41, 43, и 46. В UI-интервалах: 8-11, остаются только восемь полубайтов от первого флита. Эти заключительные полубайты (то есть 10, 15, 20, 25, 30, 40, 45) первого флита могут быть отправлены одновременно с первыми полубайтами (то есть полубайтами 2, 4, 7, 9, 12, 16, 20, 25, 30, 35, 40, 45) второго флита, так что первый и второй флит частично перекрываются или смешиваются. При использовании такой технологии, в настоящем примере, пять полных флитов, могут быть представлены в 48 UI-интервалов, при этом каждый флит посылается за дробный период в 9,6 UI-интервалов.
В некоторых случаях, смешивание может привести к периодически "чистым" границам флитов. Например, в примере, показанном на фиг. 10, начальная граница 5 флитов (верхняя строка первого флита), может также именоваться как чистая граница флита, поскольку все пути передачи данных передают начальный полубайт из одного и того же самого флита. Логика канального уровня агента может быть сконфигурирована таким образом, чтобы идентифицировать смешение путей передачи данных, и может реконструировать флит из смешанных битов. В качестве дополнения, логика физического уровня может включать в себя функциональные возможности для идентификации того, когда и как смешивать поток данных флита, основываясь на количестве путей передачи данных, используемых в данный момент времени. На самом деле, при переходе из одного состояния ширины канала передачи данных в другое, агенты могут конфигурировать себя таким образом, чтобы идентифицировать то, каким образом будет использоваться смешивание потока данных. На самом деле, обе стороны канала передачи данных могут идентифицировать схему, подлежащую использованию смешивания потока данных, так чтобы идентифицировать то, каким образом переход из одного состояния в другое состояние ширины канала передачи данных будет влиять на поток данных. В некоторых вариантах осуществления изобретения, для того, чтобы облегчить переход из одного состояния в другое состояние ширины канала передачи данных, осуществляемый на зазубренном краю флита, длина частичной FTS-последовательности (FTSp-последовательности) может быть приспособлена таким образом, чтобы, среди других примеров, выход сигнала был синхронизирован. Кроме того, логика физического уровня может быть сконфигурирована таким образом, чтобы, среди других признаков, сохранять детерминизм, несмотря на зазубренные границы флита, получающиеся в результате смешивания.
Как было отмечено выше, каналы передачи данных могут осуществлять переход между ширинами пути передачи данных, в некоторых случаях работая с исходной, или полной, шириной, а позже переходя к частичной ширине (и от частичной ширины), использующей меньше путей передачи данных. В некоторых случаях, эта определенная ширина флита может делиться без остатка на количество путей передачи данных. Например, пример, показанный на фиг. 11, иллюстрирует такой пример, при котором 192-битовый флит из предшествующих примеров, передается по каналу передачи данных, имеющему 8 путей передачи данных. Как представлено на фиг. 11, 4-битовые полубайты 192-битового флита могут быть равномерно распределены и переданы по 8 путям передачи данных (то есть, поскольку 192 является кратным числом 8). На самом деле, при работе с частичной шириной из 8 путей передачи данных один флит может быть отправлен за 24 UI-интервала. Кроме того, каждая граница флита в примере, показанном на фиг. 11, может быть чистой. В то время как чистые границы флита могут упростить переходы из одного состояния в другое состояние, детерминизм, и другие признаки, разрешение смешивания и случайные зазубренные границы флита могут позволить минимизацию неиспользованной ширины полосы пропускания на канале передачи данных.
В дополнение к этому, хотя в примере, приведенном на фиг. 11, в качестве путей передачи данных, которые оставались активными в состоянии частичной ширины, показаны пути (0-7) передачи данных, потенциально может быть использован любой набор из 8 путей передачи данных. Отметим также, что примеры, приведенные выше, предназначены для целей иллюстрации. Флиты потенциально могут быть определены таким образом, чтобы иметь любую ширину. Каналы передачи данных потенциально могут также иметь любую ширину канала передачи данных. Кроме того, схема смешивания в системе может быть сконструирована гибко в соответствии с форматами и полями флита, предпочтительными ширинами пути передачи данных в системе, среди других соображений и примеров.
Функционирование PHY (физического) логического уровня HPI-межсоединения может быть независимым от лежащих в ее основе передающих сред при том условии, что, среди других соображений, время задержки не приводит в результате к ошибкам фиксирования времени задержки или временам ожидания на канальном уровне.
Для содействия в администрировании физическим уровнем, в HPI межсоединении могут быть предусмотрены внешние интерфейсы. Например, могут быть предусмотрены внешние сигналы (от контактных штырьков, предохранителей, других уровней), таймеры, регистры управления и состояния. Входные сигналы могут изменяться в любое время относительно PHY-состояния (состояния физического уровня), но должны соблюдаться физическим уровнем в специальных точках в соответствующем состоянии. Например, среди других примеров, изменяющийся сигнал выравнивания (как представлено ниже) может быть принят, но не оказывать никакого действия после того, как канал передачи данных вошел в передающее состояние канала передачи данных. Аналогичным образом, значения регистра команд могут соблюдаться объектами физического уровня только в специальных точках во времени. Например, логика физического уровня может сделать моментальный "снимок" этого значения и использовать его в последующих операциях. Следовательно, в некоторых вариантах осуществления изобретения, во избежание аномального поведения обновления в регистры команд, могут быть связанны с ограниченным подмножеством специальных периодов (например, в передающем состоянии канала передачи данных или при удержании в калибровке сброса, в передающем состоянии канала передачи данных, осуществляемом в медленном режиме).
Поскольку значений состояния отслеживают изменения аппаратных средств, то эти значения могут зависеть от того когда они считаны. Однако некоторые значения состояния, такие как карта каналов передачи данных, время задержки, скорости и так далее, могут не изменяться после инициализации. Например, повторная инициализация (или выход из состояния канала передачи данных, имеющего низкое энергопотребление (LPLS-состояния), или состояния L1) представляет собой единственное, что может заставить их измениться (например, среди других примеров, серьезный отказ пути передачи данных в TLS-состоянии может не привести в результате к реконфигурированию канала передачи данных до тех пор, пока не будет запущена повторная инициализация).
Сигналы интерфейса могут включать в себя сигналы, которые являются внешними по отношению к физическому уровню, но воздействуют на его поведение. Такие сигналы интерфейса могут включать в себя, в качестве примера, сигналы кодирования и синхронизации. Сигналы интерфейса могут быть специфическими для конструкции. Эти сигналы могут быть вводом или выводом. Некоторые сигналы интерфейса, такие как названные семафоры и снабженные префиксом ЕО, среди других примеров, могут быть активными один раз по фронту установки уровня сигнала, то есть, для того, чтобы снова оказать воздействие, они могут быть отменены и затем вновь установлены. Например, таблица 1 включает в себя перечень приводимых в качестве примера функций:
Значения "по умолчанию" таймера CSR могут предоставляться в парах - одно для медленного режима и одно для рабочей скорости. В некоторых случаях, значение 0 блокирует таймер (то есть, время ожидания никогда не наступает). Таймеры могут включить в себя те, что показаны в таблице 2, приводимой ниже. Первичные таймеры могут быть использованы для хронирования ожидаемых действий в состоянии. Вторичные таймеры используются для прекращения инициализаций, которые не движутся дальше, или для выполнения направленных вперед переходов из одного состояния в другое состояние в точные моменты времени в режиме автоматического испытательного оборудования (или АТЕ-оборудования). В некоторых случаях, вторичные таймеры могут быть намного большими чем первичные таймеры в состоянии. Наборы экспоненциальных таймеров могут быть снабжены суффиксом exp, и значение таймера возводится в степень 2 для полевого значения. Для линейных таймеров значение таймера и является полевым значением. Любой из этих двух таймеров мог бы использовать различную гранулярность. В дополнение к этому, некоторые таймеры в секции администрирования энергопотребления могут быть в наборе, называемом "временной профиль". Они могут быть связаны с временной диаграммой того же самого названия.
Могут быть предусмотрены регистры команд и управления. Регистры команд могут быть запаздывающего действия и могут считываться или записываться программными средствами в некоторых случаях. Значения запаздывающего действия могут вступать в силу (например, передаваться со стадии, обращенной к программным средствам, на стадию, обращенную к аппаратным средствам), непрерывно во время Сброса. Управляющие семафоры (снабженные префиксом CP) являются RW1S и могут быть очищены аппаратными средствами. Регистры управления могут быть использованы для выполнения любого из описанных здесь пунктов. Их изменение и доступ к ним могут осуществлять аппаратные средства, программные средства, программно-аппаратные средства или их сочетание.
Для отслеживания изменений аппаратных средств (записываемых и используемых аппаратными средствами) могут быть предусмотрены регистры состояния, и они могут быть предназначены только для чтения (но отладочные программные средства может быть также способны и осуществлять запись на них). Такие регистры, могут не оказывать влияния на функциональную совместимость и могут обычно дополняться со многими частными регистрами состояния. Семафоры состояния (снабженные префиксом SP) могут быть обязательными, поскольку они могут очищаться программными средствами для того, чтобы повторно выполнять действия, которые задают состояние. Начальные (при сбросе) значения средств по умолчанию могут быть предоставлены как подмножество этих битов состояния, относящихся к инициализации. При аварийном прекращении инициализации этот регистр может быть скопирован в запоминающую структуру.
Могут быть предусмотрены регистры инструментария. Например, регистры инструментария тестируемости, имеющиеся на физическом уровне, могут обеспечивать генерацию тестовых кодов, проверку тестовых кодов и механизмы управления кольцевой проверкой. Приложения верхнего уровня могут использовать эти регистры наряду с электрическими параметрами для определения пределов рабочего режима. Например, встроенное в тест межсоединение может использовать этот инструментарий для того, чтобы определять пределы рабочего режима. Для адаптации передатчика эти регистры могут использоваться совместно со специальными регистрами, описанными, среди других примеров, в предшествующих секциях.
В некоторых вариантах осуществления изобретения, HPI-межсоединение поддерживает такие характеристики как надежность, готовность, удобство обслуживания (RAS-характеристика), использующие физический уровень. В одном варианте реализации изобретения, HPI-межсоединение поддерживает подключение и отключение устройств без выключения системы, на одном или более уровнях, которые могут включать в себя программные средства. Отключение устройств без выключения системы может включать в себя "замораживание" канала передачи данных, и состояние/сигнал начала инициализация могут быть очищены для агента, подлежащего отключению. Удаленный агент (то есть, агент, который не удаляется (например, агент-хозяин)) может собираться установлен на медленную скорость, и сигнал его инициализации также может быть очищен. Внутриполосный сброс (например, через BLS-состояние) может, среди других примеров и признаков, заставить обоих агентов ждать в состоянии сброса, таком как калибровочное состояния сброса (CRS-состояние); и агент, подлежащий отключению, может быть отключен (или может удерживаться в целевом состоянии сброса от штекера, с выключенным электропитанием). На самом деле, некоторые из вышеупомянутых событий могут быть опущены, а дополнительные события могут быть добавлены.
Добавление устройства без выключения системы может включать в себя то, что скорость инициализации может по умолчанию быть установлена на медленную, и может быть установлен сигнал инициализации на агенте, подлежащем добавлению. Программные средства могут установить скорость на медленную и могут очистить сигнал инициализации на удаленном агенте. Канал передачи данных может начать работу в медленном режиме, и программные средства могут определить рабочую скорость. В некоторых случаях, в этой точке выполняется перезахват фазовой автоподстройки частоты на удаленном агенте. На обоих агентах может быть установлена рабочая скорость, и может быть установлено разрешение на адаптацию (если это не было сделано ранее). Указатель начала инициализация может быть очищен на обоих агентах, и внутриполосный сброс в BLS-состоянии может заставить обоих агентов ждать в CRS-состоянии. Программные средства могут объявить "теплый" сброс (например, целевой или самосброс) агента (подлежащего добавлению), что может вызвать перезахват фазовой автоподстройки частоты. Программные средства могут также зада сигнал начала инициализации посредством любой известной логики и далее установить его на удаленном агенте (таким образом, продвигая его в состояние обнаружения приемника (RDS-состояние)). Программные средства могут отменить "теплый" сброс добавляющегося агента (таким образом, продвигая его в RDS-состояние). Канал передачи данных может затем осуществить, среди других примеров, инициализацию на рабочей скорости, переходя в передающее состояние канала передачи данных (TLS-состояние) (или к кольцевой проверке, если установлен сигнал адаптации). На самом деле, некоторые из вышеупомянутых событий могут быть опущены, а дополнительные события могут быть добавлены.
Может поддерживаться восстановление при отказе пути передачи данных. Канал передачи данных в HPI-межсоединении, в одном варианте реализации изобретения, может быть упругим по отношению к систематической ошибке на одном пути передачи данных, конфигурируя себя до менее чем полной ширины (например, меньше чем половина полной ширины), что может, таким образом, исключить дефектный путь передачи данных. В качестве примера, эта конфигурация может быть выполнена конечным автоматом канала передачи данных, и неиспользуемые пути передачи данных могут быть выключены в состоянии конфигурирования. В результате этого, среди других примеров, флит может быть отправлен по более узкой ширине.
В некоторых вариантах осуществления HPI-межсоединения, на некоторых каналах передачи данных может поддерживаться реверсирование путей передачи данных. Реверсирование путей передачи данных может относиться, например, к путям (0/1/2…) передачи данных, относящимся к передатчику, соединенных с путями (n/n - 1/n - 2…) передачи данных, относящимися к приемнику (например n может равняться 19 или 7 и так далее). Реверсирование путей передачи данных может быть обнаружено в приемнике как идентифицированное в области заголовка TS-последовательности. Приемник может обрабатывать реверсирование путей передачи данных, начав в состоянии опроса с использования физического пути (n…0) передачи данных для логического пути (0…n) передачи данных. Следовательно, ссылки на путь передачи данных могут относиться к номеру логического пути передачи данных. Следовательно, разработчики печатных плат могут более эффективно составлять физическую или электрическую конструкцию, а ΗΡΙ-межсоединение может работать с назначениями виртуальных путей передачи данных, как здесь описано. Кроме того, в одном варианте реализации изобретения, полярность может быть инвертирована (то есть когда +/- дифференциального передатчика связан с -/+ приемника. Полярность также может быть обнаружена в приемнике из одного или более полей заголовка TS-последовательности и обработана, в одном варианте реализации изобретения, в состоянии опроса.
Обратимся к фиг. 12, на которой изображен вариант реализации структурной схемы для вычислительной системы, включающей в себя многоядерный процессор. Процессор (1200) включает в себя любой процессор или процессорное устройство, такое как микропроцессор, встроенный процессор, процессор цифровой обработки сигналов (DSP-процессор), сетевой процессор, портативный процессор, прикладной процессор, сопроцессор, Система, встроенная в кристалл (SOC-система) или другое устройство для исполнения кода. Процессор (1200), в одном варианте реализации изобретения, включает в себя, по меньшей мере, два ядра: ядро (1201) и (1202), которые могут включать в себя асимметричные ядра или симметричные ядра (проиллюстрированный вариант реализации изобретения). Однако процессор (1200) может включать в себя любое количество процессорных элементов, которые могут быть симметричными или асимметричными.
В одном варианте реализации изобретения, термин "процессорный элемент" относится к аппаратным средствам или логике для поддержания потока исполнения программных средств. Примеры аппаратный процессорных элементов включают в себя: звено потока обработки, слот потока обработки, поток обработки, звено процесса, контекст, контекстное звено, логический процессор, аппаратный поток обработки, ядро и/или любой другой элемент, который способен удерживать состояние для процессора, такое как состояния исполнения или архитектурное состояние. Другими словами, термин "процессорный элемент", в одном варианте реализации изобретения, относится к любым аппаратным средствам, способным быть независимо связанными с кодом, таким как программный поток обработки, операционная система, приложение или другой код. Термин "физический процессор" (или процессорный сокет) обычно относится к интегральной схеме, которая потенциально включает в себя любое количество других процессорных элементов, таких как ядра или аппаратные потоки обработки.
Термин "ядро" обычно относится к логике, расположенной на интегральной схеме, способной к поддержанию независимого архитектурного состояния, при этом каждое независимо поддерживаемое состояние архитектурное связано с, по меньшей мере, некоторыми выделенными исполняющими ресурсами. В отличие от ядер, термин "аппаратный поток обработки" обычно относится к любой логике, расположенной на интегральной схеме, способной к поддержанию независимого архитектурного состояния, при этом независимо поддерживаемое архитектурное состояние совместно с другими пользуется доступом к исполняющим ресурсам. Как можно заметить, когда некоторые ресурсы находятся в совместном пользовании, а другие выделены некоторому архитектурному состоянию, линия между терминологией: "аппаратный поток обработки" и "ядро" перекрывается. Все же часто ядро и аппаратный поток обработки рассматриваются операционной системой как индивидуальные логические процессоры, при этом операционная система способна индивидуально планировать операции на каждом логическом процессоре.
Физический процессор (1200), как проиллюстрировано на фиг. 12, включает в себя два ядра: ядро (1201) и (1202). Здесь, ядро (1201) и (1202) считаются симметричными ядрами, то есть ядрами с одними и теми же конфигурациями, функциональными звеньями и/или логикой. В другом варианте реализации изобретения, ядро (1201) включает в себя процессорное ядро с переупорядочением последовательности команд, в то время как ядро (1202) включает в себя процессорное ядро без переупорядочивания последовательности команд. Однако ядра (1201) и (1202) могут быть выбраны индивидуально из любого типа ядра, такого как собственное ядро, программно управляемое ядро, ядро, приспособленное к исполнению собственной архитектуры набора команд (ISA-архитектуры), ядро, приспособленное к исполнению оттранслированной архитектуры набора команд (ISA-архитектуры), ядро совместной разработки или другое известное ядро. В неоднородной среде ядер (то есть при асимметричных ядрах) может быть использована некоторая форма трансляции, такая как двоичная трансляция, для планирования или исполнения кода на одном или обоих ядрах. Все же для продолжения обсуждения отметим, что ниже более подробно описаны функциональные звенья, проиллюстрированные в ядре (1201), поскольку в изображенном варианте реализации изобретения звенья в сердечнике (1202) работают аналогичным образом.
Как изображено на чертеже, ядро (1201) включает в себя два аппаратных потока (1201 а) и (1201 b) обработки, которые могут также упоминаться как слоты (1201 а) и (1201 b) аппаратных потоков обработки. Следовательно, программные объекты, такие как операционная система, в одном варианте реализации изобретения, потенциально рассматривают процессор (1200) как четыре отдельных процессора, то есть, четыре логических процессора или процессорных элементов, способных исполнять четыре программных потока обработки. Как упоминалось выше, первый поток обработки связан с регистрами (1201 а) состояний архитектуры, второй поток обработки может быть связан с регистрами (1201 b) состояний архитектуры, третий поток обработки может быть связан с регистрами (1202 а) состояний архитектуры, а четвертый поток обработки может быть связан с регистрами (1202 b) состояний архитектуры. Здесь, как было описано выше, каждый из регистров (1201 а, 1201 b, 1202 а и 1202 b) состояний архитектуры может упоминаться как процессорные элементы, слоты потока обработки или звенья потока обработки. Как проиллюстрировано на чертеже, регистры (1201 а) состояний архитектуры скопированы в регистрах (1201 b) состояний архитектуры, так что индивидуальные состояния/контексты архитектуры способны быть сохраненными для логического процессора (1201 а) и логического процессора (1201 b). В ядре (1201), другие меньшие ресурсы, такие как указатели команд и переименовывающая логика в распределяющем и переименовывающем блоке (1230), могут также быть скопированы для потоков (1201 а) и (1201 b) обработки. Некоторые ресурсы, такие как переупорядочивающие буфера в звене (1235) переупорядочивания/изъятия, ILTB (1220), буфера загрузки/сохранения и очереди могут находиться в совместном использовании посредством разделения. Другие ресурсы, такие как универсальные внутренние регистры, базовый регистр (базовые регистры) таблиц страниц, низкоуровневый кэш данных и буфер (D-TLB) (1215) преобразования данных, исполняющее звено (звенья) (1240) и части звена (1235) переупорядочения последовательности команд потенциально полностью находятся в совместном использовании.
Процессор (1200) часто включает в себя другие ресурсы, которые могут полностью находиться в совместном использовании, находиться в совместном использовании посредством разделения или быть выделенными процессорными элементами или процессорным элементам. На фиг. 12 проиллюстрирован вариант реализации процессора, приводимого просто в качестве примера, с иллюстративными логическими звеньями/ресурсами процессора. Отметим, что процессор может включать в себя, или не включать в себя, любой из этих функциональных звеньев, так же как включить в себя любые другие известные функциональные звенья, логику или программно-аппаратные средства, не изображенные на чертеже. Как проиллюстрировано на чертеже, ядро (1201) включает в себя упрощенное репрезентативное процессорное ядро с переупорядочением последовательности команд (ООО-ядро). Но в других вариантах реализации изобретения может быть использован процессор без переупорядочения последовательности команд. ООО-ядро включает в себя буфер (1220) меток перехода, предназначенный для предсказывания ветви, которые будут исполняться/браться, и буфер (I-TLB) (1220) трансляции команд, предназначенный для сохранения записей трансляции адресов для команд.
Кроме того, ядро (1201) включает в себя, декодирующий модуль (1225), сопряженный со звеном (1220) выборки, для декодирования выбранных элементов. Логика выборки, в одном варианте реализации изобретения, включает в себя индивидуальные контроллеры последовательности, связанные, соответственно, со слотами (1201 а), (1201 b) потока обработки. Обычно ядро (1201) ассотиативно связано с первой ISA-архитектурой, которая определяет/указывает команды, выполняемые на процессоре (1200). Часто команды в машинном коде, которые являются частью первой ISA-архитектуры, включают в себя часть команды (именуемую как код операции), которая ссылается/указывает на команду или операцию, подлежащую выполнению. Декодирующая логика (1225) включает в себя электрическую схемы, которые распознают эти команды по их кодам операции и передают декодированные команды дальше на конвейер для обработки, которая определена первой ISA-архитектурой. Например, как более подробно обсуждается ниже, декодеры (1225), в одном варианте реализации изобретения, включают в себя логику, спроектированную или приспособленную для того, чтобы распознавать конкретные команды, такие как транзакционная команда. В результате распознавания декодерами (1225), архитектура или ядро (1201) предпринимает конкретные, предварительно определенные действия для выполнения задач, связанных с соответствующей командой. Важно отметить, что любая из задач, блоков, операций и способов, описанных здесь, может быть выполнена в ответ на единственную или множественные команды; некоторые из которых могут быть новыми или старыми командами. Отметим, что декодеры (1226), в одном варианте реализации изобретения, распознают одну и ту же ISA-архитектуру (или ее подмножество). В качестве альтернативы, в неоднородной среде ядер, декодеры (1226) распознают вторую ISA-архитектуру (будь то подмножество первой ISA-архитектуры или отдельная ISA-архитектура).
В одном примере, распределяющий и переименовывающий блок (1230), включает в себя распределитель для резервирования ресурсов, такой как регистровые файлы для хранения результатов обработки команд. Однако потоки (1201 а) и (1201 b) обработки потенциально способны к исполнению с изменением последовательности, при котором распределяющий и переименовывающий блок (1230) также резервирует другие ресурсы, такие как переупорядочивающие буфера для отслеживания результатов команд. Звено (1230) может также включать в себя звено переименования регистров для того, чтобы переименовать регистры ссылок на программы/команды в другие регистры, внутренние по отношению к процессору (1200). Звено (1235) переупорядочивания/изъятия включает в себя компоненты, такие как переупорядочивающие буфера, упомянутые выше, буфера загрузки, и буфера хранения, для поддержки исполнения с изменением последовательности, а после этого изъятие по порядку команд, исполненных с изменением последовательности.
Блок (1240) планировщика и исполняющего звена (исполняющих звеньев), в одном варианте реализации изобретения, включает в себя звено планировщика для того, чтобы распланировать команды/операцию по исполняющим звеньям. Например, команду с плавающей точкой планируется порту исполняющего звена, которое имеет доступное звено исполнения вычислений с плавающей запятой. Для сохранения информационных результатов обработки команд в состав этого блока также включены регистровые файлы связанные с исполняющими звеньями. Приводимые в качестве примера исполняющие звенья включают в себя звено исполнения вычислений с плавающей запятой, звено исполнения целочисленных вычислений, звено исполнения перехода, звено исполнения загрузки, звено исполнения сохранения и другие известные исполняющие звенья.
С исполняющим звеном (исполняющими звеньями) (1240) сопряжены низкоуровневый кэш данных и буфер (D-TLB) (1250) преобразования данных. Кэш данных предназначен для сохранения недавно использованных/подвергшихся операциям элементов, таких как данные - операнды, которые потенциально сохраняют в памяти состояния когерентности. Буфер D-TLB предназначен для сохранения недавних преобразований виртуальных/линейных адресов в физические адреса. В качестве конкретного примера, процессор может включать в себя структуру таблицы страниц для разделения физической памяти на множество виртуальных страниц.
Здесь, ядра (1201) и (1202) совместно осуществляют доступ к кэшу более высокого уровня или более удаленному кэшу, такому как кэш второго уровня связанный со встроенным в кристалл интерфейсом (1210). Отметим, что термины "более высокий уровень" или "более удаленный" относятся к повышению уровней или большему удалению кэша от исполняющего звена (исполняющих звеньев). В одном варианте реализации изобретения, кэш более высокого уровня представляет собой кэш данных последнего уровня - последний кэш в иерархии памяти на процессоре (1200), такой как кэш данных второго или третьего уровня. Однако более высокий уровень кэша этим не ограничен, как поскольку он может быть связан с кэшом команд или включать его в себя. Вместо этого, после декодера (1225) может быть подсоединен трассировочный кэш - некоторый тип кэша команд, предназначенный для сохранения недавно декодированных трассировок. Здесь, термин "команда" потенциально относится к макрокоманде (то есть общей команде, распознанной декодерами), которая может быть декодирована на множество микрокоманд (микроопераций).
В изображенной конфигурации, процессор (1200) также включает в себя встроенное в кристалл интерфейсное звено (1210). Исторически, контроллер памяти, который более подробно описан ниже, был включен в состав вычислительной системы, внешней по отношению к процессору (1200). В этом сценарии, встроенный в кристалл интерфейс (121) должен поддерживать связь с устройствами, внешними по отношению к процессору (1200), такими как системная память (1275), набор микросхем (часто включающий в себя концентратор-контроллер памяти, предназначенный для соединения с памятью (1275), и концентратор-контроллер ввода/вывода, предназначенный для подсоединения периферийных устройств), концентратор-контроллер памяти, северный мост или другую интегральную схему. И в этом сценарии шина (1205) может включать в себя любое известное межсоединение, такое как многоотводная шина, двухточечное межсоединение, последовательное межсоединение, параллельная шина, когерентная (например, когерентная кэшу) шина, многоуровневую архитектуру протоколов, дифференциальная шина и шина GTL.
Память (1275) может быть выделенной для процессора (1200) или совместно использоваться им с другими устройствами в системе. Общие примеры типов памяти (1275) включают в себя DRAM (динамическое оперативное запоминающее устройство), SRAM (статическое оперативное запоминающее устройство), энергонезависимое запоминающее устройство (NV-память) и другие известные запоминающие устройства. Отметим, что устройство (1280) может включать в себя: графический ускоритель, процессор или плату, сопряженную с концентратором-контроллером памяти, запоминающее устройство для данных, сопряженное с концентратором-контроллером ввода/вывода, приемопередатчик беспроводной связи, устройство флеш-памяти, аудиоконтроллер, сетевой контроллер или другое известное устройство.
Однако в последнее время, поскольку все больше логики и устройств интегрируются на одном кристалле, такие как SOC (Система, встроенная в кристалл), каждое из этих устройств может быть включено в состав процессора (1200). Например, в одном варианте реализации изобретения, концентратор-контроллер памяти находится на одном м том же модуле и/или кристалле с процессором (1200). При этом, часть ядра (расположенная на ядре часть) (1210) включает в себя один или более контроллеров для сопряжения посредством интерфейса с другими устройствами, такими как память (1275) или графическое устройство (1280). Конфигурация, включающая в себя межсоединение и контроллеры для сопряжения посредством интерфейса с такими устройствами, часто упоминается как неядерная (или неядерная конфигурация). В качестве примера, встроенный в кристалл интерфейс (1210) включает в себя кольцевое межсоединение для связи в кристалле и высокоскоростной двухточечный канал (1205) последовательной передачи данных для некристальной связи. Все же, в среде SOC-системы, даже еще больше устройств, таких как сетевой интерфейс, сопроцессоры, память (1275), графический процессор (1280) и любые другие известные компьютерные устройства / интерфейс могут быть интегрированы на одном кристалле или интегральной схеме, что обеспечивает малый форм-фактор, высокие функциональные возможности и низкое энергопотребление.
В одном варианте реализации изобретения, процессор (1200) способен исполнять код (1277) компилятора, оптимизации и/или транслятора для того, чтобы компилировать, транслировать и/или оптимизировать код (1276) приложения таким образом, чтобы поддерживать описанные здесь аппарат и способы или взаимодействовать с ними. Компилятор часто включает в себя программу или набор программ для трансляции исходного текста/кода в объектный текст/код. Обычно, компиляция кода программы/приложения посредством компилятора выполняется во множественных фазах и проходах для преобразования кода на языке программирования высокого уровня в код на низкоуровневом машинном языке или языке ассемблера. Все же, для простой компиляции могут, тем не менее, использоваться однопроходные компиляторы. Компилятор может использовать любые известные технологии компиляции и выполнять любые известные операции компилятора, такие как лексического анализа, предварительная обработка, синтаксический анализ, семантический анализ, генерация объектного кода, преобразование кода и оптимизация кода.
Более крупные компиляторы часто включают в себя множественные фазы, но чаще всего эти фазы включены в состав двух общих фаз: (1) предварительной обработки, то есть, при которой обычно могут иметь место синтаксическая обработка, семантическая обработка и некоторые преобразование/оптимизация, и (2) завершающей обработки, то есть, при которой обычно имеет место анализ, преобразования, оптимизация и генерация объектного кода. Некоторые компиляторы прибегают к среднему виду обработки, что иллюстрирует размывание разграничения между предварительной обработкой и завершающей обработкой в компиляторе. В результате этого, обращение к операциям вставке, ассоциации, генерации или другой операции компилятора может иметь место в любой из вышеупомянутых фаз или проходов, так же как и в любых других известных фазах или проходах компилятора. В качестве иллюстративного примера, компилятор потенциально вставляет операции, вызовы, функции и так далее в одной или более фазах компиляции, как, например, введение вызовов/операций в фазе предварительной обработки при компиляции и затем преобразование вызовов/операций в код более низкого уровня во время фазы преобразования. Отметим, что в динамической компиляции, код компилятора или код динамической оптимизации может вставлять такие операции/вызовы, так же как и оптимизировать код для исполнения во время прогона. В качестве конкретного иллюстративного примера, двоичный код (уже оттранслированная программа) может быть динамически оптимизирован во время прогона. Здесь, код программы может включать в себя код динамической оптимизации, двоичный код, или их сочетание.
Аналогично компилятору, транслятор, такой как двоичный транслятор осуществляет трансляцию кода, либо статически, либо динамически, для того, чтобы оптимизировать и/или транслировать код. Следовательно, ссылка на исполнение кода, прикладной код, код программы или другую программную среду может относиться к: (1) исполнению программы (программ) компилятора, оптимизатору кода оптимизации или транслятору, либо динамическому, либо статическому, для компиляции кода программы, для поддержания программных структур, для выполнения других операции, для оптимизации кода или для трансляции кода; (2) исполнению кода основной программы, включающей в себя операции/вызовы, такой как прикладной код, который был оптимизирован/скомпилирован; (3) исполнению другого кода программы, такого как библиотеки, связанные с кодом основной программы, для поддержания программных структур, для выполнения других операций, связанных с программными средствами, или для оптимизации кода; или (4) их сочетанию.
Теперь обратимся к фиг. 13, на которой показана структурная схема варианта реализации многоядерного процессора. Как показано в варианте реализации изобретения, приведенном на фиг. 13, процессор (1300) включает в себя множественные области. В частности, основная область (1330) включает в себя множество ядер (1330 А - 1330 N), область (1360) графики включает в себя одну или более графических машин, имеющих мультимедийную машину (1365), и область (1310) системного агента.
В различных вариантах реализации изобретения, область (1310) системного агента обрабатывает события управления электропитанием и администрирования электропитания, так что индивидуальные звенья областей (1330) и (1360) (например ядра и/или графические машины) могут независимо управляться таким образом, чтобы динамически функционировать в соответствующем режиме/на соответствующем уровне электропитания (например, активном, турбо, "спящем", "дремлющем", "глубоко сна" или в другом состоянии, аналогичном Интерфейсу электропитания усовершенствованной конфигурации) в свете действия (или бездействия) имеющего место в данном звене. Каждая из областей (1330) и (1360) может функционировать с различным напряжением и/или мощностью, и, кроме того, индивидуальные звенья внутри этих областей, потенциально функционируют каждая управляет с независимой частотой и напряжением. Отметим, что хотя показано только три области, понимание объема настоящего изобретение не ограничено в этом отношении, и в других вариантах реализации изобретения могут присутствовать дополнительные области.
Как показано на чертеже, каждое ядро (1330) дополнительно включает в себя каше низкого уровня в дополнение к различным исполняющим звеньям и дополнительным процессорным элементам. При этом различные ядра сопряжены друг с другом и с находящейся в совместном использовании кэш-память, которая сформирована из множества звеньев или секций (1340 А - 1340 N) кэша (LLC) последнего уровня; эти LLC - секции часто включают в себя запоминающее устройство и функциональные возможности контроллера кэш-памяти и совместно используются ядрами, так же как, потенциально, и графическими машинами также.
Как видно на чертеже, кольцевое межсоединение (1350) сопрягает ядра вместе, и обеспечивает межсоединение между областью (1330) ядер, областью (1360) графики и схемами (1310) системного агента через множество кольцевых "остановок" (1352 А) - (1352 N), каждая на сопряжении между LLC-секцией и ядром. Как видно на фиг. 13, межсоединение (1350) используется для того, чтобы переносить различную информацию, включающую в себя информацию адресов, информацию данных, информацию подтверждений и ненужную/недействительную информацию. Хотя проиллюстрировано кольцевое межсоединение, может быть использовано любое известное внутрикристальное межсоединение или структура. В качестве иллюстративного примера, аналогичным образом могут быть использованы некоторые из рассмотренных выше структур, (например, друге внутрикристальное межсоединение, Структура внутрикристальной системы (OSF-структура), межсоединение Усовершенствованной микроконтроллерной шинной архитектуры (АМВА), многомерные структуры с ячейками или другая известная архитектура межсоединения).
Как изображено далее, область (1310) системного агента включает в себя машину (1312) отображения, которая должна обеспечивать управление и интерфейс для связанного с ней устройства отображения. Область (1310) системного агента может включать в себя другие звенья, такие как: интегрированный контроллер (1320) памяти, который обеспечивает интерфейс с системной памятью (например, DRAM (динамическим оперативным запоминающим устройством), реализованным с множественными DIMM-модулями (модулями памяти с двухрядным расположением выводов); логика (1322) когерентности, предназначенная для выполнения операций когерентности памяти. Для того чтобы сделать возможным межсоединение между процессором и другими схемами могут иметься множественные интерфейсы. Например, в одном варианте реализации изобретения предусматривается, по меньшей мере, один Прямой мультимедийный интерфейс (DMI-интерфейс) (1316), так же как один или более интерфейсов PCIe™ (1314). Машина отображения и эти интерфейсы обычно сопрягаются с памятью через мост PCIe™ (1318). Кроме того и в дополнение к этому, для обеспечения связи между другими агентами, такими как дополнительные процессоры или другие схемы, могут быть предусмотрены один или более других интерфейсов.
Теперь обратимся к фиг. 14, на которой показана структурная схема репрезентативного ядра; в частности, логические блоки задней части ядра, такого как ядро (1330) с фиг. 13. Вообще, конструкция, которая показана на фиг. 14, включает в себя процессор с переупорядочением последовательности команд, который имеет звено (1470) передней части, используемое для выборки поступающих команд, выполнения различной обработки данных (например, кэширования, декодирования, предсказания ветви и так далее) и передачу команд/операций далее машине с переупорядочением последовательности команд (ООО-машине) (1480). ООО-машина (1480) выполняет дальнейшую обработку над декодированными командами.
В частности, в варианте реализации изобретения, показанном на фиг. 14, машина (1480) с переупорядочением последовательности команд включает в себя распределяющее звено (1482) для приема декодированных команд, которые могут быть в форме одной или более микрокоманд или uop, от звена (1470) передней части, и распределения их надлежащим ресурсам, таким как регистры и так далее. Затем, команды подаются на станцию (1484) резервации, которая резервирует ресурсы и планирует их для исполнения на одном из множества исполняющих звеньев (1486 А - 1486 N). Могут иметься различные типы исполняющих звеньев, включающие в себя, среди прочих, например, арифметико-логические устройства (ALU-устройства), звенья загрузки и сохранения, устройства векторной обработки данных (VPU-устройства), звенья исполнения вычислений с плавающей запятой. Результаты от этих различных исполняющих звеньев предоставляются в переупорядочивающий буфер (ROB-буфер) (1488), который берет неупорядоченные результаты и возвращает их к правильному порядку программы.
По-прежнему обращаясь к фиг. 14, отметим, что как звено (1470) передней части, так и машина (1480) с переупорядочением последовательности команд сопряжены с различными уровнями иерархии память. В частности, на чертеже показан - кэш (1472) уровня команд, который, в свою очередь, сопряжен с кэшем (1476) среднего уровня, который, в свою очередь, сопряжен с кэшем (1495) последнего уровня. В одном варианте реализации изобретения, кэш (1495) последнего уровня реализован на внутрикристальном (иногда именуемом как неядерное) звене (1490). В качестве примера, звено (1490) аналогичен системному агенту (1310) с фиг. 13. Как было сказано выше, неядро (1490) поддерживает связь с системной памятью (1499), которая, в проиллюстрированном варианте реализации изобретения, реализована посредством оперативного запоминающего устройства ED RAM. Отметим также, что различные исполняющие звенья (1486) в машине (1480) с переупорядочением последовательности команд поддерживают связь с кэшем (1474) первого уровня, который также поддерживает связь с кэшем (1476) среднего уровня. Отметим также, что с кэшем (1495) последнего уровня могут быть сопряжены дополнительные ядра (1430 N - 2) - (1430 N). Несмотря на то, что показано на этом высоком уровне в варианте реализации изобретения, приведенном на фиг. 14, следует понимать, что могут присутствовать различные изменения и дополнительные компоненты.
Обратимся к фиг. 15, на которой проиллюстрирована структурная схема приводимой в качестве примера компьютерной системы, сформированной с процессором, который включает в себя исполняющие звенья для исполнения команды, где одно или более межсоединений реализует одну или более функций в соответствии с одним вариантом реализации настоящего изобретения. Система (1500) включает в себя компонент, такой как процессор (1502), для использования исполняющих звеньев, включающих в себя логику для выполнения алгоритма для обработки данных, в соответствии с настоящим изобретение, такой как в описанном здесь варианте реализации изобретения. Система (1500) является представителем систем обработки данных, основанных на микропроцессорах PENTIUM III™, PENTIUM 4™, Xeon™, Itanium, XScale™ и/или StrongARM™, хотя могут также использоваться другие системы (включающие в себя персональные компьютеры, имеющие другие микропроцессоры, инженерные рабочие станции, телевизионные абонентские приставки и тому подобное). В одном варианте реализации изобретения, приводимая в качестве примера система (1500) исполняет версию операционной системы WINDOWS™, поставляемой Microsoft Corporation, г. Редмонд, Вашингтон, хотя могут также использоваться и другие операционные системы (например, UNIX и Linux), встроенное программное обеспечение и/или графические пользовательские интерфейсы. Таким образом, варианты реализации настоящего изобретение не ограничены никакой конкретной комбинацией схем аппаратных средств и программного обеспечения.
Варианты реализации изобретения не ограничены компьютерными системами. Альтернативные варианты реализации настоящего изобретения могут быть использованы в других устройствах, таких как карманные устройства, и встроенных приложениях. Некоторые примеры карманных устройств включают в себя сотовые телефоны, устройства, поддерживающие Интернет-протокол, цифровые фотокамеры, персональные цифровые секретари (PDA) и карманные персональные компьютеры. Встроенные приложения могут включать в себя микроконтроллер, процессор цифровой обработки сигналов (DSP-процессор), внутрикристальную систему, сетевые компьютеры (NetPC (сетевые персональные компьютеры)), телевизионные абонентские приставки, сетевые концентраторы, коммутаторы глобальной сети (WAN) или любую другую систему, которая может выполнять одну или более команд в соответствии с, по меньшей мере, одним вариантом реализации изобретения.
В этом проиллюстрированном варианте реализации изобретения, процессор (1502) включает в себя один или более исполняющих звеньев (1508) для реализации алгоритма, который должен выполнять по меньшей мере одну команду. Один вариант реализации изобретения может быть описан в контексте однопроцессорного настольного компьютера или системы сервера, но альтернативные варианты реализации изобретения могут быть включены в состав многопроцессорной системы. Система (1500) представляет собой пример архитектуры системы 'концентратор'. Вычислительная система (1500) включает в себя процессор (1502) для обработки сигналов данных. Процессор (1502), в качестве одного иллюстративного примера, включает в себя: процессор компьютера со сложным набором команд (CISC-процессор), процессор для вычисления с сокращенным набором команд (RISC-процессор), процессор с командными словами сверхбольшой длины (VLIW-процессор), процессор, воплощающий комбинацию наборов команд или любое другое процессорное устройство, такое как, например, процессор цифровой обработки сигналов. Процессор (1502) сопряжен с процессорной шиной (1510), которая передает сигналы данных между процессором (1502) и другими компонентами в системе (1500). Элементы системы (1500) (например графический ускоритель (1512), концентратор-контроллер (1516) памяти, память (1520), концентратор-контроллер (1524) ввода/вывода, приемопередатчик (1526) беспроводной связи, система BIOS (базовая система ввода-вывода) (1528), записанная во флеш-памяти, сетевой контроллер (1534), аудиоконтроллер (1536), последовательный порт (1538) расширения, контроллер (1540) ввода/вывода и так далее) выполняют свои традиционные функции, которые хорошо известны специалистам, знакомым с этой областью техники.
В одном варианте реализации изобретения, процессор (1502) включает в себя внутреннюю кэш-память (1504) уровня 1 (L1). В зависимости от архитектуры, процессор (1502) может иметь единственный внутренний кэш или множественные уровни внутренних кэшей. Другие варианты реализации изобретения включают в себя сочетание как внутренних, так и внешних кэшей в зависимости от конкретного варианта осуществления изобретения и потребностей. Регистровый файл (1506) предназначен для того, чтобы сохранять различные типы данных в различных регистрах, включающих в себя целочисленные регистры, регистры с плавающей запятой, векторные регистры, групповые регистры, теневые регистры, регистры контрольных точек, регистры состояния и регистр указателя команды.
В процессоре (1502) также находится исполняющее звено (1508), включающее в себя логику для выполнения целочисленных операций и операций с плавающей запятой. Процессор (1502), в одном варианте реализации изобретения, включает в себя постоянное запоминающее устройство для микрокода (ucode), предназначенное для хранения микрокода, который при своем исполнении, должен выполнять алгоритмы для некоторых макрокоманд или обрабатывать сложные сценарии. При этом микрокод является потенциально обновимым для того, чтобы обрабатывать логическими ошибками/затруднения для процессора (1502). Для одного варианта реализации изобретения, исполняющее звено (1508) включает в себя логику для обработки упакованного набора команд (1509). Благодаря включению упакованного набора команд (1509) в набор команд универсального процессора (1502), наряду со связанными с ним схемами для исполнения этих команд, операции, используемые многими мультимедийными приложениями, могут быть выполнены с использованием упакованных данных в универсальном процессоре (1502). Таким образом, много мультимедийных приложений ускоряются и выполняются более эффективно с использованием для выполнения операций над упакованными данными полной ширины шины данных в процессоре. Это потенциально устраняет необходимость передавать более мелкие порции данных по шины данных в процессоре для того, чтобы выполнить одну или более операций, по одному элементу данных единовременно.
Альтернативные варианты реализации исполняющего звена (1508) могут также использоваться в микро контроллерах, встроенных процессорах, графических устройствах, процессорах цифровой обработки сигналов, и других типах логических схем. Система (1500) включает в себя память (1520). Память (1520) включает в себя динамическое оперативное запоминающее устройство (DRAM) устройство, статическое оперативное запоминающее устройство (SRAM) устройство, устройство с флеш-памятью или другое запоминающее устройство. Память (1520) хранит команды и/или данные, представленные сигналами данных, которые подлежат исполнению процессором (1502).
Отметим, что любой из вышеупомянутых признаков или аспектов изобретения может быть использован в одном или более межсоединениях, проиллюстрированных на фиг. 15. Например, внутрикристальное межсоединение (ODI-межсоединение), которое не показано на чертеже, для сопряжения внутренних звеньев процессора (1502) воплощает один или более аспектов изобретения, описанных выше. Или изобретение связано с процессорной шиной (1510) (например, другим известным высокопроизводительным вычислительный межсоединением), трактом (1518) памяти, имеющим высокую пропускную способность, ведущим к памяти (1520), двухточечным каналом передачи данных графическому ускорителю (1512) (например, структурой, совместимой с стандартом PCIe (Скоростного межсоединения периферийных компонентов), межсоединением (522) концентраторов-контроллеров, межсоединением ввода/вывода или другим межсоединением (например, USB (универсальной последовательной шиной), PCI (Межсоединением периферийных компонентов), PCIe) для сопряжения с другими проиллюстрированными компонентами. Некоторые примеры таких компонентов включают в себя: аудиоконтроллер (1536), программно-аппаратный концентратор (систему BIOS (базовую систему ввода-вывода) (1528), записанную во флеш-памяти), приемопередатчик (1526) беспроводной связи, запоминающее устройство (1524) для данных, унаследованный контроллер (1510) ввода/вывода, содержащий интерфейсы (1542) пользовательского ввода и клавиатуры, последовательный порт (1538) расширения, такой как Универсальная последовательная шина (USB), и сетевой контроллер (1534). Запоминающее устройство (1524) для данных может содержать накопитель на жестких магнитных дисках, накопитель на гибких магнитных дисках, устройство CD-ROM (постоянное запоминающее устройство на компакт-диске), устройство с флеш-памятью или другое запоминающее устройство большой емкости.
Обратимся теперь к фиг. 16, на которой показана структурная схема второй системы (1600) в соответствии с вариантом реализации настоящего изобретение. Как показано на фиг. 16, многопроцессорная система (1600) представляет собой систему с двухточечными межсоединениями, и включает в себя первый процессор (1670) и второй процессор (1680), сопряженные через двухточечное межсоединение (1650). Каждый из процессоров: (1670) и (1680), может представлять собой некоторую версию процессора. В одном варианте реализации изобретения, 1652 и 1654 представляют собой часть структуры последовательного, двухточечного когерентного межсоединения, такого как высокопроизводительная архитектура. В результате, изобретение может быть осуществлено в рамках архитектуры QPI (Межсоединением тракта быстрой передачи данных).
Хотя на чертеже показано только два процессора: (1670), (1680), следует понимать, что объем настоящего изобретения этим не ограничен. В других вариантах реализации изобретения, в данном процессоре могут присутствовать один или более дополнительных процессоров.
Процессорам (1670) и (1680) показаны включающими в себя, соответственно, звенья (1672) и (1682) интегрированных контроллеров памяти. Процессор (1670) также включает в себя, как часть его звеньев - шинный контроллеров, двухточечные (P-Р) интерфейсы (1676) и (1678); аналогичным образом второй процессор (1680) включает в себя интерфейсы (P-Р) (1686) и (1688). Процессоры (1670), (1680) могут обмениваться информацией через двухточечный (P-Р) интерфейс (1650) с использованием схем (1678), (1688) интерфейса (P-Р). Как показано на фиг. 16, IMC-контроллеры (1672) и (1682) (встроенные контроллеры памяти) сопрягают процессоры с соответствующими запоминающими устройствами, а именно, памятью (1632) и памятью (1634), которые может являться частями основной памяти, локально закрепленными за соответствующими процессорами.
Процессоры (1670), (1680) обмениваются каждый информации с набором (1690) микросхем через индивидуальные двухточечные интерфейсы (1652), (1654), использующие схемы (1676), (1694), (1686), (1698) двухточечных интерфейсов. Набор (1690) микросхем также обменивается информацией с высокопроизводительной графической схемой (1638) через схему (1692) интерфейса по высокопроизводительному межсоединению (1639) для графических устройств.
В состав любого из процессоров или вне обоих процессоров может быть введен совместно используемый кэш (не показанный на чертеже); к тому же соединенный с процессорами через двухточечное межсоединение, таким образом, что информация локального кэша любого или обоих процессоров может быть сохранена в этом совместно используемом кэше, если процессор переведен в режим низкого энергопотребления.
Набор (1690) микросхем может быть сопряжен с первой шиной (1616) через интерфейс (1696). В одном варианте реализации изобретения, первая шина (1616) может представлять собой шину (PCI) Межсоединения периферийных компонентов, или шина, такая как шина PCI Express или другая шина межсоединения ввода/вывода третьего поколения, хотя объем настоящего изобретения этим не ограничен.
Как показано на фиг. 16, с первой шиной (1616) сопряжены различные устройства (1614) ввода/вывода, наряду с мостом (1618) между шинами, который сопрягает первую шину (1616) со второй шиной (1620). В одном варианте реализации изобретения, вторая шина (1620) включает в себя шину с малым количеством выводов (LPC-шину). Со второй шиной (1620) сопряжены различные устройства, включающие в себя, например, клавиатуру и/или "мышь" (1622), устройства (1627) связи и запоминающее устройство (1628), такое как дисковода или другое запоминающее устройство большой емкости, которое, в одном варианте реализации изобретения, часто включает в себя команды/код и данные (1630). Кроме того, со второй шиной (1620), как показано, сопряжено устройство (1624) ввода/вывода звука. Отметим, что возможны и другие архитектуры, где входящие в состав системы компоненты и архитектуры межсоединений изменяются. Например, вместо двухточечной архитектуры, показанной на фиг. 16, система может реализовать многоотводную шину или другую такую архитектуру.
Обратимся далее к фиг. 17, на которой изображен вариант реализации конструкции Системы, встроенной в кристалл (SOC-системы) в соответствии с изобретениями. В качестве конкретного иллюстративного примера, SOC-система (1700) включена в состав пользовательского оборудования (UE-оборудования). В одном варианте реализации изобретения, термин "пользовательское оборудование" (UE-оборудование) относится к любому устройству, подлежащему использованию конечным пользователем для связи, такому как карманный телефон, смартфон, планшет, сверхтонкий ноутбук, ноутбук с широкополосным адаптером или любое другое аналогичное устройство связи. Часто пользовательское оборудование соединяется с базовой станцией или узлом, что потенциально соответствует по своей природе мобильной станции (MS-станции) в сети GSM (Глобальной системы мобильной связи).
Здесь, SOC - система (1700) включает в себя 2 ядра: 1706 и 1707. Аналогично рассмотренному выше, ядра (1706) и (1707) могут соответствовать Архитектуре набора команд, как например конструкции процессора на основе Intel® Architecture Core™, процессора Advanced Micro Devices, Inc (AMD), процессора на основе MIPS, процессора на основе ARM, или клиентов этих компаний, так же как их лицензиатов или последователей. Ядра (1706) и (1707) сопряжены со средством (1708) управления кэшем, который связан со звеном (1709) интерфейса шины и кэшем (1711) L2 (второго уровня), для поддержания связи с другими частями системы (1700). Межсоединение (1710) включает в себя внутрикристальное межсоединение, такое как IOSF, АМВА, или другое межсоединение, рассмотренное выше, которое потенциально воплощает один или более аспектов описанного здесь.
Интерфейс (1710) обеспечивает каналы связи с другими компонентами, такими как Модуль идентичности абонента (SIM-модуль) (1730) для сопряжения с SIM-картой, загрузочное постоянное запоминающее устройство (1735) для хранения кода загрузки для исполнения ядрами (1706) и (1707) с целью инициализации и начальной загрузки SOC-системы (1700), контроллер (1740) SDRAM (синхронного динамического оперативного запоминающего устройства) для сопряжения посредством интерфейса с внешней памятью (например, DRAM (Динамическим оперативным запоминающим устройством) (1760)), контроллер (1745) флеш-памяти для сопряжения посредством интерфейса с энергонезависимым запоминающим устройством (например, флеш-памятью (1765)), средства (1750) управления периферийными устройствами (например, Последовательный интерфейс периферийных устройств) для сопряжения посредством интерфейса с периферийными устройствами, кодеки (1720) видеосигнала и видеоинтерфейс (1725) для отображения и приема вводимых данных (например, ввод данных, разрешаемый прикосновением), GPU (Графический пользовательский интерфейс) (1715) для выполнения вычислений, связанных с графикой, и так далее. Любой из этих интерфейсов может включать в себя аспекты описанного здесь изобретения.
В дополнение к этому, система иллюстрирует периферийные устройства для связи, такие как модуль (1770) Bluetooth, 3G модем (1775), GPS (Глобальная система навигации и местоопределения) (1785) и WiFi (1785). Отметим, что, как было сказано выше, пользовательское оборудование включает в себя радиоаппаратуру для связи. В результате этого, эти периферийные модули связи все не требуются. Однако какая-нибудь форма радиоаппаратуры для внешней связи должна быть включена в состав пользовательского оборудования.
Хотя настоящее изобретение было описано в отношении ограниченного количества вариантов его реализации, специалисты в данной области техники оценят его многочисленные модификации и изменения. Подразумевается, что прилагаемая формула изобретения охватывает все такие модификации и изменения, которые находятся в рамках подлинной сущности и объема этого представленного изобретения.
Конструкция может проходить через различные стадии: от создания до моделирования и до изготовления. Данные, представляющие конструкцию, могут представлять конструкцию множеством способов. Сначала, что является полезным при моделировании, аппаратные средства могут быть представлены с использованием языка описания аппаратных средств или другого языка функционального описания. В дополнение к этому, на некоторых стадиях процесса проектирования может быть выполнена модель уровня схем с логикой и/или элементами транзисторной логики. Кроме того, большинство конструкций, на некоторой стадии, достигают уровня данных, представляющих физическое размещение различных устройств в модели аппаратных средств. В случае, при котором используются традиционные технологии производства полупроводников, данные, представляющие модель аппаратных средств, могут быть данными, указывающими на присутствие или отсутствие различных признаков на различных маскирующих слоях для фотошаблонов, используемых для производства интегральной схемы. В любом представлении конструкции данные могут храниться на любой форме машиночитаемого носителя информации. Память или магнитное или оптическое запоминающее устройство, такое как диск, могут являться этим машиночитаемым носителем информации, предназначенным для хранения информации, переданной посредством оптической или электрической волны, модулированной или иным образом сгенерированной для передачи такой информации. Когда осуществляется передача электрической несущей, указывающей или переносящей код или конструкцию, то в той мере, в какой выполняется копирование, буферизация или ретрансляция электрического сигнала, создается новая копия. Таким образом, поставщик услуг связи или поставщик сетевых услуг могут сохранить на материальном, машиночитаемом носителе информации, по меньшей мере временно, некоторую вещь, такую как информация, закодированная в несущей, воплощающую технологии вариантов реализации настоящего изобретения.
Термин "модуль" в том значении, в котором он здесь используется, относится к любому сочетанию аппаратных средств, программных средств и/или программно-аппаратных средств. В качестве примера, модуль включает в себя аппаратные средства, такие как микроконтроллер, связанный с некратковременным носителем информации для хранения кода, приспособленного для того, чтобы быть исполненным микроконтроллером. Следовательно, ссылка на модуль, в одном варианте реализации изобретения, относится к аппаратным средствам, которое специально сконфигурированы таким образом, чтобы распознавать и/или исполнять код, подлежащий хранению на некратковременном носителе информации. Кроме того, в другом варианте реализации изобретения, использование модули относится к некратковременному носителю информации, включающему в себя код, который специально приспособлен для того, чтобы быть исполненным микроконтроллером для выполнения предварительно заданных операций. И, как можно сделать вывод, в еще одном варианте реализации изобретения, термин "модуль" (в этом примере) может относиться к комбинации микроконтроллера и некратковременного носителя информации. Часто границы модуля, которые иллюстрируются как отдельные, обычно, изменяются и потенциально перекрываются. Например, некоторый первый и некоторый второй модуль могут совместно использовать аппаратные средства, программные средства, программно-аппаратные средства, или их сочетание, потенциально сохраняя некоторые независимые аппаратные средства, программные средства или программно-аппаратные средства. В одном варианте реализации изобретения, использование термина "логика" включает в себя аппаратные средства, такие как транзисторы, регистры или другие аппаратные средства, такие как программируемые логические устройства.
Использование фразы 'сконфигурированный таким образом, чтобы', в одном варианте реализации изобретения, относится к размещению, собиранию вместе, изготовлению, предложению для продажи, импортированию и/или проектированию аппарата, аппаратных средств, логики, или элемента для выполнения указанной или определенной задачи. В этом примере, аппарате или его элемент, который не функционирует, все-таки является 'сконфигурированным для того, чтобы' выполнять указанную задачу, если он спроектирован, сопряжен и/или соединен для того, чтобы выполнять упомянутую указанную задачу. В качестве чисто иллюстративного примера, логический элемент может во время операции давать 0 или 1. Но логический элемент 'сконфигурированный таким образом, чтобы' подавать отпирающий сигнал на схему синхронизации не включает в себя каждый потенциальный логический элемент, который может давать 1 или 0. Вместо этого этот логический элемент представляет собой логический элемент, сопряженный некоторым образом, так что во время работы выходы 1 или 0 должны отпирать схему синхронизации. Отметим, что использование термина «сконфигурированный таким образом, чтобы» не требует функционирования, но вместо этого фокусируется на скрытом состоянии аппарата, аппаратных средств и/или элемента, где в этом скрытом состоянии аппарат, аппаратные средства и/или элемент спроектированы таким образом, чтобы выполнять некоторую конкретную задачу тогда, когда этот аппарат, аппаратные средства и/или элемент функционируют.
Кроме того, использование фраз 'для', 'способный к' и или 'способный функционировать таким образом, чтобы' в одном варианте реализации изобретения, относится к некоторому аппарату, логике, аппаратным средствам и/или элементу, спроектированному таким образом, чтобы сделать возможным использование этого аппарата, логики, аппаратных средств и/или элемента указанным образом. Отметим, как и выше, что использования фраз 'для', 'способный к' или 'способный функционировать таким образом, чтобы', в одном варианте реализации изобретения, относится к скрытому состоянию аппарата, логики, аппаратных средств и/или элемента, где этот аппарат, логика, аппаратные средства и/или элемент не функционируют, но спроектированы таким образом, чтобы сделать возможным использование аппарата указанным способом.
Термин "значение", в том виде, в котором он здесь используется, включает в себя любое известное представление числа, состояния, логического состояния или двоичного логического состояния. Часто, использование логических уровней, логических значений или булевых значений также упоминается как единицы и нули, что просто представляет двоичные логические состояния. Например, 1 относится к высокому логическому уровню, а 0 относится к низкому логическому уровню. В одном варианте реализации изобретения, запоминающая ячейка, такая как транзистор или ячейка флеш-памяти, может быть способным хранит единственное логическое значение или множественные логические значения. Однако в компьютерных системах использовались и другие представления значений. Например, десятичное число десять также может быть представлено как двоичное значение 1010 и как шестнадцатеричная буква А. Следовательно, термин "значение" включает в себя любое представление информации, способное храниться в компьютерной системе.
Кроме того, состояния могут быть представлены значениями или долями значений. В качестве примера, некоторое первое значение, такое как логическая единица, может представлять умолчание или исходное состояние, тогда как некоторое второе значение, такое как логический ноль, может представлять состояние не по умолчанию. В дополнение к этому, термины "сброс" и "установка", в одном варианте реализации изобретения, относятся, соответственно к значению или состоянию по умолчанию и обновленному значению или состоянию. Например, значение "по умолчанию" потенциально включает в себя высокое логическое значение, то есть "сброс", в то время как обновленное значение потенциально включает в себя низкое логическое значение, то есть "установку". Отметим, что для представления любого числа состояний может быть использована любая комбинация значений.
Варианты реализации способов, аппаратных средств, программных средств, программно-аппаратных средств или кода, изложенные выше, могут быть осуществлены посредством команд или кода, хранящимся на доступном для машины, машиночитаемом, доступном для компьютера, или читаемом компьютером носителе информации, которые являются исполняемыми процессорным элементом. Некратковременный доступный для машины/машиночитаемый носитель информации включает в себя любой механизм, который предоставляет (то есть, хранит и/или передает) информацию в форме, читаемой машиной, такой как компьютер или электронная система. Например, некратковременный доступный для машины носитель информации включает в себя: оперативное запоминающее устройство (RAM), такое как статическое оперативное запоминающее устройство (SRAM) или динамическое оперативное запоминающее устройство (DRAM); постоянное запоминающее устройство (ROM); магнитный или оптический носитель информации; устройства с флеш-памятью; электрические запоминающие устройства; оптические запоминающие устройства; акустические запоминающие устройства; другую форму запоминающих устройств для хранения информации, принятой от кратковременных (распространяющихся) сигналов (например, несущих, инфракрасных сигналов, цифровых сигналов); и так далее, которые нужно отличить от некратковременных носителей информации, которые могут принимать информацию от них.
Команды, используемые для программирования логики на выполнение вариантов реализации изобретения, могут храниться в памяти в системе, такой как DRAM, кэш, флеш-память или другое запоминающее устройство. Кроме того, эти команды могут быть распространены по сети или посредством других читаемых компьютером носителей информации. Таким образом, машиночитаемый носитель информации может включать в себя любой механизм для хранения или передачи информации в форме, читаемой машиной (например, компьютером), включая, но не в качестве ограничения: гибкие магнитные диски, оптические диски, компакт-диск, постоянное запоминающее устройство (CD-ROMы (постоянные запоминающие устройства на компакт-диске)), и магнитооптические диски, постоянное запоминающее устройство (постоянные запоминающие устройства), оперативное запоминающее устройство (RAM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), магнитные или оптические карты, флеш-память или материальное, машиночитаемое запоминающее устройство, используемое при передаче информации по сети "Интернет" через электрические, оптические, акустические или другие формы распространяемых сигналов (например, несущие, инфракрасные сигналы, цифровые сигналы и так далее). Соответственно, читаемый компьютером носитель включает в себя любой тип материального машиночитаемого носителя информации, подходящего для хранения или передачи электронных команд или информации в форме, читаемой машиной (например, компьютером).
Нижеследующие примеры относятся к вариантам реализации изобретения в соответствии с этим описанием. Один или более вариантов реализации изобретения могут предусматривать аппарат, систему, машиночитаемое запоминающее устройство, машиночитаемый носитель информации и способ для предоставления синхронизирующего счетчика и многоуровневого стека, включающего в себя логику физического уровня, логику канального уровня и логику уровня протокола, где логика физического уровня должна синхронизировать сброс синхронизирующего счетчика с некоторым внешним детерминированным сигналом и синхронизировать с этим детерминированным сигналом вхождение в передающее состояние канала передачи данных.
В, по меньшей мере, одном примере, логика физического уровня дополнительно должна инициализировать канал передачи данных, используя одну или более надпоследовательностей.
В, по меньшей мере, одном примере, вхождение в передающее состояние канала передачи данных должно совпасть с началом последовательности данных (SDS), отправленным для окончания инициализации канала передачи данных.
В, по меньшей мере, одном примере, SDS должно быть отправлено в соответствии с детерминированным сигналом.
В, по меньшей мере, одном примере, каждая надпоследовательность включает в себя соответствующую повторяющуюся последовательность, включающую в себя электрический упорядоченный набор выхода из простоя и соответствующее количество обучающих последовательностей.
В, по меньшей мере, одном примере, SDS должно прерывать надпоследовательности.
В, по меньшей мере, одном примере, надпоследовательности каждая включают в себя соответствующую повторяющуюся последовательность, включающую в себя, по меньшей мере, один электрический упорядоченный набор выхода из простоя (EIEOS-набор) и соответствующее количество обучающих последовательностей.
В, по меньшей мере, одном примере, EIEOS-набор надпоследовательности должен быть отправлен таким образом, чтобы совпасть с синхронизирующим счетчиком.
В, по меньшей мере, одном примере, логика физического уровня дополнительно должна синхронизироваться с некоторым детерминированным интервалом, основываясь на принятом EIEOS-наборе.
В, по меньшей мере, одном примере, синхронизация с детерминированным интервалом, основанная на принятом EIEOS-наборе, включает в себя идентификацию границы конца принятого EIEOS-набора.
В, по меньшей мере, одном примере, эта граница конца должна быть использована для синхронизации вхождения в передающее состояние канала передачи данных.
В, по меньшей мере, одном примере, эта граница конца должна быть использована для синхронизации выхода из передающего состояния канала передачи данных, имеющего частичную ширину.
В, по меньшей мере, одном примере, логика физического уровня дополнительно должна сгенерировать некоторую конкретную надпоследовательность и отправить эту конкретную надпоследовательность таким образом, чтобы она была синхронизирована с детерминированным сигналом.
В, по меньшей мере, одном примере, логика физического уровня должна указать некоторое целевое время задержки удаленному агенту, где удаленный агент должен использовать это целевое время задержки для того, чтобы применить некоторое запаздывание для приведения фактического времени задержки в соответствие с этим целевым времени задержки.
В, по меньшей мере, одном примере, это целевое время задержки должно быть сообщено в полезных данных обучающей последовательности.
В, по меньшей мере, одном примере, детерминированный сигнал включает в себя планетарный сигнал выравнивания для устройства.
В, по меньшей мере, одном примере, логика физического уровня дополнительно должна синхронизировать периодическое окно управления, встроенное в поток данных канального уровня, отправляемый по каналу последовательной передачи данных, с детерминированным сигналом, где окно управления сконфигурировано для обмена информацией физического уровня во время передающего состояния канала передачи данных.
В, по меньшей мере, одном примере, эта информация физического уровня включает в себя информацию для использования при инициировании переходов из одного состояния в другое состояние в канале передачи данных.
В, по меньшей мере, одном примере, окна управления встраиваются в соответствии с определенным интервалом управления, и этот интервал управления основан, по меньшей мере частично, на детерминированном сигнале.
Один или более примеров могут дополнительно предусматривать отправку надпоследовательностей удаленному агенту, соединенному с этим каналом передачи данных, во время инициализации канала передачи данных, и, по меньшей мере, один элемент надпоследовательности должен быть синхронизирован с детерминированным сигналом.
В, по меньшей мере, одном примере, этот элемент включает в себя EIEOS-набор.
В, по меньшей мере, одном примере, каждая надпоследовательность включает в себя соответствующую повторяющуюся последовательность, включающую в себя, по меньшей мере, EIEOS - набор и соответствующее количество обучающих последовательностей.
Один или более примеров могут дополнительно предусматривать отправку потока флитов канального уровня в передающем состоянии канала передачи данных.
Один или более примеров могут дополнительно предусматривать синхронизацию периодического окна управления, подлежащего встраиванию в поток данных, с детерминированным сигналом, где окно управления сконфигурировано для обмена информацией физического уровня во время передающего состояния канала передачи данных.
Один или более примеров могут дополнительно предусматривать отправку информации о запаздывании удаленному агенту, соединенному с этим каналом передачи данных, где запаздывание соответствует детерминированному сигналу.
Один или более вариантов реализации изобретения могут предусматривать аппарат, систему, машиночитаемое запоминающее устройство, машиночитаемый носитель информации и способ для того, чтобы идентифицировать целевое время задержки для канала последовательной передачи данных, принимать, по каналу передачи данных, последовательность данных, синхронизированную с синхронизирующим счетчиком, связанным с этим каналом передачи данных, и, используя последовательность данных, поддерживать это целевое время задержки.
В, по меньшей мере, одном примере, эта последовательность данных включает в себя надпоследовательность, которая должна включать в себя повторяющуюся последовательность, где эта последовательность должна повторяться с определенной частотой.
В, по меньшей мере, одном примере, эта последовательность должна включать в себя электрический упорядоченный набор выхода из простоя (EIEOS-набор).
В, по меньшей мере, одном примере, эта последовательность должна начинаться с EIEOS-набора, сопровождаемого предварительно определенным количеством обучающих последовательностей.
В, по меньшей мере, одном примере, по меньшей мере, одна из обучающих последовательностей включает в себя данные, идентифицирующие целевое время задержки.
В, по меньшей мере, одном примере, по меньшей мере, часть этой последовательности должна быть скремблирована с использованием псевдослучайной двоичной последовательности (PRBS).
Один или более примеров могут дополнительно предусматривать определение фактического времени задержки канала передачи данных, основываясь на приеме последовательности данных.
Один или более примеров могут дополнительно предусматривать определение отклонения фактического времени задержки от целевого времени задержки.
Один или более примеров могут дополнительно предусматривать то, чтобы заставлять отклонение быть исправленным.
Один или более вариантов реализации изобретения могут предусматривать аппарат, систему, машиночитаемое запоминающее устройство, машиночитаемый носитель информации и способ для того, чтобы определять то, является ли ширина флитов, подлежащих отправке по каналу последовательной передачи данных, включающему в себя некоторое количество путей передачи данных, кратным числом количеству путей передачи данных, и передавать флиты по каналу последовательной передачи данных, где два флита подлежат отправке таким образом, чтобы перекрываться на путях передачи данных, когда ширина флитов не является кратным числом количества путей передачи данных.
В, по меньшей мере, одном примере, перекрывание включает в себя отправку одного или больше битов первого из этих двух флитов по первой части этого количества путей передачи данных одновременно с отправкой одного или более битов второго из этих двух флитов по второй части этого количества путей передачи данных.
В, по меньшей мере, одном примере, по меньшей мере, некоторые биты флитов должны быть переданы не по порядку.
В, по меньшей мере, одном примере, флиты не перекрываются, когда ширина флитов является кратным числом количества путей передачи данных.
В, по меньшей мере, одном примере, ширина флитов включает в себя 192 бита.
В, по меньшей мере, одном примере, количество путей передачи данных включает в себя 20 путей передачи данных в, по меньшей мере, одном передающем состоянии канала передачи данных.
Один или более примеров могут дополнительно предусматривать переход к другой новой ширине канала передачи данных, включающей в себя некоторое второе количество путей передачи данных.
Один или более примеров могут дополнительно предусматривать определение того, является ли ширина флитов кратным числом второго количества путей передачи данных.
В, по меньшей мере, одном примере, этот переход должен быть выравнен с неперекрывающейся границей флита.
Один или более вариантов реализации изобретения могут предусматривать аппарат, систему, машиночитаемое запоминающее устройство, машиночитаемый носитель информации и способ для того, чтобы предоставлять логику физического уровня для приема потока битов, включающего в себя набор флитов, по каналу последовательной передачи данных, где соответствующие части, по меньшей мере, двух из набора флитов отправляются одновременно по путям передачи данных канала передачи данных, и логику канального уровня для восстановления этого набора флитов из принятого потока битов.
В, по меньшей мере, одном примере, часть набора флитов имеет перекрывающиеся границы.
В, по меньшей мере, одном примере, перекрывающиеся границы включают в себя отправку одного или более заключительных битов первого из этих двух флитов по первой части количества путей передачи данных одновременно с отправкой одного или более начальных битов второго из этих двух флитов по второй части количества путей передачи данных.
В, по меньшей мере, одном примере, ширина флитов не является кратным числом количества путей передачи данных канала передачи данных.
В, по меньшей мере, одном примере, ширина флитов включает в себя 192 бита, а количество путей передачи данных включает в себя 20 путей передачи данных.
В, по меньшей мере, одном примере, по меньшей мере, часть битов флитов передается не по порядку.
Один или более примеров могут дополнительно предусматривать физический уровень (PHY-уровень), сконфигурированный таким образом, чтобы быть сопряженным с каналом передачи данных, причем канал передачи данных включает в себя некоторое первое количество путей передачи данных, где PHY-уровень должен войти в состояние кольцевой проверки, и где PHY-уровень, находясь в состоянии кольцевой проверки, должен ввести специализированные комбинации в канал передачи данных.
Один или более примеров могут дополнительно предусматривать физический уровень (PHY-уровень), сконфигурированный таким образом, чтобы быть сопряженным с каналом передачи данных, причем канал передачи данных включает в себя некоторое первое количество путей передачи данных, где PHY-уровень включает в себя синхронизирующий (sync) счетчик, и где PHY-уровень должен передавать электрически упорядоченный набор выхода из простоя (EIEOS-набор), выровненный с синхронизирующим счетчиком, связанным с обучающей последовательностью.
В, по меньшей мере, одном примере, не осуществляется обмен значением синхронизирующего счетчика от этого синхронизирующего счетчика во время каждой обучающей последовательности.
В, по меньшей мере, одном примере, выравнивание EIEOS-набора с синхронизирующим счетчиком должно действовать в качестве "заместителя" для обмена значением синхронизирующего счетчика от этого синхронизирующего счетчика во время каждой обучающей последовательности.
Один или более примеров могут дополнительно предусматривать физический уровень (PHY-уровень), сконфигурированный таким образом, чтобы быть сопряженным с каналом передачи данных, причем PHY-уровень должен включать в себя конечный автомат PHY-уровня для осуществления перехода между множеством состояний, где конечный автомат PHY-уровня способен осуществлять переход из некоторого первого состояния в некоторое второе состояние, основываясь на событии установления связи, и осуществлять переход PHY-уровня из некоторого третьего состояния в некоторое четвертое состояние, основываясь на событии первичного таймера.
В, по меньшей мере, одном примере, конечный автомат PHY-уровня способен осуществлять переход PHY-уровня из некоторого пятого состояния в некоторое шестое состояние, основываясь на событии первичного таймера в сочетании с событием вторичного таймера.
Еще один или более вариантов реализации изобретения могут предусматривать устройство для того, чтобы предоставлять логику интерфейса, предназначенную для того, чтобы дифференцированно передавать сигналы по нескольким путям передачи данных, логику интерфейса, предназначенную для передачи нескольких флитов, причем несколько флитов содержат несколько полубайтов; и при этом логику интерфейса для передачи нескольких флитов, содержит логику интерфейса для передачи чистой границы флита, по меньшей мере, с участком начальных полубайтов от первого флита из множества флитов по нескольким путям передачи данных в первом единичном интервале (UI); и перекрытие полубайтов, по меньшей мере, от двух флитов из множества флитов по нескольким путям передачи данных во время следующего UI.
В, по меньшей мере, одном примере, множество флитов содержит, по меньшей мере, пять флитов, которые необходимо передать за 48 UI до того, как надо будет передать следующую чистую границу флита.
В, по меньшей мере, одном примере, флит содержит 192 бита, а полубайт содержит 4 бита.
В, по меньшей мере, одном примере, биты каждого флита необходимо передавать по порядку, начиная с бита 4n+3.
В, по меньшей мере, одном примере, несколько путей передачи данных содержат 8 путей или 20 путей.
В, по меньшей мере, одном примере, логика интерфейса содержит логику физического уровня, логику канального уровня и логику уровня протокола.
В, по меньшей мере, одном примере, логика уровня протокола предназначена для того, чтобы поддерживать транзакции с когерентным кэшем.
В, по меньшей мере, одном примере, логика интерфейса входит в процессор, подсоединенный в одно гнездо сервера, имеющего, по меньшей мере, два гнезда.
В, по меньшей мере, одном примере, логика интерфейса входит в систему на кристалле (SoC).
В, по меньшей мере, одном примере, SoC подключена к нескольким другим SoC в микросервере.
В, по меньшей мере, одном примере, устройство дополнительно содержит радио.
Один или более примеров могут дополнительно предусматривать устройство, для того, чтобы предоставлять контроллер для сопряжения между, по меньшей мере, первым процессором для распознавания первого набора команд, и вторым процессором для распознавания второго набора команд, который отличается от первого набора команд, при этом контроллер содержит логическую схему интерфейса для подключения к последовательному дифференциальному межсоединению, содержащему несколько путей передачи данных, логическую схему интерфейса, предназначенную для передачи нескольких флитов, причем несколько флитов содержат несколько полубайтов; и причем передатчик, предназначенный для передачи нескольких флитов содержит: логическую схему интерфейса для передачи чистой границы флита с начальными полубайтами от первого флита из нескольких флитов по каждому из путей из нескольких путей передачи данных в первом единичном интервале (UI); и перекрытие полубайтов, по меньшей мере, от двух флитов из нескольких флитов по нескольким путям передачи данных во время следующего UI.
В, по меньшей мере, одном примере, каждый из нескольких флитов содержит 192 путей или 48 полубайтов.
В, по меньшей мере, одном примере, несколько путей передачи данных содержат 8 путей или 20 путей.
В, по меньшей мере, одном примере, первый и второй процессоры подключены к контроллеру.
В, по меньшей мере, одном примере, первый набор команд содержит набор команд Intel®.
Ссылка повсюду в этом описании на "один вариант реализации изобретения" или "вариант реализации изобретения" означает, что некоторый конкретный признак, структура или характеристика, описанная в связи с этим вариантом реализации изобретения, включены в состав, по меньшей мере, одного варианта реализации настоящего изобретения. Таким образом, появления фраз "в одном варианте реализации" или "в варианте реализации" в различных местах повсюду в этом описании не обязательно все относятся к одному и тому же варианту реализации изобретения. Кроме того, конкретные признаки, структуры или характеристики могут быть объединены любым подходящим образом в одном или более вариантах реализации изобретения.
В вышеприведенном описании было дано детализированное описание в отношении конкретных приводимых в качестве примера вариантов реализации изобретения. Однако должно быть очевидно, что в нем могут быть сделаны различные модификации и изменения, но не выходящие за рамки более широких сущности и объема изобретения, которые сформулированы в прилагаемой формуле изобретения. Описание и чертежи должны, соответственно, рассматриваться в иллюстративном смысле, а не в ограничительном смысле. Кроме того, вышеупомянутое использование выражения "вариант реализации изобретения" и других иллюстративных языковых средств не обязательно относится к одному и тому же самому варианту реализации изобретения или одному и тому же примеру, но может относиться к различным и несовпадающим вариантам реализации изобретения, так же как потенциально и к одному и тому же варианту реализации изобретения.
Claims (20)
1. Устройство передачи, содержащее
логическую схему интерфейса, предназначенную для того, чтобы дифференцированно передавать сигналы по множеству путей передачи данных,
логическую схему интерфейса, предназначенную для передачи множества флитов, причем множество флитов содержит множество полубайтов и каждый из множества флитов содержит соответствующий квант информации уровня протокола;
и при этом логическая схема интерфейса для передачи множества флитов, содержит логическую схему интерфейса для передачи
начальных полубайтов от первого флита из множества флитов по множеству путей передачи данных в первом единичном интервале (UI); и
перекрытия полубайтов, по меньшей мере, от двух флитов из множества флитов по множеству путей передачи данных во время следующего UI.
логическую схему интерфейса, предназначенную для того, чтобы дифференцированно передавать сигналы по множеству путей передачи данных,
логическую схему интерфейса, предназначенную для передачи множества флитов, причем множество флитов содержит множество полубайтов и каждый из множества флитов содержит соответствующий квант информации уровня протокола;
и при этом логическая схема интерфейса для передачи множества флитов, содержит логическую схему интерфейса для передачи
начальных полубайтов от первого флита из множества флитов по множеству путей передачи данных в первом единичном интервале (UI); и
перекрытия полубайтов, по меньшей мере, от двух флитов из множества флитов по множеству путей передачи данных во время следующего UI.
2. Устройство по п. 1, в котором множество флитов содержит, по меньшей мере, пять флитов, которые необходимо передать за 48 UI до того, как надо будет передать следующую чистую границу флита.
3. Устройство по п. 1, в котором флит содержит 192 бита, а полубайт содержит 4 бита.
4. Устройство по п. 3, в котором биты каждого флита необходимо передавать по порядку начиная с бита 4n+3.
5. Устройство по п. 1, в котором множество путей передачи данных содержит 8 путей или 20 путей.
6. Устройство по п.1, в котором логическая схема интерфейса содержит логику физического уровня, логику канального уровня и логику уровня протокола.
7. Устройство по п. 6, в котором логика уровня протокола предназначена для того, чтобы поддерживать транзакции с когерентным кэшем.
8. Устройство по п. 1, в котором логическая схема интерфейса входит в процессор, подсоединенный в одно гнездо сервера, имеющего, по меньшей мере, два гнезда.
9. Устройство по п. 1, в котором логическая схема интерфейса входит в систему на кристалле (SoC).
10. Устройство по п. 9, в котором SoC подключена к множеству других SoC в микросервере.
11. Устройство по п. 9, дополнительно содержащее радио.
12. Устройство передачи, содержащее
контроллер для сопряжения между, по меньшей мере, первым процессором для распознавания первого набора команд и вторым процессором для распознавания второго набора команд, который отличается от первого набора команд, при этом контроллер содержит логическую схему интерфейса для подключения к последовательному дифференциальному межсоединению, содержащему множество путей передачи данных, логическую схему интерфейса, предназначенную для передачи множества флитов, причем множество флитов содержит множество полубайтов и каждый из множества флитов содержит соответствующий квант информации уровня протокола; и причем передатчик, предназначенный для передачи множества флитов содержит: логическую схему интерфейса для передачи начальных полубайт от первого флита из множества флитов по каждому из путей из множества путей передачи данных в первом единичном интервале (UI); и перекрытия полубайтов, по меньшей мере, от двух флитов из множества флитов по множеству путей передачи данных во время следующего UI.
контроллер для сопряжения между, по меньшей мере, первым процессором для распознавания первого набора команд и вторым процессором для распознавания второго набора команд, который отличается от первого набора команд, при этом контроллер содержит логическую схему интерфейса для подключения к последовательному дифференциальному межсоединению, содержащему множество путей передачи данных, логическую схему интерфейса, предназначенную для передачи множества флитов, причем множество флитов содержит множество полубайтов и каждый из множества флитов содержит соответствующий квант информации уровня протокола; и причем передатчик, предназначенный для передачи множества флитов содержит: логическую схему интерфейса для передачи начальных полубайт от первого флита из множества флитов по каждому из путей из множества путей передачи данных в первом единичном интервале (UI); и перекрытия полубайтов, по меньшей мере, от двух флитов из множества флитов по множеству путей передачи данных во время следующего UI.
13. Устройство по п. 12, в котором каждый из множества флитов содержит 192 путей или 48 полубайтов.
14. Устройство по п. 12, в котором множество путей передачи данных содержат 8 путей или 20 путей.
15. Устройство по п. 12, в котором первый и второй процессоры подключены к контроллеру.
16. Устройство по п. 15, в котором первый набор команд содержит набор команд Intel®.
17. Устройство передачи, содержащее
логическую схему интерфейса, предназначенную для того, чтобы дифференцированно передавать сигналы по множеству путей передачи данных,
логическую схему интерфейса, предназначенную для того, чтобы логически группировать данные во множество квантов информации, причем логическая схема интерфейса предназначена для передачи
по меньшей мере, части первого кванта информации из множества квантов информации по множеству путей передачи информации в течение первого единичного интервала (UI); и
по меньшей мере, части первого кванта информации и второго кванта информации из множества квантов информации по множеству путей передачи данных во время следующего UI.
логическую схему интерфейса, предназначенную для того, чтобы дифференцированно передавать сигналы по множеству путей передачи данных,
логическую схему интерфейса, предназначенную для того, чтобы логически группировать данные во множество квантов информации, причем логическая схема интерфейса предназначена для передачи
по меньшей мере, части первого кванта информации из множества квантов информации по множеству путей передачи информации в течение первого единичного интервала (UI); и
по меньшей мере, части первого кванта информации и второго кванта информации из множества квантов информации по множеству путей передачи данных во время следующего UI.
18. Устройство по п. 17, в котором, по меньшей мере, часть первого кванта информации из множества квантов информации по множеству путей передачи данных следует передавать в течение, по меньшей мере, первых четырех единичных интервалов и в котором, по меньшей мере, часть первого кванта информации и второго кванта информации из множества квантов информации следует передавать по множеству путей передачи данных в течение следующих четырех последовательных UI.
19. Устройство по п. 17, в котором первый квант информации включает в себя 192 бита.
20. Устройство по п. 17, в котором логическая схема интерфейса содержит логику уровня протокола, предназначенную для того, чтобы поддерживать транзакции с когерентным кэшем.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261717091P | 2012-10-22 | 2012-10-22 | |
US61/717,091 | 2012-10-22 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014138917/08A Division RU2579140C1 (ru) | 2012-10-22 | 2013-03-27 | Физический уровень высокопроизводительного межсоединения |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014145179A RU2014145179A (ru) | 2016-05-27 |
RU2599971C2 true RU2599971C2 (ru) | 2016-10-20 |
Family
ID=50485278
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014138917/08A RU2579140C1 (ru) | 2012-10-22 | 2013-03-27 | Физический уровень высокопроизводительного межсоединения |
RU2014145179/08A RU2599971C2 (ru) | 2012-10-22 | 2013-03-27 | Физический уровень высокопроизводительного межсоединения |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014138917/08A RU2579140C1 (ru) | 2012-10-22 | 2013-03-27 | Физический уровень высокопроизводительного межсоединения |
Country Status (9)
Country | Link |
---|---|
US (20) | US9378171B2 (ru) |
EP (2) | EP2909728A4 (ru) |
JP (2) | JP6139689B2 (ru) |
KR (27) | KR101985120B1 (ru) |
CN (26) | CN108228495B (ru) |
BR (1) | BR112015006432A2 (ru) |
DE (14) | DE112013005093T5 (ru) |
RU (2) | RU2579140C1 (ru) |
WO (11) | WO2014065877A1 (ru) |
Families Citing this family (210)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9755997B2 (en) * | 2012-01-13 | 2017-09-05 | Intel Corporation | Efficient peer-to-peer communication support in SoC fabrics |
US8943255B2 (en) * | 2012-05-29 | 2015-01-27 | Lsi Corporation | Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices |
DE112013005093T5 (de) | 2012-10-22 | 2015-10-22 | Intel Corporation | Hochleistungszusammenschaltungsbitübertragungsschicht |
US9280507B2 (en) | 2012-10-22 | 2016-03-08 | Intel Corporation | High performance interconnect physical layer |
US9479196B2 (en) | 2012-10-22 | 2016-10-25 | Intel Corporation | High performance interconnect link layer |
US9355058B2 (en) * | 2012-10-22 | 2016-05-31 | Intel Corporation | High performance interconnect physical layer |
US9367474B2 (en) * | 2013-06-12 | 2016-06-14 | Apple Inc. | Translating cache hints |
US20150006962A1 (en) * | 2013-06-27 | 2015-01-01 | Robert C. Swanson | Memory dump without error containment loss |
CN104579605B (zh) * | 2013-10-23 | 2018-04-10 | 华为技术有限公司 | 一种数据传输方法及装置 |
US9306863B2 (en) * | 2013-12-06 | 2016-04-05 | Intel Corporation | Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets |
US9397792B2 (en) | 2013-12-06 | 2016-07-19 | Intel Corporation | Efficient link layer retry protocol utilizing implicit acknowledgements |
US9325449B2 (en) | 2013-12-06 | 2016-04-26 | Intel Corporation | Lane error detection and lane removal mechanism to reduce the probability of data corruption |
JP6221717B2 (ja) * | 2013-12-12 | 2017-11-01 | 富士通株式会社 | ストレージ装置、ストレージシステム及びデータ管理プログラム |
JP6251806B2 (ja) * | 2013-12-26 | 2017-12-20 | インテル・コーポレーション | 装置、方法、プログラム、システム、およびコンピュータ可読ストレージ媒体 |
KR101985157B1 (ko) * | 2013-12-26 | 2019-05-31 | 인텔 코포레이션 | 멀티칩 패키지 링크 |
US9594719B2 (en) | 2014-02-03 | 2017-03-14 | Valens Semiconductor Ltd. | Seamless addition of high bandwidth lanes |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
CN105095147B (zh) * | 2014-05-21 | 2018-03-13 | 华为技术有限公司 | 片上网络的Flit传输方法及装置 |
RU2608881C2 (ru) | 2014-05-28 | 2017-01-25 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для управления турборежимом |
US9823864B2 (en) | 2014-06-02 | 2017-11-21 | Micron Technology, Inc. | Systems and methods for throttling packet transmission in a scalable memory system protocol |
US9619214B2 (en) | 2014-08-13 | 2017-04-11 | International Business Machines Corporation | Compiler optimizations for vector instructions |
US9571465B1 (en) | 2014-09-18 | 2017-02-14 | Amazon Technologies, Inc. | Security verification by message interception and modification |
US9904645B2 (en) * | 2014-10-31 | 2018-02-27 | Texas Instruments Incorporated | Multicore bus architecture with non-blocking high performance transaction credit system |
US9870328B2 (en) * | 2014-11-14 | 2018-01-16 | Cavium, Inc. | Managing buffered communication between cores |
US9665505B2 (en) | 2014-11-14 | 2017-05-30 | Cavium, Inc. | Managing buffered communication between sockets |
US10082538B2 (en) | 2014-11-14 | 2018-09-25 | Cavium, Inc. | Testbench builder, system, device and method |
US20160173398A1 (en) | 2014-12-12 | 2016-06-16 | Intel Corporation | Method, Apparatus And System For Encoding Command Information In a Packet-Based Network |
US9921768B2 (en) * | 2014-12-18 | 2018-03-20 | Intel Corporation | Low power entry in a shared memory link |
US9444551B2 (en) * | 2014-12-19 | 2016-09-13 | Intel Corporation | High performance optical repeater |
US10025746B2 (en) * | 2014-12-20 | 2018-07-17 | Intel Corporation | High performance interconnect |
US9740646B2 (en) | 2014-12-20 | 2017-08-22 | Intel Corporation | Early identification in transactional buffered memory |
US9632862B2 (en) * | 2014-12-20 | 2017-04-25 | Intel Corporation | Error handling in transactional buffered memory |
US9785556B2 (en) * | 2014-12-23 | 2017-10-10 | Intel Corporation | Cross-die interface snoop or global observation message ordering |
US20160188519A1 (en) * | 2014-12-27 | 2016-06-30 | Intel Corporation | Method, apparatus, system for embedded stream lanes in a high-performance interconnect |
CN104536929A (zh) * | 2015-01-14 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种物理层初始化方法及客户端 |
US9998434B2 (en) * | 2015-01-26 | 2018-06-12 | Listat Ltd. | Secure dynamic communication network and protocol |
US20160285624A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Pseudorandom bit sequences in an interconnect |
US9946676B2 (en) * | 2015-03-26 | 2018-04-17 | Intel Corporation | Multichip package link |
US9720838B2 (en) * | 2015-03-27 | 2017-08-01 | Intel Corporation | Shared buffered memory routing |
US10282315B2 (en) | 2015-03-27 | 2019-05-07 | Cavium, Llc | Software assisted hardware configuration for software defined network system-on-chip |
US9639276B2 (en) * | 2015-03-27 | 2017-05-02 | Intel Corporation | Implied directory state updates |
US9619396B2 (en) * | 2015-03-27 | 2017-04-11 | Intel Corporation | Two level memory full line writes |
US9760515B2 (en) | 2015-04-06 | 2017-09-12 | Qualcomm Incorporated | Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY) |
US10417128B2 (en) | 2015-05-06 | 2019-09-17 | Oracle International Corporation | Memory coherence in a multi-core, multi-level, heterogeneous computer architecture implementing hardware-managed and software managed caches |
US20160353357A1 (en) * | 2015-05-27 | 2016-12-01 | Qualcomm Incorporated | Methods and systems for multiplexed communication in dense wireless environments |
WO2016197345A1 (zh) | 2015-06-10 | 2016-12-15 | 华为技术有限公司 | 一种信号传输方法、控制器和信号传输系统 |
US9697145B2 (en) * | 2015-06-12 | 2017-07-04 | Apple Inc. | Memory interface system |
US20160371222A1 (en) * | 2015-06-22 | 2016-12-22 | Qualcomm Incorporated | COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER |
US10089275B2 (en) | 2015-06-22 | 2018-10-02 | Qualcomm Incorporated | Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system |
KR102485999B1 (ko) * | 2015-07-01 | 2023-01-06 | 삼성전자주식회사 | 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템 |
US9692589B2 (en) | 2015-07-17 | 2017-06-27 | Intel Corporation | Redriver link testing |
KR20180036758A (ko) * | 2015-07-30 | 2018-04-09 | 발렌스 세미컨덕터 엘티디. | 고 대역폭 레인들의 원활한 추가 |
JP6674085B2 (ja) * | 2015-08-12 | 2020-04-01 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US9990291B2 (en) * | 2015-09-24 | 2018-06-05 | Qualcomm Incorporated | Avoiding deadlocks in processor-based systems employing retry and in-order-response non-retry bus coherency protocols |
WO2017052662A1 (en) * | 2015-09-26 | 2017-03-30 | Intel Corporation | Stream identifier lane protection |
US9720439B2 (en) | 2015-09-26 | 2017-08-01 | Intel Corporation | Methods, apparatuses, and systems for deskewing link splits |
WO2017052663A1 (en) * | 2015-09-26 | 2017-03-30 | Intel Corporation | Valid lane training |
WO2017052665A1 (en) * | 2015-09-26 | 2017-03-30 | Intel Corporation | In-band margin probing on an operational interconnect |
CN112612730A (zh) * | 2015-09-26 | 2021-04-06 | 英特尔公司 | 多芯片封装链路错误检测 |
GB2543745B (en) * | 2015-10-15 | 2018-07-04 | Advanced Risc Mach Ltd | An apparatus and method for operating a virtually indexed physically tagged cache |
US10698847B2 (en) | 2016-03-01 | 2020-06-30 | Qorvo Us, Inc. | One wire bus to RFFE translation system |
US10128964B2 (en) | 2016-03-10 | 2018-11-13 | Qualcomm Incorporated | Multiphase preamble data sequences for receiver calibration and mode data signaling |
US9779028B1 (en) | 2016-04-01 | 2017-10-03 | Cavium, Inc. | Managing translation invalidation |
CN105933286B (zh) * | 2016-04-05 | 2019-08-02 | 浪潮电子信息产业股份有限公司 | 一种验证协议的方法及装置 |
RU2643620C2 (ru) * | 2016-05-11 | 2018-02-02 | федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") | Способ планирования задач предобработки данных Интернета Вещей для систем анализа |
US10713202B2 (en) * | 2016-05-25 | 2020-07-14 | Samsung Electronics Co., Ltd. | Quality of service (QOS)-aware input/output (IO) management for peripheral component interconnect express (PCIE) storage system with reconfigurable multi-ports |
US10503641B2 (en) * | 2016-05-31 | 2019-12-10 | Advanced Micro Devices, Inc. | Cache coherence for processing in memory |
US11144691B2 (en) * | 2016-06-02 | 2021-10-12 | Siemens Industry Software Inc. | Virtual Ethernet mutable port group transactor |
TWI613547B (zh) * | 2016-06-16 | 2018-02-01 | 新漢股份有限公司 | 具有pci-e增強器的電腦系統,及其pci-e增強器的設定方法 |
US10103837B2 (en) * | 2016-06-23 | 2018-10-16 | Advanced Micro Devices, Inc. | Asynchronous feedback training |
US10484361B2 (en) * | 2016-06-30 | 2019-11-19 | Intel Corporation | Systems, methods, and apparatuses for implementing a virtual device observation and debug network for high speed serial IOS |
US10303605B2 (en) * | 2016-07-20 | 2019-05-28 | Intel Corporation | Increasing invalid to modified protocol occurrences in a computing system |
US10929059B2 (en) | 2016-07-26 | 2021-02-23 | MemRay Corporation | Resistance switching memory-based accelerator |
US10379904B2 (en) * | 2016-08-31 | 2019-08-13 | Intel Corporation | Controlling a performance state of a processor using a combination of package and thread hint information |
RU2016137176A (ru) * | 2016-09-16 | 2018-03-19 | Оракл Интернэйшнл Корпорейшн | Связывание преобразованного исходного кода с первоначальным исходным кодом с помощью метаданных |
US10255181B2 (en) * | 2016-09-19 | 2019-04-09 | Qualcomm Incorporated | Dynamic input/output coherency |
WO2018057039A1 (en) * | 2016-09-26 | 2018-03-29 | Hewlett-Packard Development Company, L. | Update memory management information to boot an electronic device from a reduced power mode |
US10846258B2 (en) * | 2016-09-30 | 2020-11-24 | Intel Corporation | Voltage modulated control lane |
US10152446B2 (en) * | 2016-10-01 | 2018-12-11 | Intel Corporation | Link-physical layer interface adapter |
CN108121842B (zh) * | 2016-11-30 | 2021-04-27 | 深圳市中兴微电子技术有限公司 | 多处理器系统芯片的低功耗工作方式的验证方法和装置 |
CN106527576A (zh) * | 2016-12-01 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种pcie设备的时钟分离设计方法和系统 |
CN108170370B (zh) | 2016-12-07 | 2021-01-26 | 慧荣科技股份有限公司 | 数据储存装置与数据传输速率控制方法 |
TWI610179B (zh) | 2016-12-07 | 2018-01-01 | 慧榮科技股份有限公司 | 主機裝置與資料傳輸速率控制方法 |
TWI633777B (zh) * | 2016-12-13 | 2018-08-21 | 威盛電子股份有限公司 | 傳輸介面晶片以及其測試方法 |
KR20180071598A (ko) | 2016-12-20 | 2018-06-28 | 주식회사 포스코 | 중장비 위치 추적 시스템 |
KR101946135B1 (ko) * | 2017-01-11 | 2019-02-08 | 울산과학기술원 | 비휘발성 메모리를 이용하는 데이터베이스 관리 시스템 및 방법 |
US11159636B2 (en) * | 2017-02-08 | 2021-10-26 | Arm Limited | Forwarding responses to snoop requests |
US11182315B2 (en) | 2017-02-10 | 2021-11-23 | Intel Corporation | Apparatuses, methods, and systems for hardware control of processor performance levels |
US10572434B2 (en) | 2017-02-27 | 2020-02-25 | International Business Machines Corporation | Intelligent certificate discovery in physical and virtualized networks |
US10784986B2 (en) | 2017-02-28 | 2020-09-22 | Intel Corporation | Forward error correction mechanism for peripheral component interconnect-express (PCI-e) |
CN107491407B (zh) * | 2017-07-03 | 2019-07-12 | 西安空间无线电技术研究所 | 基于fpga内serdes的自适应高速传输系统 |
US11030126B2 (en) * | 2017-07-14 | 2021-06-08 | Intel Corporation | Techniques for managing access to hardware accelerator memory |
US11249808B2 (en) * | 2017-08-22 | 2022-02-15 | Intel Corporation | Connecting accelerator resources using a switch |
CN107678854A (zh) * | 2017-08-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种解决计算机缓存一致性冲突的方法 |
US10474611B2 (en) | 2017-09-19 | 2019-11-12 | International Business Machines Corporation | Aligning received bad data indicators (BDIS) with received data on a cross-chip link |
CN107589698B (zh) * | 2017-09-20 | 2021-05-25 | 友达光电股份有限公司 | 应用于物联网中的感测装置及控制方法 |
US20190095273A1 (en) * | 2017-09-27 | 2019-03-28 | Qualcomm Incorporated | Parity bits location on i3c multilane bus |
US10963035B2 (en) * | 2017-10-11 | 2021-03-30 | Qualcomm Incorporated | Low power PCIe |
CN109075854B (zh) * | 2017-11-22 | 2021-09-07 | 深圳市大疆创新科技有限公司 | 一种断链恢复的方法及飞行器 |
CN107894963B (zh) * | 2017-11-27 | 2021-07-27 | 上海兆芯集成电路有限公司 | 用于系统单芯片的通信控制器与通信方法 |
US10466911B2 (en) * | 2017-12-18 | 2019-11-05 | Western Digital Technologies, Inc. | Method using logical based addressing for latency reduction |
US10853212B2 (en) * | 2018-01-08 | 2020-12-01 | Intel Corporation | Cross-talk generation in a multi-lane link during lane testing |
WO2019140049A1 (en) | 2018-01-10 | 2019-07-18 | Lumeova, Inc. | Method, devices and system for wireless communication channels fso |
US20190227971A1 (en) * | 2018-01-23 | 2019-07-25 | Qualcomm Incorporated | Architecture for consolidating multiple sources of low-bandwidth data over a serial bus |
US20190294777A1 (en) * | 2018-03-26 | 2019-09-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Systems and methods for managing access to host computing devices by external devices |
US10534881B2 (en) * | 2018-04-10 | 2020-01-14 | Advanced Micro Devices, Inc. | Method of debugging a processor |
CN108563510B (zh) * | 2018-05-04 | 2021-07-13 | 湖南大学 | 面向e级计算的体系结构感知优化方法 |
US20190042455A1 (en) * | 2018-05-04 | 2019-02-07 | Intel Corporation | Globally addressable memory for devices linked to hosts |
US20190356412A1 (en) * | 2018-05-16 | 2019-11-21 | Qualcomm Incorporated | Fast termination of multilane double data rate transactions |
CN108762747B (zh) * | 2018-05-30 | 2022-02-18 | 郑州云海信息技术有限公司 | 数据处理方法以及计算机设备 |
WO2019237130A1 (en) * | 2018-06-04 | 2019-12-12 | Lightfleet Corporation | Routing and control protocol for high-performance interconnect fabrics |
CN110609866B (zh) * | 2018-06-15 | 2023-08-11 | 伊姆西Ip控股有限责任公司 | 用于协商事务的方法、设备和计算机程序产品 |
US10693589B2 (en) * | 2018-06-18 | 2020-06-23 | Huawei Technologies Co., Ltd. | Serdes with jitter injection self stress mechanism |
US11301160B2 (en) * | 2018-06-20 | 2022-04-12 | Genesys Telecommunications Laboratories, Inc. | System and method for a replication protocol in a real-time statistical engine |
CN109144943A (zh) * | 2018-06-26 | 2019-01-04 | 深圳市安信智控科技有限公司 | 基于高速串行通道互连的计算芯片与存储器芯片组合系统 |
GB2575294B8 (en) * | 2018-07-04 | 2022-07-20 | Graphcore Ltd | Host Proxy On Gateway |
US10841355B2 (en) * | 2018-07-13 | 2020-11-17 | Apple Inc. | Methods and apparatus for streaming media conversion with reduced buffering memories |
CN113039732A (zh) | 2018-09-06 | 2021-06-25 | 诺基亚通信公司 | Acqi解码置信度检测 |
US10541841B1 (en) * | 2018-09-13 | 2020-01-21 | Advanced Micro Devices, Inc. | Hardware transmit equalization for high speed |
CN109558122B (zh) * | 2018-11-29 | 2022-08-19 | 湖南国科微电子股份有限公司 | 一种提升物理层兼容性的系统与方法 |
TWI706257B (zh) * | 2018-12-13 | 2020-10-01 | 新唐科技股份有限公司 | 匯流排系統 |
US10761939B1 (en) * | 2018-12-13 | 2020-09-01 | Amazon Technologies, Inc. | Powering-down or rebooting a device in a system fabric |
US10771189B2 (en) * | 2018-12-18 | 2020-09-08 | Intel Corporation | Forward error correction mechanism for data transmission across multi-lane links |
KR102165860B1 (ko) | 2018-12-31 | 2020-10-14 | 성균관대학교산학협력단 | 슬로티드 페이지의 더블 헤더 로깅 방법 및 데이터베이스 장치 |
US10599601B1 (en) * | 2019-01-16 | 2020-03-24 | Qorvo Us, Inc. | Single-wire bus (SuBUS) slave circuit and related apparatus |
US11099991B2 (en) | 2019-01-24 | 2021-08-24 | Vmware, Inc. | Programming interfaces for accurate dirty data tracking |
US11068400B2 (en) * | 2019-01-24 | 2021-07-20 | Vmware, Inc. | Failure-atomic logging for persistent memory systems with cache-coherent FPGAs |
US11940483B2 (en) | 2019-01-31 | 2024-03-26 | Tektronix, Inc. | Systems, methods and devices for high-speed input/output margin testing |
US11946970B2 (en) | 2019-01-31 | 2024-04-02 | Tektronix, Inc. | Systems, methods and devices for high-speed input/output margin testing |
US10713209B2 (en) | 2019-02-08 | 2020-07-14 | Intel Corporation | Recalibration of PHY circuitry for the PCI Express (PIPE) interface based on using a message bus interface |
US10802966B2 (en) * | 2019-02-14 | 2020-10-13 | International Business Machines Corporation | Simultaneous, non-atomic request processing within an SMP environment broadcast scope for multiply-requested data elements using real-time parallelization |
US11637657B2 (en) | 2019-02-15 | 2023-04-25 | Intel Corporation | Low-latency forward error correction for high-speed serial links |
US11099905B2 (en) | 2019-02-26 | 2021-08-24 | International Business Machines Corporation | Efficient remote resource allocation within an SMP broadcast scope maintaining fairness between operation types |
US11249837B2 (en) * | 2019-03-01 | 2022-02-15 | Intel Corporation | Flit-based parallel-forward error correction and parity |
US20220147614A1 (en) * | 2019-03-05 | 2022-05-12 | Siemens Industry Software Inc. | Machine learning-based anomaly detections for embedded software applications |
CN109947551B (zh) * | 2019-03-19 | 2021-04-23 | 中南大学 | 一种多轮次任务分配方法、边缘计算系统及其存储介质 |
US11055221B2 (en) * | 2019-03-22 | 2021-07-06 | Samsung Electronics Co., Ltd. | Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory |
EP3723345A1 (en) | 2019-04-10 | 2020-10-14 | ABB Schweiz AG | Aggregating server and method for forwarding node data |
US10698842B1 (en) * | 2019-04-10 | 2020-06-30 | Xilinx, Inc. | Domain assist processor-peer for coherent acceleration |
IT201900005822A1 (it) * | 2019-04-15 | 2020-10-15 | Phoenix Ict S R L S | Adattore di periferiche general purpose per computer |
US11119958B2 (en) | 2019-04-18 | 2021-09-14 | Qorvo Us, Inc. | Hybrid bus apparatus |
US11226924B2 (en) | 2019-04-24 | 2022-01-18 | Qorvo Us, Inc. | Single-wire bus apparatus supporting slave-initiated operation in a master circuit |
CN110138761B (zh) * | 2019-05-09 | 2021-10-15 | 豪威触控与显示科技(深圳)有限公司 | 基于mipi协议的设备间通信方法及设备拓扑结构 |
US11296994B2 (en) | 2019-05-13 | 2022-04-05 | Intel Corporation | Ordered sets for high-speed interconnects |
JP7259537B2 (ja) * | 2019-05-16 | 2023-04-18 | オムロン株式会社 | 情報処理装置 |
US10802967B1 (en) * | 2019-06-28 | 2020-10-13 | Intel Corporation | Partial write management in a multi-tiled compute engine |
US11144469B2 (en) * | 2019-07-02 | 2021-10-12 | Microsoft Technology Licensing, Llc | Per-tenant incremental outward distributed proactive caching |
US11444829B2 (en) | 2019-09-09 | 2022-09-13 | Intel Corporation | Link layer communication by multiple link layer encodings for computer buses |
US11271860B1 (en) * | 2019-11-15 | 2022-03-08 | Xilinx, Inc. | Compressed tag coherency messaging |
WO2021100146A1 (ja) * | 2019-11-20 | 2021-05-27 | 三菱電機株式会社 | 光通信装置及び通信システム |
US11740958B2 (en) | 2019-11-27 | 2023-08-29 | Intel Corporation | Multi-protocol support on common physical layer |
RU2738955C1 (ru) * | 2019-11-27 | 2020-12-21 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) | Способ трёхкратного резервирования межсоединений |
US10983942B1 (en) | 2019-12-11 | 2021-04-20 | Qorvo Us, Inc. | Multi-master hybrid bus apparatus |
US11132321B2 (en) | 2020-02-26 | 2021-09-28 | Quanta Computer Inc. | Method and system for automatic bifurcation of PCIe in BIOS |
WO2021174223A1 (en) * | 2020-02-28 | 2021-09-02 | Riera Michael F | C2mpi: a hardware-agnostic message passing interface for heterogeneous computing systems |
US11115176B1 (en) * | 2020-03-04 | 2021-09-07 | Qualcomm Incorporated | System and method for adjusting clock-data timing in a multi-lane data communication link |
US11126585B1 (en) | 2020-03-09 | 2021-09-21 | Western Digital Technologies, Inc. | Data storage device with improved interface transmitter training |
US11886312B2 (en) | 2020-04-07 | 2024-01-30 | Intel Corporation | Characterizing error correlation based on error logging for computer buses |
CN111400232B (zh) * | 2020-04-10 | 2024-01-16 | 芯启源(上海)半导体科技有限公司 | 一种基于数据位宽展开的scramble与descramble硬件实现方法 |
US11288225B2 (en) | 2020-04-14 | 2022-03-29 | Western Digital Technologies, Inc. | Adapting transmitter training behavior based upon assumed identity of training partner |
US11513981B2 (en) * | 2020-04-29 | 2022-11-29 | Dell Products L.P. | PCIe link management without sideband signals |
US11309013B2 (en) | 2020-04-29 | 2022-04-19 | Samsung Electronics Co., Ltd. | Memory device for reducing resources used for training |
LU101767B1 (en) * | 2020-05-05 | 2021-11-05 | Microsoft Technology Licensing Llc | Recording a memory value trace for use with a separate cache coherency protocol trace |
US11586446B1 (en) * | 2020-05-20 | 2023-02-21 | Marvell Asia Pte Ltd | System and methods for hardware-based PCIe link up based on post silicon characterization |
US11263137B2 (en) * | 2020-05-27 | 2022-03-01 | Arm Limited | Core-to-core cache stashing and target discovery |
WO2021243340A1 (en) * | 2020-05-29 | 2021-12-02 | Netlist, Inc. | Computer memory expansion device and method of operation |
US20210013999A1 (en) * | 2020-06-04 | 2021-01-14 | Intel Corporation | Latency-Optimized Mechanisms for Handling Errors or Mis-Routed Packets for Computer Buses |
US11893122B2 (en) * | 2020-06-05 | 2024-02-06 | William David SCHWADERER | Shapeshift data encryption methods and systems |
KR102254337B1 (ko) * | 2020-06-22 | 2021-05-21 | 한양대학교 산학협력단 | Dc-밸런싱을 고려한 pam4 5b3q 코딩 방법 및 장치 |
US12056029B2 (en) | 2020-07-27 | 2024-08-06 | Intel Corporation | In-system validation of interconnects by error injection and measurement |
US11360906B2 (en) * | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
US11362939B2 (en) | 2020-08-31 | 2022-06-14 | Micron Technology, Inc. | Flow control for a multiple flow control unit interface |
US11588745B2 (en) | 2020-08-31 | 2023-02-21 | Micron Technology, Inc. | Early credit return for credit-based flow control |
US11580044B2 (en) * | 2020-08-31 | 2023-02-14 | Micron Technology, Inc. | Network credit return mechanisms |
CN112134859B (zh) * | 2020-09-09 | 2021-07-06 | 上海沈德医疗器械科技有限公司 | 一种基于arm架构的聚焦超声治疗设备控制方法 |
US12061232B2 (en) | 2020-09-21 | 2024-08-13 | Tektronix, Inc. | Margin test data tagging and predictive expected margins |
DE102021121105A1 (de) * | 2020-09-28 | 2022-03-31 | Samsung Electronics Co., Ltd. | Intelligente ablagespeichervorrichtung |
TWI783293B (zh) * | 2020-11-09 | 2022-11-11 | 瑞昱半導體股份有限公司 | 訊號傳輸裝置識別方法與訊號處理系統 |
US11409677B2 (en) | 2020-11-11 | 2022-08-09 | Qorvo Us, Inc. | Bus slave circuit and related single-wire bus apparatus |
US12055584B2 (en) | 2020-11-24 | 2024-08-06 | Tektronix, Inc. | Systems, methods, and devices for high-speed input/output margin testing |
US11489695B2 (en) | 2020-11-24 | 2022-11-01 | Qorvo Us, Inc. | Full-duplex communications over a single-wire bus |
CN112579479B (zh) * | 2020-12-07 | 2022-07-08 | 成都海光微电子技术有限公司 | 在维护缓存一致性时维护事务次序的处理器及其方法 |
US20220182098A1 (en) * | 2020-12-09 | 2022-06-09 | Texas Instruments Incorporated | Low power digital modes for duty-cycled integrated transceivers |
US11636037B2 (en) | 2020-12-21 | 2023-04-25 | Nxp Usa, Inc. | Methods and apparatuses involving radar system data paths |
CN112953556A (zh) * | 2021-02-05 | 2021-06-11 | 南京大学 | 基于斐波那契数列的抗串扰互联的编解码器及编码方法 |
CN112631989A (zh) * | 2021-03-08 | 2021-04-09 | 南京蓝洋智能科技有限公司 | 一种小芯片间、芯片间、小芯片与芯片间的数据传输方法 |
US11431649B1 (en) * | 2021-03-26 | 2022-08-30 | Arm Limited | Interconnect resource allocation |
CN113019479A (zh) * | 2021-03-31 | 2021-06-25 | 中国人民解放军空军军医大学 | 一种用于模拟井下工作环境的试验箱 |
IT202100008723A1 (it) | 2021-04-08 | 2022-10-08 | Phoenix ICT | Sistema per la gestione in sicurezza dei documenti digitali |
US20220327074A1 (en) * | 2021-04-13 | 2022-10-13 | SK Hynix Inc. | PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) SYSTEM AND METHOD OF OPERATING THE SAME |
US11789658B2 (en) | 2021-04-13 | 2023-10-17 | SK Hynix Inc. | Peripheral component interconnect express (PCIe) interface system and method of operating the same |
KR102668564B1 (ko) | 2021-06-01 | 2024-05-24 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
KR102518317B1 (ko) * | 2021-04-13 | 2023-04-06 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
TWI773395B (zh) * | 2021-06-22 | 2022-08-01 | 慧榮科技股份有限公司 | 記憶體控制器與連結識別方法 |
CN113971143B (zh) * | 2021-10-22 | 2023-12-05 | 展讯半导体(成都)有限公司 | 一种内存控制器、物联网芯片及电子设备 |
US11755494B2 (en) | 2021-10-29 | 2023-09-12 | Advanced Micro Devices, Inc. | Cache line coherence state downgrade |
US12092689B2 (en) | 2021-12-08 | 2024-09-17 | Qorvo Us, Inc. | Scan test in a single-wire bus circuit |
US11706048B1 (en) | 2021-12-16 | 2023-07-18 | Qorvo Us, Inc. | Multi-protocol bus circuit |
CN114510268B (zh) * | 2021-12-24 | 2022-09-20 | 中国人民解放军战略支援部队航天工程大学 | 一种基于gpu实现下变频中单精度浮点数累积误差控制方法 |
US20220342840A1 (en) * | 2021-12-30 | 2022-10-27 | Intel Corporation | Die-to-die interconnect |
US20220327084A1 (en) * | 2021-12-30 | 2022-10-13 | Intel Corporation | Die-to-die interconnect protocol layer |
US11907132B2 (en) | 2022-03-23 | 2024-02-20 | International Business Machines Corporation | Final cache directory state indication |
US11726660B1 (en) * | 2022-04-15 | 2023-08-15 | Dell Products L.P. | Techniques for flexible physical drive expansion using a loop back connection |
US12038853B2 (en) * | 2022-04-22 | 2024-07-16 | Western Digital Technologies, Inc. | Reducing link up time in PCIe systems |
CN114942814B (zh) * | 2022-06-01 | 2023-07-11 | 咪咕视讯科技有限公司 | 页面组件的聚焦方法、系统、终端设备及介质 |
US11880686B2 (en) * | 2022-06-16 | 2024-01-23 | Ampere Computing Llc | Devices transferring cache lines, including metadata on external links |
CN115099356B (zh) * | 2022-07-11 | 2024-08-09 | 大连理工大学 | 工业不平衡数据分类方法、装置、电子设备及存储介质 |
CN115238619B (zh) * | 2022-09-20 | 2023-06-27 | 北京数字光芯集成电路设计有限公司 | 数字芯片的子模块后仿真方法和系统 |
US11914473B1 (en) * | 2022-10-20 | 2024-02-27 | Micron Technology, Inc. | Data recovery using ordered data requests |
KR102712015B1 (ko) * | 2024-01-03 | 2024-09-30 | 주식회사 메타씨앤아이 | 디스플레이 장치에 사용되는 직렬 인터페이스 회로 장치 및 이를 제어하는 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449667B1 (en) * | 1990-10-03 | 2002-09-10 | T. M. Patents, L.P. | Tree network including arrangement for establishing sub-tree having a logical root below the network's physical root |
US6674720B1 (en) * | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
RU2288542C2 (ru) * | 2004-05-21 | 2006-11-27 | Интел Корпорейшн | Способы и устройства для осуществления канала связи переменной разрядности |
Family Cites Families (270)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4191941A (en) | 1978-04-03 | 1980-03-04 | Rca Corporation | Switch matrix for data transfers |
US4716523A (en) | 1985-06-14 | 1987-12-29 | International Business Machines Corporation | Multiple port integrated DMA and interrupt controller and arbitrator |
US5537640A (en) * | 1988-12-30 | 1996-07-16 | Intel Corporation | Asynchronous modular bus architecture with cache consistency |
NZ232222A (en) * | 1989-01-27 | 1993-03-26 | British Telecomm | Alternate burst communication for cordless phones: burst formats |
US4959833A (en) * | 1989-03-08 | 1990-09-25 | Ics Electronics Corporation | Data transmission method and bus extender |
CA2045756C (en) * | 1990-06-29 | 1996-08-20 | Gregg Bouchard | Combined queue for invalidates and return data in multiprocessor system |
US5222062A (en) | 1991-10-03 | 1993-06-22 | Compaq Computer Corporation | Expandable communication system with automatic data concentrator detection |
US5434993A (en) * | 1992-11-09 | 1995-07-18 | Sun Microsystems, Inc. | Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories |
JPH07168763A (ja) | 1992-11-13 | 1995-07-04 | Cyrix Corp | ライトスルーキャシュ設計のシステムでのライトバックキャシュのコヒーレンシ |
US5325360A (en) * | 1992-12-09 | 1994-06-28 | National Semiconductor Corporation | Controllable PCM state machine user interface |
US5394555A (en) * | 1992-12-23 | 1995-02-28 | Bull Hn Information Systems Inc. | Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory |
US5432775A (en) | 1993-12-03 | 1995-07-11 | Advanced Micro Devices, Inc. | Auto negotiation system for a communications network |
US5551005A (en) * | 1994-02-25 | 1996-08-27 | Intel Corporation | Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches |
US5572703A (en) * | 1994-03-01 | 1996-11-05 | Intel Corporation | Method and apparatus for snoop stretching using signals that convey snoop results |
US5383143A (en) | 1994-03-30 | 1995-01-17 | Motorola, Inc. | Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation |
EP0706138A1 (en) * | 1994-10-03 | 1996-04-10 | International Business Machines Corporation | Alternating data valid control signals for high performance data transfer |
EP0707269A1 (en) * | 1994-10-11 | 1996-04-17 | International Business Machines Corporation | Cache coherence network for a multiprocessor data processing system |
EP0735487B1 (en) * | 1995-03-31 | 2001-10-31 | Sun Microsystems, Inc. | A fast, dual ported cache controller for data processors in a packet switched cache coherent multiprocessor system |
DE69628493T2 (de) * | 1995-03-31 | 2004-05-19 | Sun Microsystems, Inc., Santa Clara | Cache-kohärentes Computersystem, das Entwertungs- und Rückschreiboperationen minimiert |
US5898826A (en) * | 1995-11-22 | 1999-04-27 | Intel Corporation | Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network |
US5983326A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode |
CN1179043A (zh) * | 1996-09-20 | 1998-04-15 | 摩托罗拉公司 | Tdm/tdma系统中离散可变的时隙宽度 |
US5991819A (en) * | 1996-12-03 | 1999-11-23 | Intel Corporation | Dual-ported memory controller which maintains cache coherency using a memory line status table |
US6249520B1 (en) * | 1997-10-24 | 2001-06-19 | Compaq Computer Corporation | High-performance non-blocking switch with multiple channel ordering constraints |
US6052760A (en) * | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
US5987056A (en) * | 1997-11-13 | 1999-11-16 | Lsi Logic Corporation | PN sequence hopping method and system |
US6163608A (en) * | 1998-01-09 | 2000-12-19 | Ericsson Inc. | Methods and apparatus for providing comfort noise in communications systems |
US6334172B1 (en) * | 1998-02-17 | 2001-12-25 | International Business Machines Corporation | Cache coherency protocol with tagged state for modified values |
US6345339B1 (en) * | 1998-02-17 | 2002-02-05 | International Business Machines Corporation | Pseudo precise I-cache inclusivity for vertical caches |
US6141733A (en) * | 1998-02-17 | 2000-10-31 | International Business Machines Corporation | Cache coherency protocol with independent implementation of optimized cache operations |
US6631448B2 (en) * | 1998-03-12 | 2003-10-07 | Fujitsu Limited | Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol |
US7471075B2 (en) | 1998-04-17 | 2008-12-30 | Unique Technologies, Llc | Multi-test Arc fault circuit interrupter tester |
US6430188B1 (en) * | 1998-07-08 | 2002-08-06 | Broadcom Corporation | Unified table for L2, L3, L4, switching and filtering |
DE69813551T2 (de) * | 1998-09-30 | 2004-02-12 | Alcatel | Verfahren und Einrichtung für den Übergang eines niedrigen Leistungszustandes zu einem hohen Leistungszustand in einem Kommunikationssystem |
GB2342823B (en) * | 1998-10-16 | 2000-11-29 | Marconi Comm Ltd | Communication system |
US6526481B1 (en) * | 1998-12-17 | 2003-02-25 | Massachusetts Institute Of Technology | Adaptive cache coherence protocols |
US6393529B1 (en) * | 1998-12-21 | 2002-05-21 | Advanced Micro Devices, Inc. | Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write |
US6556634B1 (en) * | 1999-02-10 | 2003-04-29 | Ericsson, Inc. | Maximum likelihood rake receiver for use in a code division, multiple access wireless communication system |
US6185250B1 (en) * | 1999-03-10 | 2001-02-06 | Lucent Technologies Inc. | Training of level learning modems |
WO2000074402A1 (en) | 1999-05-28 | 2000-12-07 | Afx Technology Group International, Inc. | Wireless transceiver network employing node-to-node data messaging |
US6487621B1 (en) * | 1999-08-17 | 2002-11-26 | Compaq Information Technologies Group, L.P. | Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle |
KR100566289B1 (ko) * | 1999-09-03 | 2006-03-30 | 삼성전자주식회사 | 데이타 링크 맵을 이용한 브이5.2 계층 2의 비활성화 제어 방법 및 장치 |
US7010607B1 (en) * | 1999-09-15 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Method for training a communication link between ports to correct for errors |
US6754185B1 (en) * | 1999-09-27 | 2004-06-22 | Koninklijke Philips Electronics N.V. | Multi link layer to single physical layer interface in a node of a data communication system |
US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
US6763034B1 (en) * | 1999-10-01 | 2004-07-13 | Stmicroelectronics, Ltd. | Connection ports for interconnecting modules in an integrated circuit |
US6320406B1 (en) | 1999-10-04 | 2001-11-20 | Texas Instruments Incorporated | Methods and apparatus for a terminated fail-safe circuit |
US6665832B1 (en) * | 2000-03-31 | 2003-12-16 | Qualcomm, Incorporated | Slotted mode decoder state metric initialization |
US6961347B1 (en) * | 2000-06-20 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | High-speed interconnection link having automated lane reordering |
US6865231B1 (en) * | 2000-06-20 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | High-speed interconnection adapter having automated crossed differential pair correction |
US7124252B1 (en) * | 2000-08-21 | 2006-10-17 | Intel Corporation | Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system |
US6668335B1 (en) | 2000-08-31 | 2003-12-23 | Hewlett-Packard Company, L.P. | System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths |
US6892319B2 (en) * | 2000-09-08 | 2005-05-10 | Hewlett-Packard Development Company, L.P. | Method for verifying abstract memory models of shared memory multiprocessors |
US7327754B2 (en) | 2000-09-28 | 2008-02-05 | Teridian Semiconductor, Corp. | Apparatus and method for freezing the states of a receiver during silent line state operation of a network device |
US7596139B2 (en) * | 2000-11-17 | 2009-09-29 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US7236490B2 (en) * | 2000-11-17 | 2007-06-26 | Foundry Networks, Inc. | Backplane interface adapter |
EP1211837A1 (en) * | 2000-12-04 | 2002-06-05 | Telefonaktiebolaget Lm Ericsson | Unequal error protection in a packet transmission system |
EP1217613A1 (fr) * | 2000-12-19 | 2002-06-26 | Koninklijke Philips Electronics N.V. | Reconstitution de trames manquantes ou mauvaises en téléphonie cellulaire |
US6859864B2 (en) * | 2000-12-29 | 2005-02-22 | Intel Corporation | Mechanism for initiating an implicit write-back in response to a read or snoop of a modified cache line |
US20020161975A1 (en) * | 2001-02-23 | 2002-10-31 | Zilavy Daniel V. | Cache to cache copying of clean data |
US7231500B2 (en) * | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a computer architecture for broadband networks |
US6987947B2 (en) | 2001-10-30 | 2006-01-17 | Unwired Technology Llc | Multiple channel wireless communication system |
US6941425B2 (en) * | 2001-11-12 | 2005-09-06 | Intel Corporation | Method and apparatus for read launch optimizations in memory interconnect |
US20030093632A1 (en) * | 2001-11-12 | 2003-05-15 | Intel Corporation | Method and apparatus for sideband read return header in memory interconnect |
US7227845B2 (en) * | 2001-12-11 | 2007-06-05 | Motorola, Inc. | Method and apparatus for enabling a communication resource reset |
US7117311B1 (en) * | 2001-12-19 | 2006-10-03 | Intel Corporation | Hot plug cache coherent interface method and apparatus |
US7030737B2 (en) | 2002-03-01 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Apparatus, system, and method for indicating a level of network activity |
US7200186B2 (en) | 2002-03-14 | 2007-04-03 | Intel Corporation | Methods and apparatus for reducing power usage of a transmitter and receiver coupled via a differential serial data link |
US7334047B1 (en) * | 2002-03-18 | 2008-02-19 | Cisco Technology, Inc. | Method and system for selective link state advertisement blocking over a data network area |
US7653790B2 (en) * | 2002-05-13 | 2010-01-26 | Glasco David B | Methods and apparatus for responding to a request cluster |
US7020729B2 (en) * | 2002-05-16 | 2006-03-28 | Intel Corporation | Protocol independent data transmission interface |
US6973545B2 (en) * | 2002-06-28 | 2005-12-06 | Sun Microsystems, Inc. | System with a directory based coherency protocol and split ownership and access right coherence mechanism |
US20040028074A1 (en) * | 2002-07-26 | 2004-02-12 | Gary Huff | Physical layer device with line state encoding |
US7093172B2 (en) * | 2002-08-07 | 2006-08-15 | Broadcom Corporation | System and method for determining on-chip bit error rate (BER) in a communication system |
US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7720135B2 (en) * | 2002-11-07 | 2010-05-18 | Intel Corporation | System, method and device for autonegotiation |
US7505486B2 (en) | 2002-11-19 | 2009-03-17 | Hewlett-Packard Development Company, L.P. | Degradable network data path transmission scheme |
US7203853B2 (en) * | 2002-11-22 | 2007-04-10 | Intel Corporation | Apparatus and method for low latency power management on a serial data link |
US20040174570A1 (en) | 2002-12-02 | 2004-09-09 | Plunkett Richard Thomas | Variable size dither matrix usage |
US6892283B2 (en) * | 2002-12-05 | 2005-05-10 | International Business Machines Corporation | High speed memory cloner with extended cache coherency protocols and responses |
US7525989B2 (en) * | 2002-12-16 | 2009-04-28 | Intel Corporation | System, method and device for time slot status messaging among SONET nodes |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
US7047475B2 (en) * | 2003-02-04 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | CRC encoding scheme for conveying status information |
US7535836B2 (en) * | 2003-02-12 | 2009-05-19 | Broadcom Corporation | Method and system to provide word-level flow control using spare link bandwidth |
GB2399722A (en) * | 2003-03-21 | 2004-09-22 | Sony Uk Ltd | Data communication synchronisation |
US7464307B2 (en) * | 2003-03-25 | 2008-12-09 | Intel Corporation | High performance serial bus testing methodology |
US7426597B1 (en) * | 2003-05-07 | 2008-09-16 | Nvidia Corporation | Apparatus, system, and method for bus link width optimization of a graphics system |
US7136953B1 (en) | 2003-05-07 | 2006-11-14 | Nvidia Corporation | Apparatus, system, and method for bus link width optimization |
US7792118B2 (en) * | 2003-06-19 | 2010-09-07 | Polytechnic University | Switch module memory structure and per-destination queue flow control for use in a switch |
US7577727B2 (en) * | 2003-06-27 | 2009-08-18 | Newisys, Inc. | Dynamic multiple cluster system reconfiguration |
US20050027876A1 (en) * | 2003-07-29 | 2005-02-03 | Toshitomo Umei | Data transmission method, data transmission system, and data transmission apparatus |
CN1320464C (zh) * | 2003-10-23 | 2007-06-06 | 英特尔公司 | 用于维持共享高速缓存一致性的方法和设备 |
US7146284B2 (en) * | 2003-11-07 | 2006-12-05 | Texas Instruments Incorporated | Method of testing phase lock loop status during a Serializer/Deserializer internal loopback built-in self-test |
EP2242231A1 (en) * | 2003-11-12 | 2010-10-20 | Qualcomm Incorporated | High data rate interface with improved link control |
US8090857B2 (en) * | 2003-11-24 | 2012-01-03 | Qualcomm Atheros, Inc. | Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks |
US7440468B2 (en) * | 2003-12-11 | 2008-10-21 | International Business Machines Corporation | Queue management of a global link control byte in an input/output subsystem |
US8009563B2 (en) * | 2003-12-19 | 2011-08-30 | Broadcom Corporation | Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation |
US7631118B2 (en) | 2003-12-31 | 2009-12-08 | Intel Corporation | Lane to lane deskewing via non-data symbol processing for a serial point to point link |
JP4005974B2 (ja) * | 2004-01-09 | 2007-11-14 | 株式会社東芝 | 通信装置、通信方法、および通信システム |
US7856534B2 (en) * | 2004-01-15 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Transaction references for requests in a multi-processor network |
US8176259B2 (en) * | 2004-01-20 | 2012-05-08 | Hewlett-Packard Development Company, L.P. | System and method for resolving transactions in a cache coherency protocol |
US7620696B2 (en) * | 2004-01-20 | 2009-11-17 | Hewlett-Packard Development Company, L.P. | System and method for conflict responses in a cache coherency protocol |
US7177987B2 (en) * | 2004-01-20 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | System and method for responses between different cache coherency protocols |
US20050172091A1 (en) * | 2004-01-29 | 2005-08-04 | Rotithor Hemant G. | Method and an apparatus for interleaving read data return in a packetized interconnect to memory |
US7210000B2 (en) * | 2004-04-27 | 2007-04-24 | Intel Corporation | Transmitting peer-to-peer transactions through a coherent interface |
US7716409B2 (en) * | 2004-04-27 | 2010-05-11 | Intel Corporation | Globally unique transaction identifiers |
US20050262250A1 (en) * | 2004-04-27 | 2005-11-24 | Batson Brannon J | Messaging protocol |
US20050240734A1 (en) * | 2004-04-27 | 2005-10-27 | Batson Brannon J | Cache coherence protocol |
CN101895504A (zh) * | 2004-04-30 | 2010-11-24 | 夏普株式会社 | 无线通信系统 |
US7313712B2 (en) * | 2004-05-21 | 2007-12-25 | Intel Corporation | Link power saving state |
CN1700639A (zh) * | 2004-05-21 | 2005-11-23 | 华为技术有限公司 | 导出和导入无线局域网鉴别与保密基础结构证书信息方法 |
US20060041696A1 (en) | 2004-05-21 | 2006-02-23 | Naveen Cherukuri | Methods and apparatuses for the physical layer initialization of a link-based system interconnect |
US7219220B2 (en) | 2004-05-21 | 2007-05-15 | Intel Corporation | Methods and apparatuses for resetting the physical layers of two agents interconnected through a link-based interconnection |
US8046488B2 (en) * | 2004-05-21 | 2011-10-25 | Intel Corporation | Dynamically modulating link width |
US20060041715A1 (en) * | 2004-05-28 | 2006-02-23 | Chrysos George Z | Multiprocessor chip having bidirectional ring interconnect |
US7467358B2 (en) * | 2004-06-03 | 2008-12-16 | Gwangju Institute Of Science And Technology | Asynchronous switch based on butterfly fat-tree for network on chip application |
US7295618B2 (en) * | 2004-06-16 | 2007-11-13 | International Business Machines Corporation | Automatic adaptive equalization method and system for high-speed serial transmission link |
US7436836B2 (en) * | 2004-06-30 | 2008-10-14 | Cisco Technology, Inc. | Method and apparatus for detecting support for a protocol defining supplemental headers |
US8161429B1 (en) * | 2004-08-20 | 2012-04-17 | Altera Corporation | Methods and apparatus for initializing serial links |
KR100579053B1 (ko) | 2004-08-26 | 2006-05-12 | 삼성전자주식회사 | 스마트 카드와 메모리 카드간의 멀티 인터페이스 방법 및멀티 인터페이스 카드 |
US20060047862A1 (en) * | 2004-09-02 | 2006-03-02 | International Business Machines Corporation | Automatic hardware data link initialization |
US9727468B2 (en) * | 2004-09-09 | 2017-08-08 | Intel Corporation | Resolving multi-core shared cache access conflicts |
US7191255B2 (en) * | 2004-10-27 | 2007-03-13 | Intel Corporation | Transaction layer link down handling for PCI express |
CN100384118C (zh) * | 2004-11-03 | 2008-04-23 | 上海贝尔阿尔卡特股份有限公司 | 处理通用成帧规程帧的方法和装置 |
US7738484B2 (en) * | 2004-12-13 | 2010-06-15 | Intel Corporation | Method, system, and apparatus for system level initialization |
US7761719B2 (en) * | 2005-03-28 | 2010-07-20 | Akros Silicon Inc. | Ethernet module |
US20090122703A1 (en) * | 2005-04-13 | 2009-05-14 | Koninklijke Philips Electronics, N.V. | Electronic Device and Method for Flow Control |
US7613864B2 (en) * | 2005-04-22 | 2009-11-03 | Sun Microsystems, Inc. | Device sharing |
US7564904B2 (en) | 2005-05-03 | 2009-07-21 | Texas Instruments Incorporated | Apparatus for and method of detection of powered devices over a network |
US7539801B2 (en) * | 2005-05-27 | 2009-05-26 | Ati Technologies Ulc | Computing device with flexibly configurable expansion slots, and method of operation |
US7694060B2 (en) * | 2005-06-17 | 2010-04-06 | Intel Corporation | Systems with variable link widths based on estimated activity levels |
US7620694B2 (en) * | 2005-09-27 | 2009-11-17 | Intel Corporation | Early issue of transaction ID |
US7633877B2 (en) | 2005-11-18 | 2009-12-15 | Intel Corporation | Method and apparatus for meeting compliance for debugging and testing a multi-speed, point-to-point link |
US20070239922A1 (en) * | 2005-12-09 | 2007-10-11 | Horigan John W | Technique for link reconfiguration |
US7924708B2 (en) * | 2005-12-13 | 2011-04-12 | Intel Corporation | Method and apparatus for flow control initialization |
US7606981B2 (en) * | 2005-12-19 | 2009-10-20 | Intel Corporation | System and method for reducing store latency |
CN1996782B (zh) * | 2005-12-26 | 2010-05-05 | 中兴通讯股份有限公司 | 一种空域自适应链路的天线选择指示方法 |
US7430628B2 (en) * | 2006-01-10 | 2008-09-30 | Kabushiki Kaisha Toshiba | System and method for optimized allocation of shared processing resources |
US7543115B1 (en) * | 2006-01-11 | 2009-06-02 | Intel Corporation | Two-hop source snoop based cache coherence protocol |
US7512741B1 (en) | 2006-01-11 | 2009-03-31 | Intel Corporation | Two-hop source snoop based messaging protocol |
JP4572169B2 (ja) * | 2006-01-26 | 2010-10-27 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
US9390015B2 (en) * | 2006-03-16 | 2016-07-12 | International Business Machines Corporation | Method for performing cacheline polling utilizing a store and reserve instruction |
US7783959B2 (en) * | 2006-03-23 | 2010-08-24 | Intel Corporation | Apparatus and method for reduced power consumption communications over a physical interconnect |
US7681093B2 (en) * | 2006-03-31 | 2010-03-16 | Intel Corporation | Redundant acknowledgment in loopback entry |
US7743129B2 (en) | 2006-05-01 | 2010-06-22 | International Business Machines Corporation | Methods and arrangements to detect a failure in a communication network |
US20070260615A1 (en) * | 2006-05-08 | 2007-11-08 | Eran Shen | Media with Pluggable Codec |
US7506108B2 (en) * | 2006-06-30 | 2009-03-17 | Intel Corporation | Requester-generated forward for late conflicts in a cache coherency protocol |
US7721050B2 (en) * | 2006-06-30 | 2010-05-18 | Intel Corporation | Re-snoop for conflict resolution in a cache coherency protocol |
US7536515B2 (en) * | 2006-06-30 | 2009-05-19 | Intel Corporation | Repeated conflict acknowledgements in a cache coherency protocol |
US20100158052A1 (en) * | 2006-08-08 | 2010-06-24 | Koninklijke Philips Electronics N.V. | Electronic device and method for synchronizing a communication |
US8059011B2 (en) * | 2006-09-15 | 2011-11-15 | Itron, Inc. | Outage notification system |
US7600080B1 (en) * | 2006-09-22 | 2009-10-06 | Intel Corporation | Avoiding deadlocks in a multiprocessor system |
GB2443465A (en) * | 2006-11-06 | 2008-05-07 | Fujitsu Ltd | Communication systems |
US20080140724A1 (en) * | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
EP2122954A2 (en) * | 2007-01-15 | 2009-11-25 | Koninklijke Philips Electronics N.V. | Method of generating low peak-to-average power ratio ( papr) binary preamble sequences for ofdm systems |
DE102007007136B3 (de) | 2007-02-09 | 2008-08-28 | Siemens Ag | Radelektronik und Verfahren zum Betreiben einer Radelektronik |
US8428175B2 (en) * | 2007-03-09 | 2013-04-23 | Qualcomm Incorporated | Quadrature modulation rotating training sequence |
US7978635B2 (en) | 2007-03-21 | 2011-07-12 | Qualcomm Incorporated | H-ARQ acknowledgment detection validation by re-decoding |
DE602007001576D1 (de) * | 2007-03-22 | 2009-08-27 | Research In Motion Ltd | Vorrichtung und Verfahren zur verbesserten Maskierung von Rahmenverlusten |
MX2009012099A (es) * | 2007-05-08 | 2010-01-25 | Interdigital Tech Corp | Metodo y aparato para proporcionar indicador de campo de reconocimiento positivo/reconocimiento negativo incorporado e indicador de interrogacion. |
US7827357B2 (en) * | 2007-07-31 | 2010-11-02 | Intel Corporation | Providing an inclusive shared cache among multiple core-cache clusters |
US7899111B2 (en) * | 2007-08-07 | 2011-03-01 | Intel Corporation | Link interface technique including data indicator symbols |
CA2632031A1 (en) * | 2007-09-05 | 2009-03-05 | Faisal Dada | Aligning data on parallel transmission lines |
US20090125363A1 (en) * | 2007-10-22 | 2009-05-14 | Nokia Siemens Networks Oy | Method, apparatus and computer program for employing a frame structure in wireless communication |
EP2063581A1 (en) * | 2007-11-20 | 2009-05-27 | STMicroelectronics (Grenoble) SAS | Transferring a stream of data between first and second electronic devices via a network on-chip |
US8392663B2 (en) * | 2007-12-12 | 2013-03-05 | Mips Technologies, Inc. | Coherent instruction cache utilizing cache-op execution resources |
US8179901B2 (en) * | 2008-02-11 | 2012-05-15 | Vitesse Semiconductor Corporation | System and method for squelching a recovered clock in an ethernet network |
US20110007464A1 (en) | 2008-02-29 | 2011-01-13 | Leigh Kevin B | Modular system and retractable assembly for electronic devices |
DE102008012979A1 (de) * | 2008-03-06 | 2009-09-10 | Gip Ag | Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken |
US7492807B1 (en) | 2008-04-07 | 2009-02-17 | International Business Machines Corporation | Pseudo-random bit sequence (PRBS) synchronization for interconnects with dual-tap scrambling devices and methods |
JP5108975B2 (ja) * | 2008-04-28 | 2012-12-26 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 仮想割り込みモードインターフェース及び割り込みモードを仮想化するための方法 |
US8762652B2 (en) * | 2008-04-30 | 2014-06-24 | Freescale Semiconductor, Inc. | Cache coherency protocol in a data processing system |
CN101599811B (zh) * | 2008-06-02 | 2011-04-06 | 华为技术有限公司 | 一种数据处理装置,通信设备以及数据处理方法 |
US7769048B2 (en) | 2008-06-25 | 2010-08-03 | Intel Corporation | Link and lane level packetization scheme of encoding in serial links |
US8201069B2 (en) * | 2008-07-01 | 2012-06-12 | International Business Machines Corporation | Cyclical redundancy code for use in a high-speed serial link |
US8205045B2 (en) | 2008-07-07 | 2012-06-19 | Intel Corporation | Satisfying memory ordering requirements between partial writes and non-snoop accesses |
US8250311B2 (en) * | 2008-07-07 | 2012-08-21 | Intel Corporation | Satisfying memory ordering requirements between partial reads and non-snoop accesses |
CN101325461B (zh) * | 2008-07-25 | 2011-04-27 | 浙江大学 | 基于无速率码的认知无线电通信链路的建立和维护方法 |
WO2010028365A1 (en) * | 2008-09-08 | 2010-03-11 | Samsung Electronics Co., Ltd. | Sub-channel acquisition in a digital television receiver designed to receive mobile/handheld signals |
EP3086619A1 (en) * | 2008-09-10 | 2016-10-26 | Nextnav, LLC | Wide area positioning system |
US8917209B2 (en) * | 2009-09-10 | 2014-12-23 | Nextnav, Llc | Coding in a wide area positioning system (WAPS) |
US8265071B2 (en) * | 2008-09-11 | 2012-09-11 | Juniper Networks, Inc. | Methods and apparatus related to a flexible data center security architecture |
CN101430664B (zh) * | 2008-09-12 | 2010-07-28 | 中国科学院计算技术研究所 | 一种多处理器系统及Cache一致性消息传输方法 |
EP2173066B1 (en) | 2008-10-01 | 2012-05-16 | STMicroelectronics Srl | Method of exchanging information in a Network-on-Chip communication network, corresponding Network-on-Chip communication network and computer program product |
US8531943B2 (en) * | 2008-10-29 | 2013-09-10 | Adapteva Incorporated | Mesh network |
KR100988809B1 (ko) * | 2008-11-06 | 2010-10-20 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 출력인에이블 신호 생성 방법 |
US8706479B2 (en) * | 2008-11-14 | 2014-04-22 | Broadcom Corporation | Packet loss concealment for sub-band codecs |
CN101437033B (zh) * | 2008-12-16 | 2012-07-11 | 杭州华三通信技术有限公司 | 一种支持可变速率的方法和网络设备 |
US8401038B2 (en) * | 2008-12-17 | 2013-03-19 | Viasat, Inc. | False lock detection for physical layer frame synchronization |
US8799582B2 (en) * | 2008-12-30 | 2014-08-05 | Intel Corporation | Extending cache coherency protocols to support locally buffered data |
US8026726B2 (en) * | 2009-01-23 | 2011-09-27 | Silicon Image, Inc. | Fault testing for interconnections |
KR101598094B1 (ko) * | 2009-02-02 | 2016-02-26 | 엘지전자 주식회사 | 송/수신 시스템 및 데이터 처리 방법 |
KR20100092353A (ko) * | 2009-02-12 | 2010-08-20 | 엘지전자 주식회사 | 트래픽 암호화 키 관리방법 및 장치 |
KR101133256B1 (ko) * | 2009-02-27 | 2012-04-09 | 한국과학기술원 | 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법 |
WO2010096969A1 (zh) * | 2009-02-27 | 2010-09-02 | 华为技术有限公司 | 无源光网络中发送上行传送帧的方法及设备 |
US20100228922A1 (en) | 2009-03-09 | 2010-09-09 | Deepak Limaye | Method and system to perform background evictions of cache memory lines |
US8401400B2 (en) * | 2009-03-10 | 2013-03-19 | Tyco Electronics Subsea Communications Llc | Detection of data in signals with data pattern dependent signal distortion |
CN101854331A (zh) * | 2009-04-02 | 2010-10-06 | 天际微芯(北京)科技有限公司 | 训练序列结构及训练方法 |
US9690625B2 (en) * | 2009-06-16 | 2017-06-27 | Oracle America, Inc. | System and method for out-of-order resource allocation and deallocation in a threaded machine |
US8335911B2 (en) * | 2009-05-21 | 2012-12-18 | Oracle America, Inc. | Dynamic allocation of resources in a threaded, heterogeneous processor |
US8199759B2 (en) | 2009-05-29 | 2012-06-12 | Intel Corporation | Method and apparatus for enabling ID based streams over PCI express |
CN101561794B (zh) * | 2009-06-05 | 2012-07-04 | 威盛电子股份有限公司 | 通用串行总线装置 |
US8239704B2 (en) * | 2009-06-12 | 2012-08-07 | Cray Inc. | Global clock via embedded spanning tree |
WO2010147264A1 (en) * | 2009-06-16 | 2010-12-23 | Lg Electronics Inc. | Method of exchanging messages and transmitting and receiving devices |
US8782347B2 (en) * | 2009-06-26 | 2014-07-15 | Intel Corporation | Controllably exiting an unknown state of a cache coherency directory |
US20100332877A1 (en) | 2009-06-30 | 2010-12-30 | Yarch Mark A | Method and apparatus for reducing power consumption |
US8831666B2 (en) * | 2009-06-30 | 2014-09-09 | Intel Corporation | Link power savings with state retention |
CN101695193A (zh) * | 2009-09-27 | 2010-04-14 | 上海华为技术有限公司 | 一种下行数据发送和下行数据接收的方法和装置 |
US8327228B2 (en) * | 2009-09-30 | 2012-12-04 | Intel Corporation | Home agent data and memory management |
US8799586B2 (en) | 2009-09-30 | 2014-08-05 | Intel Corporation | Memory mirroring and migration at home agent |
US8819305B2 (en) * | 2009-11-16 | 2014-08-26 | Intel Corporation | Directly providing data messages to a protocol layer |
US8621128B2 (en) | 2009-12-04 | 2013-12-31 | St-Ericsson Sa | Methods and systems for reliable link startup |
US9100809B2 (en) * | 2009-12-21 | 2015-08-04 | Julia Olincy Olincy | Automatic response option mobile system for responding to incoming texts or calls or both |
US8301813B2 (en) * | 2009-12-24 | 2012-10-30 | Ati Technologies Ulc | Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol |
US20120227045A1 (en) | 2009-12-26 | 2012-09-06 | Knauth Laura A | Method, apparatus, and system for speculative execution event counter checkpointing and restoring |
US8804960B2 (en) * | 2010-02-22 | 2014-08-12 | International Business Machines Corporation | Implementing known scrambling relationship among multiple serial links |
US8892820B2 (en) * | 2010-03-19 | 2014-11-18 | Netapp, Inc. | Method and system for local caching of remote storage data |
US8473567B2 (en) | 2010-03-29 | 2013-06-25 | Intel Corporation | Generating a packet including multiple operation codes |
US8514885B2 (en) * | 2010-03-30 | 2013-08-20 | International Business Machines Corporation | Using variable length packets to embed extra network control information |
US8539260B2 (en) * | 2010-04-05 | 2013-09-17 | Intel Corporation | Method, apparatus, and system for enabling platform power states |
CN101867401B (zh) * | 2010-05-04 | 2013-11-20 | 西安交通大学 | 一种遮挡躲避的60GHz多天线系统及其信号处理方法 |
CN102238623B (zh) * | 2010-05-06 | 2014-04-09 | 中兴通讯股份有限公司 | 加快无线链路控制窗口状态应答的方法及基站子系统 |
JP2011248814A (ja) * | 2010-05-31 | 2011-12-08 | Nec Corp | PCIExpressリンクエラー検出及び自動復旧機能を備えたデバイス |
US9448938B2 (en) * | 2010-06-09 | 2016-09-20 | Micron Technology, Inc. | Cache coherence protocol for persistent memories |
CN101867452B (zh) | 2010-06-10 | 2013-07-17 | 国网电力科学研究院 | 一种电力专用串行实时总线的通信方法 |
KR101323055B1 (ko) * | 2010-06-17 | 2013-10-29 | 엘지디스플레이 주식회사 | 내부 디스플레이 포트 인터페이스 테스트 방법 및 장치 |
CN102315917B (zh) * | 2010-07-06 | 2014-12-17 | 瑞昱半导体股份有限公司 | 一种用于信号传输的省电方法及装置 |
US8402295B2 (en) * | 2010-07-09 | 2013-03-19 | Qualcomm Incorporated | Techniques employing flits for clock gating |
CN102377608B (zh) * | 2010-08-12 | 2014-07-09 | 盛科网络(苏州)有限公司 | 物理层故障模拟系统及方法 |
US8656115B2 (en) * | 2010-08-20 | 2014-02-18 | Intel Corporation | Extending a cache coherency snoop broadcast protocol with directory information |
WO2012038546A1 (en) | 2010-09-23 | 2012-03-29 | St-Ericsson Sa | Multi-lane data transmission de-skew |
US9104793B2 (en) * | 2010-09-24 | 2015-08-11 | Intel Corporation | Method and system of adapting communication links to link conditions on a platform |
US8751714B2 (en) | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
US9146610B2 (en) | 2010-09-25 | 2015-09-29 | Intel Corporation | Throttling integrated link |
US8805196B2 (en) * | 2010-09-30 | 2014-08-12 | Teradyne, Inc. | Electro-optical communications link |
JP5597104B2 (ja) * | 2010-11-16 | 2014-10-01 | キヤノン株式会社 | データ転送装置及びその制御方法 |
CN102142987B (zh) * | 2010-12-09 | 2014-01-08 | 浪潮(北京)电子信息产业有限公司 | 一种高速串行总线设备及其传输数据的方法 |
JP2012146041A (ja) * | 2011-01-11 | 2012-08-02 | Hitachi Ltd | 計算機装置及び信号伝送方法 |
JP2012155650A (ja) * | 2011-01-28 | 2012-08-16 | Toshiba Corp | ルータ及びメニーコアシステム |
EP2482196B1 (en) * | 2011-01-31 | 2016-06-29 | Canon Kabushiki Kaisha | Image processing apparatus, printing apparatus and controlling method in image processing apparatus |
US8924672B2 (en) * | 2011-02-08 | 2014-12-30 | Infineon Technologies Ag | Device with processing unit and information storage |
US8756378B2 (en) * | 2011-02-17 | 2014-06-17 | Oracle International Corporation | Broadcast protocol for a network of caches |
US8824489B1 (en) * | 2011-04-26 | 2014-09-02 | Marvell International Ltd. | Physical layer (PHY) devices for use in automotive and industrial applications |
US9189424B2 (en) | 2011-05-31 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | External cache operation based on clean castout messages |
US8868955B2 (en) | 2011-07-01 | 2014-10-21 | Intel Corporation | Enhanced interconnect link width modulation for power savings |
US8788890B2 (en) * | 2011-08-05 | 2014-07-22 | Apple Inc. | Devices and methods for bit error rate monitoring of intra-panel data link |
US8514889B2 (en) * | 2011-08-26 | 2013-08-20 | Sonics, Inc. | Use of common data format to facilitate link width conversion in a router with flexible link widths |
WO2013081580A1 (en) * | 2011-11-29 | 2013-06-06 | Intel Corporation | Raw memory transaction support |
WO2013085501A1 (en) * | 2011-12-07 | 2013-06-13 | Intel Corporation | Multiple transaction data flow control unit for high-speed interconnect |
CN102571571A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 一种应用于时延容忍网络的多层次有效路由方法 |
CN103188059A (zh) | 2011-12-28 | 2013-07-03 | 华为技术有限公司 | 快速通道互联系统中数据包重传方法、装置和系统 |
CN102594745B (zh) * | 2011-12-29 | 2015-02-04 | 东南大学 | 单载波频域均衡系统中的同步方法及其实现电路 |
US8892269B2 (en) | 2012-03-30 | 2014-11-18 | Intel Corporation | Power down and quick start of thermal sensor |
CN102685128B (zh) * | 2012-05-09 | 2015-09-30 | 东南大学 | 一种基于状态机的协议构造方法 |
US9665521B2 (en) | 2012-05-18 | 2017-05-30 | Dell Products, Lp | System and method for providing a processing node with input/output functionality by an I/O complex switch |
US8856573B2 (en) * | 2012-06-27 | 2014-10-07 | Intel Corporation | Setting a number (N) of fast training sequences (FTS) automatically to an optimal value |
US9280504B2 (en) | 2012-08-24 | 2016-03-08 | Intel Corporation | Methods and apparatus for sharing a network interface controller |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US8996757B2 (en) * | 2012-09-29 | 2015-03-31 | Intel Corporation | Method and apparatus to generate platform correctable TX-RX |
US8935578B2 (en) | 2012-09-29 | 2015-01-13 | Intel Corporation | Method and apparatus for optimizing power and latency on a link |
US9003091B2 (en) | 2012-10-18 | 2015-04-07 | Hewlett-Packard Development Company, L.P. | Flow control for a Serial Peripheral Interface bus |
US9600431B2 (en) * | 2012-10-22 | 2017-03-21 | Intel Corporation | High performance interconnect physical layer |
US9479196B2 (en) * | 2012-10-22 | 2016-10-25 | Intel Corporation | High performance interconnect link layer |
US9280507B2 (en) * | 2012-10-22 | 2016-03-08 | Intel Corporation | High performance interconnect physical layer |
DE112013005093T5 (de) * | 2012-10-22 | 2015-10-22 | Intel Corporation | Hochleistungszusammenschaltungsbitübertragungsschicht |
CN104956347B (zh) | 2013-02-28 | 2018-05-22 | 英特尔公司 | 将一种互连协议的枚举和/或配置机制用于不同的互连协议 |
US9436244B2 (en) * | 2013-03-15 | 2016-09-06 | Intel Corporation | Adaptive control loop protection for fast and robust recovery from low-power states in high speed serial I/O applications |
KR101985157B1 (ko) * | 2013-12-26 | 2019-05-31 | 인텔 코포레이션 | 멀티칩 패키지 링크 |
US9946676B2 (en) * | 2015-03-26 | 2018-04-17 | Intel Corporation | Multichip package link |
-
2013
- 2013-03-15 DE DE112013005093.5T patent/DE112013005093T5/de active Pending
- 2013-03-15 CN CN201711159546.1A patent/CN108228495B/zh active Active
- 2013-03-15 CN CN201710093224.5A patent/CN107015924B/zh active Active
- 2013-03-15 WO PCT/US2013/032690 patent/WO2014065877A1/en active Application Filing
- 2013-03-15 KR KR1020177018159A patent/KR101985120B1/ko active IP Right Grant
- 2013-03-15 DE DE112013007751.5T patent/DE112013007751B3/de active Active
- 2013-03-15 CN CN201710043763.8A patent/CN107045479B/zh active Active
- 2013-03-15 US US13/976,971 patent/US9378171B2/en active Active
- 2013-03-15 DE DE112013005090.0T patent/DE112013005090T5/de active Pending
- 2013-03-15 CN CN201710038141.6A patent/CN106776364B/zh active Active
- 2013-03-15 CN CN201380049199.0A patent/CN104969207A/zh active Pending
- 2013-03-15 DE DE112013002069.6T patent/DE112013002069B4/de active Active
- 2013-03-15 KR KR1020147033103A patent/KR101847943B1/ko active IP Right Grant
- 2013-03-15 KR KR1020177009525A patent/KR101772037B1/ko active IP Right Grant
- 2013-03-15 KR KR1020167034124A patent/KR101831550B1/ko active Application Filing
- 2013-03-15 US US13/976,960 patent/US9418035B2/en not_active Expired - Fee Related
- 2013-03-15 KR KR1020167035979A patent/KR101815173B1/ko active IP Right Grant
- 2013-03-15 KR KR1020157007208A patent/KR101691756B1/ko active IP Right Grant
- 2013-03-15 KR KR1020157007216A patent/KR101700261B1/ko active IP Right Grant
- 2013-03-15 CN CN201380049062.5A patent/CN104756097B/zh active Active
- 2013-03-15 CN CN201380049203.3A patent/CN104969206B/zh active Active
- 2013-03-15 KR KR1020157007231A patent/KR101696124B1/ko active IP Right Grant
- 2013-03-15 KR KR1020177000400A patent/KR101754890B1/ko active IP Right Grant
- 2013-03-15 KR KR1020177000908A patent/KR101815180B1/ko active IP Right Grant
- 2013-03-15 KR KR1020157007228A patent/KR101686360B1/ko active IP Right Grant
- 2013-03-15 KR KR1020147027189A patent/KR101598746B1/ko active IP Right Grant
- 2013-03-15 WO PCT/US2013/032708 patent/WO2014065879A1/en active Application Filing
- 2013-03-15 DE DE112013005086.2T patent/DE112013005086T5/de active Pending
- 2013-03-15 DE DE112013004094.8T patent/DE112013004094B4/de active Active
- 2013-03-15 CN CN201380016955.XA patent/CN104380269B/zh active Active
- 2013-03-15 US US13/976,954 patent/US20140201463A1/en not_active Abandoned
- 2013-03-15 CN CN201380049066.3A patent/CN104737147B/zh active Active
- 2013-03-15 WO PCT/US2013/032709 patent/WO2014065880A1/en active Application Filing
- 2013-03-15 KR KR1020167034107A patent/KR101755005B1/ko active IP Right Grant
- 2013-03-15 CN CN201380049212.2A patent/CN104769570B/zh active Active
- 2013-03-15 CN CN201810337297.9A patent/CN108614783B/zh active Active
- 2013-03-15 DE DE112013003723.8T patent/DE112013003723B4/de active Active
- 2013-03-15 JP JP2015537687A patent/JP6139689B2/ja active Active
- 2013-03-15 CN CN201380016998.8A patent/CN104335196B/zh active Active
- 2013-03-15 KR KR1020157007221A patent/KR101686359B1/ko active IP Right Grant
- 2013-03-15 KR KR1020177001836A patent/KR101828756B1/ko active IP Right Grant
- 2013-03-15 CN CN201810011011.8A patent/CN108055214B/zh active Active
- 2013-03-15 BR BR112015006432A patent/BR112015006432A2/pt not_active IP Right Cessation
- 2013-03-15 DE DE112013004105.7T patent/DE112013004105T5/de active Pending
- 2013-03-15 CN CN201710043551.XA patent/CN106681938B/zh active Active
- 2013-03-15 WO PCT/US2013/032651 patent/WO2014065875A1/en active Application Filing
- 2013-03-15 WO PCT/US2013/032601 patent/WO2014065873A1/en active Application Filing
- 2013-03-15 KR KR1020177018169A patent/KR101905055B1/ko active IP Right Grant
- 2013-03-15 CN CN201410582176.2A patent/CN104391816B/zh active Active
- 2013-03-15 KR KR1020187004227A patent/KR101861312B1/ko active IP Right Grant
- 2013-03-15 KR KR1020157007232A patent/KR101700545B1/ko active IP Right Grant
- 2013-03-15 CN CN201710038234.9A patent/CN106815151B/zh active Active
- 2013-03-15 CN CN202010633738.7A patent/CN111737167B/zh active Active
- 2013-03-15 WO PCT/US2013/032670 patent/WO2014065876A1/en active Application Filing
- 2013-03-15 WO PCT/US2013/032699 patent/WO2014065878A1/en active Application Filing
- 2013-03-16 WO PCT/US2013/032718 patent/WO2014065881A1/en active Application Filing
- 2013-03-16 KR KR1020157010316A patent/KR101681509B1/ko active IP Right Grant
- 2013-03-16 US US14/437,612 patent/US9753885B2/en active Active
- 2013-03-16 CN CN201380055335.7A patent/CN104737142B/zh active Active
- 2013-03-16 EP EP13848818.4A patent/EP2909728A4/en not_active Withdrawn
- 2013-03-16 EP EP18185062.9A patent/EP3410304B1/en active Active
- 2013-03-27 CN CN201380049075.2A patent/CN104995614B/zh active Active
- 2013-03-27 RU RU2014138917/08A patent/RU2579140C1/ru active
- 2013-03-27 DE DE112013002090.4T patent/DE112013002090T5/de active Pending
- 2013-03-27 KR KR1020147032656A patent/KR101599852B1/ko active IP Right Grant
- 2013-03-27 KR KR1020147027297A patent/KR101615908B1/ko active IP Right Grant
- 2013-03-27 KR KR1020167010386A patent/KR101861452B1/ko active IP Right Grant
- 2013-03-27 WO PCT/US2013/034153 patent/WO2014065882A1/en active Application Filing
- 2013-03-27 RU RU2014145179/08A patent/RU2599971C2/ru active
- 2013-03-27 KR KR1020177000322A patent/KR101815178B1/ko active IP Right Grant
- 2013-03-27 CN CN201810095156.0A patent/CN108132892B/zh active Active
- 2013-03-27 KR KR1020187012101A patent/KR101912074B1/ko active IP Right Grant
- 2013-03-27 CN CN201380017285.3A patent/CN104487958B/zh active Active
- 2013-03-27 CN CN201410751146.XA patent/CN104536933B/zh active Active
- 2013-03-27 CN CN201710067578.2A patent/CN107102960B/zh active Active
- 2013-03-27 KR KR1020157007226A patent/KR101695340B1/ko active IP Right Grant
- 2013-03-27 DE DE112013005104.4T patent/DE112013005104T5/de active Pending
- 2013-03-27 WO PCT/US2013/034188 patent/WO2014065883A1/en active Application Filing
- 2013-03-27 DE DE112013007752.3T patent/DE112013007752B3/de active Active
- 2013-03-27 CN CN201710243776.XA patent/CN107092565B/zh active Active
- 2013-03-27 DE DE201311002880 patent/DE112013002880T5/de active Pending
- 2013-03-28 WO PCT/US2013/034341 patent/WO2014065884A1/en active Application Filing
- 2013-03-28 KR KR1020157007215A patent/KR101642086B1/ko active IP Right Grant
- 2013-03-28 CN CN201711267378.8A patent/CN107968756B/zh active Active
- 2013-03-28 DE DE112013001360.6T patent/DE112013001360B4/de active Active
- 2013-03-28 KR KR1020167019481A patent/KR101689998B1/ko active IP Right Grant
- 2013-03-28 CN CN201380016778.5A patent/CN104303166B/zh active Active
- 2013-03-28 DE DE112013007767.1T patent/DE112013007767B3/de active Active
- 2013-10-22 US US14/060,191 patent/US9626321B2/en active Active
-
2014
- 2014-11-12 US US14/538,897 patent/US20150067207A1/en not_active Abandoned
- 2014-11-26 US US14/554,532 patent/US20150081984A1/en not_active Abandoned
-
2016
- 2016-06-27 US US15/193,697 patent/US9892086B2/en active Active
- 2016-08-15 US US15/237,291 patent/US9916266B2/en active Active
- 2016-12-28 US US15/393,153 patent/US10248591B2/en active Active
- 2016-12-29 US US15/393,577 patent/US20170109286A1/en not_active Abandoned
-
2017
- 2017-04-27 JP JP2017088878A patent/JP6423040B2/ja active Active
- 2017-08-31 US US15/692,613 patent/US10204064B2/en active Active
- 2017-11-22 US US15/821,401 patent/US10216661B2/en active Active
-
2018
- 2018-03-12 US US15/918,895 patent/US10380046B2/en active Active
-
2019
- 2019-02-25 US US16/285,035 patent/US20190391939A1/en not_active Abandoned
- 2019-07-29 US US16/525,454 patent/US10909055B2/en active Active
-
2020
- 2020-07-23 US US16/937,499 patent/US11269793B2/en active Active
- 2020-12-25 US US17/134,242 patent/US11741030B2/en active Active
-
2021
- 2021-12-20 US US17/556,853 patent/US20220114122A1/en active Pending
-
2023
- 2023-07-05 US US18/347,236 patent/US20240012772A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449667B1 (en) * | 1990-10-03 | 2002-09-10 | T. M. Patents, L.P. | Tree network including arrangement for establishing sub-tree having a logical root below the network's physical root |
US6674720B1 (en) * | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
RU2288542C2 (ru) * | 2004-05-21 | 2006-11-27 | Интел Корпорейшн | Способы и устройства для осуществления канала связи переменной разрядности |
US7957428B2 (en) * | 2004-05-21 | 2011-06-07 | Intel Corporation | Methods and apparatuses to effect a variable-width link |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2599971C2 (ru) | Физический уровень высокопроизводительного межсоединения | |
US10795841B2 (en) | High performance interconnect physical layer | |
US11080212B2 (en) | High performance interconnect physical layer |