Warning: Missing argument 2 for wpdb::prepare(), called in /home/stromber/public_html/kryptoblog/wp-content/plugins/wp-super-edit/wp-super-edit.core.class.php on line 109 and defined in /home/stromber/public_html/kryptoblog/wp-includes/wp-db.php on line 1222
Allt du vill veta om minnessystem » Kryptoblog

Allt du vill veta om minnessystem

March 20th, 2008 by Joachim Strömbergson Leave a reply »

Ulrich Drepper, pappa till glibc, har skrivit ett imponerande dokument om minnessystem kallat What Every Programmer Should Know About Memory.

Ulrich Drepper

Dokumentet är en genomgång av väsentligen allt du som programmerare (och andra) skulle kunna vara intresserad av vad gäller minnessystem.

Från grundläggande koncept som vad en minneshierarki är, vad som menas med sidor, rader och block och vad ett cacheminne är till information om hur ett DD3-minne arbetar, cache trashing i multicore-system, olika typer av uppdateringspolicy för cacheminnen, minnessystem med icke-uniform access (NUMA, COMA) och mycket, mycket mer.

Det här dokumentet innehåller material motsvarande en rejäl högskolekurs i datorarkitektur och jag önskat att jag hade haft det här dokumentet när jag började arbeta med processor- och datorarkitektur. Och jag är glad att jag har det nu.

Dokumentet är inte utan sina fel och brister, det erkänner Drepper själv utan omsvep i sin blog. Men av det jag har läst tycker jag att han inte bara har bra koll på såväl övergripande koncept såsom detaljer, utan har även en förmåga att uttycka dom.

Och varför skall du nu läsa detta dokument? Speciellt med tanke på IT-säkerhet? Jo, därför att dokumentet bland annat förklarar varför varianser i accesstid till en tabell med data (exempelvis en S-box i ett krypto) kan uppstå, vilket kan leda till oönskade sidoeffekter.

I en tid när antalet processorkärnor går upp (kärnor som på olika sätt är kopplade till varandra via ett delvis gemensamt minnessystem) blir det allt svårare att gissa hur minnesaccesser och därmed exekveringstiden för ett program kommer att fungera. Att som programmera då kunna läsa på vilka effekter som kan uppstå och hur man kan mäta och hantera dessa effekter är helt klart ett steg framåt.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Advertisement

Leave a Reply

You must be logged in to post a comment.