RU2450329C2 - Эффективный механизм сохранения адреса возврата из прерывания - Google Patents
Эффективный механизм сохранения адреса возврата из прерывания Download PDFInfo
- Publication number
- RU2450329C2 RU2450329C2 RU2009106463/08A RU2009106463A RU2450329C2 RU 2450329 C2 RU2450329 C2 RU 2450329C2 RU 2009106463/08 A RU2009106463/08 A RU 2009106463/08A RU 2009106463 A RU2009106463 A RU 2009106463A RU 2450329 C2 RU2450329 C2 RU 2450329C2
- Authority
- RU
- Russia
- Prior art keywords
- command
- pseudo
- conveyor
- interrupt
- array
- Prior art date
Links
- 230000007246 mechanism Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000005056 compaction Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 9
- 230000003111 delayed effect Effects 0.000 claims description 5
- 238000007789 sealing Methods 0.000 claims 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Image Processing (AREA)
Abstract
Изобретение относится к области вычислительной техники, а именно к конвейерному обрабатывающему устройству, которое обновляет массив регистров для эффективного сохранения адреса возврата из прерывания. Техническим результатом является эффективное сохранение адреса возврата из прерывания в массив регистра общего назначения. Устройство для генерирования псевдокоманды содержит конвейерное обрабатывающее устройство, которое включает в себя массив регистров общего назначения и устройство генерирования псевдокоманд, при этом конвейер содержит каскад декодирования, выполненный с возможностью декодирования псевдокоманды, и каскад отложенной записи, выполненный с возможностью записи результатов. Способ и система описывают работу данного устройства. 4 н. и 18 з.п. ф-лы, 3 ил.
Description
Область техники, к которой относится изобретение
Настоящее раскрытие в целом имеет отношение к обрабатывающим устройствам, а конкретнее, к конвейерному обрабатывающему устройству, которое обновляет массив регистров для эффективного сохранения адреса возврата из прерывания.
Уровень техники
Достижение более высоких скоростей обработки с помощью вычислительных устройств долгое время было задачей как производителей, так и пользователей. Для того чтобы способствовать осуществлению цели высокоскоростной обработки, некоторые обрабатывающие устройства вычислительных устройств применяют технологию, известную как конвейерная обработка. Обрабатывающие устройства со встроенной конвейерной архитектурой предоставляют возможность множественным командам находиться одновременно на различных каскадах исполнения.
В конвейерной архитектуре отдельный командный цикл может включать в себя пять каскадов. Эти каскады могут быть описаны последовательно следующим образом: (1) выборка; (2) декодирование; (3) доступ к массиву регистров; (4) исполнение; и (5) запись в массив регистров. При конвейерной обработке процесс обработки на каждом из этих каскадов исполняется параллельно, чтобы достичь высокоскоростной обработки. Конвейерная обработка может использоваться для повышения быстродействия обрабатывающего устройства за счет увеличения числа команд, выполняемых за период времени.
В таких обрабатывающих устройствах имеется возможность для нахождения в конвейере в один момент времени пяти команд на различных каскадах обработки. Например, в нескольких первых тактовых циклах процесса обработки от одной до пяти команд могут находиться на различных каскадах исполнения одновременно. Окончание пятикаскадной обработки для отдельной команды не требуется перед тем, как может начаться процесс обработки последующей команды.
Например, предположим, что в определенный момент команда пять выбирается, команда четыре декодируется, команда три получает доступ к массиву регистров, команда два выполняется и команда один производит запись в массив регистров. При конвейерной обработке данных каждая команда обычно последовательно выбирается и последовательно обрабатывается на последовательных каскадах.
Конвейерное обрабатывающее устройство также должно управлять прерываниями. Такие прерывания могут происходить, когда подается сигнал запроса на прерывание от внешнего устройства или при исполнении компьютерной программы, наряду с другими обстоятельствами. Когда возникает запрос на прерывание, исполняемая программа прерывается. Тогда обрабатывающее устройство временно сохраняет состояние исполняемой программы, и происходит другой процесс обработки в ответ на запрос на прерывание. Как только обработка прерывания завершается, обрабатывающее устройство возобновляет исполнение программы от точки, в которой программа была прервана.
Таким образом, ключевым элементом состояния приостановки прерываемой программы, который должен быть сохранен, является адрес команды, по которому исполнение программы должно возобновиться, как только будет завершена обработка прерывания. Этот адрес называется "адресом возврата". В некоторых архитектурах требуется, чтобы этот адрес возврата сохранялся в конкретном регистре, который является частью массива регистров общего назначения. Проблемой, которую нужно решить, является то, как обеспечить механизму прерывания доступ к массиву регистров для того, чтобы сохранить адрес возврата.
Некоторые пытались сохранять адрес возврата, используя выделенные порты для массива регистров. Однако администрирование массива регистров обрабатывающего устройства является, как правило, очень сложным и важным для производительности аспектом схемы, особенно для высокочастотных, с большой глубиной конвейеров, суперскалярных обрабатывающих устройств. Дополнительный порт массива регистров может быть затратным с точки зрения синхронизации, области памяти и мощности, тем самым снижая производительность обрабатывающего устройства. Более того, многие высокопроизводительные промышленные образцы выполняют обработку команд с изменением последовательности, которая может потребовать даже более сложного администрирования массива регистров, включающего в себя переименование регистров, резервации (буферные регистры, содержащие команды, которые уже декодированы, но еще не выполнены), и буферные регистры завершения для упорядочивания команд. Все эти сложности мешают просто предоставить дополнительный порт для массива регистров или хотя бы обеспечить специальные тракты управления, чтобы совместно использовать существующий порт массива регистров для сохранения адреса возврата из прерывания.
Раскрытие изобретения
Настоящее раскрытие предоставляет систему, устройство и способ для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. Настоящее раскрытие предоставляет механизм для сохранения значения программного счетчика или адреса возврата из прерывания для команды, которая еще не вышла из конвейера при возникновении прерывания. Программная команда, которая больше всего продвинулась по конвейеру, когда произошло прерывание, но притом не была полностью обработана, иногда упоминается в настоящем описании как наиболее продвинувшаяся команда в конвейере.
В соответствии с одним вариантом осуществления настоящего раскрытия предоставляется система обработки данных для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения конвейерного обрабатывающего устройства. Система содержит логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения; и при этом псевдокоманда формируется с дополнительной возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам.
В соответствии с другим вариантом осуществления настоящего раскрытия предоставляется устройство для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. Устройство содержит конвейерное обрабатывающее устройство, имеющее устройство генерирования псевдокоманд, выполненное с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения, и при этом псевдокоманда формируется с дополнительной возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам.
В соответствии с еще одним вариантом осуществления настоящего раскрытия предоставляется способ для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. Способ содержит этап, на котором, в ответ на запрос на прерывание, генерируют псевдокоманду, сформированную с возможностью принуждения адреса возврата для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения в конвейерном обрабатывающем устройстве, и при этом псевдокоманда формируется с дополнительной возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам.
В соответствии с еще одним вариантом осуществления настоящего раскрытия предоставляется устройство для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. Устройство включает в себя многокаскадное конвейерное обрабатывающее устройство, выполненное с возможностью выполнения обработки прерываний, причем каскады включают в себя, по меньшей мере, один каскад, выполненный с возможностью приема команд и, по меньшей мере, один каскад, выполненный с возможностью отложенной записи результатов в массив регистров общего назначения, при этом обрабатывающее устройство выполняется с дополнительной возможностью выполнения обработки данных команд из программы.
Устройство дополнительно включает в себя логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания для наиболее продвинувшейся команды в конвейере быть записанным в массив регистров общего назначения, и при этом псевдокоманда формируется с дополнительной возможностью включения в конвейер и прохождения по конвейеру конвейерного обрабатывающего устройства по существу аналогично другим командам. Это устройство включает в себя устройство уплотнения, выполненное с возможностью приема как псевдокоманды от логической схемы управления, так и данных команд из программы, при этом устройство уплотнения выполняется с дополнительной возможностью выбора, по меньшей мере, или псевдокоманды, или данных команд, и подачи выбранной псевдокоманды или данных команд на вход, по меньшей мере, одного конвейерного каскада, выполненного с возможностью приема команд. В этом устройстве обрабатывающее устройство выполняется с дополнительной возможностью возобновления, после проведения процесса обработки прерывания, процесса обработки данных команд по адресу возврата из прерывания для наиболее продвинувшейся команды, который был записан в массив регистров общего назначения.
Понятно, что для специалистов в данной области техники будут вполне очевидны другие варианты осуществления настоящего изобретения благодаря последующему подробному описанию, причем оно демонстрирует и описывает различные варианты осуществления изобретения только в качестве иллюстрации. Как можно догадаться, настоящее изобретение допускает иные и разнообразные варианты осуществления, и его отдельные детали допускают модификации в ряде других аспектов совершенно без отступления от сущности и объема настоящего изобретения. Соответственно, чертежи и подробное описание должны расцениваться по сути как иллюстративные, а не ограничительные.
Они, как и другие задачи, признаки и эффекты, станут понятными далее в результате рассмотрения последующего подробного описания иллюстративных вариантов осуществления и прилагаемых чертежей.
Краткое описание чертежей
Фиг.1 является иллюстрацией структурной схемы модели управления и данных конвейерного обрабатывающего устройства в соответствии с одним вариантом осуществления настоящего раскрытия.
Фиг.2 является таблицей, которая иллюстрирует обработку прерывания на различных конвейерных каскадах в зависимости от тактового цикла в соответствии с одним вариантом осуществления настоящего раскрытия.
Фиг.3 является блок-схемой, которая иллюстрирует способ для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения в соответствии с одним вариантом осуществления настоящего раскрытия.
Осуществление изобретения
Настоящее раскрытие обеспечивает систему, устройство и способ для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. Массив регистров общего назначения находится под управлением конвейера. В соответствии с настоящим раскрытием, массив регистров общего назначения может обновляться для эффективного сохранения адреса возврата или значения программного счетчика для наиболее продвинувшейся команды в конвейере во время запроса на прерывание.
При получении обрабатывающим устройством системы сигнала запроса на прерывание обрабатывающим устройством генерируется псевдокоманда. Эта псевдокоманда обрабатывается подобно другим командам. Она продвигается по конвейеру и обновляет массив регистров, принуждая массив регистров быть записанным с адресом возврата. Поскольку эта псевдокоманда продвигается по конвейеру подобно обычным командам, она обновляет не только массив регистров, но и связанные ресурсы. Для сохранения адреса возврата из прерывания не требуется никакого выделенного аппаратного обеспечения, которое должно быть связано с массивом регистров. Система, устройство и способ, описываемые в данном документе, могут быть реализованы с использованием регистров общего назначения и, соответственно, отсутствует потребность в выделенных портах для массива регистров.
Теперь обратимся к Фиг.1, проиллюстрирована модель 100 конвейерного устройства обработки данных в соответствии с одним вариантом осуществления настоящего раскрытия. Для иллюстрации в настоящем описании представляется модель пятикаскадного конвейера. Пять каскадов могут быть описаны следующим образом: (1) выборка; (2) декодирование; (3) доступ к массиву регистров; (4) исполнение; и (5) запись в массив регистров. Несколько каскадов модели 100 обрабатывающего устройства могут включать в себя регистры общего назначения. Разумеется, эти регистры общего назначения могут содержать в себе ячейку памяти, где сохраняются данные, в противоположность фактическим данным. Специальные регистры отсутствуют и не требуются.
Система, устройство и способ, описываемые в данном документе, описываются в отношении пятикаскадного конвейерного обрабатывающего устройства. Однако нужно понимать, что система, устройство и способ, описываемые в данном документе, могли бы быть реализованы в конвейерных обрабатывающих устройствах, имеющих меньше или больше каскадов. Более того, способы и системы, раскрытые в настоящем описании, могут не нуждаться в разбиении обрабатывающего устройства на определенный набор конвейерных каскадов.
Например, раскрываемый каскад может дополнительно разделяться на два или более каскадов. Это разделение может выполняться для того, чтобы урегулировать проблемы синхронизации или обеспечить более высокие тактовые частоты обрабатывающего устройства. В качестве альтернативы, два или более каскадов могут объединяться в один каскад. Обрабатывающее устройство может включать в себя просто первый каскад, который принимает команды, и второй каскад, который записывает результаты в массив регистров. Раскрываемый конвейер дает только один пример того, как процесс обработки может разделяться в обрабатывающем устройстве, пригодном для настоящего раскрытия.
Как показано на Фиг.1, модуль 110 управления обрабатывающего устройства управляет общей работой в конвейерном режиме и ходом процесса обработки прерываний. Каскад 120 выборки может отвечать за выборку команд. Обычные команды могут выбираться из различных мест, в том числе из встроенной кэш памяти или из внешней памяти, которая координируется блоком управления памятью.
Устройство 117 генерирования псевдокоманды может быть логической схемой управления, которая может быть резидентной частью модуля 110 управления. Устройство 117 генерирования псевдокоманды выполняется с возможностью генерирования псевдокоманды, которая формируется с возможностью принуждения адреса возврата быть записанным в массив регистров общего назначения. Псевдокоманды можно, как правило, отличить от обычных команд по способу, которым они подаются на вход конвейера. Более того, псевдокоманда, как правило, выполняет особую функцию, так как она предназначена для принуждения адреса возврата из прерывания быть записанным в массив регистров. Однако как только псевдокоманда была подана на вход конвейера, она продвигается по конвейеру точно так же, как обычные команды, которые были выбраны из памяти или по-другому. Целесообразность псевдокоманды будет описана более подробно ниже в данном документе. Устройство 115 уплотнения может располагаться между каскадом 120 выборки и каскадом 130 декодирования. Устройство 115 уплотнения может определять входные данные для каскада 130 декодирования, или как команду на каскаде 120 выборки, или как псевдокоманду, которая была сгенерирована устройством 117 генерирования псевдокоманды в модуле 110 управления. Устройство 115 уплотнения может выбрать требуемые входные данные для каскада декодирования посредством шины 119 выборки.
Каскад 130 декодирования способен принимать и декодировать команду, выбранную на каскаде 120 выборки или, с другой стороны, принимать и декодировать псевдокоманду, которая была сгенерирована на устройстве 117 генерирования псевдокоманды модуля 110 управления. Предположим, что обработка прерывания не запрашивается, тогда каждая команда в общем случае будет попадать на каскад 130 декодирования от каскада 120 выборки в заданной последовательности или, например, в порядке, определяемом исполняемой компьютерной программой.
Декодирование данных потребует определить адрес следующей команды. Адрес может находиться, например, в буферном регистре как ближайшая последующая команда. В некоторых случаях может потребоваться выборка адреса из памяти или кэш памяти, например, если текущая команда является условным переходом. Каскад декодирования является первым конвейерным каскадом, на котором команды могут быть декодированы, чтобы определить, где оканчивается команда.
Проблемы могут встретиться при обслуживании прерываний. Эти проблемы могут быть связаны с принуждением адреса возврата быть записанным в массив регистров.
Настоящее раскрытие использует преимущества того, что массив регистров находится под прямым управлением конвейера. Архитектура процессора настоящего раскрытия использует массив регистров для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения.
Когда сигнал 118 запроса на прерывание принимается на модуле 110 управления, модуль 110 управления принимает решение, выполнять ли прерывание обслуживания посредством шины 119 выборки. Если принимается решение, что прерывание обслуживания должно быть выполнено, устройство 117 генерирования псевдокоманды генерирует псевдокоманду по тракту 113, подавая на вход устройства 115 уплотнения. Она называется "псевдокомандой", потому что в действительности она не присутствует в исполняемой программе. Псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания быть записанным в массив регистров общего назначения. Этот адрес возврата из прерывания был подан на вход устройства 117 генерирования псевдокоманды модуля 110 управления.
Устройство 117 генерирования псевдокоманды включает в себя логическую схему управления, содержащую, например, различные вентильные схемы и транзисторы. Эта псевдокоманда предназначается для записи адреса возврата в массив регистров. Адрес возврата или значение программного счетчика должен идентифицировать размещение наиболее продвинувшейся команды, обработка которой была бы завершена на следующем шаге, если бы не произошло прерывание. Соответственно, адрес возврата должен принадлежать этой наиболее продвинувшейся командой. Как должно быть известно специалистам в данной области техники, микроархитектура обрабатывающего устройства включает в себя логическую схему управления в модуле 110 управления для того, чтобы отслеживать адреса команд по конвейеру. Эта логическая схема управления способна определять адрес возврата команды исходя из отслеженных адресов в конвейере. Затем адрес возврата команды подается на устройство 115 уплотнения, снабжающее конвейерный каскад 130 декодирования, как часть псевдокоманды.
Нужно понимать, что устройство 115 уплотнения и/или устройство 117 генерирования псевдокоманды могут быть вставлены в конвейер на стадии, отличной от входа каскада 130 декодирования. Однако также нужно понимать, что может быть желательным вставлять псевдокоманду на достаточно ранней стадии в конвейере, чтобы функции администрирования массива регистров могли использовать стандартные или типичные тракты управления и данных. Функции администрирования массива регистров могут включать в себя обнаружение сбоев, декодирование адреса и средства управления чтением/записью. Таким образом, можно отказаться от специальных функций, как и от выделенных портов для массива регистров.
После каскада 130 декодирования псевдокоманда (или другая команда, если псевдокоманда в настоящее время не подается на вход) может перейти на каскад 135 доступа к массиву регистров. Модуль 110 управления обрабатывающего устройства может обращаться к массиву регистров по ряду причин. Например, если на каскаде 130 была декодирована команда "добавление", то к массиву регистров может быть получен доступ для того, чтобы считать исходные операнды для добавления. Множество регистров общего назначения входят в состав каскада 135 доступа к массиву регистров. Выходные данные этих регистров общего назначения могут использоваться в более поздних тактовых циклах.
После обращения к массиву регистров на каскаде 135 команды могут быть приняты на каскаде 140 исполнения команд. Затем команды могут быть исполнены. Множество регистров общего назначения может быть включено в состав каскада 140 исполнения команд. Выходные данные этих регистров общего назначения могут передаваться на каскад 145 отложенной записи. На каскаде 145 отложенной записи обрабатывающее устройство 100 осуществляет отложенную запись результатов в массив 180 регистров.
Как отражено на Фиг.1, на начальных каскадах конвейера, одна или более команды выбираются из памяти или сверхоперативной памяти. Как правило, команды могут продвигаться по конвейеру в последовательном порядке. Однако управление прерываниями может потребовать возвращения обрабатывающего устройства к программе, которая была в процессе исполнения, когда произошло прерывание. Соответственно, может быть желательно, чтобы обрабатывающее устройство возвращалось к последней необработанной команде.
Обратимся теперь к Фиг.2, проиллюстрирована таблица, которая показывает различные конвейерные каскады, в которых могут обрабатываться команды в зависимости от тактового цикла. В иллюстративных целях предполагается, что один каскад выполняется в течение одного тактового цикла. Однако нужно отметить, что могут встречаться иные варианты.
В конвейерной архитектуре исполнение команд может перекрываться. Так, притом, что может требоваться пять тактовых циклов для исполнения каждой команды, пять команд могут находиться на различных каскадах исполнения одновременно. Соответственно, после того, как первая команда продвигается по конвейеру до каскада, на котором она осуществляет запись в массив регистров, каждый тактовый цикл, по существу, завершает выполнение одной команды.
В иллюстративных целях на Фиг.2 предполагается, что обработка прерывания запрашивается внешним устройством между восьмым и девятым тактовыми циклами. Команды обозначаются "I" для команды с последующим номером команды. В иллюстративных целях дополнительно предполагается, что команда #8 находится на каскаде выборки при поступлении запроса на обработку прерывания. Конечно, нужно понимать, что обработка прерывания может потребоваться при любом номере команды.
На этой иллюстрации управление прерываниями требует, чтобы обрабатывающее устройство переходило к команде #100. В этом примере команда #100 может находиться там, где могут быть найдены команды, связанные с обработкой прерывания. Конечно, обработка прерывания могла бы произойти при любой команде, определяемой программой.
После того как команда #100 была выбрана для управления обработки прерывания, все не полностью обработанные команды будут исключены. На этой иллюстрации команды #5-#8 могут быть исключены, поскольку обработка в последовательном порядке (или в порядке, определяемом программой во время обычной работы) была прервана.
Наиболее продвинувшейся командой, для которой обработка не завершена, является команда #5. В момент прерывания команда #5 находится на каскаде исполнения. Эта команда, будучи наиболее ранней не полностью обработанной командой, должна все же покинуть конвейер. Соответственно, должно быть понятно, что программным значением, по которому обрабатывающее устройство должно возобновить исполнение программы, является команда #5. В соответствии с настоящим раскрытием псевдокоманда формируется, чтобы записать адрес возврата как наиболее продвинувшуюся команду. Ею является самая ранняя команда, которая не подверглась полной обработке, но больше всего продвинулась по конвейеру к моменту запроса на прерывание. Эта псевдокоманда продвигается по конвейеру так же, как это делают все другие команды.
В цикле двенадцать на Фиг.2 псевдокоманда записывает адрес наиболее продвинувшейся команды в массив регистров. Когда позднее обработка прерывания завершается, обрабатывающее устройство возвращается к исполнению программы на команде #5, используя значение, которое было сохранено в массиве регистров.
Обратимся теперь к Фиг.3, проиллюстрирован способ 300 для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. На этапе 310 принимается запрос на прерывание. Запрос на прерывание может быть от внешнего устройства, или от программы, которая исполняется на момент запроса, или запрос на прерывание производится как-то иначе.
На этапе 320 генерируется псевдокоманда. Псевдокоманда может генерироваться логической схемой управления в модуле управления обрабатывающего устройства. Псевдокоманда также может генерироваться любым другим средством. Псевдокоманда формируется для эффективного сохранения адреса возврата из прерывания в массиве регистров общего назначения. Адрес возврата из прерывания известен, так как он был подан на вход модуля управления. Псевдокоманда продвигается по конвейеру точно так же, как и другие команды.
На этапе 330 программное значение для следующей необработанной команды записывается в массив регистров общего назначения (РОН). Массив регистров и связанные ресурсы обновляются обычным способом. Для проведения этого процесса требуются только регистры общего назначения. Не требуются выделенные порты для массива регистров, таким образом сберегается область памяти на обрабатывающем устройстве, и устраняются сложности, связанные с выделенными портами или специальными регистрами.
На этапе 340, обрабатывающее устройство возобновляет обработку по значению программного счетчика, которое было записано в массив регистров общего назначения. После этого обрабатывающее устройство может исполнять команды в порядке, который предписывается исполняемой программой.
Различные иллюстративные логические блоки, модули и схемы, описанные применительно к вариантам осуществления, раскрытым в настоящем описании, могут быть реализованы или выполнены с использованием обрабатывающего устройства общего назначения, цифрового сигнального процессора (ЦСП), специализированной интегральной схемы (СИС), программируемой вентильной матрицы (ПВМ) или другого программируемого логического устройства, логического элемента на дискретных компонентах или транзисторных логических схем, отдельных аппаратных компонентов, или любой их комбинации, предназначенных для выполнения функций, изложенных в настоящем описании. Обрабатывающее устройство общего назначения может быть микропроцессором, а как вариант, обрабатывающее устройство может быть любым традиционным обрабатывающим устройством, управляющим устройством, микропроцессорным управляющим устройством или конечным автоматом. Кроме того, обрабатывающее устройство может быть реализовано в виде комбинации вычислительных устройств, например как комбинация ЦСП и микропроцессора, множество микропроцессоров один или более микропроцессоров в сочетании с ЦСП в качестве ядра, или любая другая подобная конфигурация.
Способы или алгоритмы, описанные применительно к вариантам осуществления, раскрытым в настоящем описании, могут быть воплощены непосредственно в аппаратном обеспечении, в программном модуле, исполняемом обрабатывающим устройством, или в комбинации этих двух компонентов. Программный модуль может постоянно храниться в памяти ОЗУ, памяти ЭППЗУ, памяти ПЗУ, памяти СППЗУ, памяти ЭСППЗУ, в регистрах, на жестком диске, съемном диске, компактном оптическом диске, или любой другой форме носителя данных, известного в данной области техники. Носитель данных может соединяться с обрабатывающим устройством, причем это обрабатывающее устройство может считывать информацию с этого носителя данных и записывать на него информацию. Как вариант, носитель данных может быть встроен в обрабатывающее устройство. Обрабатывающее устройство и носитель данных могут постоянно размещаться в СИС. СИС может размещаться в терминале или где-либо еще. Как вариант, обрабатывающее устройство и носитель данных могут размещаться в форме отдельных компонентов в терминале или где-либо еще.
Предшествующее описание раскрываемых вариантов осуществления предоставляется для обеспечения возможности любому специалисту в данной области техники изготавливать или использовать настоящее изобретение. Специалистам в данной области техники будут очевидны различные модификации этих вариантов осуществления и общие принципы, определенные в настоящем описании, могут применяться к другим вариантам осуществления без отступления от сущности и объема настоящего изобретения. Таким образом, настоящее изобретение не подразумевает ограничения вариантами осуществления, продемонстрированными в настоящем описании, а должно согласовываться с самым широким объемом в соответствии с принципами и новыми признаками, раскрытыми в настоящем описании.
Claims (22)
1. Система обработки данных для генерирования псевдокоманды, при этом система содержит: конвейерное обрабатывающее устройство, при этом конвейерное обрабатывающее устройство включает в себя: массив регистров общего назначения; и логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания быть записанным в массив регистров общего назначения, при этом адрес возврата из прерывания связан с командой, которая больше всего продвинулась и не была полностью обработана в конвейере; и при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер конвейерного обрабатывающего устройства и прохождения по конвейеру аналогично другим командам, которые включены в конвейер; при этом конвейер содержит множество каскадов, включающих в себя: каскад декодирования, выполненный с возможностью декодирования псевдокоманды, и каскад отложенной записи, выполненный с возможностью записи результатов для псевдокоманды в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания.
2. Система обработки данных по п.1, которая дополнительно содержит: устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования.
3. Система обработки данных по п.2, которая дополнительно содержит: каскад выборки, выполненный с возможностью выбора команд; и при этом устройство уплотнения дополнительно выполнено с возможностью приема команд от каскада выборки и псевдокоманды, причем устройство уплотнения дополнительно выполнено с возможностью выбора одной из выбранной команды и псевдокоманды для подачи на вход каскада декодирования.
4. Система обработки данных по п.1, которая дополнительно содержит: множество регистров общего назначения.
5. Система обработки данных по п.1, в которой устройство генерирования псевдокоманды является резидентной частью модуля управления обрабатывающего устройства.
6. Система обработки данных по п.3, которая дополнительно содержит: модуль памяти, выполненный с возможностью сохранения данных команд, которые будут обрабатываться упомянутым обрабатывающим устройством, причем память связана с каскадом выборки.
7. Устройство для генерирования псевдокоманды, при этом устройство содержит: конвейерное обрабатывающее устройство, имеющее массив регистров общего назначения и устройство генерирования псевдокоманд, выполненное с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания быть записанным в массив регистров общего назначения, при этом адрес возврата из прерывания связан с командой, которая больше всего продвинулась и не была полностью обработана в конвейере; и при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер конвейерного обрабатывающего устройства и прохождения по конвейеру аналогично другим командам, которые включены в конвейер; при этом конвейер содержит: каскад декодирования, выполненный с возможностью декодирования псевдокоманды, и каскад отложенной записи, выполненный с возможностью записи результатов, связанных с псевдокомандой, в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания.
8. Устройство по п.7, в котором псевдокоманда подается на вход каскада декодирования.
9. Устройство по п.8, которое дополнительно содержит: устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования.
10. Устройство по п.9, которое дополнительно содержит: каскад выборки, выполненный с возможностью выбора команд; и при этом устройство уплотнения дополнительно выполнено с возможностью приема команд от каскада выборки и псевдокоманды, и выбора одной из выбранной команды и псевдокоманды для подачи на вход каскада декодирования.
11. Устройство по п.9, в котором упомянутое обрабатывающее устройство дополнительно выполнено с возможностью выполнения обработки прерывания в ответ на запрос на прерывание; и записи адреса возврата из прерывания для самой новой не полностью обработанной команды в массив регистров общего назначения.
12. Устройство по п.11, в котором упомянутое обрабатывающее устройство дополнительно выполнено с возможностью возобновления обработки по адресу возврата из прерывания, который был записан в массив регистров общего назначения.
13. Способ генерирования псевдокоманды, при этом способ содержит этап, на котором: в ответ на запрос на прерывание генерируют псевдокоманду, выполненную с возможностью принуждения адреса возврата из прерывания быть записанным в массив регистров общего назначения конвейерного обрабатывающего устройства, при этом адрес возврата из прерывания связан с командой, которая больше всего продвинулась и не была полностью обработана в конвейере конвейерного обрабатывающего устройства; при этом псевдокоманду дополнительно формируют с возможностью включения в конвейер конвейерного обрабатывающего устройства и прохождения по конвейеру аналогично другим командам, которые включены в конвейер; и при этом конвейер конвейерного обрабатывающего устройства содержит: каскад декодирования, выполненный с возможностью декодирования псевдокоманды, и каскад отложенной записи, выполненный с возможностью записи результатов, связанных с псевдокомандой, в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания.
14. Способ по п.13, который дополнительно содержит этапы, на которых: выполняют обработку прерывания в ответ на запрос на прерывание и записывают адрес возврата для самой новой не полностью обработанной команды в массив регистров общего назначения.
15. Способ по п.14, который дополнительно содержит этап, на котором: возобновляют обработку по адресу возврата из прерывания, который был записан в массив регистров общего назначения.
16. Способ по п.13, в котором псевдокоманду генерируют посредством логической схемы управления в конвейерном обрабатывающем устройстве.
17. Способ по п.13, в котором псевдокоманду подают на вход каскада декодирования.
18. Способ по п.17, в котором конвейерное обрабатывающее устройство дополнительно содержит: устройство уплотнения, выполненное с возможностью приема псевдокоманды и подачи псевдокоманды на вход каскада декодирования.
19. Способ по п.18, в котором конвейерное обрабатывающее устройство дополнительно содержит: каскад выборки, выполненный с возможностью выбора команд; и при этом устройство уплотнения дополнительно выполнено с возможностью приема как команд от каскада выборки, так и псевдокоманды; и выбора одной из выбранной команды и псевдокоманды для подачи на вход каскада декодирования.
20. Способ по п.13, в котором обрабатывающее устройство дополнительно содержит: множество регистров общего назначения.
21. Устройство для генерирования псевдокоманды, при этом устройство содержит: многокаскадное конвейерное обрабатывающее устройство, выполненное с возможностью выполнения обработки прерываний, причем упомянутое обрабатывающее устройство включает в себя конвейер, при этом конвейер включает в себя: первый каскад, выполненный с возможностью приема команд, и второй каскад, выполненный с возможностью отложенной записи результатов в массив регистров общего назначения; и выполнения обработки данных команд из программы; логическую схему управления, выполненную с возможностью генерирования псевдокоманды в ответ на запрос на прерывание, причем псевдокоманда формируется с возможностью принуждения адреса возврата из прерывания быть записанным в массив регистров общего назначения, при этом адрес возврата из прерывания связан с командой, которая больше всего продвинулась и не была полностью обработана в конвейере, и при этом псевдокоманда дополнительно формируется с возможностью включения в конвейер многокаскадного конвейерного обрабатывающего устройства и прохождения по конвейеру аналогично другим командам, которые включены в конвейер; при этом конвейер дополнительно включает в себя: каскад декодирования, выполненный с возможностью декодирования псевдокоманды, и каскад отложенной записи, выполненный с возможностью записи результатов, связанных с псевдокомандой, в массив регистров общего назначения, причем эти результаты включают в себя адрес возврата из прерывания; и устройство уплотнения, выполненное с возможностью приема как псевдокоманды от логической схемы управления, так и данных команд из программы, и подачи псевдокоманды или данных команд на вход первого каскада; при этом многокаскадное конвейерное обрабатывающее устройство дополнительно выполнено с возможностью возобновления, после обработки прерывания, обработки данных команд по адресу возврата из прерывания.
22. Устройство по п.21, в котором массив регистров общего назначения находится под управлением конвейера и в котором больше всего продвинувшаяся и не полностью обработанная команда, связанная с адресом возврата из прерывания, является не полностью обработанной в конвейере.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/459,695 US7681022B2 (en) | 2006-07-25 | 2006-07-25 | Efficient interrupt return address save mechanism |
US11/459,695 | 2006-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2009106463A RU2009106463A (ru) | 2010-08-27 |
RU2450329C2 true RU2450329C2 (ru) | 2012-05-10 |
Family
ID=38667151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009106463/08A RU2450329C2 (ru) | 2006-07-25 | 2007-07-24 | Эффективный механизм сохранения адреса возврата из прерывания |
Country Status (10)
Country | Link |
---|---|
US (1) | US7681022B2 (ru) |
EP (1) | EP2044508A1 (ru) |
JP (2) | JP5528804B2 (ru) |
KR (1) | KR101077425B1 (ru) |
CN (1) | CN101495960B (ru) |
BR (1) | BRPI0714128A2 (ru) |
CA (1) | CA2657168C (ru) |
MX (1) | MX2009000728A (ru) |
RU (1) | RU2450329C2 (ru) |
WO (1) | WO2008014287A1 (ru) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7681022B2 (en) * | 2006-07-25 | 2010-03-16 | Qualcomm Incorporated | Efficient interrupt return address save mechanism |
CN102364432B (zh) * | 2011-10-25 | 2013-12-18 | 中国科学院苏州纳米技术与纳米仿生研究所 | 使用双程序计数器计算待处理指令地址的系统 |
US10360593B2 (en) * | 2012-04-24 | 2019-07-23 | Qualcomm Incorporated | Retail proximity marketing |
KR20170065845A (ko) | 2015-12-04 | 2017-06-14 | 삼성전자주식회사 | 프로세서 및 제어 방법 |
US11003457B2 (en) * | 2019-01-23 | 2021-05-11 | Mediatek Inc. | Power-saving mechanism for memory sub-system in pipelined processor |
CN112883370B (zh) * | 2019-11-29 | 2022-12-20 | 北京三快在线科技有限公司 | 应用程序状态检测方法和装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6209086B1 (en) * | 1998-08-18 | 2001-03-27 | Industrial Technology Research Institute | Method and apparatus for fast response time interrupt control in a pipelined data processor |
US6301650B1 (en) * | 1998-10-29 | 2001-10-09 | Pacific Design, Inc. | Control unit and data processing system |
RU2275679C2 (ru) * | 2000-11-27 | 2006-04-27 | Арм Лимитед | Способ и устройство обработки данных для сохранения возвратного состояния |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS564844A (en) * | 1979-06-26 | 1981-01-19 | Nec Corp | Information processor |
JP2509244B2 (ja) * | 1987-09-14 | 1996-06-19 | 富士通株式会社 | 分岐命令処理装置 |
JPH076037A (ja) * | 1993-06-16 | 1995-01-10 | Matsushita Electric Ind Co Ltd | 命令解読装置 |
US5440703A (en) * | 1993-09-20 | 1995-08-08 | International Business Machines Corporation | System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified |
US5701493A (en) * | 1995-08-03 | 1997-12-23 | Advanced Risc Machines Limited | Exception handling method and apparatus in data processing systems |
JPH09198257A (ja) * | 1996-01-19 | 1997-07-31 | Sanyo Electric Co Ltd | プログラム実行方法およびこの方法を用いたプログラム実行装置 |
US6381692B1 (en) * | 1997-07-16 | 2002-04-30 | California Institute Of Technology | Pipelined asynchronous processing |
US6076159A (en) * | 1997-09-12 | 2000-06-13 | Siemens Aktiengesellschaft | Execution of a loop instructing in a loop pipeline after detection of a first occurrence of the loop instruction in an integer pipeline |
JP2000207202A (ja) * | 1998-10-29 | 2000-07-28 | Pacific Design Kk | 制御装置およびデ―タ処理装置 |
US6789184B1 (en) * | 2000-09-29 | 2004-09-07 | Intel Corporation | Instruction address generation and tracking in a pipelined processor |
KR20030088892A (ko) * | 2001-02-06 | 2003-11-20 | 애더란트 테크놀로지스 비.브이. | 인터럽트를 핸들링하기 위한 방법 및 장치 |
JP3856737B2 (ja) * | 2002-07-19 | 2006-12-13 | 株式会社ルネサステクノロジ | データ処理装置 |
US7765388B2 (en) * | 2003-09-17 | 2010-07-27 | Broadcom Corporation | Interrupt verification support mechanism |
US20050010577A1 (en) | 2003-07-11 | 2005-01-13 | Microsoft Corporation | Method and apparatus for generating Web content |
CN100545804C (zh) * | 2003-08-18 | 2009-09-30 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微控制器及其指令集的实现方法 |
US20050273776A1 (en) * | 2004-06-08 | 2005-12-08 | Intel Corporation | Assembler supporting pseudo registers to resolve return address ambiguity |
US7681022B2 (en) * | 2006-07-25 | 2010-03-16 | Qualcomm Incorporated | Efficient interrupt return address save mechanism |
-
2006
- 2006-07-25 US US11/459,695 patent/US7681022B2/en not_active Expired - Fee Related
-
2007
- 2007-07-24 RU RU2009106463/08A patent/RU2450329C2/ru not_active IP Right Cessation
- 2007-07-24 CA CA2657168A patent/CA2657168C/en not_active Expired - Fee Related
- 2007-07-24 JP JP2009521965A patent/JP5528804B2/ja not_active Expired - Fee Related
- 2007-07-24 BR BRPI0714128-9A patent/BRPI0714128A2/pt not_active IP Right Cessation
- 2007-07-24 EP EP07813309A patent/EP2044508A1/en not_active Withdrawn
- 2007-07-24 MX MX2009000728A patent/MX2009000728A/es active IP Right Grant
- 2007-07-24 WO PCT/US2007/074263 patent/WO2008014287A1/en active Application Filing
- 2007-07-24 KR KR1020097003916A patent/KR101077425B1/ko not_active IP Right Cessation
- 2007-07-24 CN CN2007800282580A patent/CN101495960B/zh not_active Expired - Fee Related
-
2013
- 2013-12-27 JP JP2013272652A patent/JP5837033B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6209086B1 (en) * | 1998-08-18 | 2001-03-27 | Industrial Technology Research Institute | Method and apparatus for fast response time interrupt control in a pipelined data processor |
US6301650B1 (en) * | 1998-10-29 | 2001-10-09 | Pacific Design, Inc. | Control unit and data processing system |
RU2275679C2 (ru) * | 2000-11-27 | 2006-04-27 | Арм Лимитед | Способ и устройство обработки данных для сохранения возвратного состояния |
Also Published As
Publication number | Publication date |
---|---|
RU2009106463A (ru) | 2010-08-27 |
CA2657168A1 (en) | 2008-01-31 |
JP2014099192A (ja) | 2014-05-29 |
JP5528804B2 (ja) | 2014-06-25 |
KR101077425B1 (ko) | 2011-10-26 |
US20080028194A1 (en) | 2008-01-31 |
MX2009000728A (es) | 2009-02-04 |
KR20090042283A (ko) | 2009-04-29 |
JP2009545079A (ja) | 2009-12-17 |
CN101495960A (zh) | 2009-07-29 |
WO2008014287A1 (en) | 2008-01-31 |
CN101495960B (zh) | 2012-08-29 |
EP2044508A1 (en) | 2009-04-08 |
US7681022B2 (en) | 2010-03-16 |
CA2657168C (en) | 2010-12-07 |
JP5837033B2 (ja) | 2015-12-24 |
BRPI0714128A2 (pt) | 2012-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6216223B1 (en) | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
US5604878A (en) | Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path | |
RU2450329C2 (ru) | Эффективный механизм сохранения адреса возврата из прерывания | |
CN103257849A (zh) | 程序执行控制装置 | |
US20070005942A1 (en) | Converting a processor into a compatible virtual multithreaded processor (VMP) | |
US20030135716A1 (en) | Method of creating a high performance virtual multiprocessor by adding a new dimension to a processor's pipeline | |
RU2375768C2 (ru) | Процессор и способ осуществления операций непрямого чтения и записи регистра | |
US20070260857A1 (en) | Electronic Circuit | |
KR100986375B1 (ko) | 피연산자의 빠른 조건부 선택 | |
JP3756410B2 (ja) | 述語データを提供するシステム | |
US7539847B2 (en) | Stalling processor pipeline for synchronization with coprocessor reconfigured to accommodate higher frequency operation resulting in additional number of pipeline stages | |
US7003649B2 (en) | Control forwarding in a pipeline digital processor | |
US8074053B2 (en) | Dynamic instruction and data updating architecture | |
WO2007057831A1 (en) | Data processing method and apparatus | |
RU2816094C1 (ru) | Vliw-процессор с дополнительным подготовительным конвейером и предсказателем перехода | |
CN116841614B (zh) | 乱序访存机制下的顺序向量调度方法 | |
US20090292908A1 (en) | Method and arrangements for multipath instruction processing | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JP2000003279A (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 | |
JP2004362368A (ja) | プロセッサおよび例外処理方法 | |
JPH1173327A (ja) | コンパイラ、プロセッサおよび記録媒体 | |
JP2001014160A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20180725 |