stringtranslate.com

Память только для записи (инженерная)

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

Память, доступная только для записи, также находит применение в сфере безопасности и криптографии как средство предотвращения перехвата данных во время их расшифровки.

Аппаратное обеспечение использует

В 1972 году в качестве внутренней шутки, устроенной Signetics , была представлена ​​WOM, антитеза постоянной памяти (ПЗУ) . [1] Однако вскоре было признано, что эта концепция на самом деле описывает определенные функциональные возможности в микропроцессорных системах. [2]

Наиболее частыми случаями использования памяти только для записи являются случаи, когда ячейки памяти являются регистрами или интегральной схемой , используемой для управления или передачи информации оборудованию за пределами процессора. Центральный процессор (ЦП) может записывать данные в эти ячейки и, таким образом, управлять оборудованием, но не может считывать информацию и определять текущее состояние оборудования. Память доступна только для записи только с точки зрения ЦП. Такие схемы распространены в небольших встроенных микроконтроллерных системах для экономии затрат и могут вызывать трудности у авторов программного обеспечения драйверов устройств . [3] Когда текущее состояние оборудования неизвестно ЦП, он может перевести его в известное состояние, только отправив новую команду, что может привести к изменению состояния. [4] [5] Чтобы облегчить эту трудность, содержимое WOM может быть отражено ЦП в обычной памяти. [6] Однако эта стратегия надежна только в том случае, если регистр доступен только для чтения с точки зрения оборудования. Если внешнее оборудование способно изменять свое состояние независимо от ЦП, то состояние оборудования может отличаться от образа этого состояния, отраженного в памяти ЦП.

Пример такого использования касается доступа к памяти на ранних ПК. Первоначальные ПК использовали процессоры 8086 или 8088, которые могли адресовать только 1 МБ памяти. Большая ее часть была занята BIOS и видеокартой, в результате чего было доступно только 640 КБ непрерывно адресуемой оперативной памяти . Потребность в памяти многих приложений вскоре превзошла эту цифру. Одним из методов преодоления ограничения было использование оперативной памяти с переключением банков . Предоставляется несколько банков оперативной памяти, но они не назначаются на постоянной основе ячейке памяти. В конкретной реализации к компьютеру добавляется специальная плата, которая управляет распределением банков в пространстве памяти. Плата управления имеет собственную микросхему памяти. Компьютер может записывать данные в эту микросхему, но только сама плата управления может считывать микросхему, [примечание 1] поэтому ее называют памятью «только для записи». [7] : 200–202 

Другой пример касается некоторых функций, выполняемых графическими процессорами (GPU). Например, GPU может выполнять обработку шейдеров на содержимом графической памяти. Для GPU может быть быстрее и эффективнее принимать входные данные для процесса шейдера из мест, доступных только для чтения, и записывать выходные данные шейдера в разные места, доступные только для записи, без необходимости копировать данные между буферами чтения и записи после каждой итерации. [8]

Пример, который все еще актуален в наше время, можно найти в 16550 UART , чьи производные все еще широко используются. Чтобы добавить данные FIFO, не нарушая совместимости с восемью регистрами конфигурации 8250 UART , "регистру управления FIFO" только для записи был назначен тот же адрес порта, что и "регистру идентификации прерывания" только для чтения. Записи по этому адресу программируют регистр управления FIFO, но нет возможности прочитать его обратно.

Этот термин также используется для описания компьютерного вида некоторых устройств отображения, таких как экраны на электронных чернилах, используемые в электронных книгах . [9]

Безопасность и шифрование

Блокировка кадрового буфера графического процессора для эффективного превращения его в память только для записи может быть полезна для защиты зашифрованных данных. Когда зашифрованные данные поступают в пункт назначения, их необходимо расшифровать, прежде чем они могут быть отображены пользователю. Наличие незашифрованного материала в памяти, к которому может получить доступ ЦП или периферийные устройства, является потенциальной уязвимостью безопасности. Эту уязвимость можно устранить, выполнив расшифровку в графическом процессоре и записав незашифрованные данные непосредственно в память дисплея. Ничто другое не может прочитать данные, пока кадровый буфер заблокирован, а когда он разблокирован, он будет отображать что-то другое. [10] Можно также сказать, что все современные смарт-карты, оснащенные чипом, полагаются на технологию WOM, поскольку они программируются на заводе с определенными ключами шифрования, которые не могут быть напрямую прочитаны устройством чтения карт. Вместо этого ключи косвенно используются алгоритмами, которые проверяют пароли или расшифровывают определенный контент. У Nintendo был патент, описывающий использование частей жесткого диска в качестве временного хранилища только для записи для игрового кода, который сохраняется только для записи до тех пор, пока этот раздел не будет проверен с помощью авторизующей цифровой подписи. [11]

