Регистр процессора

Быстродоступная рабочая память, доступная как часть цифрового процессора
Описание 8-битного регистра на уровне регистровой передачи (RTL) с подробной реализацией, показывающее, как можно сохранить 8 бит данных с помощью триггеров .

Регистр процессора — это быстродоступное место, доступное процессору компьютера . [1] Регистры обычно состоят из небольшого количества быстрого хранилища , хотя некоторые регистры имеют определенные аппаратные функции и могут быть только для чтения или только для записи. В архитектуре компьютера регистры обычно адресуются механизмами, отличными от основной памяти , но в некоторых случаях им может быть назначен адрес памяти , например, DEC PDP-10 , ICT 1900. [ 2]

Почти все компьютеры, независимо от того, имеют ли они архитектуру загрузки/хранения или нет, загружают элементы данных из большей памяти в регистры, где они используются для арифметических операций , побитовых операций и других операций, и обрабатываются или проверяются машинными инструкциями . Обработанные элементы затем часто сохраняются обратно в основную память, либо той же инструкцией, либо последующей. Современные процессоры используют либо статическую , либо динамическую оперативную память в качестве основной памяти, причем к последней обычно осуществляется доступ через один или несколько уровней кэша .

Регистры процессора обычно находятся наверху иерархии памяти и обеспечивают самый быстрый способ доступа к данным. Этот термин обычно относится только к группе регистров, которые напрямую кодируются как часть инструкции, как определено набором инструкций . Однако современные высокопроизводительные процессоры часто имеют дубликаты этих «архитектурных регистров» для повышения производительности посредством переименования регистров , что позволяет выполнять параллельные и спекулятивные команды . Современная архитектура x86 приобрела эти методы около 1995 года с выпуском Pentium Pro , Cyrix 6x86 , Nx586 и AMD K5 .

Когда компьютерная программа обращается к одним и тем же данным повторно, это называется локальностью ссылок . Хранение часто используемых значений в регистрах может иметь решающее значение для производительности программы. Распределение регистров выполняется либо компилятором на этапе генерации кода , либо вручную программистом на языке ассемблера .

Размер

Регистры обычно измеряются по количеству бит , которые они могут содержать, например, « 8-битный регистр», « 32-битный регистр», « 64-битный регистр» или даже больше. В некоторых наборах инструкций регистры могут работать в различных режимах, разбивая свою память хранения на меньшие части (например, 32-битную на четыре 8-битных), в которые можно загружать и обрабатывать несколько данных (вектор или одномерный массив данных) одновременно. Обычно это реализуется путем добавления дополнительных регистров, которые отображают свою память в больший регистр. Процессоры, которые имеют возможность выполнять отдельные инструкции для нескольких данных, называются векторными процессорами .

Типы

