Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Сравнение архитектур ЦП )
Перейти к навигации Перейти к поиску

Набор команд архитектуры ( ISA ) является абстрактной моделью компьютера , называемый также компьютерной архитектуры . Реализация ISA называется реализацией . ISA допускает несколько реализаций, которые могут различаться по производительности , физическому размеру и денежной стоимости (среди прочего); потому что ISA служит интерфейсом между программным обеспечением и оборудованием . Программное обеспечение, написанное для ISA, может работать на разных реализациях одного и того же ISA. Это позволило двоичную совместимостьмежду компьютерами разных поколений, которые должны быть легко достигнуты, и развитием компьютерных семейств. Обе эти разработки помогли снизить стоимость компьютеров и повысить их применимость. По этим причинам ISA - одна из самых важных абстракций в современных вычислениях .

ISA определяет все, что программист на машинном языке должен знать, чтобы программировать компьютер. То, что определяет ISA, различается между ISA; в общем, ISA определяют поддерживаемые типы данных , какое состояние (например, основная память и регистры ) и их семантика (например, согласованность памяти и режимы адресации ), набор инструкций (набор машинных инструкций, которые включают компьютерные машинный язык) и модель ввода / вывода .

База [ править ]

В первые десятилетия развития вычислительной техники были компьютеры, которые использовали двоичную , десятичную [1] и даже троичную систему . [2] [3] Современные компьютеры почти всегда бинарны.

Биты [ править ]

Компьютерные архитектуры часто описываются как п - битные архитектуры. Сегодня n часто составляет 8, 16, 32 или 64, но использовались и другие размеры (включая 6, 12 , 18 , 24 , 30, 36 , 39 , 48 , 60 ). На самом деле это упрощение, так как компьютерная архитектура часто имеет несколько более или менее "естественных" данных в наборе команд., но их аппаратная реализация может сильно отличаться. Многие архитектуры наборов инструкций имеют инструкции, которые в некоторых реализациях этой архитектуры набора инструкций работают с половиной и / или вдвое большим размером основных внутренних каналов данных процессора. Примерами этого являются 8080 , Z80 , MC68000 и многие другие. В этих типах реализаций операция с вдвое большей шириной обычно также занимает примерно вдвое больше тактовых циклов (что не относится к высокопроизводительным реализациям). На 68000, например, это означает 8 вместо 4 тактов, и этот конкретный чип можно описать как 32-битную архитектуру с 16-битной реализацией. IBM System / 360Архитектура набора команд является 32-битной, но некоторые модели серии System / 360, такие как IBM System / 360 Model 30 , имеют меньшие внутренние пути к данным, в то время как другие, такие как 360/195 , имеют большие внутренние пути к данным. Ширина внешней шины данных не используется для определения ширины архитектуры; NS32008, NS32016 и NS32032 были в основном те же 32-битный чип с различными внешними шинами данных; NS32764 имел 64-битную шину и использовал 32-битный регистр. Ранние 32-битные микропроцессоры часто имели 24-битный адрес, как и процессоры System / 360.

Операнды [ править ]

Количество операндов - это один из факторов, который может дать представление о производительности набора команд. Трехоперандная архитектура позволит

А: = В + С

вычисляться в одной инструкции.

Двухоперандная архитектура позволит

А: = А + В

должны быть вычислены в одной инструкции, поэтому для имитации одной инструкции с тремя операндами необходимо выполнить две инструкции.

А: = ВА: = А + С

Порядок байтов [ править ]

Архитектура может использовать "большой" или "маленький" порядок байтов, или и то, и другое, или быть настраиваемой для использования того и другого. Процессоры с прямым порядком байтов упорядочивают байты в памяти, причем младший байт многобайтового значения находится в ячейке памяти с наименьшим номером. Архитектуры с прямым порядком байтов вместо этого упорядочивают байты с самым значимым байтом по адресу с наименьшим номером. Архитектура x86, а также несколько 8-битных архитектур имеют прямой порядок байтов. Большинство архитектур RISC (SPARC, Power, PowerPC, MIPS) изначально были с прямым порядком байтов (ARM - с прямым порядком байтов), но многие (включая ARM) теперь настраиваются как с прямым порядком байтов, так и с обратным порядком байтов.

Порядок байтов применяется только к процессорам, которые позволяют индивидуальную адресацию единиц данных (например, байтов ), которые меньше, чем базовое адресуемое машинное слово.

Наборы инструкций [ править ]

