Discussione:Codice automodificante

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Che c'entra il codice automodificante coi processori? Il Lisp ne fa uso massiccio, ed è utlizzabile su qualnque architettura...

Tolgo la parte dall'articolo -- da qui --

È una tecnica di programmazione sconsigliata da tutti i produttori di microprocessori poiché rende notevolmente più complessa la realizzazione degli stessi microprocessori. Infatti solo Intel e AMD attualmente supportano l'esecuzione di codice automodificante sui loro prodotti. Questo supporto è mantenuto per questioni di compatibilità.

-- a qui --

BW 09:44, Mag 5, 2004 (UTC)
Ho rimesso la frase, il codice che modifica l'assembler è difficile da gestire in una cpu con dati e istruzioni separate. Infatti IBM, motorola e co. non lo supportano nelle loro cpu. Il lisp è automodificate ma normalmente è interpretato e quindi il codice binario che viene eseguito non è automodificate.
Oi, fioi! Le architetture RISC -con cui le Power sono implementate- non mi pare proprio che siano delle architetture Harvard (dati e codice separati), che si usi un segmento text ben distinto dagli altri segmenti per i dati mi pare una cosa del tutto diversa. Un giorno o l'altro devo riattivare la scheda mu-11 (PDP-11) e vedere se il codice automodificante funziona, bene o male MOVE -(PC), -(PC) funziona :)
Un altro problema della programmazione automodificante e` la correttezza. Se io ho una funzione che e` un oggetto utilizzato in piu` punti del sistema - con codice anche di autori diversi - il cambiamento del contenuto dell'oggetto puo` portare a malfunzionamenti del sistema: supponete che il contenuto di funzioneSalva (obj) sia cambiato da "salvare l'oggetto obj" a "cancellare l'oggetto obj", gli effetti come potete immaginare sono divertenti...

--Saint 15:26, 22 gen 2007 (CET)[rispondi]

Già, francamente la voce è alquanto imprecisa e fuorviante.

1) Non mi risulta che "In origine i programmi automodificanti erano realizzati per ottenere il massimo delle prestazioni dalle macchine"; e, del resto, non capisco cosa c'entrino le due cose;

2)senza alcun senso è poi l'affermazione secondo cui "Attualmente l'utilizzo della tecnica del codice automodificante viene sconsigliata da tutti i produttori di microprocessori poiché rende notevolmente più complessa la realizzazione degli stessi microprocessori" e supportata solo da Intel e AMD (considerato, tra l'altro, che, nella scrittura di codice automodificante, il programmatore fa regolare uso delle istruzione messe a disposizione dal processore e non ha dunque senso affermare che, al contrario, è l'hardware a dover essere progettato per tener conto delle esigenze del programmatore)

lorelapo su "Codice automodificante"[modifica wikitesto]

Prima di tutto non è del tutto vero che il codice automodificante rende più complicata la realizzazione dei processori, poichè partendo dal presupposto che il codice automodificante È eseguibile solo su una architettura Von Neumann, si ha che essendo l'architettura Von Neumann (in principio almeno) più semplice di una architettura Harvard, un processore con codice automodificante è più semplice ma non necessariamente più veloce dato che una architettura Harvard parallelizza l'accesso a dati e istruzioni. Il problema all'inizio non sussisteva i processori Von Neumann erano più veloci, ma col passare del tempo la velocità dei processori è aumentata molto di più della velocità di accesso alla memoria che ha rallentato pesantemente tutto sino alla introduzione della cache che ha permesso di avere una memoria più veloce in cui vengono contenuti i dati a cui si accede più di frequente, queste cache sono letteralmente una struttura Harvard all'interno di una struttura Von Neumann visto che dati e istruzioni nella cache sono divisi (a differenza della memoria vera e propria), perciò nessuno dei produttori propone niente visto che il problema non è ne la struttura nel il tipo di codice ma il materiale pratico, ovvero la memoria dei processori.Questo commento senza la firma utente è stato inserito da lorelapo (discussioni · contributi).

Collegamenti esterni modificati[modifica wikitesto]

Gentili utenti,

ho appena modificato 3 collegamenti esterni sulla pagina Codice automodificante. Per cortesia controllate la mia modifica. Se avete qualche domanda o se fosse necessario far sì che il bot ignori i link o l'intera pagina, date un'occhiata a queste FAQ. Ho effettuato le seguenti modifiche:

Fate riferimento alle FAQ per informazioni su come correggere gli errori del bot.

Saluti.—InternetArchiveBot (Segnala un errore) 21:26, 25 mag 2019 (CEST)[rispondi]