1 Università di Pavia - corso di Calcolatori Elettronici PROGETTO DI UN SISTEMA BASATO SU  P PROBLEMA REALE SVILUPPO HARDWARESVILUPPO SOFTWARE INTEGRAZIONE.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

Il Software.
Introduzione Cosa è un Sistema Operativo? Una breve storia
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Dalla scrittura all’esecuzione
Procedure e funzioni A. Ferrari.
I linguaggi di programmazione
Definizione e tipi di implementazione
Massa Laura Mela Enrica
Prova di completamento: selezione di domande
Generalità Linguaggio e Macchina Astratta
Tesi di Laurea Triennale in Ingegneria Elettronica Applicata
Dr. Francesco Fabozzi Corso di Informatica
Chiamate a Procedure. Per lesecuzione di una procedura, un programma deve eseguire i seguenti sei passi: mettere i parametri in un posto dove la procedura.
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
Introduzione allambiente BasicX Informatica. Argomenti Le caratteristiche principali del BX-24 Il BOS (BasicX Operating System) on-chip Lambiente di sviluppo.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Laboratorio di informatica: ASSEMBLER
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Funzioni.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Struttura dei sistemi operativi (panoramica)
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
memoria gestita staticamente:
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Espressioni condizionali
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
C# LE BASI 2007 Prima lezione - Introduzione.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Java Contardi Carlo A.S. 2008/09.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Architettura degli Elaboratori II (canale P-Z) Linguaggi e moduli
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione VII Il compilatore e le sue opzioni Programmazione di Calcolatori: il compilatore e le sue.
Il Sistema Operativo (1)
INTERFACCIAMENTO ASSEMBLY - C++
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Programma di Informatica Classi Prime
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
Introduzione al C Davide Gadia.
1 Università di Pavia - corso di Calcolatori Elettronici C code: L1:g = g + A[i]; i = i + j; if (i != h) goto L1; MIPS code: L1:add $t1, $s3, $s3# $t1.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Calcolatori Elettronici Assemblatore, Linker e Loader
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
CALCOLATORI ELETTRONICI
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Esercitazione 3 Introduzione allo SPIM Pseudo-Istruzioni
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Esercitazione 4 Chiamate di procedure Claudia Raibulet
Esercizio 14 – chiamata di una procedura Il codice deve: Passare due parametri alla procedura ‘salva’ Questa procedura deve salvare i due parametri nel.
Il software Claudia Raibulet
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
1 System Call ancora Vediamo passo passo come funziona una SC.
Informatica e Informatica di Base
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (1) Supporto hardware alle procedure Passaggio.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Corso di Laurea in Informatica Architettura degli elaboratori a.a ISA e Asm: esempi e suggerimenti.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Struttura del Computer
Transcript della presentazione:

1 Università di Pavia - corso di Calcolatori Elettronici PROGETTO DI UN SISTEMA BASATO SU  P PROBLEMA REALE SVILUPPO HARDWARESVILUPPO SOFTWARE INTEGRAZIONE DEL SISTEMA

2 Università di Pavia - corso di Calcolatori Elettronici SVILUPPO HARDWARE SPECIFICHE PROGETTO DEL CIRCUITO SCHEDA DI PROVA REALIZZ. PROTOTIPO DEBUG HARDWARE

3 Università di Pavia - corso di Calcolatori Elettronici SVILUPPO SOFTWARE SPECIFICHE FLOW CHART STESURA SORGENTE ASSEMBLATORE/COMPILATORE LINKER DEBUG SW (SIMULAZIONE)

4 Università di Pavia - corso di Calcolatori Elettronici INTEGRAZIONE HW/SW INTEGRAZIONE RICERCA ERRORI (EMULAZIONE REAL TIME) ROM PROGRAM COSTRUZIONE HWSW

5 Università di Pavia - corso di Calcolatori Elettronici EMULAZIONE IN TEMPO REALE SISTEMA DI SVILUPPO MEMORIA DI EMULAZIONE ICE: In Circuit Emulator PROTOTIPO CPU MEMORIA DEL PROTOTIPO

6 Università di Pavia - corso di Calcolatori Elettronici CREAZIONE DI UN ESEGUIBILE Utilizzo di linguaggio assemblativo quando occupazione di memoria e velocità sono critici (sistemi embedded e applicazioni real time) Approccio ibrido con parti scritte in linguaggio ad alto livello e parti critiche scritte in linguaggio assemblativo Svantaggi: lunghezza, leggibilità, portabilità

7 Università di Pavia - corso di Calcolatori Elettronici Suddivisione in 3 segmenti: testo: istruzioni di programma a partire da 0x dati a partire da 0x (statici e dinamici) stack: a partire da 0x7fffffff (si espande in senso opposto all’area dati) MEMORIA

SPIM Simulatore: software che esegue programmi scritti in linguaggio assemblativo MIPS (debugging) Pseudoistruzioni che vengono tradotte in sequenze di istruzioni MIPS Interfaccia Windows/Unix Display dei registri Pulsanti di controllo (Unix) Segmento testo: istruzioni Segmenti dati e Stack Messaggi

9 Università di Pavia - corso di Calcolatori Elettronici SPIM: versione per Windows

10 Università di Pavia - corso di Calcolatori Elettronici Principali Direttive per l’assemblatore MIPS.asciistringa.asciizstringa.byteb 1, …, b n.data.floatf 1, …, f n.doubled 1, …, d n.globlsimbolo.text.wordw 1, …, w n.spacen

11 Università di Pavia - corso di Calcolatori Elettronici SYSCALL PROGRAMMA UTENTE PREPARAZIONE CHIAMATA CHIAMATA ESPLETAMENTO SERVIZIO RITORNO RISULTATI SPIM fornisce tramite System Call (Syscall) servizi analoghi a quelli del sistema operativo. Syscall vista come l’invocazione di una subroutine. Passaggio parametri alla syscall attraverso $a0-$a3, se interi, o $f12, se in virgola mobile; codice della chiamata attraverso $v0. Risultati restituiti in $v0, o $f0, se in virgola mobile. Se ci sono più parametri si usa la memoria. SPIM

12 Università di Pavia - corso di Calcolatori Elettronici Syscall - Esempio Per stampare sulla console “risposta =5”:. data#segmento dati str:.asciiz “risposta =“.text#segmento testo li $v0, 4#chiamata print_string la $a0, str#stringa da stampare syscall li $v0, 1#chiamata print_int li $a0, 5#intero da stampare syscall COMANDOCODICE CHIAMATA InputOutput Print_int1$a0 Print_float2$f12 Print_double3$f12 Print_string4Sa0 Read_int5$v0 Read_float6$f0 Read_double7$f0 Read_string8$a0=buffer $a1=lungh.