Обычно количество регистров представляет собой степень двойки , например 8, 16, 32. В некоторых случаях псевдорегистр с аппаратным обнулением включается как «часть» регистровых файлов архитектур, в основном для упрощения режимов индексации. В этой таблице подсчитываются только целые «регистры», которые могут использоваться общими инструкциями в любой момент. Архитектуры всегда включают в себя специализированные регистры, такие как указатель программы (ПК). Они не учитываются, если не указано иное. Обратите внимание, что некоторые архитектуры, такие как SPARC, имеют окно регистров ; для этих архитектур счетчик ниже показывает, сколько регистров доступно в окне регистров. Также не учитываются регистры без архитектуры для переименования регистров .

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

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

См. Также [ править ]

  • Центральный процессор (ЦП)
  • Конструкция процессора
  • Сравнение микроархитектур ЦП
  • Набор инструкций
  • Микропроцессор
  • Тест (вычисления)

Заметки [ править ]

  1. ^ Инструкции LEA (8086 и более поздние) и IMUL-немедленное (80186 и более поздние) принимают три операнда; большинство других инструкций базового целого числа ISA принимают не более двух операндов.
  2. ^ частично RISC: архитектура загрузки / сохранения и простые режимы адресации, частично CISC: три длины инструкции и отсутствие единой синхронизации инструкции
  3. ^ Поскольку память представляет собой массив 60-битных слов без возможности доступа к подъединицам, обратный порядок байтов и обратный порядок байтов не имеют смысла. Дополнительный модуль CMU использует семантику big endian.
  4. ^ Поскольку память представляет собой массив из 12-битных слов, не имеющий средств доступа к подъединицам, обратный порядок байтов и обратный порядок байтов не имеют смысла.

Ссылки [ править ]

  1. ^ да Круз, Франк (18 октября 2004 г.). "Калькулятор исследования морской артиллерии IBM" . История вычислительной техники Колумбийского университета . Проверено 28 января 2019 года .
  2. ^ "Российский виртуальный компьютерный музей - Зал славы - Николай Петрович Брусенцов" .
  3. ^ Трогеманн, Георг; Нитусов Александр Юрьевич .; Эрнст, Вольфганг (2001). Вычислительная техника в России: раскрыта история компьютерных устройств и информационных технологий . Vieweg + Teubner Verlag. С. 19, 55, 57, 91, 104–107. ISBN 978-3-528-05757-2..
  4. ^ https://www.amd.com/system/files/TechDocs/43479.pdf
  5. ^ https://www.synopsys.com/designware-ip/processor-solutions/arc-processors.html
  6. ^ «Предварительный просмотр технологии ARMv8» (PDF) . Архивировано из оригинального (PDF) 10.06.2018 . Проверено 28 октября 2011 .
  7. ^ "ARM становится 64-битной с новой архитектурой чипа ARMv8" . Проверено 26 мая 2012 года .
  8. ^ "Документ архитектуры AVR32" (PDF) . Атмель . Проверено 15 июня 2008 .
  9. ^ "Руководство Blackfin" (PDF) . analog.com .
  10. ^ «Обзор архитектуры процессора Blackfin» . Аналоговые устройства . Проверено 10 мая 2009 .
  11. ^ "Архитектура памяти Blackfin" . Аналоговые устройства . Архивировано из оригинала на 2011-06-16 . Проверено 18 декабря 2009 .
  12. ^ a b c d e f "Разоблаченный Крузо: Transmeta TM5xxx Архитектура 2" . Технологии реального мира.
  13. ^ a b c Александр Клайбер (январь 2000 г.). «Технологии, лежащие в основе процессоров Crusoe» (PDF) . Transmeta Corporation . Проверено 6 декабря 2013 года .
  14. ^ "Архитектура LatticeMico32" . Решетчатый полупроводник . Архивировано из оригинального 23 июня 2010 года.
  15. ^ «Лицензирование открытого исходного кода LatticeMico32» . Решетчатый полупроводник . Архивировано из оригинального 20 июня 2010 года.
  16. ^ Архитектура MIPS64 для программистов: выпуск 6
  17. ^ Архитектура MIPS32 для программистов: выпуск 6
  18. ^ MIPS Открыть
  19. ^ [1]
  20. ^ Версии архитектуры OpenRISC
  21. ^ "Руководство пользователя PDP-8" (PDF) . bitsavers.org . 2019-02-16.
  22. ^ "Power ISA Version 3.0" . openpowerfoundation.org. 2016-11-30 . Проверено 6 января 2017 .
  23. ^ «Спецификации RISC-V ISA» . Проверено 17 июня 2019 .
  24. ^ Документация по процессору Oracle SPARC
  25. ^ Лицензия на архитектуру SPARC