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



Documenti analoghi
Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Linguaggi di programmazione

FONDAMENTI di INFORMATICA L. Mezzalira

INFORMATICA 1 L. Mezzalira

Ing. Paolo Domenici PREFAZIONE

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

La Macchina Virtuale

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

Architettura del calcolatore

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

Architettura degli elaboratori (A)

La macchina programmata Instruction Set Architecture (1)

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

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Architettura di un computer

ASSEMBLER 68K parte 1

Architettura di un calcolatore: introduzione

CPU. Maurizio Palesi

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

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Esame di INFORMATICA

Architettura hardware

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Testi di Esercizi e Quesiti 1

Lezione n.9. Introduzione al linguaggio macchina

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

Dispensa di Informatica I.1

Il Processore: i registri

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

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

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Architettura di un calcolatore

Calcolatori Elettronici

Von Neumann. John Von Neumann ( )

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

Macchine sequenziali

C. P. U. MEMORIA CENTRALE

Progettaz. e sviluppo Data Base

Lezione 8. La macchina universale

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Lezione 3: Architettura del calcolatore

Calcolatori Elettronici A a.a. 2008/2009

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

Rappresentazione dei numeri in un calcolatore

Informatica - A.A. 2010/11

Programmazione dello Z80

Struttura del calcolatore

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Vari tipi di computer

PIANO DI LAVORO DEI DOCENTI

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

Sistema operativo: Gestione della memoria

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

LINGUAGGI DI PROGRAMMAZIONE

Gestione Turni. Introduzione

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

Calcolo numerico e programmazione Architettura dei calcolatori

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

Architettura hw. La memoria e la cpu

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

Linguaggi e Paradigmi di Programmazione

Origini e caratteristiche dei calcolatori elettronici

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

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

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

ALGEBRA DELLE PROPOSIZIONI

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

CALCOLATORI ELETTRONICI

Corso di Informatica

Lezione n.19 Processori RISC e CISC

Linguaggi di programmazione

L architettura del calcolatore (Prima parte)

Informatica Generale

Laboratorio di Architettura degli Elaboratori

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

Architettura dei calcolatori I parte Introduzione, CPU

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Laboratorio di Informatica

Corso di Informatica

Gli algoritmi: definizioni e proprietà

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

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

L architettura di riferimento

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Organizzazione della memoria

Transcript:

Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39 081 7723364

Breve Riepilogo - Il processore Abbiamo inquadrato il processore nell ambito di architetture von Neumann-like; Architettura di Von Neumann Ciclo di Von Neumann Il processore come esecutore continuo di istruzioni- L istruzione è l operazione atomica eseguibile dalla macchina processore Il set di istruzioni processore (ISA) definisce la macchina virtuale standard Dualismo CISC-RISC, chi vince In realtà, le istruzioni a livello macchina standard sono, in molti casi, microprogrammate ossia eseguite da una macchina virtuale sottostante detta Microprogramma

Esecuzione Parallela Architetture SIMD [Single Instruction Multiple Data (flows)] Es.: Architetture con ALU vettoriali +

Esecuzione Parallela Architetture MIMD Es.: Architetture multiprocessore Conflitti di accesso in memoria CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU MEM CPU CPU CPU CPU CPU CPU BUS CPU CPU CPU CPU CPU CPU BUS Caching : CPU CPU CPU CPU MEM MEM MEM MEM Shared MEM

Pipelines Questa strategia viene adottata per ottenere una sorta di parallelismo in macchine di tipo SIMD: L esecuzione della singola istruzione viene assegnata a parti specializzate del processore che possono essere alimentate (nella maggior parte dei casi) in maniera autonoma Prelevamento Istruzioni Analizzatore Calcolo Indirizzi Prelevamento Dati Esecuzione Istruzioni 1 2 1 T t 3 4 2 3 1 2 1 5 6 4 5 3 4 2 3 1 2 7 6 5 4 3

Istruzioni Macchina Le istruzioni macchina sono tipicamente costituite da stringhe binarie che codificano sostanzialmente: La tipologia di istruzione Gli operandi (Registri interni, Registri di Memoria, etc.) La modalità di indirizzamento (semantica degli operandi) Le istruzioni della macchina possono essere definite mediante un linguaggio Assembly, molto vicino al livello macchina standard ma più semplice da trattare per un operatore umano La vicinanza alla macchina standard fanno sì che il linguaggio assembly risulti fortemente dipendente dalla macchina standard pur garantendo un certo carattere di generalità Durante questa unità didattica cercheremo di estrarre le caratteristiche generali di un linguaggio Assembly

