Arquitectura de Harvard modificada

De la Viquipèdia, l'enciclopèdia lliure

Una arquitectura de Harvard modificada és una variació de l'arquitectura informàtica de Harvard que, a diferència de l'arquitectura de Harvard pura, permet accedir a la memòria que conté instruccions com a dades. La majoria dels ordinadors moderns que es documenten com a arquitectura de Harvard són, de fet, arquitectura de Harvard modificada.[1]

Arquitectura de Harvard[modifica]

L'ordinador original d'arquitectura de Harvard, el Harvard Mark I, utilitzava sistemes de memòria completament separats per emmagatzemar instruccions i dades. La CPU va obtenir la següent instrucció i va carregar o emmagatzemar dades simultàniament [2] i de manera independent. Això contrasta amb un ordinador d'arquitectura von Neumann, en el qual tant les instruccions com les dades s'emmagatzemen en el mateix sistema de memòria i (sense la complexitat d'una memòria cau de la CPU) s'ha d'accedir al seu torn.

Arquitectura Harvard

De vegades es considera que la separació física de la memòria d'instruccions i dades és la característica distintiva dels ordinadors moderns d'arquitectura de Harvard. Amb els microcontroladors (sistemes informàtics sencers integrats en xips únics), l'ús de diferents tecnologies de memòria per a instruccions (per exemple, memòria flash) i dades (normalment memòria de lectura/escriptura) a les màquines von Neumann s'està fent popular. La veritable distinció d'una màquina de Harvard és que les instruccions i la memòria de dades ocupen diferents espais d'adreces. En altres paraules, una adreça de memòria no identifica de manera única una ubicació d'emmagatzematge (com ho fa en una màquina de von Neumann); també cal conèixer l'espai de memòria (instrucció o dades) al qual pertany l'adreça.[3]

Arquitectura de Von Neumann[modifica]

Esquema de l'Arquitectura de von Neumann

Un ordinador amb una arquitectura von Neumann té l'avantatge sobre les màquines de Harvard, tal com es descriu anteriorment, que també es pot accedir al codi i tractar-lo de la mateixa manera que dades, i viceversa. Això permet, per exemple, llegir dades des de l'emmagatzematge del disc a la memòria i després executar-les com a codi, o sistemes de programari d'autooptimització que utilitzen tecnologies com la compilació just a temps per escriure codi màquina a la seva pròpia memòria i després executar-lo. . Un altre exemple és el codi automodificable, que permet que un programa es modifiqui.

Un desavantatge d'aquests mètodes són problemes amb la protecció de l'espai executable, que augmenten els riscos de programari maliciós i defectes de programari.

Arquitectura de Harvard modificada[modifica]

En conseqüència, algunes màquines de Harvard pures són productes especials. La majoria dels ordinadors moderns implementen una arquitectura de Harvard modificada. Aquestes modificacions són diverses maneres d'afluixar l'estricta separació entre codi i dades, alhora que donen suport a l'accés simultània a dades i instruccions de més rendiment de l'arquitectura de Harvard.[4]

Arquitectura de caché dividit (o gairebé von-Neumann)[modifica]

Arquitectura d'instruccions-memòria-com a dades[modifica]

Arquitectura de memòria de dades com a instrucció[modifica]

Es poden utilitzar tres característiques per distingir les màquines Harvard modificades de les màquines pures de Harvard i von Neumann:

Les memòries d'instruccions i dades ocupen diferents espais d'adreces
Les memòries d'instruccions i dades tenen vies de maquinari separades a la unitat central de processament (CPU)
Es pot accedir a les memòries d'instruccions i dades de diferents maneres

Referències[modifica]

  1. «Harvard Architecture» (en anglès americà), 30-04-2020. [Consulta: 15 setembre 2023].
  2. A Manual of Operation for the Automatic Sequence Controlled Calculator (en anglès). OXFORD UNIVERSITY PRESS, p. 4. 
  3. «Harvard Architecture - an overview | ScienceDirect Topics» (en anglès). [Consulta: 15 setembre 2023].
  4. «Modified Harvard architecture | Semantic Scholar» (en anglès). [Consulta: 15 setembre 2023].