Introduzione alla Microprogrammazione

Похожие документы
Struttura del processore. Funzionamento del processore

Architettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori

Realizzazione del controllo

Architettura degli elaboratori Tema d esame del 20/01/2016

Esercizio n. 7 - Microcodice

1 Esercizi con architettura a 1 bus

Architettura degli elaboratori

Esercizi su microistruzioni. 1 Esercizi con architettura a 1 bus

Architettura del calcolatore (Seconda parte)

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Componenti di un processore

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura del Calcolatore

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Struttura di un elaboratore

Corso di Laurea in Informatica Architetture degli Elaboratori

ISA DLX: Implementazione Tramite Struttura Sequenziale

Corso di Laurea in Informatica Architetture degli Elaboratori

Corso di Laurea in Informatica Architetture degli Elaboratori

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Architettura dei Calcolatori Elettronici

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architettura di un processore basato su registri generali.

Architettura di un calcolatore: Introduzione parte 2

Il Processore: l unità di controllo

Il processore: unità di controllo

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Corso di Laurea in Informatica

Esercitazione 06 Progettazione di una CPU RISC-V

Architettura del Calcolatore

Architettura dei calcolatori

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Транскрипт:

Introduzione alla Microprogrammazione Corso Calcolatori Elettronici 2 Prof. Antonino Mazzeo Ing. Casola Valentina

Organizzazione a bus singolo dell architettura interna della CPU del 68000

Porte di ingresso ed uscita per i registri Ogni registro connesso al bus in modo bidirezionale deve avere due porte tristate pilotate da segnali di controllo indipendenti

Esempio di esecuzione di una istruzione completa L istruzione del 68000: Add (R3), R1 (modalità di indirizzamento indiretto) Richiede le seguenti azioni: 1. Prelevare l istruzione, 2. Prelevare il primo operando (il contenuto della locazione puntata da R3), 3. Eseguire l addizione, 4. Caricare il risultato nel registro R1.

Sequenza di controllo necessaria 1. Pcout, MARin, Read, ClearY, SetCarry-in to ALU, Add, Zin 2. Zout, Pcin, WMFC 3. MDRout, IRin 4. R3out, MARin, Read 5. R1out, Yin, WMFC 6. MDRout, Add, Zin 7. Zout, R1in, End. Fetch e incremento PC Il passo 3 comincia appena il dato è disponibile wait for MFC Tra 3 e 4 il circuito di decodifica delle istruzioni interpreta il contenuto di IR

Decodificatore delle istruzioni La CPU deve generare nella giusta sequenza i segnali di controllo per la esecuzione delle istruzioni Ci sono due tecniche prevalenti per progettare il decod. di istruzioni: Tecnica di controllo cablato, tecnica di controllo microprogrammato;

Tecnica di controllo microprogrammato CW Il decodificatore di istruzioni genera delle Control Word (CW) in cui ogni bit rappresenta uno specifico segnale di controllo della CPU (Pcin, Zout,..)

Controllo microprogrammato (1) Una sequenza di CW che corrisponde alla sequenza di controllo di una istruzione macchina, costituisce la microprocedura per quella istruzione, mentre le singole parole della microprocedura sono dette microistruzioni; Le microprocedure corrispondenti alle istruzioni ISA sono memorizzate nella memoria di controllo

Controllo microprogrammato (2) Per leggere le CW dalla memoria di controllo viene usato un micropc (contatore di microprogramma) tempificato dal clock, Per gestire condizioni di salto, il generatore di indirizzi di partenza e il microprogramma deve prevedere diverse possibilità in caso si verifichino condizioni di salto.

Microistruzioni (1) Come organizzare una CW? 1. Posso usare un bit per ogni segnale: 1. La decodifica è molto semplice; 2. microistr. molto lunghe con pochi 1 attivi contemporaneamente; 2. Raggruppo i segnali mutuamente esclusivi (solo un registro alla volta può scrivere sul singolo bus): 1. Utilizzo uno schema di codifica binaria in modo da usare semplici decodificatori dei segnali: per le 16 istruzioni della ALU bastano 4 bit, per gli n segnali di uscita dei registri dato uso log(n) bit, per gli n segnali di ingresso dei registri dato uso log(n) bit,.

Microistruzioni (2) Il raggruppamento dei segnali richiede esplicitamente la presenza di hw aggiuntivo per i decodificatori che è però compensato dall avere una memoria di controllo più piccola; Ovviamente è possibile raggruppare anche tutti i segnali insieme e non solo quelli mutuamente esclusivi in modo da avere CW di lunghezza minima; in questo caso però i circuiti di decodifica sono, ovviamente, più complessi.

Microprogrammazione orizzontale e verticale Architetture che utilizzano un alto grado di codifica delle microistruzioni si chiamano ad organizzazione verticale ; viceversa, architetture che utilizzano uno schema di codifica minimo, sono dette ad organizzazione orizzontale.

Organizzazione di un microprogramma (1) Il microprogramma deve coprire tutto l ISA; le memorie di controllo sono di dimensioni notevoli, considerando tutte le possibili modalità di indirizzamento, in realtà, molte micro-procedure hanno molte microistruzioni in comune; Occorre organizzare la memoria in modo da individuare e scrivere una unica volte tutte le microistruzioni comuni a diverse operazioni.

Organizzazione di un microprogramma (2) Due tecniche diffuse: Condividere le parti comuni di istruzioni diverse scegliendo opportunamente gli indirizzi delle microistruzioni in modo che la distanza tra due microistruzioni che hanno parti in comune sia di un solo bit (qualsiasi bit del microindirizzo) che possa facilmente essere valutato con una operazione di bit OR-ing. Includere in ogni microistruzione un campo indirizzo che indica la locazione della microistruzione successiva (aumento la lunghezza della CW ma il sistema è più performante);

Esempio di bit OR-ing Supponiamo che una microistruzione di una ISTR. con tecnica di indirizzamento immediato sia memorizzata alla locazione 170, conviene memorizzare la microistruzione della stessa ISTR. ma con indirizzamento indiretto alla locazione 171 in questo modo: il microprogramma procede naturalmente fino a 169 come se volesse eseguire la 170, se poi si verifica una condizione che specifica la modalità di indirizzamento indiretto, allora si utilizza una porta OR per cambiare il bit meno significativo dell indirizzo ad 1.

Riferimenti bibliografici Hamacher CAP 3 A.S. Tanenbaum.. CAP 4: The microarchitecture level