Pamięć tylko do zapisu (inżynieria)
W technologii informacyjnej pamięć tylko do zapisu ( WOM ) to miejsce w pamięci lub rejestr, w którym można zapisywać, ale nie można w nim czytać. Poza dosłownym znaczeniem, termin ten może odnosić się do sytuacji, gdy dane zapisane przez jeden obwód mogą być odczytane tylko przez inny obwód. Najczęstszym wystąpieniem tej drugiej sytuacji jest zapisywanie danych przez procesor w rejestrze tylko do zapisu sprzętu, którym steruje procesor. Sprzęt może odczytać instrukcję, ale procesor nie. Może to prowadzić do problemów podczas tworzenia sterowników urządzeń dla sprzętu.
Pamięci tylko do zapisu znajdują również zastosowanie w bezpieczeństwie i kryptografii jako sposób zapobiegania przechwytywaniu danych podczas ich odszyfrowywania.
Zastosowania sprzętu
W 1972 roku WOM, przeciwieństwo pamięci tylko do odczytu (ROM), został wprowadzony jako wewnętrzny żart firmy Signetics . Szybko jednak uznano, że pojęcie to faktycznie opisuje pewne funkcjonalności w mikroprocesorowych .
Najczęstsze przypadki pamięci tylko do zapisu mają miejsce, gdy lokalizacje pamięci są rejestrami lub układem scalonym używanym do sterowania lub przekazywania informacji do sprzętu poza procesorem. Jednostka centralna (CPU) może zapisywać w tych lokalizacjach, a tym samym sterować sprzętem, ale nie może odczytywać informacji i wykrywać bieżącego stanu sprzętu. Pamięć jest tylko do zapisu względem punktu widzenia procesora. Takie układy są powszechne w małych wbudowanych systemach mikrokontrolerów w celu obniżenia kosztów i mogą powodować trudności dla autorów sterowników urządzeń oprogramowanie. Gdy aktualny stan sprzętu jest nieznany procesorowi, może on wprowadzić go w znany stan tylko poprzez wysłanie nowego polecenia, co może spowodować zmianę stanu. Aby złagodzić tę trudność, zawartość WOM może być odzwierciedlana przez procesor w zwykłej pamięci. Jednak ta strategia jest niezawodna tylko wtedy, gdy rejestr jest tylko do odczytu z punktu widzenia sprzętu. Jeśli sprzęt zewnętrzny jest w stanie zmienić swój własny stan niezależnie od procesora, wówczas stan sprzętu może odbiegać od obrazu tego stanu odzwierciedlanego w pamięci procesora.
Przykładem takiego wykorzystania był dostęp do pamięci na wczesnych pecetach. Oryginalne komputery PC korzystały z procesorów 8086 lub 8088, które miały możliwość zaadresowania tylko 1 MB pamięci. Dużą część tego zajmował BIOS, w wyniku czego dostępne było tylko 640 kB adresowalnej pamięci RAM . Zapotrzebowanie na pamięć wielu aplikacji wkrótce przekroczyło tę liczbę. Jedną z metod przezwyciężenia tego ograniczenia było użycie pamięci RAM z przełączaniem banków . Dostępnych jest kilka banków pamięci RAM, ale nie są one na stałe przypisane do lokalizacji pamięci. W konkretnej implementacji do komputera dodawana jest specjalna płytka, która steruje przydziałem banków do przestrzeni pamięci. Płyta kontrolna ma własny układ pamięci. Komputer może zapisywać dane w tym chipie, ale tylko sama płyta sterująca może odczytywać chip, dlatego nazywa się go pamięcią „tylko do zapisu”.
Inny przykład dotyczy niektórych funkcji realizowanych przez procesory graficzne (GPU). Na przykład GPU może przeprowadzać modułu cieniującego na zawartości pamięci graficznej. GPU może szybciej i wydajniej pobierać dane wejściowe dla procesu modułu cieniującego z lokalizacji tylko do odczytu i zapisywać dane wyjściowe modułu cieniującego w różnych lokalizacjach tylko do zapisu bez konieczności kopiowania danych między buforami odczytu i zapisu po każdej iteracji .
Przykład, który wciąż ma współczesne znaczenie, można znaleźć w UART 16550 , którego pochodne są nadal w powszechnym użyciu. Aby dodać dane FIFO bez zrywania kompatybilności z 8 rejestrami konfiguracyjnymi 8250 UART , „rejestrowi kontrolnemu FIFO” tylko do zapisu przypisano ten sam adres portu, co „rejestrowi identyfikacji przerwań” tylko do odczytu. Zapisuje do tego programu adresowego rejestr kontrolny FIFO, ale nie ma możliwości jego ponownego odczytania.
Termin ten jest również używany do opisania widoku komputera niektórych urządzeń wyświetlających, takich jak ekrany e-ink używane w e-czytnikach .
Bezpieczeństwo i szyfrowanie
Zablokowanie bufora ramki GPU w celu skutecznego przekształcenia go w pamięć tylko do zapisu może być przydatne w ochronie zaszyfrowanych danych. Gdy zaszyfrowane dane docierają do miejsca docelowego, muszą zostać odszyfrowane, zanim będą mogły zostać wyświetlone użytkownikowi. Istnienie niezaszyfrowanych materiałów w pamięci, do których może uzyskać dostęp procesor lub urządzenia peryferyjne, jest potencjalną słabością zabezpieczeń. Tę słabość można złagodzić, przeprowadzając deszyfrowanie w GPU i zapisując niezaszyfrowane dane bezpośrednio do pamięci wyświetlacza. Nic innego nie może odczytać danych, gdy bufor ramki jest zablokowany, a po odblokowaniu będzie wyświetlał coś innego. Wszystkie nowoczesne karty inteligentne z chipem również opierają się na technologii WOM, ponieważ są zaprogramowane w fabryce za pomocą pewnych kluczy szyfrujących, których czytnik kart nie może bezpośrednio odczytać. Zamiast tego klucze są pośrednio używane przez algorytmy, które weryfikują hasła lub odszyfrowują określone treści. Nintendo ma patent opisujący używanie części dysku twardego jako tymczasowego miejsca do przechowywania kodu gry, które jest przechowywane tylko do zapisu, dopóki ta partycja nie zostanie zweryfikowana za pomocą autoryzującego podpisu cyfrowego.
Teoria obliczalności
W teorii obliczalności dodanie WOM do niektórych modeli obliczeniowych może zwiększyć ich moc obliczeniową.
Zobacz też
-
Urządzenie zerowe lub
/dev/null
, kolejna koncepcja „tylko do zapisu”. - Fonautograph , opatentowany w 1857 roku i najwcześniejsze urządzenie do nagrywania dźwięku, ale nie można go odtworzyć
Notatki
Bibliografia
- Markusa Jakobssona; Steven Myers (5 grudnia 2006). Phishing i środki zaradcze: zrozumienie narastającego problemu kradzieży tożsamości elektronicznej . John Wiley & Synowie. ISBN 978-0-470-08609-4 . Źródło 20 maja 2013 r .
- G. Jack Lipovski (27 kwietnia 1999). Interfejs mikrokontrolera jedno- i wieloukładowego: dla Motorola 6812 . Prasa akademicka. ISBN 978-0-08-051726-1 . Źródło 20 maja 2013 r .
- Owen, Bruce (2 kwietnia 1985). „Przełamując barierę pamięci” . Magazyn PC . 4 (7): 193–202. .
- Christof Seiler, Philippe Büchler, Lutz-Peter Nolte, Mauricio Reyes, Rasmus Paulsen, „Hierarchiczne losowe pola Markowa stosowane do modelowania deformacji tkanek miękkich na sprzęcie graficznym”, Recent Advances in the 3D Physiological Human , część 1, s. 133–148, 2009 ISBN 1848825641 doi : 10.1007/978-1-84882-565-9_9 .