Per aiutarci nella realizzazione del programma ci siamo aiutate con questi appunti.. Interruzioni dello z80 I vari tipi di interruzioni E' bene soffermarsi su cosa si intenda con i seguenti termini: Ripristinabili: l'esecuzione del codice sospeso dal sopraggiungere di un'interruzione deve poter riprendere come se non fosse mai stata sospesa la sua esecuzione, l'unico effetto tangibile deve essere una latenza maggiore nel produrre i risultati. Non ripristinabili: l'esecuzione del codice sospeso dal sopraggiungere di un'interruzione non può riprendere ed il programma va brutalmente terminato, queste interruzioni sono causate da ma funzionamenti software o hardware, quindi non ha più senso completare il compito in esecuzione quando si è rilevato un errore. Mascherabili: solo le interruzioni che possono essere disattivate momentaneamente agendo su di un apposito registro del processore che agisce da maschera, ovvero decide quali interruzioni possono essere servite e quali no. Non mascherabili: sono dette anche NMI e rivestono una grande importanza gestendo eventi che non possono essere assolutamente, neanche temporaneamente, ignorati dal processore. Sincrone: si verificano sempre nel medesimo punto quando il sistema si trova nelle medesime condizioni sia di stato interno (PSW, PC) e sia di stato esterno (memoria centrale). Non sincrone: Non sono legate a particolari configurazioni di stato, sono quindi non prevedibili a priori. Interne: Si verificano durante l'esecuzione di una istruzione (logica cablata/dedicata) o del micro-programma ad essa associato (logica programmata) e sono le più facili da gestire nelle architetture scalari, mentre divengono le più difficili nelle architetture pipeline. Esterne: Sono generate da eventi verificatisi al di fuori del processore. Riconoscimento Periferica interrompente La flessibilità di un microprocessore si misura in gran parte dalla varietà e flessibilità dei modi previsti di assolverlo. Un modo possibile, per le tecniche, per riconoscere la periferica interrompente richiede una particolare struttura hardware del microprocessore: le linee di richiesta interrupt sono più di una, ciascuna facente capo a un dispositivo interrompente. Ad ogni linea corrispondente un salto o una locazione di memoria particolare e prefissata dal costruttore, dove c' è la routine di servizio relativa (o un ulteriore salto della routine); è il modo più usato (per esempio nell' 8085). E' un metodo semplice, ma limita il numero dei dispositivi servibili, per cui di solito non è il solo disponibile. Un altro sistema, del tutto generale, è in qualche modo misto, nel senso che il microprocessore, rilevata la richiesta di interruzione, fa il polling dei periferici per verificare “chi è stato”: principalmente ha il difetto di non sfruttare appieno la potenza velocità di risposta nella tecnica delle interruzioni. Il modo più potente è sicuramente quello dell' interrupt vettorizzato: in questo caso è il periferico che, nella fase Continua »