Skrivminne (teknik)

Inom informationsteknologi är ett skrivminne ( WOM ) en minnesplats eller ett register som kan skrivas till men inte läsas. Utöver dess bokstavliga innebörd kan termen tillämpas på en situation där data som skrivs av en krets endast kan läsas av andra kretsar. Den vanligaste förekomsten av den senare situationen är när en processor skriver data till ett skrivregister av hårdvara som processorn kontrollerar. Hårdvaran kan läsa instruktionen men processorn inte. Detta kan leda till problem med att producera drivrutiner för hårdvaran.

Skrivbara minnen hittar också tillämpningar inom säkerhet och kryptografi som ett sätt att förhindra att data fångas upp när de dekrypteras.

Användning av hårdvara

1972 introducerades WOM, en antites av läsminne (ROM), som ett inre praktiskt skämt utfört av Signetics . Emellertid insåg man snart att detta koncept faktiskt beskriver vissa funktioner i mikroprocessorsystem .

De vanligaste förekomsterna av skrivminnen är där minnesplatserna är register eller en integrerad krets som används för att styra eller skicka information till hårdvara utanför processorn. En central bearbetningsenhet (CPU) kan skriva till dessa platser och därmed styra hårdvaran, men kan inte läsa tillbaka informationen och upptäcka hårdvarans aktuella tillstånd. Minnet är endast skrivbart i förhållande till CPU:ns synvinkel. Sådana arrangemang är vanliga på små inbäddade mikrokontrollersystem för att spara kostnader och kan orsaka svårigheter för författare av drivrutinsprogramvara . När det aktuella hårdvarutillståndet är okänt för CPU:n kan den bara sätta det i ett känt tillstånd genom att skicka ett nytt kommando, vilket kan resultera i att tillståndet ändras. För att lindra denna svårighet kan innehållet i WOM speglas av CPU:n i det vanliga minnet. Denna strategi är dock bara tillförlitlig om registret är skrivskyddat ur hårdvarans perspektiv. Om den externa hårdvaran kan ändra sitt eget tillstånd oberoende av CPU kan hårdvarutillståndet avvika från bilden av det tillståndet som speglas i CPU-minnet.

Ett exempel på denna typ av användning gällde tillgång till minne på tidiga datorer. De ursprungliga datorerna använde 8086- eller 8088-processorer som hade förmågan att adressera endast 1 MB minne. En stor del av detta var upptaget av BIOS vilket resulterade i att endast 640 kB adresserbart RAM-minne var tillgängligt. Minnesbehovet för många applikationer överträffade snart denna siffra. En metod för att övervinna begränsningen var att använda bankväxlat RAM . Ett antal RAM-banker tillhandahålls, men är inte permanent tilldelade till en minnesplats. I en viss implementering läggs ett speciellt kort till en dator, som styr allokeringen av banker till minnesutrymme. Styrkortet har ett eget minneschip. En dator kan skriva data till detta chip, men endast kontrollkortet självt kan läsa chipet, därför kallas det "skrivbara" minne.

Ett annat exempel gäller vissa funktioner som utförs av grafikprocessorer ( GPU). En GPU kan till exempel utföra skuggbehandling på innehållet i grafikminnet. Det kan vara snabbare och mer effektivt för GPU:n att ta input för skuggningsprocessen från skrivskyddade platser och skriva skuggningsutdata till olika skrivskyddade platser utan att behöva kopiera data mellan läs- och skrivbuffertarna efter varje iteration .

Ett exempel som fortfarande är av nutida relevans kan hittas i 16550 UART , vars derivat fortfarande är i utbredd användning. För att lägga till ett data -FIFO utan att bryta kompatibiliteten med 8250 UART :s 8 konfigurationsregister, tilldelades skrivbara "FIFO-kontrollregistret" samma portadress som det skrivskyddade "avbrottsidentifieringsregistret". Skriver till det adressprogrammet FIFO-kontrollregistret, men det finns inget sätt att läsa tillbaka det.

Termen används också för att beskriva datorvyn av vissa visningsenheter, såsom e- bläckskärmar som används i e-läsare .

Säkerhet och kryptering

Att låsa rambufferten på en GPU för att effektivt förvandla den till ett skrivminne kan vara användbart för att skydda krypterad data. När krypterad data anländer till sin destination måste den dekrypteras innan den kan visas för användaren. Förekomsten av okrypterat material i minnet där det kan nås av CPU eller kringutrustning är en potentiell säkerhetsbrist. Denna svaghet kan lindras genom att utföra dekrypteringen i GPU:n och skriva okrypterade data direkt till displayminnet. Inget annat kan läsa data medan rambufferten är låst, och när den är upplåst kommer den att visa något annat. Alla moderna smarta kort som har ett chip kan också sägas förlita sig på WOM-teknik, eftersom de är programmerade i en fabrik med vissa krypteringsnycklar som inte direkt kan läsas av en kortläsare. Istället används nycklarna indirekt av algoritmer som validerar lösenord eller dekrypterar visst innehåll. Nintendo har ett patent som beskriver användning av hårddiskdelar som temporär skrivlagring för spelkod som hålls skrivbara tills den partitionen har verifierats med en auktoriserad digital signatur.

Beräkningsbarhetsteori

Inom beräkningsbarhetsteorin , kan lägga till en WOM till vissa beräkningsmodeller öka deras beräkningskraft.

Se även

  • Null-enhet eller /dev/null , ett annat "skrivbart"-koncept
  • Phonautograph , patenterad 1857 och den tidigaste enheten för att spela in ljud, men kan inte spelas upp

Anteckningar

Bibliografi