JPD132. Microprocessore e assembly



Documenti analoghi
Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Architettura hardware

introduzione I MICROCONTROLLORI

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Ing. Paolo Domenici PREFAZIONE

Architettura del calcolatore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

ASSEMBLER 68K parte 1

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Calcolo numerico e programmazione Architettura dei calcolatori

Struttura del calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Corso di Sistemi di Elaborazione delle informazioni

CPU. Maurizio Palesi

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Lezione 3: Architettura del calcolatore

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Programmazione dello Z80

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Il Processore: i registri

Linguaggi di programmazione

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

La memoria centrale (RAM)

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

C. P. U. MEMORIA CENTRALE

Cosa è un foglio elettronico

Architettura di un computer

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

IRSplit. Istruzioni d uso 07/10-01 PC

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Manuale Terminal Manager 2.0

Protezione. Protezione. Protezione. Obiettivi della protezione

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

MODULO Il personal computer. ISIS STRINGHER Corso Serale Anno scolastico 2010/11 Classe 1 Commerciale

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

La macchina programmata Instruction Set Architecture (1)

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

Approccio stratificato

Linguaggi e Paradigmi di Programmazione

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

IBM SPSS Statistics - Essentials for R- Istruzioni di installazione per Windows

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Il computer: primi elementi

Installazione e caratteristiche generali 1

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Laboratorio di Architettura degli Elaboratori

Il Sistema Operativo (1)

Gestione della memoria centrale

Introduzione all'architettura dei Calcolatori

DMA Accesso Diretto alla Memoria

Laboratorio di Informatica

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

DINAMIC: gestione assistenza tecnica

uadro Soluzione software e hardware Per le rilevazione presenze Gestione Aziendale Fa quadrato attorno alla tua azienda

PD32. Interfacciamento con i dispositivi di I/O (V)

Sistema operativo: Gestione della memoria

Manuale Operativo per la firma digitale

Esempio di moltiplicazione come somma e spostamento

Architettura di un calcolatore

Esame di INFORMATICA

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Windows

7.4 Estrazione di materiale dal web

IBM SPSS Statistics - Essentials for Python- Istruzioni di installazione per Windows

Manuale Operativo per la firma digitale

Laboratorio di Informatica

Programmare in Java. Olga Scotti

FileMaker Pro 11. Esecuzione di FileMaker Pro 11 su Servizi Terminal

MANUALE PARCELLA FACILE PLUS INDICE

NozionidiBase di Informatica

PD32. Esercitazione sull interfacciamento con un dispositivo di IO

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il Software. Il software del PC. Il BIOS

Von Neumann. John Von Neumann ( )

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Lezione 5 Architettura degli elaboratori. Mauro Piccolo piccolo@di.unito.it

Il memory manager. Gestione della memoria centrale

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Il Sistema Operativo

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Transcript:

JPD132 Microprocessore e assembly

Il processore JPD132 Il JPD132 è un ipotetico processore che estende le possibilità del PD32 principalmente con un linguaggio assembly comprendente nuovi metodi di indirizzamento, nuove direttive, nuove istruzioni La struttura interna è quasi identica a quella del PD32.

Caratteristiche del JPD132 modulo di controllo registri interni (PC, SR, IR, TEMP1, TEMP2) modulo ALU 8 registri associati all'alu (R0, R1,..., R7) bus interno a 32 bit interrupt vettorizzato convenzione little-endian

Altro hardware Il calcolatore gestito dal JPD132 è inoltre dotato di: memoria centrale (RAM) da 10Kb bus di memoria bus di I/O 7 periferiche di I/O

L'assembly JPD132 L'assembly utilizzabile per il JPD132 è completamente compatibile con l'assembly PD32. Un paio di dettagli: i numeri esadecimali non devono necessariamente iniziare con una cifra gli indirizzi delle periferiche sono limitati al range 0-63, quindi i programmi possono essere memorizzati a partire dalla locazione di memoria 100H (invece che 400H)

Nuovi metodi di indirizzamento assoluto indiretto... MOVL @604,R0 auto-incrementante indiretto... MOVL @(R3)+,R0 auto-decrementante indiretto... MOVL @-(R3),R0 indiretto con registro indice pre-indexed... MOVL @24(R2),R0 indiretto con registro indice post-indexed... MOVL [@24](R2),R0

Nuovi metodi di indirizzamento In alcune istruzioni del JPD132 sono disponibili indirizzamenti non concessi nell'assembly PD32. In pratica si è tentato di permettere più metodi di indirizzamento possibili. Es: ADDW 12,@23

Codifica di istruzioni PD32 31 29 28 24 23 16 15 14 13 12 11 9 8 6 5 3 2 0 classe tipo datok I/O s modo sorg modo dest 3 5 8 2 2 3 3 3 3 JPD132 31 29 28 24 23 18 17 16 15 14 13 10 9 7 6 3 2 0 classe tipo datok I/O s modo sorg modo dest 3 5 6 2 2 4 3 4 3

