Anteprima
Vedrai una selezione di 29 pagine su 136
Calcolatori Elettronici I Pag. 1 Calcolatori Elettronici I Pag. 2
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 6
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 11
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 16
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 21
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 26
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 31
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 36
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 41
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 46
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 51
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 56
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 61
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 66
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 71
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 76
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 81
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 86
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 91
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 96
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 101
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 106
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 111
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 116
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 121
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 126
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 131
Anteprima di 29 pagg. su 136.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici I Pag. 136
1 su 136
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Caratteristiche generali del linguaggio macchina

Il linguaggio macchina realizza le operazioni elementari inquadrandole nell'architettura complessiva del processore e nella tecnica generale di realizzazione di tutte le istruzioni in linguaggio macchina; valgono dunque per le istruzioni di I/O tutto quanto esposto al capitolo del linguaggio macchina in generale: la sintassi delle istruzioni, il riferimento implicito o esplicito agli operandi, la loro natura (immediato, registro o memoria) e così via.

Più generale, l'interfaccia è costituita da tre intere sezioni, dedicate rispettivamente alle funzioni di input, output e controllo, ciascuna delle quali composta da più registri.

Le caratteristiche generali dei linguaggi macchina sono condizionate dalle scelte superiori del sistema, ad esempio nel driver della specifica periferica.

Figura 8.1 Modelli di interfaccia:
a) modello a 3 registri;
b) modello funzionale a tre sezioni;

Assumeremo pertanto il modello funzionale di cui alla fig.8.1b), che può così descriversi, sintattiche o semantiche effettuate in una serie di problemi di seguito illustrati: considerando astratti i 3 registri RI, RO, RC:
  • Esistenza o mancanza d'istruzioni I/O: non tutti i linguaggi macchina comprendono al tipo registro -ingresso =livello sintattico istruzioni di I/O. In molti casi (si veda in seguito modello "memory cartesianomapped" del § 11) vengono usate per realizzare tali operazioni istruzioni che nascono per dato: registro-dati (8.1') scopi diversi, come quelle di load o di store. È questo un caso limite ma molto diffuso: stato: registro -statitutte le operazioni di I/O vengono costruite adoperando semanticamente istruzioni non end;specificamente costruite per l'I/O; non è dunque predefinito alcun modello di I/O, che può tipo registro -uscita=essere costruito con la flessibilità del software e

prendendo spunto dai modelli sintattici cartesianodegli altri linguaggi macchina.