Теория вычислимости

В теории вычислимости добавление WOM к некоторым моделям вычислений может увеличить их вычислительную мощность. [12]

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

Примечания

  1. ^ Плата установлена ​​так, что ее чип памяти находится в том же адресном месте, что и место в ПЗУ. Запись по этому адресу идет как в ПЗУ, так и на плату, но память только для чтения не затрагивается. Однако чтение возвращает только содержимое ПЗУ, поскольку аппаратное обеспечение платы не отвечает на внешнюю команду чтения. [7]

Ссылки

  1. ^ Пиз, Роберт А. (2011). "Происхождение WOM — "Память только для записи"". National Semiconductor . Архивировано из оригинала 2011-06-18.
  2. Технические документы WESCON 1976 года. Лос-Анджелес, Калифорния, США: Western Electronic Show and Convention. 14–17 сентября 1976 г. стр. 17. Архивировано из оригинала 27.06.2014 . Получено 20.05.2013 .
  3. ^ Робертс, Тим (2004-08-17). «Если бы каждый инженер-аппаратчик просто понял, что … регистры, доступные только для записи, делают отладку практически невозможной, наша работа была бы намного проще». DDK MVP Expert Zone. Windows Hardware and Driver Central . Microsoft . Архивировано из оригинала 2004-08-21 . Получено 2011-11-03 .
  4. ^ Prosise, Jeff (1987-07-21). «Программное обеспечение для мыши: Посмотрите, как они работают». Productivity. PC Magazine . PC Lab Notes. Vol. 6, no. 13. Ziff-Davis Publishing Company . pp. 411–412, 414, 417–418, 420, 422, 425–426, 428 [422]. ISSN  0888-8507 . Получено 2023-07-22 .
  5. ^ Липовски, Г. Джек (1999-04-27). Интерфейс однокристального и многокристального микроконтроллера: для Motorola 6812. Academic Press . стр. 122. ISBN 978-0-08-051726-1. LCCN  98-89451 . Получено 20.05.2013 .
  6. ^ Ganssle, Jack G.; Barr, Michael (2003). "Write-only register". Embedded Systems Dictionary . Taylor & Francis. стр. 285. ISBN 1-57820120-9. Архивировано из оригинала 2014-07-05 . Получено 2023-07-22 .
  7. ^ ab Owen, Bruce (1985-04-02). «Преодоление барьера памяти». PC Magazine . 4 (7). Ziff-Davis Publishing Company : 193–202 [200–202]. ISSN  0888-8507.
  8. ^ Кристоф Зайлер, Филипп Бюхлер, Лутц-Петер Нольте, Маурисио Рейес, Расмус Паульсен, «Иерархические случайные поля Маркова, применяемые для моделирования деформаций мягких тканей на графическом оборудовании», Recent Advances in the 3D Physiological Human , часть 1, стр. 133–148 [143], 2009 ISBN 1848825641 doi :10.1007/978-1-84882-565-9_9 
  9. ^ "LS0xxB4Dx01 Ultra Low-Power Memory LCD" (PDF) . Архивировано из оригинала (PDF) 2014-02-24 . Получено 2014-02-19 .
  10. ^ Ангелос Д. Керомитис, «Надежные вычислительные платформы и безопасные операционные системы», в: Маркус Якобссон и Стивен Майерс (ред.), Фишинг и контрмеры: понимание растущей проблемы кражи электронных личных данных, John Wiley & Sons , 2006 ISBN 0-47008609-2. стр. 403.
  11. ^ Система безопасности для игровой видеосистемы с жестким диском и возможностью доступа в Интернет Скотт Скотт Эллиотт Nintendo 2004 https://patents.google.com/patent/US6942573B2 Архивировано 14 декабря 2021 г. на Wayback Machine
  12. ^ Якарыылмаз, Абузер; Фрейвальдс, Русинс; Сэй, А.С. Джем; Агадзанян, Рубен (март 2012 г.). «Квантовые вычисления с устройствами, содержимое которых никогда не считывается». Natural Computing . 11 (1): 81–94. arXiv : 1011.1201 . doi :10.1007/s11047-011-9270-0. S2CID  12513092.

Дальнейшее чтение