RU98113914A - Способ и устройство для выполнения команд с плавающей запятой и упакованных данных, используя одиночный файл регистра - Google Patents
Способ и устройство для выполнения команд с плавающей запятой и упакованных данных, используя одиночный файл регистраInfo
- Publication number
- RU98113914A RU98113914A RU98113914/09A RU98113914A RU98113914A RU 98113914 A RU98113914 A RU 98113914A RU 98113914/09 A RU98113914/09 A RU 98113914/09A RU 98113914 A RU98113914 A RU 98113914A RU 98113914 A RU98113914 A RU 98113914A
- Authority
- RU
- Russia
- Prior art keywords
- specified
- instructions
- processor
- execution
- command
- Prior art date
Links
- 230000000875 corresponding Effects 0.000 claims 4
- 238000000034 method Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
Claims (51)
1. Процессор, содержащий устройство декодирования, сконфигурированное, чтобы декодировать команды из по меньшей мере, одного набора команд; множество физических регистров; и устройство отображения, подсоединенное к указанному устройству декодирования и указанному множеству физических регистров, для отображения логических регистров, определенных первым набором команд, в регистры в указанном множестве физических регистров с обращением, аналогичным обращению к стеку, и для отображения тех же самых логических регистров, определенных вторым набором команд, в регистры в указанном множестве физических регистров обращением, отличным от обращения к стеку, в котором первый набор команд определяет операции над операндами типа данных, отличными от указанного второго набора команд.
2. Процессор по п. 1, дополнительно содержащий указанное устройство отображения, включающее набор тэгов, каждый тэг в указанном наборе тэгов соответствует различному одному из указанных логических регистров, каждый тэг в указанном наборе тэгов идентифицирует, находится ли указанный соответствующий регистр в пустом состоянии или непустом состоянии.
3. Процессор по п. 2, в котором указанное устройство отображения сконфигурировано так, чтобы изменить каждый тэг в указанном наборе тэгов в указанное непустое состояние в первом интервале времени между началом выполнения команд из указанного первого набора команд и началом выполнения команд из указанного второго набора команд, если команда перехода не выполнена во втором интервале времени после выполнения команд из указанного первого набора команд и перед выполнением команд из второго набора команд.
4. Процессор по п. 2, в котором указанное устройство отображения также сконфигурировано так, чтобы изменить каждый тэг в указанном наборе тэгов в указанное пустое состояние в ответ на прием указанным процессором одной команды.
5. Процессор по п. 2, в котором указанное устройство отображения также сконфигурировано так, чтобы изменить каждый тэг в указанном наборе тэгов в указанное непустое состояние в ответ на прием указанным процессором, по меньшей мере, одной команды указанного второго набора команд.
6. Процессор по п. 1, в котором указанное множество физических регистров включает в себя первый физический файл регистров и набор буферных регистров; и указанное устройство отображения первоначально отображает логические регистры, определенные как указанным первым набором команд, так и указанным вторым набором команд, в регистры в указанном наборе буферных регистров, и схемы изымают эти регистры из указанного набора буферных регистров в указанный первый физический файл регистров.
7. Процессор по п. 6, в котором указанный набор буферных регистров является множеством мест резервирования.
8. Процессор по п. 1, в котором указанный первый набор команд заставляет указанный процессор выполнить скалярные операции с плавающей запятой.
9. Процессор по п. 1, в котором указанный первый набор команд заставляет указанный процессор выполнить упакованные операции с плавающей запятой.
10. Процессор по п. 1, в котором указанный второй набор команд заставляет указанный процессор выполнить скалярные целочисленные операции.
11. Процессор по п. 1, в котором указанный второй набор команд заставляет указанный процессор выполнить упакованные целочисленные операции.
12. Процессор по п. 1, в котором указанное устройство отображения также сконфигурировано так, чтобы отобразить различные логические регистры, определенные третьим набором команд, в регистры в указанном множестве физических регистров.
13. Процессор по п. 12, в котором указанный первый набор команд заставляет указанный процессор выполнить скалярные операции с плавающей запятой, указанный второй набор команд заставляет указанный процессор выполнить упакованные целочисленные операции, а указанный третий набор команд заставляет указанный процессор выполнить скалярные целочисленные операции.
14. Процессор по п. 13, в котором указанное множество физических регистров включает в себя набор буферных регистров; и указанное устройство отображения первоначально отображает логические регистры, определенные каждым из указанных первого, второго и третьего наборов команд, в указанный набор буферных регистров, и схемы изымают эти регистры, назначенные указанному первому и второму наборам команд, из указанного набора буферных регистров в первый физический файл регистров и изымают эти регистры, назначенные указанному третьему набору команд из указанного набора буферных регистров во второй физический файл регистров.
15. Процессор по п. 12, в котором указанное устройство отображения отображает логические регистры, определенные указанным третьим набором команд с обращением, отличным от обращения к стеку.
16. Процессор по п. 1, в котором логические регистры, определенные указанными первыми и вторыми наборами команд, являются, по меньшей мере, частично совмещенными.
17. Процессор, содержащий первое устройство отображения, подсоединенное к первой таблице отображения, первоначально отображающее первый тип операнда и второй тип операнда в набор буферных регистров; второе устройство отображения, подсоединенное ко второй таблице отображения, первоначально отображающее третий тип операнда в указанный набор буферных регистров; устройство изъятия, включающее первый и второй физический файл регистров в дополнение к указанному набору буферных регистров, указанное устройство изъятия изымает операнды указанного первого и второго типа операнда из указанного набора буферных регистров в указанный первый физический файл регистров, изымает операнды указанного третьего типа операнда из указанного набора буферных регистров в указанный второй физический файл регистров, и заставляет указанные первые и вторые устройства отображения модифицировать указанные первую и вторую таблицы отображения соответственно.
18. Процессор по п. 17, в котором каждый регистр в указанном первом физическом файле регистров соответствует различному входу в указанной первой таблице отображения, и каждый регистр в указанном втором физическом файле регистров соответствует различному входу в указанной второй таблице отображения.
19. Процессор по п. 17, в котором указанное первое устройство отображения дополнительно включает в себя регистр управления, сохраняющий указатель на верхушку стека, указанное первое устройство отображения обрабатывает указанную первую таблицу отображения как стек при отображении операндов указанного первого типа операнда.
20. Процессор по п. 19, в котором указанное первое устройство отображения обрабатывает указанную первую таблицу отображения так, что указанный первый физический файл регистров используется как фиксированный файл регистров при отображении операндов указанного второго типа операнда.
21. Процессор по п. 19, в котором указанное первое устройство отображения также подсоединено к области памяти, имеющей набор входов, каждый вход в указанном наборе входов имеет соответствующий вход в указанной первой таблице отображения, каждый вход имеет сохраненный там тэг, идентифицирующий информацию относительно данных, отображенных указанным соответствующим входом в указанной первой таблице отображения.
22. Процессор по п. 21, дополнительно содержащий устройство перехода, подсоединенное к указанному первому устройству отображения, сконфигурированное так, чтобы заставить указанное первое устройство отображения изменить указанный указатель на верхушку стека на значение инициализации и изменить каждый тэг на непустое состояние в ответ на попытку указанным процессором выполнить одну из набора команд упакованных данных, если указанный процессор выполнил одну из набора команд с плавающей запятой позже, чем одну из указанного набора команд упакованных данных.
23. Процессор по п. 22, в котором указанное первое устройство отображения сконфигурировано так, чтобы изменить каждый тэг в указанном наборе входов в пустое состояние в ответ на выполнение указанным процессором набора команд.
24. Процессор по п. 23, в котором указанный набор команд включает одиночную команду.
25. Процессор по п. 22, в котором указанное первое устройство отображения не изменяет указанный указатель на верхушку стека при выполнении любой из указанного набора команд упакованных данных.
26. Процессор по п. 17, в котором указанный первый тип операнда связан с командами с плавающей запятой, указанный второй тип операнда связан с командами упакованных данных, а указанный третий тип операнда связан со скалярными целочисленными командами.
27. Процессор по п. 26, в котором указанные команды упакованных данных заставляют указанный процессор выполнить упакованные целочисленные операции.
28. Процессор по п. 26, в котором указанные команды упакованных данных заставляют указанный процессор выполнить упакованные операции с плавающей запятой.
29. В устройстве обработки данных, способ выполнения команд, содержащий этапы: декодирование первого и второго набора команд, чье выполнение заставляет операции над операндами различных типов данных выполняться над содержимым одного и того же логического файла регистров; обработка указанного логического файла регистров как фиксированного файла регистров при выполнении указанного первого набора команд; и обработка указанного логического файла регистров как стека при выполнении указанного второго набора команд; и устранение конфликтов между регистрами в указанном логическом файле регистров, использующем переименование регистра.
30. Способ по п. 29, дополнительно содержащий этап: изменение всех тэгов в наборе тэгов в пустое состояние в какой-либо момент между началом выполнения указанного этапа указанного первого набора команд и началом выполнения указанного этапа указанного второго набора команд, и в котором каждый из указанного набора тэгов идентифицирует, является ли различный регистр в указанном логическом файле регистров пустым или непустым.
31. Способ по п. 30, в котором указанный этап выполнения указанного первого набора команд включает в себя этапы выполнения команд упакованных данных; и указанный этап выполнения указанного второго набора команд включает этапы выполнения скалярных команд.
32. Способ по п. 29, дополнительно содержащий этап: изменение всех тэгов в наборе тэгов в непустое состояние между началом выполнения указанного этапа указанного первого набора команд и завершением выполнения указанного этапа указанного второго набора команд, и в котором указанный набор тэгов соответствует указанному логическому файлу регистров и идентифицирует, являются ли регистры в указанном логическом файле регистров пустыми или непустыми.
33. Способ по п. 32, в котором каждый тэг в указанном наборе тэгов соответствует различному регистру в указанном логическом файле регистров и идентифицирует, является ли указанный соответствующий логический регистр пустым или непустым.
34. Способ по п. 29, дополнительно содержащий этап: изменение указателя на верхушку стека на значение инициализации в какой-то момент между началом выполнения указанного этапа указанного первого набора команд и завершением выполнения указанного этапа указанного второго набора команд, и в котором указанный указатель на верхушку стека указывает один регистр в указанном логическом файле регистров в качестве верхушки указанного файла регистров с обращением, аналогичным обращению к стеку.
35. Способ по п. 29, в котором указанный этап выполнения указанного второго набора команд дополнительно содержит этап: копирование содержания физического регистра, отображенного в каждый регистр в указанном логическом файле регистров.
36. Способ по п. 29, в котором указанный этап выполнения указанного первого набора команд включает в себя этапы выполнения операций упакованных данных.
37. Способ по п. 29, в котором указанный этап выполнения указанного первого набора команд включает в себя этапы выполнения упакованных целочисленных операций.
38. Способ по п. 29, в котором указанный этап выполнения указанного первого набора команд включает в себя этапы выполнения упакованных операций с плавающей запятой.
39. Способ по п. 29, в котором указанный этап выполнения указанного второго набора команд включает в себя этапы выполнения скалярных операций с плавающей запятой.
40. В устройстве обработки данных, включающем процессор, способ выполнения команд, включающий этапы: прием первой команды из первой программы; определение, является ли указанная первая команда одной из набора команд с плавающей запятой или одной из набора команд упакованных данных, в котором как указанный набор команд с плавающей запятой, так и указанный набор команд упакованных данных определяет операции, которые нужно выполнить над содержимым одного и того же логического файла регистров; рискованное выполнение указанной первой команды; если указанная первая команда является одной из указанного набора команд упакованных данных, то выполнение этапов: определение, находится ли указанный процессор в режиме упакованных данных; если указанный процессор не находится в указанном режиме упакованных данных, то выполнение этапов: перевод указанного процессора в указанный режим упакованных данных; и перезапуск выполнения указанной первой команды; кроме того, передача данных, сформированных указанным этапом рискованного выполнения указанной первой команды; кроме того, передача данных, сформированных указанным этапом рискованного выполнения указанной первой команды.
41. Способ по п. 40, в котором указанный этап перевода указанного процессора в указанный режим упакованных данных дополнительно содержит этап изменения каждого из набора тэгов на непустое состояние, где каждый тэг в указанном наборе тэгов соответствует различному регистру в указанном логическом файле регистров; указанный этап определения, является ли указанная первая команда одной из указанного набора команд с плавающей запятой, или одной из указанного набора команд упакованных данных дополнительно включает определение, является ли указанная первая команда командой перехода из указанного набора команд упакованных данных; и если определено, что указанная первая команда является командой перехода, указанный этап выполнения указанной первой команды содержит изменение каждого из указанного набора тэгов в пустое состояние.
42. Способ по п. 40, в котором указанный этап рискованного выполнения указанной первой команды дополнительно включает этапы: если указанная первая команда является одной из указанного набора команд с плавающей запятой, то выполнение указанной команды с плавающей запятой с обращением, аналогичным обращению к стеку, где указателем на верхушку стека управляют указанным процессором для идентификации одного регистра в указанном логическом файле регистров, который в настоящее время находится на верхушке указанного стека; если указанная первая команда является одной из указанного набора команд упакованных данных, то выполнение указанной команды упакованных данных с обращением, аналогичным обращением к стеку.
43. Способ по п. 42, в котором указанный этап перевода указанного процессора в указанный режим упакованных данных дополнительно содержит этапы: изменение указанного указателя на верхушку стека на значение инициализации.
44. Способ по п. 43, в котором указанный этап рискованного выполнения указанной команды упакованных данных, работающей с указанным обращением, отличным от обращения к стеку, дополнительно содержит неизменение указанного указателя на верхушку стека.
45. Способ по п. 43, в котором указанный этап перевода указанного процессора в указанный режим упакованных данных дополнительно содержит этап изменения каждого из набора тэгов на непустое состояние, где каждый тэг в указанном наборе тэгов соответствует различному регистру в указанном логическом файле регистров; указанный этап определения, является ли указанная первая команда одной из указанного набора команд с плавающей запятой или одной из указанного набора команд упакованных данных, дополнительно содержит определение, является ли указанная первая команда командой перехода из указанного набора команд упакованных данных; и если определено, что указанная первая команда является указанной командой перехода, указанный этап выполнения указанной первой команды содержит изменение каждого из указанного набора тэгов в пустое состояние.
46. Способ по п. 40, дополнительно содержащий этапы: определение, выполнялся ли частичный контекстный переключатель; если указанный частичный контекстный переключатель выполнялся, то выполнение этапов: прерывание выполнения указанной первой программы; выполнение второй программы.
47. Способ по п. 40, дополнительно содержащий этапы: определение, следует ли эмулировать выполнение указанного набора команд с плавающей запятой; если выполнение указанного набора команд с плавающей запятой должно быть эмулировано, то выполнение этапов: если указанная первая команда является одной из указанного набора команд с плавающей запятой, то выполнение этапов: прерывание выполнения указанной первой программы; выполнение второй программы; иначе, указанная первая команда является одной из указанного набора команд с плавающей запятой и выполнения этапов: прерывание выполнения указанной первой программы; выполнение третьей программы.
48. Способ по п. 47, дополнительно содержащий этапы: определение, выполнялся ли частичный контекстный переключатель; если указанный частичный контекстный переключатель выполнялся, то выполнение этапов: прерывание выполнения указанной первой программы; и выполнение указанной второй программы.
49. Способ по п. 48, дополнительно содержащий этапы: определение имеет ли указанная первая команда один из набора допустимых кодов операции; если в указанной первой команде отсутствует какой-либо из указанного набора допустимых кодов операции, то выполнение этапов: прерывание выполнения указанной первой программы; и выполнение указанной третьей программы.
50. Способ по п. 40, в котором указанный этап выполнения указанной первой команды дополнительно содержит этапы: если указанная первая команда является одной из указанного набора команд упакованных данных, и выполнение указанной команды упакованных данных заставляет указанный процессор осуществлять запись значения данных в логический регистр в указанном логическом файле регистров, то выполнение этапов: запись предопределенного значения в поле знака и порядка физического регистра, отображенного в указанный логический регистр; запись указанного значения данных в поле мантиссы указанного логического регистра.
51. Способ по п. 40, в котором: указанный этап выполнения указанной первой команды дополнительно содержит этапы: если указанная первая команда является одной из указанного набора команд с плавающей запятой, то выполнение указанной первой команды, осуществляющей некоторую численную задержку ошибок; если указанная первая команда является одной из указанного набора команд упакованных данных, то выполнение указанной первой команды без распознавания каких-либо численных ошибок; указанный способ дополнительно содержит этап: определение, имеются ли какие-либо отложенные численные ошибки от выполнения предыдущей команды указанного набора команд с плавающей запятой; если имеются какие-либо отложенные численные ошибки от выполнения предыдущей команды указанного набора команд с плавающей запятой, то выполнение этапов: прерывание выполнения указанной первой программы; выполнение второй подпрограммы.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/574,719 | 1995-12-19 | ||
US08/574,719 US5852726A (en) | 1995-12-19 | 1995-12-19 | Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner |
Publications (2)
Publication Number | Publication Date |
---|---|
RU98113914A true RU98113914A (ru) | 2000-06-10 |
RU2179331C2 RU2179331C2 (ru) | 2002-02-10 |
Family
ID=24297335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU98113914/09A RU2179331C2 (ru) | 1995-12-19 | 1996-12-17 | Способ и устройство для выполнения команд с плавающей запятой и упакованных данных, используя одиночный файл регистра |
Country Status (8)
Country | Link |
---|---|
US (1) | US5852726A (ru) |
EP (2) | EP0868689A4 (ru) |
JP (5) | JP3678427B2 (ru) |
KR (1) | KR100312092B1 (ru) |
AU (1) | AU1345597A (ru) |
BR (1) | BR9612189A (ru) |
RU (1) | RU2179331C2 (ru) |
WO (1) | WO1997022921A1 (ru) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1265132A3 (en) * | 1994-12-02 | 2005-02-09 | Intel Corporation | Microprocessor with packing operation of composite operands |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US6792523B1 (en) * | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US5701508A (en) | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US5940859A (en) | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
US6260137B1 (en) * | 1997-09-12 | 2001-07-10 | Siemens Aktiengesellschaft | Data processing unit with digital signal processing capabilities |
US6065114A (en) * | 1998-04-21 | 2000-05-16 | Idea Corporation | Cover instruction and asynchronous backing store switch |
US6009509A (en) * | 1997-10-08 | 1999-12-28 | International Business Machines Corporation | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US7197625B1 (en) | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US6112018A (en) * | 1997-12-18 | 2000-08-29 | Advanced Micro Devices, Inc. | Apparatus for exchanging two stack registers |
FR2772944A1 (fr) * | 1997-12-19 | 1999-06-25 | Sgs Thomson Microelectronics | Procede de gestion d'un circuit electronique et unite de gestion pour sa mise en oeuvre |
US6192464B1 (en) * | 1997-12-31 | 2001-02-20 | Intel Corporation | Method and apparatus for decoding one or more instructions after renaming destination registers |
US5974531A (en) * | 1998-02-17 | 1999-10-26 | Industrial Technology Research Institute | Methods and systems of stack renaming for superscalar stack-based data processors |
US6192467B1 (en) | 1998-03-31 | 2001-02-20 | Intel Corporation | Executing partial-width packed data instructions |
US6230257B1 (en) | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
US6233671B1 (en) | 1998-03-31 | 2001-05-15 | Intel Corporation | Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions |
US6122725A (en) * | 1998-03-31 | 2000-09-19 | Intel Corporation | Executing partial-width packed data instructions |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
US6263426B1 (en) | 1998-04-30 | 2001-07-17 | Intel Corporation | Conversion from packed floating point data to packed 8-bit integer data in different architectural registers |
US6282554B1 (en) | 1998-04-30 | 2001-08-28 | Intel Corporation | Method and apparatus for floating point operations and format conversion operations |
US6266769B1 (en) * | 1998-04-30 | 2001-07-24 | Intel Corporation | Conversion between packed floating point data and packed 32-bit integer data in different architectural registers |
US6292815B1 (en) | 1998-04-30 | 2001-09-18 | Intel Corporation | Data conversion between floating point packed format and integer scalar format |
US5995122A (en) * | 1998-04-30 | 1999-11-30 | Intel Corporation | Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format |
US6247116B1 (en) * | 1998-04-30 | 2001-06-12 | Intel Corporation | Conversion from packed floating point data to packed 16-bit integer data in different architectural registers |
US6240507B1 (en) * | 1998-10-08 | 2001-05-29 | International Business Machines Corporation | Mechanism for multiple register renaming and method therefor |
US6256725B1 (en) * | 1998-12-04 | 2001-07-03 | Agere Systems Guardian Corp. | Shared datapath processor utilizing stack-based and register-based storage spaces |
US7020879B1 (en) * | 1998-12-16 | 2006-03-28 | Mips Technologies, Inc. | Interrupt and exception handling for multi-streaming digital processors |
US7237093B1 (en) | 1998-12-16 | 2007-06-26 | Mips Technologies, Inc. | Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams |
US6389449B1 (en) * | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US7035997B1 (en) | 1998-12-16 | 2006-04-25 | Mips Technologies, Inc. | Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors |
US7257814B1 (en) | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US7529907B2 (en) | 1998-12-16 | 2009-05-05 | Mips Technologies, Inc. | Method and apparatus for improved computer load and store operations |
US6292888B1 (en) * | 1999-01-27 | 2001-09-18 | Clearwater Networks, Inc. | Register transfer unit for electronic processor |
US6321327B1 (en) * | 1998-12-30 | 2001-11-20 | Intel Corporation | Method for setting a bit associated with each component of packed floating-pint operand that is normalized in SIMD operations |
US6308252B1 (en) * | 1999-02-04 | 2001-10-23 | Kabushiki Kaisha Toshiba | Processor method and apparatus for performing single operand operation and multiple parallel operand operation |
US6732259B1 (en) | 1999-07-30 | 2004-05-04 | Mips Technologies, Inc. | Processor having a conditional branch extension of an instruction set architecture |
US7242414B1 (en) | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
JP2002536763A (ja) * | 1999-02-12 | 2002-10-29 | エムアイピーエス テクノロジーズ, インコーポレイテッド | 命令セット構造の比較拡張を有するプロセッサ |
US7346643B1 (en) | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
US6631392B1 (en) | 1999-07-30 | 2003-10-07 | Mips Technologies, Inc. | Method and apparatus for predicting floating-point exceptions |
US6714197B1 (en) | 1999-07-30 | 2004-03-30 | Mips Technologies, Inc. | Processor having an arithmetic extension of an instruction set architecture |
US6697832B1 (en) | 1999-07-30 | 2004-02-24 | Mips Technologies, Inc. | Floating-point processor with improved intermediate result handling |
US6912559B1 (en) | 1999-07-30 | 2005-06-28 | Mips Technologies, Inc. | System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit |
US6631452B1 (en) * | 2000-04-28 | 2003-10-07 | Idea Corporation | Register stack engine having speculative load/store modes |
US7496734B1 (en) * | 2000-04-28 | 2009-02-24 | Stmicroelectronics, Inc. | System and method for handling register dependency in a stack-based pipelined processor |
US6996596B1 (en) | 2000-05-23 | 2006-02-07 | Mips Technologies, Inc. | Floating-point processor with operating mode having improved accuracy and high performance |
US6725361B1 (en) * | 2000-06-16 | 2004-04-20 | Transmeta Corporation | Method and apparatus for emulating a floating point stack in a translation process |
EP1311947B1 (en) | 2000-07-14 | 2011-01-19 | MIPS Technologies, Inc. | Instruction fetch and dispatch in multithreaded system |
US7206925B1 (en) | 2000-08-18 | 2007-04-17 | Sun Microsystems, Inc. | Backing Register File for processors |
US6757807B1 (en) | 2000-08-18 | 2004-06-29 | Sun Microsystems, Inc. | Explicitly clustered register file and execution unit architecture |
US7181484B2 (en) | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
US7162621B2 (en) * | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
US7203820B2 (en) | 2002-06-28 | 2007-04-10 | Sun Microsystems, Inc. | Extending a register file utilizing stack and queue techniques |
EP1447742A1 (en) * | 2003-02-11 | 2004-08-18 | STMicroelectronics S.r.l. | Method and apparatus for translating instructions of an ARM-type processor into instructions for a LX-type processor |
US7613950B2 (en) * | 2004-02-27 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Detecting floating point hardware failures |
US8275976B2 (en) * | 2005-08-29 | 2012-09-25 | The Invention Science Fund I, Llc | Hierarchical instruction scheduler facilitating instruction replay |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
US8296550B2 (en) * | 2005-08-29 | 2012-10-23 | The Invention Science Fund I, Llc | Hierarchical register file with operand capture ports |
US7644258B2 (en) * | 2005-08-29 | 2010-01-05 | Searete, Llc | Hybrid branch predictor using component predictors each having confidence and override signals |
US20070061551A1 (en) * | 2005-09-13 | 2007-03-15 | Freescale Semiconductor, Inc. | Computer Processor Architecture Comprising Operand Stack and Addressable Registers |
EP2013723B1 (en) * | 2006-05-03 | 2019-06-12 | Sony Interactive Entertainment Inc. | Register mapping in emulation of a target system on a host system |
GB2447428A (en) * | 2007-03-15 | 2008-09-17 | Linear Algebra Technologies Lt | Processor having a trivial operand register |
US7882325B2 (en) * | 2007-12-21 | 2011-02-01 | Intel Corporation | Method and apparatus for a double width load using a single width load port |
CN101216756B (zh) * | 2007-12-28 | 2011-03-23 | 中国科学院计算技术研究所 | 一种risc处理器装置及其模拟浮点栈操作的方法 |
US9798543B2 (en) * | 2009-09-24 | 2017-10-24 | Nvidia Corporation | Fast mapping table register file allocation algorithm for SIMT processors |
US20120191952A1 (en) * | 2011-01-21 | 2012-07-26 | Advanced Micro Devices, Inc. | Processor implementing scalar code optimization |
US8914615B2 (en) | 2011-12-02 | 2014-12-16 | Arm Limited | Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format |
US9405542B1 (en) * | 2012-04-05 | 2016-08-02 | Marvell International Ltd. | Method and apparatus for updating a speculative rename table in a microprocessor |
JP6511462B2 (ja) * | 2013-10-27 | 2019-05-15 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 浮動小数点レジスタエイリアシングのためのプロセッサ及び方法 |
MA44821A (fr) * | 2016-02-27 | 2019-01-02 | Kinzinger Automation Gmbh | Procédé d'allocation d'une pile de registres virtuels dans une machine à pile |
CN111782269B (zh) * | 2020-06-04 | 2023-12-12 | 珠海格力电器股份有限公司 | 一种中断处理方法及中断处理设备 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3711692A (en) * | 1971-03-15 | 1973-01-16 | Goodyear Aerospace Corp | Determination of number of ones in a data field by addition |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4229801A (en) * | 1978-12-11 | 1980-10-21 | Data General Corporation | Floating point processor having concurrent exponent/mantissa operation |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4393468A (en) * | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4498177A (en) * | 1982-08-30 | 1985-02-05 | Sperry Corporation | M Out of N code checker circuit |
US4707800A (en) * | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
US4740893A (en) * | 1985-08-07 | 1988-04-26 | International Business Machines Corp. | Method for reducing the time for switching between programs |
JPS6297060A (ja) * | 1985-10-23 | 1987-05-06 | Mitsubishi Electric Corp | デイジタルシグナルプロセツサ |
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US4989168A (en) * | 1987-11-30 | 1991-01-29 | Fujitsu Limited | Multiplying unit in a computer system, capable of population counting |
US5008812A (en) * | 1988-03-18 | 1991-04-16 | Digital Equipment Corporation | Context switching method and apparatus for use in a vector processing system |
KR920007505B1 (ko) * | 1989-02-02 | 1992-09-04 | 정호선 | 신경회로망을 이용한 곱셈기 |
US5127098A (en) * | 1989-04-12 | 1992-06-30 | Sun Microsystems, Inc. | Method and apparatus for the context switching of devices |
EP0510429A3 (en) * | 1991-04-24 | 1993-12-01 | Ibm | Millicode register management system |
US5187679A (en) * | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5522051A (en) * | 1992-07-29 | 1996-05-28 | Intel Corporation | Method and apparatus for stack manipulation in a pipelined processor |
US5519841A (en) * | 1992-11-12 | 1996-05-21 | Digital Equipment Corporation | Multi instruction register mapper |
KR0122528B1 (ko) * | 1993-01-08 | 1997-11-20 | 윌리엄 티.엘리스 | 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템 |
US5535397A (en) * | 1993-06-30 | 1996-07-09 | Intel Corporation | Method and apparatus for providing a context switch in response to an interrupt in a computer process |
US5499352A (en) * | 1993-09-30 | 1996-03-12 | Intel Corporation | Floating point register alias table FXCH and retirement floating point register array |
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
DE69429061T2 (de) * | 1993-10-29 | 2002-07-18 | Advanced Micro Devices Inc | Superskalarmikroprozessoren |
US5546554A (en) * | 1994-02-02 | 1996-08-13 | Sun Microsystems, Inc. | Apparatus for dynamic register management in a floating point unit |
US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
US5507000A (en) * | 1994-09-26 | 1996-04-09 | Bull Hn Information Systems Inc. | Sharing of register stack by two execution units in a central processor |
US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
US5634118A (en) * | 1995-04-10 | 1997-05-27 | Exponential Technology, Inc. | Splitting a floating-point stack-exchange instruction for merging into surrounding instructions by operand translation |
US5687336A (en) * | 1996-01-11 | 1997-11-11 | Exponential Technology, Inc. | Stack push/pop tracking and pairing in a pipelined processor |
-
1995
- 1995-12-19 US US08/574,719 patent/US5852726A/en not_active Expired - Lifetime
-
1996
- 1996-12-17 JP JP52303097A patent/JP3678427B2/ja not_active Expired - Lifetime
- 1996-12-17 BR BR9612189A patent/BR9612189A/pt not_active IP Right Cessation
- 1996-12-17 EP EP96944983A patent/EP0868689A4/en not_active Withdrawn
- 1996-12-17 KR KR1019980704686A patent/KR100312092B1/ko not_active IP Right Cessation
- 1996-12-17 WO PCT/US1996/020522 patent/WO1997022921A1/en active IP Right Grant
- 1996-12-17 AU AU13455/97A patent/AU1345597A/en not_active Abandoned
- 1996-12-17 EP EP05002557.6A patent/EP1548576A3/en not_active Withdrawn
- 1996-12-17 RU RU98113914/09A patent/RU2179331C2/ru active
-
2003
- 2003-12-16 JP JP2003417826A patent/JP3732197B2/ja not_active Expired - Lifetime
- 2003-12-16 JP JP2003417823A patent/JP3792696B2/ja not_active Expired - Lifetime
- 2003-12-16 JP JP2003417830A patent/JP3679797B2/ja not_active Expired - Lifetime
-
2006
- 2006-01-18 JP JP2006009928A patent/JP3868470B2/ja not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU98113914A (ru) | Способ и устройство для выполнения команд с плавающей запятой и упакованных данных, используя одиночный файл регистра | |
US6606743B1 (en) | Real time program language accelerator | |
EP0087978B1 (en) | Information processing unit | |
US4330822A (en) | Recursive system and method for binding compiled routines | |
US5125087A (en) | Method of resetting sequence of access to extended memory disrupted by interrupt processing in 80286 compatible system using code segment register | |
US5748951A (en) | Specialized millicode instructions which reduce cycle time and number of instructions necessary to perform complex operations | |
JP4703718B2 (ja) | 選択的サブルーチンリターン構造 | |
US5574887A (en) | Apparatus and method for emulation routine pointer prefetch | |
US5713035A (en) | Linking program access register number with millicode operand access | |
CN111857839B (zh) | 一种基于Linux的PXI/PXIe总线设备驱动系统 | |
US4791560A (en) | Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program | |
US5819078A (en) | Addressing extended memory using millicode by concatenating a small millicode address and address extension data | |
JPS623461B2 (ru) | ||
JP4465081B2 (ja) | Vliwプロセッサにおける効率的なサブ命令エミュレーション | |
EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
JPH0916409A (ja) | マイクロコンピュータ | |
JPH0377137A (ja) | 情報処理装置 | |
AU1490888A (en) | Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units | |
JPH056281A (ja) | 情報処理装置 | |
JPH0192843A (ja) | データ処理装置 | |
JP2000029690A (ja) | デ―タ処理の方法および装置 | |
US20050216708A1 (en) | Processor for performing context switching, a method for performing context switching, a computer program for perform context switching | |
JPS6240736B2 (ru) | ||
JPS62120542A (ja) | 情報処理装置 | |
JP2883488B2 (ja) | 命令処理装置 |