RU2579140C1 - Физический уровень высокопроизводительного межсоединения - Google Patents

Физический уровень высокопроизводительного межсоединения Download PDF

Info

Publication number
RU2579140C1
RU2579140C1 RU2014138917/08A RU2014138917A RU2579140C1 RU 2579140 C1 RU2579140 C1 RU 2579140C1 RU 2014138917/08 A RU2014138917/08 A RU 2014138917/08A RU 2014138917 A RU2014138917 A RU 2014138917A RU 2579140 C1 RU2579140 C1 RU 2579140C1
Authority
RU
Russia
Prior art keywords
data
state
data channel
logic
sequence
Prior art date
Application number
RU2014138917/08A
Other languages
English (en)
Inventor
Венкатраман АЙЕР
Дэррен С. ДЖУ
Джефф УИЛЛИ
Роберт Дж. БЛЭНКЕНШИП
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Application granted granted Critical
Publication of RU2579140C1 publication Critical patent/RU2579140C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache 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)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/622State-only directory, i.e. not recording identity of sharing or owning nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing 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

Группа изобретений относится к области компьютерной техники и может быть использована для разработки программного обеспечения, включающей координацию взаимозависимых систем с ограничениями. Техническим результатом является увеличение производительности при максимальном сбережении энергии. Устройство содержит синхронизирующий счетчик, предназначенный для локального выравнивания передачи сигналов определенным устройством с передачей сигналов в системе, содержащей одно или несколько других устройств, сопряженных, с возможностью обмена информацией, посредством межсоединения; и многоуровневый стек, содержащий логику физического уровня, логику канального уровня и логику уровня протокола, при этом логика физического уровня по меньшей мере частично выполнена в аппаратном средстве и предназначена для синхронизирования сброса синхронизирующего счетчика с некоторым внешним детерминированным сигналом, глобально поддерживаемым для системы; и синхронизирования с этим детерминированным сигналом вхождения в передающее состояние канала передачи данных на основании синхронизирующего счетчика. 4 н. и 21 з.п. ф-лы, 17 ил., 2 табл.

Description