Linguaggio Assembly Il set di istruzioni Assembly, unito al formato del programma, alle modalità di specifica dette direttive, Definisce il linguaggio Assembly Il linguaggio assembly può essere associato però a macchine virtuali leggermente differenti dalla macchina standard

Formato Istruzione Assembly Mnemonico Operando 1 (Operando 2) ADD REGA, REGB MOV JNZ [REGA], [REGA+REGC], Numero di Operandi codice operativo Modalità di Indirizzamento

Programma Assembly Un programma assembly è tipicamente formato da sequenze di istruzioni di formato simile a quello precedentemente esposto. Le istruzioni possono essere etichettate per delimitare dei riferimenti lungo il Codice Le stesse istruzioni possono essere seguite da commenti che vengono ignorate in fase di traduzione verso il linguaggio della macchina standard Il codice vero e proprio viene tipicamente preceduto da direttive che specificano il processo di traduzione implementato dall Assemblatore

Esempio label Mnemonico Operandi Commento Sequenza di caratteri alfanumerici Codice operativo o pseudocodice Operandi separati da virgole Ignorato dall assemblatore loop: lb $t1,0($a0) # Carica un carattere in $t1 beqz $t1,brk addi $a0,$a0,1 Modi di indirizzamento b loop

Modalità di indirizzamento Gli operandi di una istruzione assembly descrivono in maniera sintetica gli oggetti della computazione effettuata dalla macchina virtuale associata. L operando, eventualmente un numero o un codice mnemonico relativo ad un registro, può di volta in volta assumere il valore semantico di un numero su cui effettuare la computazione, un registro contenente il valore, una locazione di memoria contenente il valore, un registro contenente l indirizzo di una locazione di memoria ecc. La semantica dell operando viene attribuita attraverso particolari codici (parentesi quadre, $ etc.)

Indirizzamento Immediato La semantica più semplice per i codici operando è data dall utilizzo dell indirizzamento immediato. In questo caso il codice operando (numerico) è esso stesso il valore su cui si effettuerà la computazione Nell istruzione macchina corrispondente sarà incluso il valore dell operando. Non sarà necessario un ulteriore accesso alla memoria, una volta prelevata l istruzione dalla memoria il processore avrà a disposizione tutte le informazioini necessarie all esecuzione dell istruzione Es.: ADD AX, 1 (dove AX è un registro accumulatore )

Indirizzamento Diretto Leggermente più complesso è il caso dell indirizzamento diretto dove il codice operando rappresenta l indirizzo del registro di memoria che contiene il valore necessario all esecuzione dell istruzione Ipotizzando di avere & come specificatore di indirizzamento diretto avremo: ADD AX,&A12E

Indirizzamento tramite registri Concettualmente simile all indirizzamento diretto: Il valore dell operando è contenuto nel registro specificato: ADD AX, BX (BX è un secondo registro dell architettura ipotetica cui ci riferiamo)

Indirizzamento Indiretto In questa modalità l indirizzo specifica quale parola contiene l indirizzo del valore cercato e non il valore stesso come avveniva nell indirizzamento diretto. ADD AX, [BX]

Modalità di indirizzamento (2) Le modalità di indirizzamento presentate possono essere definite come principali. Esistono altri schemi di indirizzamento particolari che non tratteremo, ed altri come l indirizzamento tramite indice che analizzeremo più avanti. Gli schemi di indirizzamento supportati sono fortemente dipendenti dalla macchina.ogni processore possiede un proprio insieme di schemi di indirizzamento che differisce da quello di altre architetture.

Istruzione Macchina (2) L istruzione macchina sarà quindi una stringa di bit di formato generale: COD. Operativo Campo Indirizzamento 1 Campo Indirizzamento 2 (?) Le dimensioni in bit dei campi suddetti possono variare: Ad es. il campo di indirizzamento nel caso l operando sia un registro (indirizzamento diretto tramite registri) conterrà un numero di bit atto a codificare il numero di registri della macchina in esame. Il formato specifico delle istruzioni macchina è variabile con la tipologia di istruzione ed lo schema di indirizzamento