Memòria entrellaçada

De la Viquipèdia, l'enciclopèdia lliure
Infotaula equipament informàticMemòria entrellaçada

En informàtica, la memòria entrellaçada és un disseny que compensa la velocitat relativament lenta de la memòria dinàmica d'accés aleatori (DRAM) o la memòria central, distribuint les adreces de memòria de manera uniforme entre els bancs de memòria. D'aquesta manera, les lectures i escriptures de memòria contigües utilitzen cada banc de memòria al seu torn, donant lloc a un rendiment de memòria més elevat a causa de la reducció de l'espera que els bancs de memòria estiguin preparats per a les operacions.[1]

Exemple d'entrellaçat de memòria amb 4 bancs. Els bancs vermells són refrescats i no es poden utilitzar.

És diferent de les arquitectures de memòria multicanal, principalment perquè la memòria intercalada no afegeix més canals entre la memòria principal i el controlador de memòria. Tanmateix, també és possible l'entrellaçat de canals, per exemple a processadors i.MX 6 de freescale, que permeten fer intercalats entre dos canals.[2]

Visió general[modifica]

Amb la memòria intercalada, les adreces de memòria s'assignen a cada banc de memòria al seu torn. Per exemple, en un sistema entrellaçat amb dos bancs de memòria (suposant memòria adreçable per paraules), si l'adreça lògica 32 pertany al banc 0, aleshores l'adreça lògica 33 pertany al banc 1, l'adreça lògica 34 pertany al banc 0, i així successivament. Es diu que una memòria intercalada està intercalada de n vies quan hi ha n bancs i la ubicació de memòria i resideix al banc i mod n.[3]

DRAM entrellaçada[modifica]

La memòria principal (memoria d'accés aleatori, RAM) sol estar composta per una col·lecció de xips de memòria DRAM, on es poden agrupar diversos xips per formar un banc de memòria. Aleshores és possible, amb un controlador de memòria que admet l'entrellaçat, disposar aquests bancs de memòria de manera que els bancs de memòria s'entrellacin.

Les dades de la DRAM s'emmagatzemen en unitats de pàgines. Cada banc de DRAM té una memòria intermèdia de fila que serveix com a memòria cau per accedir a qualsevol pàgina del banc. Abans de llegir una pàgina del banc DRAM, es carrega primer al row-buffer. Si la pàgina es llegeix immediatament des de la memòria intermèdia de fila (o un cop de memòria intermèdia de fila), té la latència d'accés a la memòria més curta en un cicle de memòria. Si es tracta d'un error de memòria intermèdia de fila, que també s'anomena conflicte de memòria intermèdia de fila, és més lent perquè la pàgina nova s'ha de carregar a la memòria intermèdia de fila abans de llegir-la. Els errors de la memòria intermèdia de fila es produeixen a mesura que es atenen les sol·licituds d'accés a diferents pàgines de memòria del mateix banc. Un conflicte de memòria intermèdia de fila comporta un retard substancial per a l'accés a la memòria. En canvi, els accessos de memòria a diferents bancs poden procedir en paral·lel amb un alt rendiment.[4]

Referències[modifica]

  1. «Memory Interleaving» (en anglès americà). https://www.geeksforgeeks.org,+24-12-2018.+[Consulta: 28 agost 2023].
  2. «Interleaved Memory | Computer Architecture Tutorial | Studytonight» (en anglès). https://www.studytonight.com.+[Consulta: 28 agost 2023].
  3. «RAM. What is interleaved memory?» (en anglès). https://superuser.com.+[Consulta: 28 agost 2023].
  4. «What is Interleaved Memory - javatpoint» (en anglès). https://www.javatpoint.com.+[Consulta: 28 agost 2023].