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

Хранилище управления - это часть блока управления ЦП, в которой хранится микропрограмма ЦП . Обычно к нему обращается микросеквенсор . Реализация управляющего хранилища, содержимое которого неизменяемо, известна как постоянное запоминающее устройство (ПЗУ) или постоянное запоминающее устройство (ROS); тот, содержимое которого можно изменять, известен как хранилище элементов управления с возможностью записи (WCS).

Реализация [ править ]

Раннее использование [ править ]

Ранние хранилища управления были реализованы как диодная матрица, доступ к которой осуществлялся через декодеры адресов, форма постоянной памяти. Эта традиция восходит к матрице времени программы на MIT Whirlwind , впервые описанной в 1947 году. Современные процессоры СБИС вместо этого используют матрицы полевых транзисторов для создания структур ПЗУ и / или PLA, используемых для управления процессором, а также его внутренним секвенсором. в микрокодированной реализации. IBM System / 360 использовала различные методы: CCROS (Card Capacitor Read-Only Storage) на Model 30 , TROS.(Запоминающее устройство только для чтения трансформатора) на модели 40 и BCROS (постоянное запоминающее устройство со сбалансированным конденсатором) на модели 50 .

Записываемые магазины [ править ]

Некоторые компьютеры были построены с использованием «записываемого микрокода» - вместо того, чтобы хранить микрокод в ПЗУ или аппаратной логике, микрокод хранился в ОЗУ, называемом записываемым хранилищем управления или WCS . Такой компьютер иногда называют компьютером с записываемым набором команд или WISC . [1] Многие из этих машин были экспериментальными лабораторными прототипами, такими как WISC CPU / 16 [2] и RTX 32P. [3]

Исходные модели System / 360 имели хранилище управления только для чтения, но более поздние модели System / 360, System / 370 и последующие модели загружали часть или все свои микропрограммы с дискет или другого DASD в записываемое хранилище управления, состоящее из сверхвысокоскоростных случайных файлов. -доступ к чтению-записи памяти . Архитектура System / 370 включала в себя средство под названием Initial-Microprogram Load ( IML или IMPL ) [4], которое можно было вызывать с консоли, как часть Power On Reset ( POR ) или с другого процессора в тесно связанном мультипроцессоре.сложный. Это позволило IBM легко устранять дефекты микропрограммирования в полевых условиях. Даже когда большая часть управляющего хранилища хранится в ПЗУ, поставщики компьютеров часто продают управляющее хранилище с возможностью записи в качестве опции, позволяя клиентам настраивать микропрограмму машины. Другие поставщики, например IBM, используют WCS для запуска микрокода для функций эмулятора [5] [6] и диагностики оборудования. [7]

Другие коммерческие машины, которые использовали записываемый микрокод, включают Burroughs Small Systems (1970-е и 1980-е), процессоры Xerox в своих машинах Lisp и рабочие станции Xerox Star , семейство DEC VAX 8800 («Nautilus») и L- и G-машины Symbolics. (1980-е). Некоторые машины DEC PDP-10 хранят свой микрокод в микросхемах SRAM (шириной около 80 бит x 2 тыс. Слов), которые обычно загружаются при включении через какой-либо другой интерфейсный ЦП. [8] Многие другие машины предлагали в качестве опции программируемые пользователем хранилища управления с возможностью записи (включая HP 2100 , DEC PDP-11/60 и Varian Data Machines.V-70 серии мини - ЭВМ ). Mentec М11 и Mentec М1 хранить его в микрокод SRAM чипов, загружены на включении питания через другой процессор. В Data General Eclipse MV / 8000 («Eagle») было записываемое управляющее хранилище SRAM, загружаемое при включении через другой ЦП. [9]

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

Некоторые конструкции процессора компиляция набора команд на записываемый ОЗУ или флэш - память внутри CPU (такие как Rekursiv процессор и Imsys Cjip ), [10] или FPGA ( реконфигурируемые вычисления ).