Процессор часто содержит несколько видов регистров, которые можно классифицировать в соответствии с типами значений, которые они могут хранить, или инструкциями, которые с ними работают:

  • Регистры, доступные пользователю, могут быть прочитаны или записаны машинными инструкциями. Наиболее распространенное разделение регистров, доступных пользователю, — это разделение на регистры данных и регистры адреса.
    • Регистры управления
    • Регистры данных sмогут содержатьчисловые значения данныхтакие какцелые числаи, в некоторых архитектурах,числа с плавающей точкой, а такжесимволы, массивы с небольшой скоростью передачи данных и другие данные. В некоторых старых архитектурах, таких какIBM 704,IBM 709и их последователи,PDP-1,PDP-4/PDP-7/PDP-9/PDP-15,PDP-5/PDP-8иHP 2100, специальный регистр данных, известный какаккумулятор,используется неявно для многих операций.
    • Адресные регистры хранятадресаи используются инструкциями, которые косвенно обращаются кпервичнойпамяти.
      • Некоторые процессоры содержат регистры, которые могут использоваться только для хранения адреса или только для хранения числовых значений (в некоторых случаях используются как индексный регистр, значение которого добавляется как смещение от некоторого адреса); другие позволяют регистрам хранить любой вид количества. Существует широкий спектр возможных режимов адресации , используемых для указания эффективного адреса операнда.
      • Указатель стека используется для управления стеком времени выполнения . Редко другие стеки данных адресуются с помощью выделенных адресных регистров (см. стековая машина ).
    • Регистры общего назначения (GPR могут хранить как данные, так и адреса, т. е. они представляют собой комбинированные регистры данных/адресов; в некоторых архитектурахфайл регистровунифицирован,так что GPR могут хранить также числа с плавающей точкой.
    • Регистры состояния содержатзначения истинности,которые часто используются для определения того, следует ли выполнять ту или иную инструкцию.
    • Регистры с плавающей точкой (FPR) хранят числа с плавающей точкой во многих архитектурах.
    • Регистры констант содержат значения, доступные только для чтения, такие как ноль, единица илипи.
    • Векторные регистры хранят данные длявекторной обработки,выполняемойSIMD(Single Instruction, Multiple Data).
    • Регистры специального назначения ( SPR или регистры специальных функций ) содержат некоторые элементы состояния программы ; они обычно включают в себя счетчик программ , также называемый указателем команд, и регистр состояния ; счетчик программ и регистр состояния могут быть объединены в регистр слова состояния программы (PSW). Вышеупомянутый указатель стека иногда также включается в эту группу. Встроенные микропроцессоры также могут иметь регистры, соответствующие специализированным аппаратным элементам.
    • Регистры, специфичные для модели (также называемыемашинно-специфичными регистрами), хранят данные и настройки, относящиеся к самому процессору. Поскольку их значения привязаны к конструкции конкретного процессора, не ожидается, что они останутся стандартными между поколениями процессоров.
    • Регистры диапазона типов памяти (MTRR)
  • Внутренние регистры недоступныдля инструкций и используются внутри процессора для операций.
    • Регистр инструкций содержит инструкцию, которая в данный момент выполняется.
    • Регистры, связанные с извлечением информации из ОЗУ , представляют собой набор регистров хранения, расположенных на отдельных чипах от ЦП:
  • Архитектурные регистрырегистры, видимые программному обеспечению и определяемые архитектурой. Они могут не соответствовать физическому оборудованию, если переименование регистров выполняется базовым оборудованием.

Аппаратные регистры аналогичны, но находятся вне ЦП.

В некоторых архитектурах (таких как SPARC и MIPS ) первый или последний регистр в файле регистров целых чисел является псевдорегистром, поскольку он жестко настроен на то, чтобы всегда возвращать ноль при чтении (в основном для упрощения режимов индексации), и его нельзя перезаписать. В Alpha это также делается для файла регистров с плавающей точкой. В результате этого регистровые файлы обычно цитируются как имеющие на один регистр больше, чем их фактическое количество, пригодное для использования; например, цитируются 32 регистра, когда только 31 из них соответствует приведенному выше определению регистра.

Примеры

В следующей таблице показано количество регистров в нескольких основных архитектурах ЦП. Обратите внимание, что в процессорах, совместимых с x86 , указатель стека ( ESP) считается целочисленным регистром, хотя существует ограниченное количество инструкций, которые могут использоваться для работы с его содержимым. Аналогичные оговорки применимы к большинству архитектур.

Хотя все перечисленные ниже архитектуры различны, почти все они находятся в базовой компоновке, известной как архитектура фон Неймана , впервые предложенная венгерско-американским математиком Джоном фон Нейманом . Также следует отметить, что количество регистров на графических процессорах намного больше, чем на центральных процессорах.

АрхитектураРегистры георадаров/данных+адресовРегистры ФППримечания
AT&T Хоббит00 0стопка из 7Все инструкции по манипулированию данными работают исключительно в регистрах, и перед обработкой данные необходимо переместить в регистр.
Крей-1 [3]8 скалярных данных, 8 адресов8 скалярных, 8 векторных

(64 элемента)

Регистры скалярных данных могут быть целочисленными или с плавающей точкой; также 64 скалярных сверхкритических регистра T и 64 адресных сверхкритических регистра B.
4004 [4]1 аккумулятор, 16 других00 0
8008 [5]1 аккумулятор, 6 других00 0Регистр A — это аккумулятор, в котором выполняется вся арифметика; регистры H и L могут использоваться в комбинации как адресный регистр; все регистры могут использоваться как операнды в инструкциях загрузки/сохранения/перемещения/увеличения/уменьшения и как другой операнд в арифметических инструкциях. Не имеется доступного блока с плавающей точкой (FPU).
8080 [6]1 аккумулятор, 1 указатель стека, 6 других00 0Регистр A — это аккумулятор, в котором выполняется вся арифметика; пары регистров B+C, D+E и H+L могут использоваться в качестве адресных регистров в некоторых инструкциях; все регистры могут использоваться в качестве операндов в инструкциях загрузки/сохранения/перемещения/увеличения/уменьшения и в качестве другого операнда в арифметических инструкциях. Некоторые инструкции используют только H+L; другая инструкция меняет местами H+L и D+E. Процессоры с плавающей точкой, предназначенные для 8080, — Intel 8231, AMD Am9511 и Intel 8232. Они также легко использовались с Z80 и аналогичными процессорами.
iAPX43200 0стопка из 6Машина для укладки штабеля
16-бит x86 [7]00 8стопка из 8

(если присутствует ФП)

Процессоры 8086/8088 , 80186/80188 и 80286 , если они оснащены сопроцессором 8087 , 80187 или 80287 для операций с плавающей точкой, поддерживают 80-битный стек регистров глубиной 8 с некоторыми инструкциями, способными использовать регистры относительно вершины стека в качестве операндов; без сопроцессора регистры с плавающей точкой не поддерживаются.
ИА-32 [8]00 8стопка из 8 (если присутствует FP),

8 (если присутствует SSE/MMX)

Процессор 80386 требует 80387 для операций с плавающей точкой, более поздние процессоры имели встроенную плавающую точку, причем оба имели 80-битный широкий, 8-глубокий стек регистров с некоторыми инструкциями, способными использовать регистры относительно вершины стека в качестве операндов. Pentium III и более поздние имели SSE с дополнительными 128-битными регистрами XMM.
x86-64 [8] [9]0 1616 или 32

(если доступен AVX-512)

Регистры FP представляют собой 128-битные регистры XMM, позже расширенные до 256-битных регистров YMM с AVX/AVX2 и 512-битных регистров ZMM0–ZMM31 с AVX-512 . [10]
Фэрчайлд F8 [11]1 аккумулятор, 64 регистра сверхоперативной памяти, 1 косвенный регистр сверхоперативной памяти (ISAR)Инструкции могут напрямую ссылаться на первые 16 регистров блокнота и могут обращаться ко всем регистрам блокнота косвенно через ISAR [12]
Геод GX1 данные, 1 адрес00 8Geode GX/ Media GX /4x86/ 5x86 — это эмуляция совместимого с 486/Pentium процессора, созданного Cyrix / National Semiconductor . Как и Transmeta , процессор имел слой трансляции, который транслировал код x86 в собственный код и выполнял его. [ требуется ссылка ] Он не поддерживает 128-битные регистры SSE, только стек 80387 из восьми 80-битных регистров с плавающей точкой и частично поддерживает 3DNow! от AMD. Собственный процессор содержит только 1 регистр данных и 1 адресный регистр для всех целей и транслируется в 4 пути 32-битных регистров именования r1 (база), r2 (данные), r3 (обратный указатель) и r4 (указатель стека) в SRAM-памяти SRAM для целочисленных операций. [ требуется ссылка ]
Sunplus μ'nSP (SPG200)8 (sp, r1-r4, bp, sr, pc)00 016-битный процессор от тайваньской компании Sunplus Technology, который можно найти в линейке образовательных игровых консолей V.Smile компании VTech, а также в других консолях, таких как Wireless 60 и различных подключаемых телевизионных играх Jakks Pacific.
VM Labs Nuon00 000 132-битный процессор стековой машины, разработанный VM Labs и специализированный для мультимедиа. Его можно найти в собственной линейке консолей компании Nuon DVD-плеера и Game Wave Family Entertainment System от ZaPit games. На дизайн сильно повлияла технология Intel MMX; он содержал 128-байтовый унифицированный стековый кэш для векторных и скалярных инструкций. Единый кэш можно разделить на восемь 128-битных векторных регистров или тридцать два 32-битных скалярных регистра SIMD посредством переименования банков; в этой архитектуре нет целочисленного регистра.
Ниос II [13] [14]0 3100 8Nios II основан на наборе инструкций MIPS IV [ требуется ссылка ] и имеет 31 32-битный GPR, при этом регистр 0 жестко связан с нулем, и восемь 64-битных регистров с плавающей точкой [ требуется ссылка ]
Моторола 6800 [15]2 данных, 1 индекс, 1 стек00 0
Моторола 68k [16]8 данных (d0–d7), 8 адресов (a0–a7)00 8

(если присутствует ФП)

Адресный регистр 8 (a7) — указатель стека. 68000, 68010, 68012, 68020 и 68030 требуют FPU для операций с плавающей точкой; 68040 имел встроенный FPU. Регистры FP являются 80-битными.
Ш 16-бит00 1600 6
Двигатель эмоций3(ВУ0)+ 32(ВУ1)32 SIMD (интегрирован в UV1)

+ 2 × 32 Vector (выделенный векторный сопроцессор, расположенный рядом с его GPU)

Основное ядро ​​Emotion Engine (VU0) представляет собой сильно модифицированное ядро ​​DSP общего назначения, предназначенное для общих фоновых задач, и содержит один 64-битный аккумулятор, два общих регистра данных и один 32-битный счетчик программ. Модифицированное исполняемое ядро ​​MIPS III (VU1) предназначено для управления данными игры и протоколами и содержит тридцать два 32-битных регистра общего назначения для целочисленных вычислений и тридцать два 128-битных регистра SIMD для хранения инструкций SIMD, потокового значения данных и некоторого целочисленного значения вычислений, а также один регистр аккумулятора для подключения общих вычислений с плавающей точкой к векторному файлу регистров на сопроцессоре. Сопроцессор построен с помощью 32-записного 128-битного векторного регистрового файла (может хранить только векторные значения, которые передаются из аккумулятора в ЦП), и не встроено ни одного целочисленного регистра. Как векторный сопроцессор (VPU 0/1), так и весь основной процессорный модуль Emotion Engine (VU0 + VU1 + VPU0 + VPU1) построены на основе модифицированного набора инструкций MIPS. Аккумулятор в этом случае не является универсальным, а управляющим статусом.
CUDA [17]настраиваемый, до 255 на потокБолее ранние поколения допускали до 127/63 регистров на поток ( Tesla / Fermi ). Чем больше регистров настроено на поток, тем меньше потоков может работать одновременно. Регистры имеют ширину 32 бита; поэтому для чисел с плавающей точкой двойной точности и 64-битных указателей требуются два регистра. Кроме того, он имеет до 8 предикатных регистров на поток. [18]
Серия CDC 6000 [19]0 1600 88 регистров «A», A0–A7, содержат 18-битные адреса; 8 регистров «B», B0–B7, содержат 18-битные целочисленные значения (при этом B0 постоянно установлен в ноль); 8 регистров «X», X0–X7, содержат 60 бит целочисленных или плавающих данных. Семь из восьми 18-битных регистров A были связаны с соответствующими им регистрами X: установка любого из регистров A1–A5 в значение вызывала загрузку памяти содержимого этого адреса в соответствующий регистр X. Аналогично, установка адреса в регистры A6 или A7 вызывала сохранение памяти в этом месте в памяти из X6 или X7. (Регистры A0 и X0 не были связаны таким образом).
Система/360 , [20] Система/370 , [21] Система/390 , z/Архитектура [22]0 164 (при наличии ФП);

16 в моделях G5 и более поздних S/390 и z/Architecture

FP был необязательным в System/360 и всегда присутствовал в S/370 и более поздних версиях. В процессорах с Vector Facility имеется 16 векторных регистров, содержащих машинно-зависимое число 32-битных элементов. [23] Некоторым регистрам назначается фиксированное назначение с помощью соглашений о вызовах ; например, регистр 14 используется для адресов возврата подпрограмм, а для ELF ABI регистр 15 используется как указатель стека. Процессор S/390 G5 увеличил количество регистров с плавающей точкой до 16. [24]
ММИКС [25]256256Набор инструкций, разработанный Дональдом Кнутом в конце 1990-х годов для педагогических целей.
NS320xx [26]00 800 8

(если присутствует ФП)

Xelerated X1000 10 3232/40-битный сетевой процессор на базе стековой машины с модифицированным набором инструкций MIPS и 128-битным блоком с плавающей точкой. [ необходима ссылка ]
Параллаксный пропеллер00 000 2Восьмиядерный 8/16-битный контроллер стековой машины с простой логической схемой внутри, имеет 8 счетчиков (ядер) cog, каждый из которых содержит три 8/16-битных специальных регистра управления с 32-битной x 512 стековой оперативной памятью. Однако он не содержит никаких общих регистров для целочисленных целей. В отличие от большинства файлов теневых регистров в современных процессорах и многоядерных системах, ко всей стековой оперативной памяти в cog можно получить доступ на уровне инструкций, что позволяет всем этим cog действовать как единое ядро ​​общего назначения при необходимости. Блок с плавающей точкой является внешним и содержит два 80-битных векторных регистра.
Итаниум [27]128128И 64 1-битных предикатных регистра и 8 ветвящихся регистров. Регистры FP — 82-битные.
СПАРК [28]0 310 32Глобальный регистр 0 жестко привязан к 0. Использует окна регистров .
IBM СИЛА0 320 32Также включены регистр связи, регистр счетчика и регистр умножения частного (MQ).
PowerPC / Power ISA [29]0 320 32Также включены регистр связи и регистр счета. Процессоры, поддерживающие векторную функцию, также имеют 32 128-битных векторных регистра.
Черный плавник [30]8 данных, 2 аккумулятора, 6 адресов00 0Также включены указатель стека и указатель кадра. Дополнительные регистры используются для реализации циклов с нулевыми накладными расходами и циклических буферных DAG (генераторов адресов данных).
IBM Cell SPE128128 регистров общего назначения, которые могут содержать целые числа, адреса или значения с плавающей точкой [31]
ПДП-100 16Все регистры могут использоваться в общем случае (целое число, число с плавающей точкой, указатель стека, переход, индексация и т. д.). Каждое 36-битное слово памяти (или регистра) также может обрабатываться как полуслово, которое можно считать (18-битным) адресом. Другие интерпретации слов используются определенными инструкциями. В оригинальных процессорах PDP-10 эти 16 GPR также соответствовали основным (т. е. основным ) ячейкам памяти 0–15; аппаратная опция, называемая «быстрой памятью», реализовала регистры как отдельные микросхемы, а ссылки на ячейки памяти 0–15 ссылались на регистры микросхем. Более поздние модели реализовали регистры как «быструю память» и продолжали ссылаться на них ячейками памяти 0–15. Инструкции перемещения принимают операнды (регистр, память)MOVE 1,2 : is register-register и MOVE 1,1000is memory-to-register.
ПДП-1100 700 6

(если присутствует FPP)

R7 — это счетчик программ. Любой регистр может быть указателем стека, но R6 используется для аппаратных прерываний и ловушек.
ВАКС [32]0 16Регистры общего назначения также используются для значений с плавающей точкой. Три из регистров имеют специальное применение: R12 (указатель аргумента), R13 (указатель кадра) и R14 (указатель стека), а R15 относится к счетчику программ.
Альфа [33]0 310 31Регистры R31 (целочисленный) и F31 (с плавающей точкой) жестко привязаны к нулю.
65021 данные, 2 индекса00 0Содержимое регистра A (аккумулятор) процессора 6502 предназначено для хранения данных и адреса памяти (8-битные данные/16-битный адрес), X и Y являются косвенными и прямыми индексными регистрами (соответственно), а регистры SP предназначены только для специальных индексов.
W65C816S00 100 065c816 — 16-битный преемник 6502. X, Y и D (регистр прямой страницы) — это регистры условий, а регистр SP — только конкретный индекс. Главный аккумулятор расширен до 16 бит (C) [34] , при этом сохранен 8 бит (A) для совместимости, а главные регистры теперь могут адресовать до 24 бит (16-битная инструкция данных/24-битный адрес памяти).
Депутат Европарламента00 400 8Media-embedded процессор был 32-битным процессором, разработанным Toshiba с модифицированным набором инструкций 8080. Только регистры A, B, C и D доступны во всех режимах (8/16/32-бит). Он несовместим с x86; однако он содержит 80-битный блок с плавающей точкой, совместимый с x87.
PIC-микроконтроллер00 100 0
AVR-микроконтроллер0 3200 0
ARM 32-бит (ARM/A32, Thumb-2/T32)0 14Варьируется

(до 32)

r15 — это счетчик программ, и не может использоваться как регистр общего назначения; r13 — указатель стека; r8–r13 могут быть переключены на другие (банкированные) при переключении режима процессора. Более старые версии имели 26-битную адресацию, [35] и использовали верхние биты счетчика программ (r15) для флагов состояния, делая этот регистр 32-битным.
ARM 32-бит (большой палец)00 80 16Версия 1 Thumb, которая поддерживала доступ только к регистрам r0–r7 [36]
ARM 64-бит (A64) [37]0 310 32Регистр r31 является указателем стека или жестко привязан к 0, в зависимости от контекста.
МИПС [38]0 310 32Целочисленный регистр 0 жестко привязан к 0.
RISC-V [39]0 310 32Целочисленный регистр 0 жестко подключен к 0. Вариант RV32E, предназначенный для систем с очень ограниченными ресурсами, имеет 15 целочисленных регистров.
Богоявление64 (на ядро) [40]Каждая инструкция контролирует, интерпретируются ли регистры как целые числа или числа с плавающей точкой одинарной точности. Архитектура масштабируется до 4096 ядер, в настоящее время доступны реализации с 16 и 64 ядрами.

Использование

Количество регистров, доступных на процессоре, и операции, которые могут быть выполнены с использованием этих регистров, оказывают значительное влияние на эффективность кода, сгенерированного оптимизирующими компиляторами . Число Стрэлера дерева выражений дает минимальное количество регистров, необходимых для оценки этого дерева выражений.

Смотрите также

Ссылки

  1. ^ "Что такое регистр процессора?". Образовательные: интерактивные курсы для разработчиков программного обеспечения . Получено 2022-08-12 .
  2. ^ «Обзор методов проектирования и управления файлом регистров ЦП».
  3. ^ "Cray-1 Computer System Hardware Reference Manual" (PDF) . Cray Research . Ноябрь 1977. Архивировано (PDF) из оригинала 2021-11-07 . Получено 2022-12-23 .
  4. ^ "Руководство пользователя микрокомпьютерного набора MCS-4" (PDF) . Intel. Февраль 1973 г. Архивировано (PDF) из оригинала 24.02.2005.
  5. ^ "8008 8 Bit Parallel Central Processor Unit User Manual" (PDF) . Intel. Ноябрь 1973. Архивировано (PDF) из оригинала 2007-10-04 . Получено 23 января 2014 .
  6. ^ "Руководство пользователя микрокомпьютерных систем Intel 8080" (PDF) . Intel. Сентябрь 1975 г. Архивировано (PDF) из оригинала 2010-12-06 . Получено 23 января 2014 г. .
  7. ^ "Справочное руководство программиста 80286 и 80287" (PDF) . Intel. 1987. Архивировано (PDF) из оригинала 2015-07-23.
  8. ^ ab "Руководства для разработчиков программного обеспечения для архитектур Intel 64 и IA-32". Intel. 4 декабря 2019 г.
  9. ^ «Руководство программиста по архитектуре AMD64. Том 1: Прикладное программирование» (PDF) . AMD . Октябрь 2013 г.
  10. ^ «Справочник по программированию расширений набора инструкций архитектуры Intel и будущих функций» (PDF) . Intel . Январь 2018 г.
  11. ^ F8, Предварительное руководство пользователя микропроцессора (PDF) . Fairchild. Январь 1975 г.
  12. ^ F8 Руководство по программированию (PDF) . Fairchild MOS Microcomputer Division. 1977.
  13. ^ "Справочное руководство по процессору Nios II Classic" (PDF) . Altera . 2 апреля 2015 г.
  14. ^ "Справочное руководство по процессору Nios II Gen2" (PDF) . Altera. 2 апреля 2015 г.
  15. ^ "M6800 Programming Reference Manual" (PDF) . Motorola . Ноябрь 1976. Архивировано из оригинала (PDF) 2011-10-14 . Получено 18 мая 2015 .
  16. ^ "Motorola M68000 Family Programmer's Reference Manual" (PDF) . Motorola. 1992. Архивировано из оригинала (PDF) 2005-10-18 . Получено 13 июня 2015 .
  17. ^ "Руководство по программированию CUDA C". Nvidia. 2019. Получено 9 января 2020 г.
  18. ^ Цзя, Чжэ; Маджиони, Марко; Штайгер, Бенджамин; Скарпацца, Даниэле П. (2018). «Анализ архитектуры графического процессора NVIDIA Volta с помощью микробенчмаркинга». arXiv : 1804.06826 [cs.DC].
  19. ^ Control Data 6000 Series Computer Systems, Reference Manual (PDF) . Control Data Corporation. Июль 1965 г.
  20. ^ Принципы работы IBM System/360 (PDF) . IBM.
  21. ^ IBM System/370, Принципы работы (PDF) . IBM. 1 сентября 1975 г.
  22. ^ z/Архитектура, принципы работы (PDF) (Седьмое изд.). IBM. 2008.
  23. ^ "IBM Enterprise Systems Architecture/370 и System/370 - Vector Operations" (PDF) . IBM. SA22-7125-3 . Получено 11 мая 2020 г. .
  24. ^ "Микропроцессор IBM S/390 G5" (PDF) .
  25. ^ "Домашняя страница MMIX".
  26. ^ "Series 32000 Databook" (PDF) . National Semiconductor . Архивировано (PDF) из оригинала 2017-11-25.
  27. ^ Архитектура Intel Itanium, Руководство разработчика программного обеспечения, Том 3: Справочник по набору инструкций Intel Itanium (PDF) . Intel. Май 2010 г.
  28. ^ Уивер, Дэвид Л.; Джермонд, Том (ред.). Руководство по архитектуре SPARC, версия 9 (PDF) . Санта-Клара, Калифорния: SPARC International, Inc.
  29. ^ Power ISA Version 3.1B (PDF) . OpenPOWER Foundation. 14 сентября 2021 г.
  30. ^ Blackfin Processor, Справочник по программированию, Версия 2.2 (PDF) . Analog Devices. Февраль 2013 г.
  31. ^ "Архитектура набора инструкций блока синергического процессора, версия 1.2" (PDF) . IBM. 27 января 2007 г.
  32. ^ Леонард, Тимоти Э., ред. (1987). Архитектура VAX, справочное руководство (PDF) . Книги DEC.
  33. ^ Справочное руководство по архитектуре Alpha (PDF) (Четвертое издание). Compaq Computer Corporation. Январь 2002 г.
  34. ^ "Изучение сборки 65816". Super Famicom Development Wiki . Получено 14 ноября 2019 г.
  35. ^ "Стандарт вызова процедур для архитектуры ARM" (PDF) . ARM Holdings . 30 ноября 2013 г. . Получено 27 мая 2013 г. .
  36. ^ "2.6.2. Набор регистров состояния большого пальца". Техническое справочное руководство по ARM7TDMI . ARM Holdings .
  37. ^ Архитектура набора инструкций Arm A64, Armv8, для профиля архитектуры Armv8-A (PDF) . Arm. 2021.
  38. ^ Архитектура MIPS64 для программистов, том II: набор инструкций MIPS64 (PDF) . RISC-V Foundation. 12 марта 2001 г. Получено 6 октября 2024 г.
  39. ^ Waterman, Andrew; Asanovi, Krste, ред. (май 2017 г.). RISC-V, Руководство по набору инструкций, Том I: ISA на уровне пользователя, Версия документа 2.2 (PDF) . RISC-V Foundation.
  40. ^ «Справочник по архитектуре Epiphany» (PDF) .
Получено с "https://en.wikipedia.org/w/index.php?title=Processor_register&oldid=1251262742"