Nuove direttive:.dsz Le direttive.dsb,.dsw,.dsl allocano un dato numero di locazioni di memoria. La sintassi è la seguente:.dsz espressione dove per espressione si intende una qualunque espressione aritmetica comprendente gli operatori +, -, *, /, (, ) al cui interno si possono utilizzare valori costanti o costanti.

Esempi.DSW 5.DSL 5*3.DSL CONST.DSB CONST-9.DSL 12*(CONST1-3)*(CONST2+8)

Nuove direttive:.dcz Le direttive.dcb,.dcw,.dcl allocano in memoria risultati di espressioni aritmetiche. La sintassi è la seguente:.dcz espressione[,espressione] Possono essere scritte molte espressioni (separate da virgole).

Esempi.DCL 5.DCW 5,6,2+4,98/2.DCB CONST,34,1,3*CONST*9.DCL 12*(CONST-3),3*(3+CONST)

Note nelle nuove direttive di allocazione di memoria per specificare il valore di una costante si usa direttamente la label (senza '#'). l'uso di label di variabili in queste espressioni non è consentito sebbene non venga considerato come errore dall'assemblatore. l'operando / effettua la divisione intera, quindi: 12/2 = 13/2 = 6

Nuove istruzioni: EXGz Le istruzioni EXGB, EXGW, EXGL muovono un dato a nella locazione di un dato b e viceversa. "Scambiano di posto" due informazioni. I dati possono essere memorizzati indifferentemente in memoria o nei registri R0,...,R7. Sintassi: EXGz S,D (S e D non possono essere indirizzati con l'indirizzamento immediato) Es: EXGL R5,R2

Nuove istruzioni: SMULz Le istruzioni SMULB, SMULW, SMULL effettuano l'operazione di moltiplicazione segnata. Sintassi: SMULz S,D (D non può essere indirizzato con l'indirizzamento immediato) Es: SMULW #5,312h

Nuove istruzioni Similmente a SMULz il JPD132 ammette le istruzioni: UMULz (moltiplicazione non segnata) SDIVz (divisione segnata) UDIVz (divisione non segnata) La sintassi e gli indirizzamenti concessi sono simili a SMULz.

Nuove istruzioni: NANDz Il JPD132 estende le istruzioni di tipo logico (classe 3) con: NANDz S,D NORz S,D In entrambi i casi D non può essere indirizzato con l'indirizzamento immediato.

Estensione dell' istruzione JSR L'istruzione di chiamata a subroutine può avere due forme: 1) JSR label (quella usuale del PD32) 2) JSR Rx,label La seconda chiamata memorizza nel registro Rx il contenuto del PC invece che fare una push nello stack. Il ritorno da subroutine in non può avvenire tramite l'istruzione RET, ma deve avvenire con una JMP.

Esempio ORG 100H OP1 DL 5 OP2 DL -3 RIS DL 0 CODE MOVL OP1,MDCS MOVL OP2,MDCS+4 JSR R1,MD MD: POS: MOVL MDCS+8,RIS HALT MOVL 4(R1),R0 SUBL (R1),R0 JNN POS NEGL R0,R0 MOVL R0,8(R1) JMP 12(R1) MDCS:.DSL 1.DSL 1.DSL 1 END

IL SIMULATORE JPD132 v.1.0 beta

Caratteristiche simulatore L'applicazione di simulazione è scritta in Java Necessita una Java Virtual Machine v.1.3.1 o superiore È multipiattaforma (testata in ambiente Windows) È distribuita secondo la licenza GPL: http://www.gnu.org/copyleft/gpl.html Deve essere posizionata in una cartella con i permessi di scrittura (per il file di configurazione)

Editor indentazione automatica gestione di diversi file contemporaneamente possibilità di cambiare font, dimensione e stile del carattere possibilità di specificare una directory di default dove salvare i file possibilità di specificare del codice sorgente da caricare in ogni nuova finestra dell'editor

Editor comandi per rendere maiuscolo/minuscolo il codice sorgente (ma non i commenti) convertitore decimale/esadecimale/binario/ottale/codice ASCII commento/decommento automatico del sorgente

Simulatore modalità di esecuzione "tutto il programma" (con regolatore di velocità di calcolo) modalità di esecuzione "un'istruzione alla volta" possibilità di modificare direttamente i valori dei registri interni al processore, le singole celle di memoria centrale, lo Status register, il Program Counter

Simulatore possibilità di salvare il contenuto della memoria centrale su file per poi ricaricarlo in una successiva simulazione (opzione utile se si vogliono testare diversi programmi sugli stessi dati) indicatore di stima di efficienza (più il valore è alto, più tempo è necessario ad eseguire il programma). Il pulsante "Azz.effic." imposta a 0 il valore dell'indicatore

Simulatore pulsante "Random.": setta ad 1 il flip-flop status di tutte le periferiche di input inserendo nel data buffer un valore casuale.

Download Il simulatore e le sue specifiche sono disponibili all'indirizzo: http://www.lorenzoblanco.it/jpd132/