Некоторые процессоры Intel в семействе архитектуры x86 имеют записываемый микрокод, [11] начиная с Pentium Pro в 1995 году. [12] Это позволило исправить ошибки в микрокоде Intel Core 2 и микрокоде Intel Xeon в программном обеспечении, вместо того, чтобы требовать вся микросхема подлежит замене. Такие исправления могут быть установлены Linux, [13] FreeBSD , [14] Microsoft Windows, [15] или BIOS материнской платы. [16]

Выбор времени, фиксация и предотвращение состояния гонки [ править ]

Управляющее хранилище обычно имеет регистр на своих выходах. Выходы, которые возвращаются в секвенсор для определения следующего адреса, должны проходить через какой-то регистр, чтобы предотвратить создание состояния гонки . [17]В большинстве схем все остальные биты также проходят через регистр. Это связано с тем, что машина будет работать быстрее, если выполнение следующей микрокоманды будет отложено на один цикл. Этот регистр известен как конвейерный регистр. Очень часто выполнение следующей микрокоманды зависит от результата текущей микрокоманды, которая не будет стабильной до конца текущего микроцикла. Можно видеть, что в любом случае все выходы управляющего хранилища попадают в один большой регистр. Раньше было возможно купить СППЗУ с этими битами регистра на одном и том же кристалле.

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

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

  1. ^ Статья Филипа Купмана-младшего "Набор команд с возможностью записи, компьютеры, ориентированные на стек: концепция WISC", 1987 г.
  2. ^ "Архитектура WISC CPU / 16" Фил Купман 1989
  3. ^ "Архитектура RTX 32P" Филиппа Купмана 1989
  4. IBM (сентябрь 1974 г.), Принципы работы IBM System / 370 (PDF) , четвертое издание, стр. 98, 245, GA22-7000-4
  5. ^ IBM (июнь 1968 г.), Функциональные характеристики IBM System / 360 Model 85 (PDF) , ВТОРОЕ ИЗДАНИЕ, A22-6916-1
  6. ^ IBM (март 1969 г.), IBM System / 360 Special Feature Description 709/7090/7094 Compatibility Feature for IBM System / 360 Model 85 , First Edition, GA27-2733-0
  7. ^ IBM (январь 1971 г.), Функциональные характеристики IBM System / 370 Model 155 (PDF) , ВТОРОЕ ИЗДАНИЕ, GA22-6942-1
  8. ^ http://pdp10.nocrew.org/cpu/kl10-ucode.txt
  9. ^ Марк Смотерман. «CPSC 330 / Душа новой машины» . Записываемое управляющее хранилище 4096 x 75-бит SRAM: 74-битная микрокоманда с 1 битом четности (18 полей)
  10. ^ "Великие микропроцессоры прошлого и настоящего (V 13.4.0)" . Cpushack.com . Проверено 26 апреля 2010 .
  11. ^ «Руководство разработчика программного обеспечения для архитектур Intel (R) 64 и IA-32», том 3A: Руководство по системному программированию, часть 1 , глава 9.11: «Средства обновления микрокода», декабрь 2009 г.
  12. ^ Gwennap, Линли (1997-09-15). «Микрокод P6 можно исправить» (PDF) . Отчет микропроцессора . Проверено 26 июня 2017 .
  13. ^ «Утилита обновления микрокода Intel для Linux» . Архивировано из оригинала на 2012-02-26.
  14. ^ Стефан Блахманн (2018-03-02). «Новый инструмент обновления микрокода для FreeBSD» . freebsd-hackers (Список рассылки) . Проверено 9 июля 2019 .
  15. ^ «Доступно обновление надежности микрокода, которое повышает надежность систем, использующих процессоры Intel»
  16. ^ «Требуется обновление BIOS, если во время POST появляется сообщение об отсутствии микрокода»
  17. ^ Дон Ланкастер. "Поваренная книга пишущей машинки ТВ" . п. 62. ( ТВ Пишущая машинка )
  • Смит, Ричард Э. (1988). «Исторический обзор компьютерной архитектуры» . Анналы истории вычислительной техники . 10 (4): 277–303. DOI : 10.1109 / MAHC.1988.10039 . Проверено 21 июня 2006 .