dato: registro-dati (8.1")

  • Selezione della periferia. La selezione della periferia avviene in linguaggio macchina o con la tecnica comando: registro-comandidella selezione dinamica oppure con quella della preselezione (cfr. §.5.5).
  • Nel caso dell’indirizzamento end;dinamico, il linguaggio macchina prevede che in ciascuna istruzione sia inserito un operando che funge daindirizzo di selezione; quest’ultimo viene inviato sul bus-indirizzi oppure (nelle architetture storiche) tipo registro -controllo =realizza una selezione interna.
  • Nel caso della preselezione, il linguaggio macchina deve consentire cartesianoapposite istruzioni (in via semantica o sintattica) che selezionano la periferia; ad esse seguiranno le stato: registro -statiistruzioni per l’invio o la ricezione dei dati, che sono rivolti comunque alla periferica preselezionata.

comando: registro-comandi

(8.1''')

  • Sincronizzazione. Problema fondamentale per la scrittura di un programma di I/O è la sincronizzazione array offlag: [1..n] bitdelle operazioni: un input deve essere effettuato quando il dato in ingresso è pronto, un output quando la endperiferica è in grado di assorbirlo e comunque deve essere "segnalato" alla periferica affinché questa loacquisisca. A tale scopo si adoperano i segnali strobe-in, strobe-out (cfr. § 1.4) e di controllo (cfr. § 2.5).
  • Modello funzionale di interfacciaSolo in casi particolari il linguaggio macchina gestisce sintatticamente questi segnali; nella maggioranzadei casi essi sono trattai semanticamente dal programma di I/O (cfr. ad esempio § 12).
  • Un'interfaccia è composta di 3 sezioni:
  • Trasmissioni a blocchi. Una trasmissione a blocchi può essere realizzata o con un DMA appositamente - d'ingresso, con registro-dato e registro -statointerfacciato
con la CPU, oppure con apposite istruzioni a blocchi gestite direttamente dalla CPU oppure - di uscita, con registro -dato e registro-comando ancora con istruzioni gestite da un processore di I/O. - di controllo, con registro -stato, registro -comando e flip-flop di controllo. Il modello recepisce lo schema di colloquio di cui al § 2, ove i messaggi sono suddivisi in 8 Modello funzionale di interfaccia dati, comandi e stati. In particolare, la sezione di uscita distingue i messaggi in dati veri e propri (RO.dato) ed in comandi (RO.comando) che l’interfaccia inoltra verso la periferia, Un’interfaccia svolge essenzialmente una funzione di transito di messaggi da o per la quella d’ingresso in dati (RI.dato) e stati (RI.stato) destinati alla CPU. periferia ed una funzione di controllo, intesa come tempificazione, controllo di errori e La sezione di controllo è schematizzata con alcuni flip-flop (RC.flag[i]) che svolgono definizione del suo stesso comportamento. Essa

può pertanto essere schematizzata attraverso i funzioni elementari e con due registri (RC.stato, RC.comando) che svolgono funzionitre registri di cui alla fig.8.1a): analoghe a quelle di RI.stato o RO.comando, ma con riferimento al comportamentovar RI: registro -ingresso dell’interfaccia nella sua globalità e non della periferia ad essa collegata. Ad esempio:var RO: registro -uscita • un comando in RO.comando è diretto alla periferia; se questa è una stampante potrebbesignificare “vai a capo pagina”; contenente un numero discreto di registri: lo spazio degli indirizzi è suddiviso fra le• diverse interfacce. L'indirizzo su IOA ha dunque una duplice funzione: selezione dellaun comando in RC.comando definisce le proprietà dell'interfaccia quali le dimensioni inbit di RI ed RO, o se il controllo di errore debba essere per parità o per disparità; interfaccia e selezione nella interfaccia (cfr.

§ 5.3).• Il modello così realizzato completa quello di fig. 6.1a) e consente di collegareuno stato in RI.stato è relativo alla periferica e potrebbe significare "carta inceppata";• apparecchiature comunque realizzate (e non soltanto quelle di assegnata struttura interna,uno stato in RC.stato potrebbe indicare che l'interfaccia sta effettuando un’operazioned’ingresso, che è libera da impegni e così via. come avveniva per le architetture chiuse).Interfacce che possiedono tali caratteristiche si dicono impropriamente programmabili. Il 9.2 Le istruzionimodello è quello di principio cui si ispirano le interfacce concrete, senza necessariamente In secondo luogo, il modello definisce la semantica delle istruzioni in linguaggioadottarlo alla lettera: alcune interfacce possiedono solo una o due delle sezioni di cui sopra e macchina, cioè le microoperazioni da esse realizzate. Il modello contiene soltanto

Le sezioni un numero minore di registri. In fig.8.2 è mostrato un modello ridotto all'essenziale di ricezione o trasmissione di un dato singolo (le istruzioni a blocchi, sono presentate nel rispetto a quello di fig. 8.1, che sarà ampiamente usato in seguito: le sezioni di input ed prossimo paragrafo) e, coerentemente con il modello di interfaccia, intende un'operazione output possiedono il solo registro -dato e quella di controllo due soli flip-flop. Il modello d'ingresso come quella che porta il dato da IOD all'interno del processore, una di uscita corrisponde allo schema fisico di interfaccia ed al modello sintattico usato da un'architettura quella che effettua il trasferimento inverso; in entrambi i casi, un indirizzo è posto sul bus del passato[6] e viene ancora oggi usato come modello semantico nelle architetture moderne IOA e pertanto si ha::(cfr. § 12).

- Input: A := IOD; IOA:= B (9.1)

Sezione RI input - Output:

IOD := A IOA:= B (9.2)C F controllo ove A, B sono due operandi, a seconda dei casi e delle tecniche di indirizzamento impliciti odSezioneRO output espliciti, operandi -registri o operandi-memoria Se IOA è l'indirizzo di uno dei registri delleinterfacce [8], il modello fondamentale e volve in quello che diremo modello a registriindirizzabili: le operazioni sono riferite al registro P[IOA].

Fig. 8.2 - Modello funzionale di interfaccia ridotto Modello I/O isolato

9.2.1Questi modelli funzionali sono realizzati semanticamente nelle architetture moderne, siveda ad esempio modello a messaggi differenziati realizzato con quello a registri Nel modello I/O isolato (in contrapposizione al modello memory mapped ) si assume unoindirizzabili, dopo di avere approfondito i due modelli (cfr. §§ 9, 10). spazio di indirizzamento per l'I/O indipendente da quello di memoria e quindi le (9.1), (9.2)diventano:9 Modello fondamentale di programmazione I/O Modello a registri

indirizzabili (I/O isolato):- Input:Facciamo qui riferimento alle architetture di I/O moderne che sono dette aperte in A := P[B] (9.3)contrapposizione alle architetture chiuse[7] del passato, alle quali si farà talora riferimento - Output:attraverso gli inserti. In queste architetture il modello pi ù diffuso è quello che è presentato in P[B] := A (9.4)questo paragrafo e che diremo fondamentale.9.1 L'interfaccia Modello memory mapped9.2.2In primo luogo il modello definisce la struttura dell'interfaccia. A dispetto del modello Nel modello a registri indirizzabili, le istruzioni assumono per il processore un significatofunzionale del paragrafo precedente (che in queste architetture è realizzato solo simile a quelle di move da o per la memoria: rispettivamente l'input è simile al load, l'outputsemanticamente), lo schema di interfaccia “visto” dal linguaggio macchina è molto allo store. Alcuni processori,

sulla base di tale considerazione, non possiedono un ’appositaelementare (cfr. fig. 9.1): il processore vede soltanto un insieme P di registri singolarmente sezione di collegamento con l'I/O, ma assumono a tale scopo la sezione di collegamento conindirizzabili; CPU ed interfaccia sono collegate attraverso un unico bus bidirezionale IOD, la memoria, facendo fisicamente e logicamente coincidere il bus IOA con il bus MA che portagenericamente detto bus-dati, ed un bus-indirizzi IOA che seleziona il registro indirizzato. Il l'indirizzo di memoria ed il bus IOD con il bus MB del memory buffer (fig. 9.2). Un appositomessaggio da o per l'interfaccia fa riferimento al registro P[IOA], che pu ò a seconda del selettore, decodificando l'indirizzo posto su MA e riconoscendolo appartenente alla memoriavalore di IOA diventare semanticamente il registro-dati, il registro-comandi etc. oppure ad uno dei registri di I/O, abilita all’operazione una delle due

(1)IOD dato P(2) IOD =MBCPU IOA indirizzo P(k)) CPU Mem Sel. Interfaccia I/O

9.1 Modello fondamentale di interfaccia IOA =MA

Nella realtà fisica, il processore è collegato con un insieme di interfacce, ciascuna

9.2. Architettura del modello memory mapped addirittura come un insieme di locazioni di memoria) e ad essa
Dettagli
Publisher
A.A. 2012-2013
136 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici I e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Canonico Roberto.