Область техники, к которой относится изобретение
Настоящее раскрываемое изобретение относится в общем к области компьютерных разработок, а более конкретно - к разработке программного обеспечения, включающей в себя координацию взаимозависимых систем с ограничениями.
Уровень техники
Успехи в обработке полупроводников и логическом проектировании позволили увеличить количество логических схем, которое может находиться на устройствах с интегральными схемами. Как следствие этого, конфигурации компьютерных систем эволюционировали от единственной или множественных интегральных схем в системе до множественных ядер, множественных аппаратных потоков обработки и множественных логических процессоров, находящихся на отдельных интегральных схемах, равно как и других интерфейсах, интегрируемых в пределах таких процессоров. Процессор или интегральная схема обычно содержат один физический кристалл процессора, причем этот кристалл процессора может включать в себя любое количество ядер, аппаратных потоков обработки, логических процессоров, интерфейсов, памяти, концентраторов-контроллеров и так далее.
В результате большей возможности вмещать больше вычислительной мощности в меньших по размеру корпусах, выросла популярность малых вычислительных устройств. Количество смартфонов, планшетных компьютеров, ультратонких ноутбуков и другого пользовательского оборудования росло по экспоненте. Однако эти меньшие по размеру устройства полагаются в отношении как хранения данных, так и сложной обработки данных, которая выходит за рамки возможностей этого форм-фактора, на серверы. Следовательно, спрос на рынке высокопроизводительных вычислений (то есть на серверное пространство) также увеличился. Например, в современных серверах обычно имеется не только одиночный процессор с множественными ядрами, но также и множественные физические процессоры (также именуемые как множественные панельки) для увеличения вычислительной мощности. Но по мере того как вместе с количеством устройств в вычислительной системе растут возможности по обработке данных, все более критически важной становится связь между панельками и другими устройствами.
В сущности, межсоединения проделали путь от более традиционных многоотводных шин, которые главным образом имели дело с электрической связью, до архитектур межсоединения, в их полном расцвете, которые облегчают быстрый обмен данными. К сожалению, поскольку от будущих процессоров требуется потреблять данные с еще более высокими скоростями, то соответствующее требование предъявляется и к возможностям существующих архитектур межсоединений.
Краткое описание чертежей
На фиг. 1 проиллюстрирована упрощенная структурная схема системы, включающая в себя двухточечное межсоединение последовательной передачи данных, подсоединяющее устройства ввода-вывода в вычислительной системе в соответствии с одним вариантом реализации изобретения.
На фиг. 2 проиллюстрирована упрощенная блок-схема многоуровневого стека протоколов, соответствующего одному варианту реализации изобретения.
На фиг. 3 проиллюстрирован вариант реализации описателя транзакции.
На фиг. 4 проиллюстрирован вариант реализации двухточечного канала последовательной передачи данных.
На фиг. 5 проиллюстрированы варианты реализации возможных конфигураций системы высокопроизводительных межсоединений (HΡΙ-межсоединений).
На фиг. 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), в таком случае сопрягаются с концентратором-контроллером (ЮН) межсоединения. Модули ввода-вывода (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а) и (605b). Канальный уровень (610а, b) может отделить физический уровень (605а, b) от верхних уровней и предоставляет возможность надежно передавать данные (равно как и запросы) и администрировать управлением потоками данных между двумя напрямую связанными объектами. Канальный уровень может также быть ответственным за виртуализацию физического канала передачи данных во множественные виртуальные каналы и классы сообщений. Уровень (620а, b) протокола полагается на канальный уровень (610а, b) в том, чтобы отображать сообщения протокола на соответствующие классы сообщений и виртуальные каналы перед передачей их на физический уровень (605а, b) для передачи по физическим каналам передачи данных. Канальный уровень (610а, b) может поддерживать множественные сообщения, такие как, среди других примеров, запрос, "прослушивание", ответ, обратная запись, некогерентных данных.
Физический уровень (605а, b) (или ΡΗΥ-уровень) ΗΡΙ-межсоединения может быть реализован выше электрического уровня (то есть электрических проводов, соединяющих два компонента) и ниже канального уровня (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 интервалов расфазировки. Действия приемника могут включать в себя фиксацию времени задержки. Действия приемника, в одном варианте реализации изобретения, могут быть завершены при успешном выравнивании действующей карты путей передачи данных. Успешное установление связи может быть достигнуто, в одном примере, тогда, когда некоторое количество следующих друг за другом заголовков обучающих последовательностей приняты с подтверждениями, и некоторое количество обучающих последовательностей с подтверждением переданы после того, как приемник завершил свои действия.
Состояние ширины канала передачи данных: агент поддерживает связь с окончательной картой путей передачи данных, ведущей к удаленному передатчику. Приемник принимает информацию и декодирует ее. Приемник может записать сконфигурированную карту путем передачи данных в структуру после контрольной точки предшествующего значения карты путей передачи данных во второй структуре. Приемник может также ответить подтверждением ("ACK"). Может инициировать внутриполосный сброс. В качестве одного примера, первое состояние внутриполосного сброса. В одном варианте реализации изобретения, выход в следующее состояние, такое как состояние конфигурации флита, выполняется в ответ на это подтверждение. Кроме того, перед входом в состояние с низким энергопотреблением, если частота появления сигнала обнаружения пробуждения падает ниже некоторого указанного значения (например, 1 на каждое количество единичных интервалов (UI-интервалов), такое как 4 тысячи единичных интервалов), то также может быть сгенерирован сигнал сброса. Приемник может сохранять текущую и предшествующую карту путей передачи данных. Передатчик может использовать различные группы путей передачи данных, основываясь на обучающих последовательностях, имеющих различные значения. Карта путей передачи данных, может, в некоторых вариантах реализации изобретения, не изменять некоторые регистры состояния.
Состояние конфигурации фиксации флита: вхождение в него осуществляется передатчиком, но это состояние считается покинутым (то есть, режим вторичного времени ожидания), когда как передатчик, так и приемник осуществили выход в состояние блокирования канала передачи данных или другое состояние канала передачи данных. Выход передатчика в состояние канала передачи данных, в одном варианте реализации изобретения, включает в себя границу начала последовательности данных (SDS) и обучающей последовательности (TS-последовательности) после получения сигнала планетарного выравнивания. При этом выход приемника может основываться на приеме SDS от удаленного передатчика. Это состояние может быть мостом от агента к состоянию канала передачи данных. Приемник идентифицирует SDS. Приемник может осуществить выход в состояния блокирования канала передачи данных (BLS-состояние) (или окно управления), если SDS принято после того, как инициализирован дескремблер. Если имеет место время ожидания, то выход может быть в состояние сброса. Передатчик управляет путями передачи данных посредством сигнала конфигурации. Выход передатчика может быть выполнен в сброс, BLS-состояние или другие состояния, основываясь на условиях или временах ожидания.
Передающее состояние канала передачи данных: состояние канала передачи данных. Флиты отправляются удаленному агенту. Может быть введено из состояния блокирования канала передачи данных и возвращается в состояние блокирования канала передачи данных при некотором событии, таком как время ожидания. Передатчик передает флиты. Приемник принимает флиты. Также может осуществляться выход в состояние канала передачи данных, имеющее низкое энергопотребление. В некоторых вариантах осуществления изобретения, передающее состояние канала передачи данных (TLS-состояние) может упоминаться как состояние L0.
Состояние блокирования канала передачи данных: состояние канала передачи данных. Передатчик и приемник работают объединенным образом. Может представлять собой синхронизированное состояние, в течение которого флиты канального уровня удерживаются, в то время как информация физического уровня передается удаленному агенту. Может осуществляться выход в состояние канала передачи данных, имеющее низкое энергопотребление (или другое состояние канала передачи данных, основанное на конструкции). Состояние блокирования канала передачи данных (BLS-состояние), в одном варианте реализации изобретения, имеет место периодически. Этот период именуется как интервал BLS-состояния и может быть синхронизирован, равно как и может различаться между медленной скоростью и рабочей скоростью. Отметим, что канальный уровень может периодически быть блокирован от отправки флитов, так чтобы могла быть отправлена управляющая последовательность физического уровня, имеющая некоторую длину, такая как в течение передающего состояния канала передачи данных или передающего состояния канала передачи данных, имеющего частичную ширину. В некоторых вариантах осуществления изобретения, состояние блокирования канала передачи данных (BLS-состояние) может упоминаться как состояние L0-управления, или состояние L0c.
Состояние канала передачи данных, имеющее частичную ширину: состояние канала передачи данных. Может сберегать энергию благодаря вхождению в состояние с частичной шириной. В одном варианте реализации изобретения асимметричная частичная ширина относится к каждому направлению двунаправленного канала передачи данных, имеющего различные ширины, которые могут поддерживаться в некоторых конструкциях. Пример инициатора, такого как передатчик, отправляющего указание частичной ширины, для вхождения в состояние канала передачи данных, имеющее частичную ширину, показан в примере, приведенном на фиг. 14. При этом указание частичной ширины отправляют, передавая по каналу передачи данных, имеющему первую ширину, для перехода этого канала передачи данных к передаче со второй, новой шириной. Несоответствие может привести к сбросу. Отметим, что скорости не могут быть изменены, но ширина может. Следовательно, флиты потенциально отправляются с различными ширинами. Может быть логически аналогичным передающему состоянию канала передачи данных; и все же, поскольку ширина меньше, то может потребоваться большее время для передачи флитов. Может осуществляться выход в другие состояния канала передачи данных, такие как состояние канала передачи данных, имеющее низкое энергопотребление, - на основе некоторых принятых и отправленных сообщений, или выход из передающего состояния канала передачи данных, имеющего частичную ширину, или из состояния блокирования канала передачи данных, основанный на других событиях. В одном варианте реализации изобретения, передающий порт может выключать бездействующие пути передачи данных в шахматном порядке для того, чтобы обеспечить лучшую целостность сигнала (то есть уменьшение шума). При этом, во время периодов, в которые изменяется ширина канала передачи данных, может использоваться флиты, способные не подвергаться повторной передаче, такие как нулевые флиты. Соответствующий приемник может отбрасывать эти нулевые флиты и выключать бездействующие пути передачи данных в шахматном порядке, так же как и записывать в одну или несколько структур текущую и предшествующую карту путей передачи данных. Отметим, что состояние и связанный с ним регистр состояния могут оставаться неизменными. В некоторых вариантах осуществления изобретения передающее состояние канала передачи данных, имеющее частичную ширину, может упоминаться как частичное состояние L0 или состояние L0p.
Состояние выхода из передающего состояния канала передачи данных, имеющего частичную ширину: выход из состояния с частичной шириной. В некоторых вариантах осуществления изобретения может использовать или может не использовать состояние блокирования канала передачи данных. Передатчик инициирует выход, в одном варианте реализации изобретения, отправляя комбинации выхода из состояния с частичной шириной по бездействующим путям передачи данных для того, чтобы осуществить "обучение" и выравнивание для этих путей. В качестве одного примера, комбинация выхода начинается с EIEOS набора, который обнаруживают и освобождают от дребезжания, для сигнализирования о том, что путь передачи данных готов начать вхождение в полное передающее состояние канала передачи данных, и может заканчиваться сигналом SDS или быстрой обучающей последовательностью (FTS-последовательностью) на бездействующих путях передачи данных. Любой сбой во время последовательности выхода (действия приемника, такие как выравнивание, не завершенные до времени ожидания) останавливают передачу флитов канальному уровню, и заявляют сброс, который обрабатывается посредством осуществления сброса канала передачи данных при следующем возникновении состояния блокирования канала передачи данных. SDS может также задавать скремблеру/дескремблеру на путях передачи данных надлежащие значения.
Состояние канала передачи данных, имеющее низкое энергопотребление: является состоянием с низким энергопотреблением. В одном варианте реализации изобретения, оно имеет более низкое энергопотребление, чем состояние канала передачи данных, имеющее частичную ширину, поскольку передача сигналов в этом варианте реализации изобретения прекращается на всех путях передачи данных и в обоих направлениях. Для запроса состояния канала передачи данных, имеющего низкое энергопотребление, передатчики могут использовать состояние блокирования канала передачи данных. При этом, приемник может декодировать запрос и ответить подтверждением (ACK) или отрицательным квитированием (NAK); в ином случае может быть запущен сброс. В некоторых вариантах осуществления изобретения, состояние канала передачи данных, имеющее низкое энергопотребление, может упоминаться как состояние L1.
В некоторых вариантах осуществления изобретения, переходы из одного состояния в другое состояние могут быть облегчены таким образом, чтобы позволить обходить состояния, например, в случае, когда действия состояний, осуществляемые в этих состояниях, такие как некоторые калибровки и конфигурирования, были уже выполнены. Результаты и конфигурации предшествующего состояния канала передачи данных могут быть сохранены и повторно использоваться в последующих инициализациях и конфигурациях канала передачи данных. Вместо того, чтобы повторять такие конфигурации и действия состояний, соответствующие состояния можно обойти. Однако, традиционные системы, осуществляющие обходы состояний, часто воплощают сложные конструкции и дорогие переходы с оценкой. Вместо того, чтобы использовать традиционный обход, в одном примере, HPI-межсоединение может использовать короткие таймеры в некоторых состояниях, таких как те, в которых действия состояния не должны повторяться. Это, среди других потенциальных преимуществ, может потенциально сделать возможным более однородные и синхронизированные переходы конечного автомата.
В одном примере, контроллер, основанный на программном обеспечении, (например, через внешнюю точку управления для физического уровня) может сделать возможным короткий таймер для одного или более конкретных состояний. Например, для состояния, для которого действия были уже выполнены и сохранены, состояние может быть сокращено во времени для того, чтобы облегчить быстрый выход из этого состояния в следующее состояние. Однако если действие предшествующего состояния не удалось или не может быть применено в пределах короткой продолжительности таймера, то может быть выполнен выход из состояния. Далее, контроллер может блокировать короткий таймер, например, когда действия состояния должны быть выполнены снова. Длинный, или задаваемый по умолчанию, таймер может быть установлен для каждого соответствующего состояния. Если конфигурационные действия в состоянии не могут быть завершены в пределах длинного таймера, то может произойти выход из состояния. Длинный таймер может быть установлен на некоторую разумную продолжительность для того, чтобы позволить завершение действий состояния. В противоположность этому, короткий таймер может быть значительно более коротким, что в некоторых случаях, делает невозможным выполнение действий состояния без повторного обращения, среди других примеров, к ранее выполненным действиям состояния.
В некоторых вариантах осуществления HPI-межсоединения, могут быть определены надпоследовательности, причем каждая надпоследовательность соответствует соответствующему состоянию или входу в соответствующее состояние / выходу из него. Надпоследовательность может включать в себя повторяющуюся последовательность наборов данных и символов. Эти последовательности в некоторых случаях могут повторяться, среди других примеров, до завершения состояния или перехода из одного состояния в другое состояние, или сообщения о соответствующем событии. В некоторых случаях, повторяющаяся последовательность надпоследовательности может повторяться в соответствии с некоторой определенной частотой, такой как определенное количество единичных интервалов (UI-интервалов). Единичный интервал (UI) может соответствовать интервалу времени для передачи одного бита по пути передачи данных в канале передачи данных или системе. В некоторых вариантах осуществления изобретения, повторяющаяся последовательность может начинаться с электрически упорядоченного набора (EOS-набора). Соответственно, можно ожидать, что экземпляр EOS-набора будет повторяться в соответствии с некоторой предварительно заданной частотой. Такие упорядоченные наборы могут быть реализованы, среди других примеров, как определенные 16-байтовые коды, которые могут быть представлены в шестнадцатеричном формате. В одном примере, EOS-набор надпоследовательности может представлять собой электрический упорядоченный набор простоя (или EIEIOS-набор). В одном примере, EIEOS-набор может напоминать низкочастотный синхронизирующий сигнал (например, предварительно заданное количество повторения шестнадцатеричных символов FF00 или FFF000 и так далее). За EOS-набором может следовать некоторый предварительно заданный набор данных, такой как некоторое предварительно заданное количества обучающих последовательностей или других данных. Такие надпоследовательности могут быть использованы, среди других примеров, при переходах из одного состояния в другое состояние, включающих в себя переходы из одного состояния в другое состояние канала передачи данных, так же как и при инициализации.
Как было представлено выше, инициализация, в одном варианте реализации изобретения, может быть выполнена первоначально на медленной скорости, вслед за чем следует инициализация на быстрой скорости. Инициализация на медленной скорости использует для регистров и таймеров значения "по умолчанию". После этого программные средства используют канал передачи данных на медленной скорости для настройки регистров, таймеров и электрических параметров и очищают калибровочные семафоры для того, чтобы проложить путь для инициализации на быстрой скорости. В качестве одного примера, инициализация может состоять из таких состояний или задач, как сброс, обнаружение, опрос и конфигурирования, среди потенциально других состояний или задач.
В одном примере, блокирующая управляющая последовательность канального уровня (то есть, состояние блокирования канала передачи данных (BLS-состояние) или состояние L0c) может включать в себя синхронизированное состояние, в течение которого флиты канального уровня, удерживаются, в то время как информация PHY-уровня передается удаленному агенту. При этом передатчик и приемник могут запустить таймер управляющей последовательности блокирования. И после истечения времени таймеров, передатчик и приемник могут выйти из состояния блокирования и могут предпринять другие действия, такие как выход в сброс, выход в другие состояния канала передачи данных (или другое состояние), включающие в себя состояния, которые позволяют отправку флита по этому каналу передачи данных.
В одном варианте реализации изобретения, может быть обеспечено "обучение" канала передачи данных и оно может включать в себя отправку одного или больше скремблированных обучающих последовательностей, упорядоченных наборов и управляющих последовательностей, таких как в связи с определенной надпоследовательностью. Символ обучающей последовательности может включать в себя одно или более из числа: заголовка, зарезервированных участков, целевого времени задержки, номера пары, код карты физических путей передачи данных опорный путь передачи данных или группа путей передачи данных, и состояния инициализации. В одном варианте реализации изобретения, заголовок, среди других примеров, может быть отправлен с подтверждением или отрицательным квитированием. В качестве примера, обучающие последовательности могут быть отправлены как часть надпоследовательностей и могут быть скремблированы.
В одном варианте реализации изобретения, упорядоченные наборы и управляющие последовательности не скремблируются или сдвигаются и передаются одинаковым образом, одновременно и полностью по всем путям передачи данных. Правильный прием упорядоченного набора может включать в себя проверку по меньшей мере части упорядоченного набора (или всего упорядоченного набора для частичных упорядоченных наборов). Упорядоченные наборы могут включать в себя электрически упорядоченный набор (EOS-набор), такой как электрический упорядоченный набор простоя (EIOS-набор) или EBEOS-набор. Надпоследовательность может включать в себя начало последовательности данных (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-набором, или EEEOS-набор не повторяется в пределах конкретного одной из предварительно заданных частот одной из предварительно заданных надпоследовательностей, то логический анализатор приемника может признать неудачной проверку принятого 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 путей передачи данных. Отметим также, что примеры, приведенные выше, предназначены для целей иллюстрации. Флиты потенциально могут быть определены таким образом, чтобы иметь любую ширину. Каналы передачи данных потенциально могут также иметь любую ширину канала передачи данных. Кроме того, схема смешивания в системе может быть сконструирована гибко в соответствии с форматами и полями флита, предпочтительными ширинами пути передачи данных в системе, среди других соображений и примеров.
Функционирование ΡΗΥ (физического) логического уровня HPI-межсоединения может быть независимым от лежащих в ее основе передающих сред при том условии, что, среди других соображений, время задержки не приводит в результате к ошибкам фиксирования времени задержки или временам ожидания на канальном уровне.
Для содействия в администрировании физическим уровнем, в ΗΡΙ межсоединении могут быть предусмотрены внешние интерфейсы. Например, могут быть предусмотрены внешние сигналы (от контактных штырьков, предохранителей, других уровней), таймеры, регистры управления и состояния. Входные сигналы могут изменяться в любое время относительно PHY-состояния (состояния физического уровня), но должны соблюдаться физическим уровнем в специальных точках в соответствующем состоянии. Например, среди других примеров, изменяющийся сигнал выравнивания (как представлено ниже) может быть принят, но не оказывать никакого действия после того, как канал передачи данных вошел в передающее состояние канала передачи данных. Аналогичным образом, значения регистра команд могут соблюдаться объектами физического уровня только в специальных точках во времени. Например, логика физического уровня может сделать моментальный "снимок" этого значения и использовать его в последующих операциях. Следовательно, в некоторых вариантах осуществления изобретения, во избежание аномального поведения обновления в регистры команд, могут быть связанны с ограниченным подмножеством специальных периодов (например, в передающем состоянии канала передачи данных или при удержании в калибровке сброса, в передающем состоянии канала передачи данных, осуществляемом в медленном режиме).
Поскольку значений состояния отслеживают изменения аппаратных средств, то эти значения могут зависеть от того когда они считаны. Однако некоторые значения состояния, такие как карта каналов передачи данных, время задержки, скорости и так далее, могут не изменяться после инициализации. Например, повторная инициализация (или выход из состояния канала передачи данных, имеющего низкое энергопотребление (LPLS-состояния), или состояния L1) представляет собой единственное, что может заставить их измениться (например, среди других примеров, серьезный отказ пути передачи данных в TLS-состоянии может не привести в результате к реконфигурированию канала передачи данных до тех пор, пока не будет запущена повторная инициализация).
Сигналы интерфейса могут включать в себя сигналы, которые являются внешними по отношению к физическому уровню, но воздействуют на его поведение. Такие сигналы интерфейса могут включать в себя, в качестве примера, сигналы кодирования и синхронизации. Сигналы интерфейса могут быть специфическими для конструкции. Эти сигналы могут быть вводом или выводом. Некоторые сигналы интерфейса, такие как названные семафоры и снабженные префиксом ЕО, среди других примеров, могут быть активными один раз по фронту установки уровня сигнала, то есть, для того, чтобы снова оказать воздействие, они могут быть отменены и затем вновь установлены. Например, таблица 1 включает в себя перечень приводимых в качестве примера функций:
Таблица 1
Функция
ввод сброса от штекера (также известен как "теплый" сброс)
ввод сброса от штекера (также известен как "холодный" сброс)
ввод импульса внутриполосного сброса; заставляет семафор установиться; семафор очищается, когда происходит внутриполосный сброс
ввод делает возможным состояния с пониженным энергопотреблением
ввод параметров кольцевой проверки; применяется для комбинации кольцевой проверки
ввод для вхождения в PWLTS-состояние
ввод для выхода из PWLTS-состояния
ввод для вхождения в LPLS-состояние
ввод для выхода из LPLS-состояния
ввод от обнаружения выхода из простоя (также известный как прерывание бесшумной настройки)
ввод разрешает использование CPhylnitBegin
ввод от локального или планетарного выравнивания для передатчика, чтобы выйти из инициализации
вывод при отрицательном квитировании удаленным агентом запроса LPLS-состояния
вывод при вхождении агента в LPLS-состояние
вывод на канальный уровень для вызова флитов, способных не подвергаться повторной передаче
вывод на канальный уровень для вызова нулевых флитов
вывод при нахождении передатчика в передающем состоянии канала передачи данных, имеющем частичную ширину (PWLTS-состоянии)
вывод при нахождении приемника в PWLTS-состоянии
Значения "по умолчанию" таймера CSR могут предоставляться в парах - одно для медленного режима и одно для рабочей скорости. В некоторых случаях, значение 0 блокирует таймер (то есть, время ожидания никогда не наступает). Таймеры могут включить в себя те, что показаны в таблице 2, приводимой ниже. Первичные таймеры могут быть использованы для хронирования ожидаемых действий в состоянии. Вторичные таймеры используются для прекращения инициализаций, которые не движутся дальше, или для выполнения направленных вперед переходов из одного состояния в другое состояние в точные моменты времени в режиме автоматического испытательного оборудования (или АТЕ-оборудования). В некоторых случаях, вторичные таймеры могут быть намного большими чем первичные таймеры в состоянии. Наборы экспоненциальных таймеров могут быть снабжены суффиксом ехр, и значение таймера возводится в степень 2 для полевого значения. Для линейных таймеров значение таймера и является полевым значением. Любой из этих двух таймеров мог бы использовать различную гранулярность. В дополнение к этому, некоторые таймеры в секции администрирования энергопотребления могут быть в наборе, называемом "временной профиль". Они могут быть связаны с временной диаграммой того же самого названия.
Figure 00000001
Могут быть предусмотрены регистры команд и управления. Регистры команд могут быть запаздывающего действия и могут считываться или записываться программными средствами в некоторых случаях. Значения запаздывающего действия могут вступать в силу (например, передаваться со стадии, обращенной к программным средствам, на стадию, обращенную к аппаратным средствам), непрерывно во время Сброса. Управляющие семафоры (снабженные префиксом CP) являются RW1S и могут быть очищены аппаратными средствами. Регистры управления могут быть использованы для выполнения любого из описанных здесь пунктов. Их изменение и доступ к ним могут осуществлять аппаратные средства, программные средства, программно-аппаратные средства или их сочетание.
Для отслеживания изменений аппаратных средств (записываемых и используемых аппаратными средствами) могут быть предусмотрены регистры состояния, и они могут быть предназначены только для чтения (но отладочные программные средства может быть также способны и осуществлять запись на них). Такие регистры, могут не оказывать влияния на функциональную совместимость и могут обычно дополняться со многими частными регистрами состояния. Семафоры состояния (снабженные префиксом SP) могут быть обязательными, поскольку они могут очищаться программными средствами для того, чтобы повторно выполнять действия, которые задают состояние. Начальные (при сбросе) значения средств по умолчанию могут быть предоставлены как подмножество этих битов состояния, относящихся к инициализации. При аварийном прекращении инициализации этот регистр может быть скопирован в запоминающую структуру.
Могут быть предусмотрены регистры инструментария. Например, регистры инструментария тестируемости, имеющиеся на физическом уровне, могут обеспечивать генерацию тестовых кодов, проверку тестовых кодов и механизмы управления кольцевой проверкой. Приложения верхнего уровня могут использовать эти регистры наряду с электрическими параметрами для определения пределов рабочего режима. Например, встроенное в тест межсоединение может использовать этот инструментарий для того, чтобы определять пределы рабочего режима. Для адаптации передатчика эти регистры могут использоваться совместно со специальными регистрами, описанными, среди других примеров, в предшествующих секциях.
В некоторых вариантах осуществления изобретения, HPI-межсоединение поддерживает такие характеристики как надежность, готовность, удобство обслуживания (RAS-характеристика), использующие физический уровень. В одном варианте реализации изобретения, HPI-межсоединение поддерживает подключение и отключение устройств без выключения системы, на одном или более уровнях, которые могут включать в себя программные средства. Отключение устройств без выключения системы может включать в себя "замораживание" канала передачи данных, и состояние/сигнал начала инициализация могут быть очищены для агента, подлежащего отключению. Удаленный агент (то есть, агент, который не удаляется (например, агент-хозяин)) может собираться установлен на медленную скорость, и сигнал его инициализации также может быть очищен. Внутриполосный сброс (например, через BLS-состояние) может, среди других примеров и признаков, заставить обоих агентов ждать в состоянии сброса, таком как калибровочное состояния сброса (CRS-состояние); и агент, подлежащий отключению, может быть отключен (или может удерживаться в целевом состоянии сброса от штекера, с выключенным электропитанием). На самом деле, некоторые из вышеупомянутых событий могут быть опущены, а дополнительные события могут быть добавлены.
Добавление устройства без выключения системы может включать в себя то, что скорость инициализации может по умолчанию быть установлена на медленную, и может быть установлен сигнал инициализации на агенте, подлежащем добавлению. Программные средства могут установить скорость на медленную и могут очистить сигнал инициализации на удаленном агенте. Канал передачи данных может начать работу в медленном режиме, и программные средства могут определить рабочую скорость. В некоторых случаях, в этой точке выполняется перезахват фазовой автоподстройки частоты на удаленном агенте. На обоих агентах может быть установлена рабочая скорость, и может быть установлено разрешение на адаптацию (если это не было сделано ранее). Указатель начала инициализация может быть очищен на обоих агентах, и внутриполосный сброс в BLS-состоянии может заставить обоих агентов ждать в CRS-состоянии. Программные средства могут объявить "теплый" сброс (например, целевой или самосброс) агента (подлежащего добавлению), что может вызвать перезахват фазовой автоподстройки частоты. Программные средства могут также зада сигнал начала инициализации посредством любой известной логики и далее установить его на удаленном агенте (таким образом, продвигая его в состояние обнаружения приемника (RDS-состояние)). Программные средства могут отменить "теплый" сброс добавляющегося агента (таким образом, продвигая его в RDS-состояние). Канал передачи данных может затем осуществить, среди других примеров, инициализацию на рабочей скорости, переходя в передающее состояние канала передачи данных (TLS-состояние) (или к кольцевой проверке, если установлен сигнал адаптации). На самом деле, некоторые из вышеупомянутых событий могут быть опущены, а дополнительные события могут быть добавлены.
Может поддерживаться восстановление при отказе пути передачи данных. Канал передачи данных в HPI-межсоединении, в одном варианте реализации изобретения, может быть упругим по отношению к систематической ошибке на одном пути передачи данных, конфигурируя себя до менее чем полной ширины (например, меньше чем половина полной ширины), что может, таким образом, исключить дефектный путь передачи данных. В качестве примера, эта конфигурация может быть выполнена конечным автоматом канала передачи данных, и неиспользуемые пути передачи данных могут быть выключены в состоянии конфигурирования. В результате этого, среди других примеров, флит может быть отправлен по более узкой ширине.
В некоторых вариантах осуществления HPI-межсоединения, на некоторых каналах передачи данных может поддерживаться реверсирование путей передачи данных. Реверсирование путей передачи данных может относиться, например, к путям (0/1/2…) передачи данных, относящимся к передатчику, соединенных с путями (n/n-1/n-2…) передачи данных, относящимися к приемнику (например η может равняться 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 Ν), каждая на сопряжении между 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, г. Редмонд, Вашингтон, хотя могут также использоваться и другие операционные системы (например, UNK и 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-P) интерфейсы (1676) и (1678); аналогичным образом второй процессор (1680) включает в себя интерфейсы (P-P) (1686) и (1688). Процессоры (1670), (1680) могут обмениваться информацией через двухточечный (P-P) интерфейс (1650) с использованием схем (1678), (1688) интерфейса (P-P). Как показано на фиг. 16, ГМС-контроллеры (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-уровня из некоторого пятого состояния в некоторое шестое состояние, основываясь на событии первичного таймера в сочетании с событием вторичного таймера.
Ссылка повсюду в этом описании на "один вариант реализации изобретения" или "вариант реализации изобретения" означает, что некоторый конкретный признак, структура или характеристика, описанная в связи с этим вариантом реализации изобретения, включены в состав, по меньшей мере, одного варианта реализации настоящего изобретения. Таким образом, появления фраз "в одном варианте реализации" или "в варианте реализации" в различных местах повсюду в этом описании не обязательно все относятся к одному и тому же варианту реализации изобретения. Кроме того, конкретные признаки, структуры или характеристики могут быть объединены любым подходящим образом в одном или более вариантах реализации изобретения.
В вышеприведенном описании было дано детализированное описание в отношении конкретных приводимых в качестве примера вариантов реализации изобретения. Однако должно быть очевидно, что в нем могут быть сделаны различные модификации и изменения, но не выходящие за рамки более широких сущности и объема изобретения, которые сформулированы в прилагаемой формуле изобретения. Описание и чертежи должны, соответственно, рассматриваться в иллюстративном смысле, а не в ограничительном смысле. Кроме того, вышеупомянутое использование выражения "вариант реализации изобретения" и других иллюстративных языковых средств не обязательно относится к одному и тому же самому варианту реализации изобретения или одному и тому же примеру, но может относиться к различным и несовпадающим вариантам реализации изобретения, так же как потенциально и к одному и тому же варианту реализации изобретения.

Claims (25)

1. Электронное передающее устройство высокопроизводительного межсоединения, содержащее:
синхронизирующий счетчик, предназначенный для локального выравнивания передачи сигналов определенным устройством с передачей сигналов в системе, содержащей одно или несколько других устройств, сопряженных с возможностью обмена информацией, посредством межсоединения; и
многоуровневый стек, содержащий логику физического уровня, логику канального уровня и логику уровня протокола, при этом логика физического уровня по меньшей мере частично выполнена в аппаратном средстве и предназначена для:
синхронизирования сброса синхронизирующего счетчика с некоторым внешним детерминированным сигналом, глобально поддерживаемым для системы; и
синхронизирования с этим детерминированным сигналом вхождения в передающее состояние канала передачи данных на основании синхронизирующего счетчика.
2. Устройство по п. 1, в котором логика физического уровня дополнительно предназначена для инициализирования канала передачи данных, используя одну или более надпоследовательностей.
3. Устройство по п. 2, в котором вхождение в передающее состояние канала передачи данных должно совпасть с началом последовательности данных (SDS), отправленным для окончания инициализации канала передачи данных.
4. Устройство по п. 3, в котором SDS должно быть отправлено в соответствии с детерминированным сигналом на основании синхронизирующего счетчика.
5. Устройство по п. 4, в котором каждая надпоследовательность содержит соответствующую повторяющуюся последовательность, включающую в себя электрический упорядоченный набор выхода из простоя и соответствующее количество обучающих последовательностей, и SDS должно прерывать надпоследовательности.
6. Устройство по п. 2, в котором надпоследовательности, каждая, содержат соответствующую повторяющуюся последовательность, включающую в себя по меньшей мере один электрический упорядоченный набор выхода из простоя (EIEOS-набор) и соответствующее количество обучающих последовательностей.
7. Устройство по п. 6, в котором EIEOS-набор надпоследовательности должен быть отправлен таким образом, чтобы совпасть с подсчетом синхронизирующего счетчика.
8. Устройство по п. 7, в котором логика физического уровня дополнительно предназначена для синхронизирования с некоторым детерминированным интервалом, основываясь на принятом EIEOS-наборе.
9. Устройство по п. 8, в котором синхронизация с детерминированным интервалом, основанная на принятом EIEOS-наборе, включает в себя идентификацию границы конца принятого EIEOS-набора, и эта граница конца должна быть использована для синхронизации по меньшей мере одного из вхождений в передающее состояние канала передачи данных.
10. Устройство по п. 9, в котором эта граница конца должна быть использована для синхронизации выхода из передающего состояния канала передачи данных, имеющего частичную ширину.
11. Устройство по п. 2, в котором логика физического уровня дополнительно предназначена для генерирования некоторой конкретной надпоследовательности и отправки этой конкретной надпоследовательности таким образом, чтобы она была синхронизирована с детерминированным сигналом на основании синхронизирующего счетчика.
12. Устройство по п. 1, в котором логика физического уровня предназначена для указания некоторого целевого времени задержки удаленному агенту, при этом удаленный агент выполнен с возможностью использования этого целевого времени задержки для того, чтобы применить некоторое запаздывание для приведения фактического времени задержки в соответствие с этим целевым времени задержки, и это целевое время задержки должно быть сообщено в полезных данных обучающей последовательности.
13. Устройство по п. 1, в котором детерминированный сигнал содержит электрический упорядоченный набор, полученный от другого устройства, настроенный на точку планетарного выравнивания системы.
14. Устройство по п. 1, в котором логика физического уровня дополнительно предназначена для синхронизирования периодического окна управления, встроенного в поток данных канального уровня, отправляемый по каналу передачи данных, с детерминированным сигналом, при этом окно управления сконфигурировано для обмена информацией физического уровня во время передающего состояния канала передачи данных.
15. Устройство по п. 14, в котором эта информация физического уровня включает в себя информацию для использования при инициировании переходов из одного состояния в другое состояние в канале передачи данных.
16. Устройство по п. 14, в котором окна управления встраиваются в соответствии с определенным интервалом управления, и этот интервал управления основан по меньшей мере частично на детерминированном сигнале.
17. Способ высокопроизводительного межсоединения, содержащий этапы, на которых:
синхронизируют сброс синхронизирующего счетчика определенного устройства с некоторым внешним детерминированным сигналом для локального выравнивания передачи сигналов определенным устройством с передачей сигналов в системе, содержащей одно или несколько других устройств, сопряженных, с возможностью обмена информацией, посредством межсоединения;
инициализируют канал передачи данных, используя одну или более надпоследовательностей; и
синхронизируют с этим детерминированным сигналом вхождение в передающее состояние канала передачи данных на основании синхронизирующего счетчика, при этом вхождение в передающее состояние канала передачи данных должно происходить вслед за инициализацией линии передачи данных.
18. Способ по п. 17, дополнительно содержащий этап, на котором отправляют надпоследовательности удаленному агенту, соединенному с этим каналом передачи данных, во время инициализации канала передачи данных, и по меньшей мере один элемент надпоследовательности должен быть синхронизирован с детерминированным сигналом на основании синхронизирующего счетчика.
19. Способ по п. 18, в котором этот элемент содержит EIEOS-набор.
20. Способ по п. 19, в котором каждая надпоследовательность содержит соответствующую повторяющуюся последовательность, включающую в себя по меньшей мере EIEOS-набор и соответствующее количество обучающих последовательностей.
21. Способ по п. 17, дополнительно содержащий этап, на котором отправляют поток флитов канального уровня в передающем состоянии канала передачи данных.
22. Способ по п. 21, дополнительно содержащий этап, на котором синхронизируют периодическое окно управления, подлежащее встраиванию в этот поток, с детерминированным сигналом на основании синхронизирующего счетчика, при этом окно управления сконфигурировано для обмена информацией физического уровня во время передающего состояния канала передачи данных.
23. Способ по п. 17, дополнительно содержащий этап, на котором отправляют информацию о запаздывании удаленному агенту, соединенному с этим каналом передачи данных, при этом запаздывание соответствует детерминированному сигналу.
24. Аппарат высокопроизводительного межсоединения, содержащий средства для выполнения способа по любому из пп. 17-23.
25. Аппарат высокопроизводительного межсоединения, содержащий логику, по меньшей мере часть которой является аппаратной логикой, причем логика предназначена для выполнения способа по любому из пп. 17-23.
RU2014138917/08A 2012-10-22 2013-03-27 Физический уровень высокопроизводительного межсоединения RU2579140C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22
PCT/US2013/034153 WO2014065882A1 (en) 2012-10-22 2013-03-27 High performance interconnect physical layer

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2014145179/08A Division RU2599971C2 (ru) 2012-10-22 2013-03-27 Физический уровень высокопроизводительного межсоединения

Publications (1)

Publication Number Publication Date
RU2579140C1 true RU2579140C1 (ru) 2016-03-27

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 After (1)

Application Number Title Priority Date Filing Date
RU2014145179/08A RU2599971C2 (ru) 2012-10-22 2013-03-27 Физический уровень высокопроизводительного межсоединения

Country Status (9)

Country Link
US (20) US20140201463A1 (ru)
EP (2) EP3410304B1 (ru)
JP (2) JP6139689B2 (ru)
KR (27) KR101700261B1 (ru)
CN (26) CN104737147B (ru)
BR (1) BR112015006432A2 (ru)
DE (14) DE112013004105T5 (ru)
RU (2) RU2579140C1 (ru)
WO (11) WO2014065879A1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2643620C2 (ru) * 2016-05-11 2018-02-02 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Способ планирования задач предобработки данных Интернета Вещей для систем анализа
EP3918500B1 (en) * 2019-03-05 2024-04-24 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013105967A1 (en) * 2012-01-13 2013-07-18 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
US9355058B2 (en) 2012-10-22 2016-05-31 Intel Corporation High performance interconnect physical layer
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
WO2014065879A1 (en) 2012-10-22 2014-05-01 Venkatraman Iyer 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 华为技术有限公司 一种数据传输方法及装置
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
US9397792B2 (en) 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
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
JP6221717B2 (ja) * 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
KR101874726B1 (ko) 2013-12-26 2018-07-04 인텔 코포레이션 Pci 익스프레스 강화
JP6461959B2 (ja) * 2013-12-26 2019-01-30 インテル コーポレイション マルチチップパッケージリンク
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 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
US9747048B2 (en) 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data 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
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
US9870328B2 (en) * 2014-11-14 2018-01-16 Cavium, Inc. Managing buffered communication between cores
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
US9632862B2 (en) 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
US9740646B2 (en) * 2014-12-20 2017-08-22 Intel Corporation Early identification in transactional buffered memory
US10025746B2 (en) * 2014-12-20 2018-07-17 Intel Corporation High performance interconnect
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
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US20160285624A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Pseudorandom bit sequences in an interconnect
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
US10282315B2 (en) 2015-03-27 2019-05-07 Cavium, Llc Software assisted hardware configuration for software defined network system-on-chip
US9720838B2 (en) 2015-03-27 2017-08-01 Intel Corporation Shared buffered memory routing
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
EP3329381B1 (en) * 2015-07-30 2020-02-26 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
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
US20200244397A1 (en) * 2015-09-26 2020-07-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
CN107925507B (zh) * 2015-09-26 2021-05-11 英特尔公司 多芯片封装链路错误检测
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
GB2543745B (en) * 2015-10-15 2018-07-04 Advanced Risc Mach Ltd An apparatus and method for operating a virtually indexed physically tagged cache
US10198384B2 (en) 2016-03-01 2019-02-05 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 浪潮电子信息产业股份有限公司 一种验证协议的方法及装置
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
US10936045B2 (en) 2016-09-26 2021-03-02 Hewlett-Packard Development Company, L.P. 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
WO2019100238A1 (zh) * 2017-11-22 2019-05-31 深圳市大疆创新科技有限公司 一种断链恢复的方法及飞行器
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
US20190042455A1 (en) * 2018-05-04 2019-02-07 Intel Corporation Globally addressable memory for devices linked to hosts
CN108563510B (zh) * 2018-05-04 2021-07-13 湖南大学 面向e级计算的体系结构感知优化方法
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
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 湖南国科微电子股份有限公司 一种提升物理层兼容性的系统与方法
US10761939B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Powering-down or rebooting a device in a system fabric
TWI706257B (zh) * 2018-12-13 2020-10-01 新唐科技股份有限公司 匯流排系統
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
KR20210119422A (ko) 2019-01-31 2021-10-05 텍트로닉스 인코포레이티드 고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스
US11940483B2 (en) 2019-01-31 2024-03-26 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
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
US11967985B2 (en) * 2019-11-20 2024-04-23 Mitsubishi Electric Corporation Optical communication device and communication system
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
US11309013B2 (en) 2020-04-29 2022-04-19 Samsung Electronics Co., Ltd. Memory device for reducing resources used for training
US11513981B2 (en) * 2020-04-29 2022-11-29 Dell Products L.P. PCIe link management without sideband signals
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
EP4158486A4 (en) * 2020-05-29 2024-07-10 Netlist Inc COMPUTER MEMORY EXPANSION DEVICE AND OPERATION METHOD
US20210013999A1 (en) * 2020-06-04 2021-01-14 Intel Corporation Latency-Optimized Mechanisms for Handling Errors or Mis-Routed Packets for Computer Buses
IL298759A (en) * 2020-06-05 2023-02-01 Schwaderer William David Methods and systems for encrypting shapeshifting data
KR102254337B1 (ko) * 2020-06-22 2021-05-21 한양대학교 산학협력단 Dc-밸런싱을 고려한 pam4 5b3q 코딩 방법 및 장치
US11360906B2 (en) * 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
US11580044B2 (en) * 2020-08-31 2023-02-14 Micron Technology, Inc. Network credit return mechanisms
US11588745B2 (en) 2020-08-31 2023-02-21 Micron Technology, Inc. Early credit return for credit-based flow control
US11362939B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Flow control for a multiple flow control unit interface
CN112134859B (zh) * 2020-09-09 2021-07-06 上海沈德医疗器械科技有限公司 一种基于arm架构的聚焦超声治疗设备控制方法
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
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
TWI809570B (zh) 2020-11-24 2023-07-21 美商泰克特洛尼克斯公司 用於高速輸入/輸出裕度測試的系統、方法和裝置
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
KR102518317B1 (ko) 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102668564B1 (ko) 2021-06-01 2024-05-24 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
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
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
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
WO2023205316A1 (en) * 2022-04-22 2023-10-26 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
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2341906C2 (ru) * 2003-11-12 2008-12-20 Квэлкомм Инкорпорейтед Интерфейс высокоскоростной передачи данных с улучшенным управлением соединением
WO2011008326A1 (en) * 2009-06-30 2011-01-20 Intel Corporation Link power savings mode with state retention

Family Cites Families (269)

* Cited by examiner, † Cited by third party
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
NZ232223A (en) * 1989-01-27 1993-03-26 British Telecomm Alternate burst communication for cordless phones re-established after channel failure
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
WO1992006436A2 (en) * 1990-10-03 1992-04-16 Thinking Machines Corporation Parallel computer 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
EP0600626A1 (en) * 1992-11-13 1994-06-08 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache
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
EP0735480B1 (en) * 1995-03-31 2003-06-04 Sun Microsystems, Inc. Cache coherent computer system that minimizes invalidation and copyback operations
DE69616402T2 (de) * 1995-03-31 2002-07-18 Sun Microsystems Inc Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem
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
US6141733A (en) * 1998-02-17 2000-10-31 International Business Machines Corporation Cache coherency protocol with independent implementation of optimized cache operations
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
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
ES2194287T3 (es) * 1998-09-30 2003-11-16 Cit Alcatel Metodo y disposicion para transicion entre un estado de baja potencia y un estado de plena otencia en un sistema de comunicacion.
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
AU5161900A (en) 1999-05-28 2000-12-18 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
US6674720B1 (en) * 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system 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
US20030093632A1 (en) * 2001-11-12 2003-05-15 Intel Corporation Method and apparatus for sideband read return header in memory interconnect
US6941425B2 (en) * 2001-11-12 2005-09-06 Intel Corporation Method and apparatus for read launch optimizations 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
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
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
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
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
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
CN101902433B (zh) * 2004-04-30 2013-04-10 夏普株式会社 无线通信系统
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
CN1700639A (zh) * 2004-05-21 2005-11-23 华为技术有限公司 导出和导入无线局域网鉴别与保密基础结构证书信息方法
US8046488B2 (en) * 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US20060041696A1 (en) * 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
US7313712B2 (en) * 2004-05-21 2007-12-25 Intel Corporation Link power saving state
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
EP1875681A1 (en) * 2005-04-13 2008-01-09 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
US7512741B1 (en) * 2006-01-11 2009-03-31 Intel Corporation Two-hop source snoop based messaging protocol
US7543115B1 (en) * 2006-01-11 2009-06-02 Intel Corporation Two-hop source snoop based cache coherence 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
US7721050B2 (en) * 2006-06-30 2010-05-18 Intel Corporation Re-snoop for conflict resolution in a cache coherency protocol
US7506108B2 (en) * 2006-06-30 2009-03-17 Intel Corporation Requester-generated forward for late conflicts in a cache coherency protocol
US7536515B2 (en) * 2006-06-30 2009-05-19 Intel Corporation Repeated conflict acknowledgements in a cache coherency protocol
EP2052330A2 (en) * 2006-08-08 2009-04-29 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
KR20090102789A (ko) * 2006-12-06 2009-09-30 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법
WO2008087579A2 (en) 2007-01-15 2008-07-24 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
KR101188001B1 (ko) * 2007-05-08 2012-10-05 인터디지탈 테크날러지 코포레이션 피기백 긍정 ack/부정 ack 필드 표시자 및 폴링 표시자를 제공하기 위한 방법 및 장치
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
CN101960677A (zh) 2008-02-29 2011-01-26 惠普开发有限公司 用于电子装置的模块系统和可缩回组件
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
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
US8205045B2 (en) * 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes and non-snoop accesses
CN101325461B (zh) * 2008-07-25 2011-04-27 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
KR101493921B1 (ko) * 2008-09-08 2015-02-16 삼성전자주식회사 이동/핸드헬드 신호 수신을 위해 설계된 디지탈 텔레비전 수신기의 서브-채널 획득
US8917209B2 (en) * 2009-09-10 2014-12-23 Nextnav, Llc Coding in a wide area positioning system (WAPS)
KR101774202B1 (ko) * 2008-09-10 2017-09-01 넥스트나브, 엘엘씨 지상 비컨 네트워크 및 이를 이용한 위치 결정 신호 생성 및 송신 방법
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
KR101598093B1 (ko) * 2009-02-02 2016-02-26 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
KR20100092353A (ko) * 2009-02-12 2010-08-20 엘지전자 주식회사 트래픽 암호화 키 관리방법 및 장치
WO2010096969A1 (zh) * 2009-02-27 2010-09-02 华为技术有限公司 无源光网络中发送上行传送帧的方法及设备
KR101133256B1 (ko) * 2009-02-27 2012-04-09 한국과학기술원 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법
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
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
US8868846B2 (en) * 2010-03-19 2014-10-21 Netapp, Inc. Method and system for maintaining data coherency across a network
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 瑞昱半导体股份有限公司 一种用于信号传输的省电方法及装置
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
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US9104793B2 (en) * 2010-09-24 2015-08-11 Intel Corporation Method and system of adapting communication links to link conditions on a platform
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
US9208110B2 (en) * 2011-11-29 2015-12-08 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
CN103188059A (zh) 2011-12-28 2013-07-03 华为技术有限公司 快速通道互联系统中数据包重传方法、装置和系统
CN102571571A (zh) * 2011-12-28 2012-07-11 南京邮电大学 一种应用于时延容忍网络的多层次有效路由方法
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 东南大学 一种基于状态机的协议构造方法
US10102170B2 (en) 2012-05-18 2018-10-16 Dell Products, Lp System and method for providing 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
US8935578B2 (en) 2012-09-29 2015-01-13 Intel Corporation Method and apparatus for optimizing power and latency on a link
US8996757B2 (en) * 2012-09-29 2015-03-31 Intel Corporation Method and apparatus to generate platform correctable TX-RX
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
WO2014065879A1 (en) 2012-10-22 2014-05-01 Venkatraman Iyer High performance interconnect physical layer
US9280507B2 (en) * 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
BR112015017867A2 (pt) 2013-02-28 2018-12-18 Intel Corp aproveitamento de um mecanismo de enumeração e/ou configuração de um protocolo de interconexão para um protocolo de interconexão diferente
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
JP6461959B2 (ja) * 2013-12-26 2019-01-30 インテル コーポレイション マルチチップパッケージリンク
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2341906C2 (ru) * 2003-11-12 2008-12-20 Квэлкомм Инкорпорейтед Интерфейс высокоскоростной передачи данных с улучшенным управлением соединением
WO2011008326A1 (en) * 2009-06-30 2011-01-20 Intel Corporation Link power savings mode with state retention

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2643620C2 (ru) * 2016-05-11 2018-02-02 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Способ планирования задач предобработки данных Интернета Вещей для систем анализа
EP3918500B1 (en) * 2019-03-05 2024-04-24 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications

Also Published As

Publication number Publication date
KR20180018853A (ko) 2018-02-21
CN107102960A (zh) 2017-08-29
KR101700261B1 (ko) 2017-01-26
DE112013004094B4 (de) 2018-03-29
KR20170012581A (ko) 2017-02-02
US9626321B2 (en) 2017-04-18
CN106815151A (zh) 2017-06-09
KR20150063044A (ko) 2015-06-08
EP3410304A1 (en) 2018-12-05
CN108614783B (zh) 2022-11-18
WO2014065883A1 (en) 2014-05-01
DE112013005104T5 (de) 2015-07-02
US20170109315A1 (en) 2017-04-20
CN108132892A (zh) 2018-06-08
KR20170081728A (ko) 2017-07-12
KR20170042379A (ko) 2017-04-18
CN106681938A (zh) 2017-05-17
CN108055214A (zh) 2018-05-18
KR101847943B1 (ko) 2018-04-11
KR101861312B1 (ko) 2018-05-28
CN104737142A (zh) 2015-06-24
US9892086B2 (en) 2018-02-13
RU2599971C2 (ru) 2016-10-20
DE112013004105T5 (de) 2015-04-30
CN104380269B (zh) 2018-01-30
KR20170007865A (ko) 2017-01-20
DE112013003723T5 (de) 2015-04-16
KR101754890B1 (ko) 2017-07-06
WO2014065880A1 (en) 2014-05-01
KR101700545B1 (ko) 2017-01-26
KR101815178B1 (ko) 2018-01-04
WO2014065882A1 (en) 2014-05-01
DE112013001360T5 (de) 2014-11-27
CN108055214B (zh) 2021-04-13
JP2016506548A (ja) 2016-03-03
US20190347226A1 (en) 2019-11-14
DE112013003723B4 (de) 2018-09-13
CN104335196A (zh) 2015-02-04
CN107968756B (zh) 2021-10-01
KR20150047552A (ko) 2015-05-04
KR101828756B1 (ko) 2018-02-12
JP6423040B2 (ja) 2018-11-14
CN104303166B (zh) 2018-01-09
CN104769570A (zh) 2015-07-08
KR20170005897A (ko) 2017-01-16
CN111737167B (zh) 2024-05-28
CN107968756A (zh) 2018-04-27
DE112013005090T5 (de) 2015-07-02
CN107015924B (zh) 2020-10-30
WO2014065878A1 (en) 2014-05-01
US10216661B2 (en) 2019-02-26
KR101861452B1 (ko) 2018-05-25
DE112013005093T5 (de) 2015-10-22
KR101598746B1 (ko) 2016-02-29
DE112013002090T5 (de) 2015-01-15
KR101815180B1 (ko) 2018-01-04
CN104536933A (zh) 2015-04-22
JP2017188909A (ja) 2017-10-12
DE112013004094T5 (de) 2015-07-23
US10204064B2 (en) 2019-02-12
KR101772037B1 (ko) 2017-08-28
US20190391939A1 (en) 2019-12-26
CN104969206A (zh) 2015-10-07
KR20180049192A (ko) 2018-05-10
CN107045479A (zh) 2017-08-15
KR20150047550A (ko) 2015-05-04
WO2014065873A1 (en) 2014-05-01
US20240012772A1 (en) 2024-01-11
US20170109286A1 (en) 2017-04-20
KR101689998B1 (ko) 2016-12-26
KR20160145197A (ko) 2016-12-19
KR20160144510A (ko) 2016-12-16
KR20150070107A (ko) 2015-06-24
CN104391816A (zh) 2015-03-04
CN106815151B (zh) 2021-04-20
KR101912074B1 (ko) 2018-10-25
CN107092565B (zh) 2021-03-12
US20140112339A1 (en) 2014-04-24
CN104391816B (zh) 2018-11-09
KR20150003363A (ko) 2015-01-08
CN104335196B (zh) 2017-10-13
CN104769570B (zh) 2018-05-15
US20200356502A1 (en) 2020-11-12
CN104487958B (zh) 2018-05-22
US20220114122A1 (en) 2022-04-14
CN104487958A (zh) 2015-04-01
US20180203811A1 (en) 2018-07-19
CN107092565A (zh) 2017-08-25
KR101695340B1 (ko) 2017-01-11
KR101681509B1 (ko) 2016-12-01
KR101686360B1 (ko) 2016-12-13
KR20150077398A (ko) 2015-07-07
KR101599852B1 (ko) 2016-03-07
WO2014065877A1 (en) 2014-05-01
US20170083476A1 (en) 2017-03-23
WO2014065881A1 (en) 2014-05-01
US9753885B2 (en) 2017-09-05
CN106776364B (zh) 2020-07-17
CN106681938B (zh) 2020-08-18
US20150067207A1 (en) 2015-03-05
US20180095927A1 (en) 2018-04-05
CN104756097A (zh) 2015-07-01
CN104737147A (zh) 2015-06-24
CN106776364A (zh) 2017-05-31
CN104737142B (zh) 2018-03-23
KR101831550B1 (ko) 2018-02-22
KR20150059721A (ko) 2015-06-02
KR101905055B1 (ko) 2018-10-08
KR20150059775A (ko) 2015-06-02
KR20150052102A (ko) 2015-05-13
KR20140141616A (ko) 2014-12-10
CN104969207A (zh) 2015-10-07
US20140215437A1 (en) 2014-07-31
KR101686359B1 (ko) 2016-12-13
KR20140137398A (ko) 2014-12-02
CN104995614B (zh) 2018-04-06
CN104303166A (zh) 2015-01-21
CN104969206B (zh) 2017-12-26
US9418035B2 (en) 2016-08-16
KR101815173B1 (ko) 2018-01-30
DE112013005086T5 (de) 2015-09-03
EP3410304B1 (en) 2021-09-22
US20210117350A1 (en) 2021-04-22
KR101755005B1 (ko) 2017-07-06
CN107045479B (zh) 2020-09-01
DE112013002880T5 (de) 2015-03-05
KR20160150653A (ko) 2016-12-30
CN104995614A (zh) 2015-10-21
US10248591B2 (en) 2019-04-02
US20140201463A1 (en) 2014-07-17
KR101691756B1 (ko) 2016-12-30
KR20170081730A (ko) 2017-07-12
US20170097907A1 (en) 2017-04-06
US9916266B2 (en) 2018-03-13
US10380046B2 (en) 2019-08-13
US20150261711A1 (en) 2015-09-17
US20150081984A1 (en) 2015-03-19
CN108228495A (zh) 2018-06-29
KR20160089541A (ko) 2016-07-27
BR112015006432A2 (pt) 2017-07-04
DE112013002069B4 (de) 2022-12-01
DE112013007751B3 (de) 2023-01-12
KR20150077397A (ko) 2015-07-07
US20180143937A1 (en) 2018-05-24
KR20170007523A (ko) 2017-01-18
DE112013007767B3 (de) 2023-04-20
US11269793B2 (en) 2022-03-08
WO2014065884A1 (en) 2014-05-01
EP2909728A1 (en) 2015-08-26
DE112013001360B4 (de) 2023-03-23
US10909055B2 (en) 2021-02-02
KR101615908B1 (ko) 2016-04-27
KR101985120B1 (ko) 2019-05-31
CN104737147B (zh) 2018-11-06
CN108132892B (zh) 2022-02-11
KR101696124B1 (ko) 2017-01-12
CN104380269A (zh) 2015-02-25
CN107015924A (zh) 2017-08-04
KR20160046928A (ko) 2016-04-29
US20140215112A1 (en) 2014-07-31
RU2014145179A (ru) 2016-05-27
KR20150047551A (ko) 2015-05-04
CN104756097B (zh) 2018-05-15
JP6139689B2 (ja) 2017-05-31
WO2014065873A8 (en) 2014-07-10
CN108614783A (zh) 2018-10-02
US9378171B2 (en) 2016-06-28
WO2014065876A1 (en) 2014-05-01
CN108228495B (zh) 2021-05-25
DE112013002069T5 (de) 2015-01-08
DE112013007752B3 (de) 2023-04-27
WO2014065875A1 (en) 2014-05-01
US11741030B2 (en) 2023-08-29
WO2014065879A1 (en) 2014-05-01
CN104536933B (zh) 2018-02-13
CN107102960B (zh) 2021-07-09
WO2014065876A9 (en) 2015-02-26
KR101642086B1 (ko) 2016-07-22
CN111737167A (zh) 2020-10-02
EP2909728A4 (en) 2016-06-22

Similar Documents

Publication Publication Date Title
RU2579140C1 (ru) Физический уровень высокопроизводительного межсоединения
US11080212B2 (en) High performance interconnect physical layer
US10795841B2 (en) High performance interconnect physical layer
US10146733B2 (en) High performance interconnect physical layer