Istituto Tecnico Industriale "Enrico Fermi"

Help On Chat

[Ritorna all'elenco sessioni]

Chat del 17 Dicembre 2015 dalle 17:00:51 alle 17:46:40

Lavjit SINGH
\'sera prof.
Stefano Salvi
Cominciavo a preoccuparmi... Salve a tutti. Avanti con le domande!
Diego NOGARETTI
Buona sera prof
Lavjit SINGH
Indirizzamento Indiretto corrisponde alla logica dei ai puntatori?
Diego NOGARETTI
Può descrivere i tipi di indirizzamento
Giacomo RIGHI
Buonasera
Stefano Salvi
Lavjit: si, l\'indirizzamento indiretto corrisponde all\'implementazione dei puntoatori.
Lavjit SINGH
Nel Cross Sviluppo editor,compilatore,loader,... funzionano alla stassa maniera dello sviluppo residente?
Stefano Salvi
Nogaretti: posso ELENCARE i tipi di indirizzamento o descrivere UN tipo di indirizzamento...
Diego NOGARETTI
va bene
meglio elencare
Stefano Salvi
Lavjit: Editor: esattamente identico; Compilatore: produce un diverso assembly; Assemblatore: capisce un diverso assembly e produce opcode differenti; Linker: è circa uguale; Loader è COMPLETAMENTE diverso perché carica da tutt\'altra parte.
Nogaretti: implicito (o intrinseco), immediato, diretto, indiretto, indicizzato, registro e stack
Lavjit SINGH
L\'unica differenza tra le librerie dinamiche e le late binding è il momento nel cui viene caricata la libreria?
Diego NOGARETTI
grazie. può ri-spiegare il cross-compilatore
Giacomo RIGHI
Ma la parte che abbiamo fatto sulla Comunicazione sarà presente in verifica?
Alessandro VOLPARI
Buonasera
Stefano Salvi
Lavjit: a livello macroscopico, si, più in dettaglio, cambia quello che la libreria contiene (una collezione di funzioni invece dei metodi di una classe)
Francesco MORETTI
potrebbe spiegarmi l\'indirizzamento registro?
Stefano Salvi
Nogaretti: il cross-compilatore è identico al compilatore residente, salvo che produce un file di uscita in un linguaggio differente (assembler o linguaggio macchina del target invece che locale)
Righi: no, la comunicazione non l\'abbiamo mesa.
Diego NOGARETTI
potrebbe spiegare le differenze tra linguaggio compilato e interpretato ?
Lavjit SINGH
Nel formato istruzione una costante(DISPLAY) occupa la dimensione dell\'op-code perche\' si trova nel programma e l\'accumulatore non occupa nulla giusto?
Stefano Salvi
Moretti: l\'indirizzamento registro è una variante del diretto. In questo caso le variabili sono nei registri e non nella memoria, quindi l\'indirizzo passa da 16 bit (per 64KiB di memoria) a 3 bit (per 8 registri, quindi lo impacchetto insieme all\'opcode nel byte dell\'opcode stesso.
Nogaretti: in un linguagio compilato le istruzioni che scriviamo vengono tradotte (ikn più passaggi: compilatore - assembler -linker) in istruzioni in linguagggio macchina direttamente eseguinbili dal processore. Nei linguaggi interpretati invece le istruzioni vengono lette ed "eseguite al volo" senza tradurle in linguagio macchina ma richiamando direttamente funzioni dell\'interprete che eseguono il lavoro.
Giacomo RIGHI
Può rispiegare l\'indirizzamento stack?
Marco MORONI
Sul Data Bus passano i vari indirizzi( ALTO, MEDIO, BASSO,...)?
Giacomo RIGHI
Cos\'è lo stack pointer?
Stefano Salvi
Lavjit: Non capisco quelloc he scrivi... Parli delle operazioni ad un operando in memoria? In questo caso la sorgente del primo operando nonché destinazione del risultato è in una cella di memoria predeterminata (implicita, direi adesso), quindi non occupa memoria nell\'istruzione (ma richiede cicli di lettura e scrittura).
Diego NOGARETTI
quali sono le differenze tra librerie dinamiche e statiche e come vengono caricate in memoria (il funzionamento) ?
Lavjit SINGH
al primo operando ci sommo una costante o l\'accumulatore.parlo di costante e accumulatore
Stefano Salvi
Rigni: L\'indirizzamento stack è una vriante dell\'indirizzamento indiretto nella quale il registro indice (Stack Pointer in questo caso) viene decrementato dopo le scritture e incrementato prima delle letture
Ancora Rigni (perché sono assieme): lo Stack Pointer è un registro che punta alla "cima" di un\'area LIFO. Andando "su e giù" consente di scrivere quanto voglio e di recuperare quelloc he ho scritto in ordine inverso.
Marco MORONI
prof e me niente :( ?
Francesco MORETTI
cos\'è il trasferimento di controllo?
Lavjit SINGH
no moroni
Marco MORONI
*Sul Data Bus passano i vari indirizzi( ALTO, MEDIO, BASSO,...)?
Diego NOGARETTI
differenze tra lib dinamiche e statiche
Stefano Salvi
Moroni: ho risposto alle due di Nogaretti assieme perché erano collegate... Sul Data Bus passano i PARAMETRI DELLE ISTRUZIONI che a volte sono indirizzi ed i DATI che a volte sono puntatori. Funziona?
Nicola VENTURINI
ma porco giuda
ho perso il quaderno di Sistemi mo dove studio
Lavjit SINGH
gg wp
Stefano Salvi
Noigaretti: Le libterie statiche vengono lette dal Linker e le funzioni richiestre vengono estratte e aggiunte in coda al file eseguibile. Le librerie dinamiche vengono caricate in memoria dal Loader (una sola volta per tutti i programmi che le richiamano) e l\'eseguibile richioame le funzioni che gli servono dalla copia comune.
Marco MORONI
poi la lascio :)
Circa, se io avessi un sistema con DATA a 1 Byte e ADDRESS a 4 byte dovrei fare 4 giri per leggere l\'indirizzo intero giusto?
Diego NOGARETTI
ok capito
Stefano Salvi
Moretti: Le istruzioni di trasferimento del controllo sono quelle che spostano il controllo del programma (il PC) da una parte all\'altra del codice. In pratica sono Jump, CCall e Return, in tutte le varianti possibili.
Venturini: non ho parole... Trasferisciti da un amico....
Lavjit SINGH
al primo operando ci sommo una costante o l\'accumulatore.parlo di costante e accumulatore
Diego NOGARETTI
può descrivere la chiamata-funzione ?
Stefano Salvi
Lavjit: non riesco a seguirti. Di che istruzione stai parlando?
Lavjit SINGH
alloro glielo spiego in parole povere:NEL DISEGNINO DEI RETTANGOLI QUANTO LI FACCIO GRANDI IL DISPLAY E L\'ACCUMOLATORE?
Marco MORONI
se io avessi un sistema con DATA a 1 Byte e ADDRESS a 4 byte dovrei fare 4 giri per leggere l\'indirizzo intero giusto?
Stefano Salvi
Nogaretti: la chiamata di funzione (a prescindere dai parametri - diciamo pero ora priva di parametri) si esegue tramite un\'istruzione CALL. Questa istruzione è essenzialmente una Jump, che però, prima di cambiare il valore del Program Counter, lo salva nello stack.
Diego NOGARETTI
ok. qual\'è il contenuto di un file oggetto ?
Stefano Salvi
Lavjit: sia Display che Accumulatore sono IMPLICITI, quindi non occupano spazio "nei rettangolini" (nella codifica dell\'istruzione).
Lavjit SINGH
Un esempio di pseudoistruzione potrebbe essere una label?
Stefano Salvi
Moroni: giusto: se il data bus è da 1 buyte (8 bit) e l\'Address Bus da 32 bit (4 byte), quindi quattro volte più grande, dovrei fare quattro giri per leggere un\'iidirizzo dalla memoria.
Francesco MORETTI
cosa serve una label?
Stefano Salvi
Nogaretti: un file oggetto contiene quattro parti: codice rilocabile, tabella di rilocazione, tabella dei pubblici e tabella degli esterni. Ricondici quelloc he ho detto alla spiegazione, perché non sono stato troppo specifico in classe... ero più sul descrittivo.
Diego NOGARETTI
ok. il ciclo di sviluppo residente corrisponde alle ide ?
Stefano Salvi
Lavjit: no, una Label è un modo per creare una costante, si associa ad un\'istruzione o ad una pseudoistrizione. ".org". ".byte". ".word" ecc. sono pseudoistruzioni.
Moretti: una Label è un nome associato ad un indirizzo, quindi una costante il cui valore è quello dell\'indirizzo dell\'oggetto (istruzione o pseudoistruzione) vicino a cui l\'ho messa.
Sofia MARI
potrebbe, per favore, elencare le categorie di istruzioni?
Stefano Salvi
Nogaretti: il coclo di sviluppo è una sequenza di istruzioni. Un IDE contiene (o coordina) gli strumenti che servono a realizzare il ciclo di sviluppo (reidente o cross, a seconda dell\'IDE).
Diego NOGARETTI
un sistema embedded è un sistema nel quale inserisco una scheda programmabile per svolgere determinate funzioni e basta, giusto ?
Stefano Salvi
Mari: le categorie di istruzioni sono "Aritmetico/Logiche", "I/O" (Inputo/Output), "Trasferimento dati" (o "movimento dati" o "movimento"), "Trasferimento del controlo", "Contorllo della CPU".
Sofia MARI
le istruzioni che rientrano in "trasferimento del controllo" sono quelle che aumentano il program counter giusto?
Stefano Salvi
Nogaretti: si, (nella definizione classica) un sistema embedded è un sisterma di calcolo (una scheda programmabile) inserito all\'interno di un\'apparecchiatura il cui scopo non è fare calcoli. Naturalemnte ci sono eccezioni a questa definizione, ad esempio la calcolatrice tascabile che è un sistema embedded...
Marco MORONI
come argomento c\'è anche il PLL?
Diego NOGARETTI
qual\'è il funzionamento del loader nel cross-sviluppo ?
Francesco MORETTI
diego ma quante domande fai?
Diego NOGARETTI
finchè c\'è tempo :)
Stefano Salvi
Mari: non che "aumentano" - OGNI istrizione aumenta il program counter, se no il programma non andrebbe avanti. Le istruzioni di trasferimento dle controllo sono quelle che MODIFICANO (rispetto all\'aumento fisiologico) il valore dle Program Counter.
Moroni: no, il PLL no.
Nopgaretti: (se vede che ha parecchie domande arretrate... va bene così) il funzionamento del loader nel cross-sviluppo è die più vari: andiamo da hardware che gestisce la RAM della scheda target a programmi in rete che inviano il codice alla scheda target... L\'importante è che devono trasferire un codice prodotto sul sistema host nel sistema target.
A dire il vero il tempo è teminato dieci minuti fa... Che facciamo?
Lavjit SINGH
io vado a fare allenamento.lei?
Sofia MARI
ricapitolando quando io scrivo un programma lo scrivo su un editor, il compilatore trasforma ciò che ho scritto in linguaggio assembly e l\'assemblatore lo trasforma in codice oggetto che poi verrà caricato in memoria dal loader, giusto?
Marco MORONI
indirizzamento diretto?
Stefano Salvi
Mari: esatto.
Francesco MORETTI
cos\'è il pll?
Stefano Salvi
Moroni: Indirizzamento diretto: quando il valore che mi serve è contenuto in una variabile in memoria.
Moretti: il PLL è quelloc he sincronizza il clock di ricezioen nella trasmnissione seriale sincrona che non c\'è in questo compito.
Direi che è ora di andare...
Nicola VENTURINI
ahahah
Marco MORONI
LDA Y \n STA X
questo fa un diretto da Y a X giusto?
Sofia MARI
poi non ho capito una cosa, lei aveva detto che posso scrivere programmi in linguaggi diversi e poi il linker trasforma i loro file oggetto in un unico eseguibile caricabile in memoria dal loader (?)
Stefano Salvi
Allora buona cena (magari più tardi), buon riposo (dopo l\'ultima ripasata) e in bocca al lupo. (Moroni: Y non esiste... LDA copia il valore dell\'argomento in A, STA copia il valore di A nell\'argomento)
Marco MORONI
buona serata prof
Stefano Salvi
Mari (ma quest aè proprio l\'ultima): Posso avere più compilatroi che producono ognuno un pezzo di programma in assembler, poi un pezzo lo scrivo io direttamente in assembler, poi cucio tutti insieme con il linker...
Aux Revoir

[Ritorna all'elenco sessioni]