Chat del 19 Aprile 2017 dalle 18:03:12 alle 18:43:56
- Alessandro BRANCHINI
- buonasera
- Stefano Salvi
- Buina sera, terza IIn. Eccoci con la vostra chat.
- Alessandro BRANCHINI
- Quali operazioni compio quando chiamo la subroutine? Quando copio i parametri attuali nei par. formali?
- Francesco ROCCA
- buonasera prof
- Alessandro BRANCHINI
- Indirizzamento relativo? 8 bit?
- Christian CINESI
- Buonasera
- Alessandro CONSOLINI
- buonasera
- Alberto COMPAGNONI
- Buonasera
- Alessandro BRANCHINI
- Accumulatore come viene usato? che operazioni richiede? quanti cicli?
- Stefano Salvi
- Branchini: la chiamata di subroutine in assembler non comprende la copia dei parametri attuali nei formali, che viene effettuata da istruzioni precedenti. La chiamata di subroutine prevede l\'estrazione dal programma (fetch) dell\'indirizzo della subroutine, il salvataggio nello stack del valore del PC (prossima istruzione, dopo la chiamata) e la copia dell\'indirizzo della subroutine dal TAR al PC.
- Nicola RADAELLI
- Potrebbe spiegare cos\'è l accumulatore?
- Alessandro BRANCHINI
- ok grazie
- Un Opcode del tipo CCCC CCCC che tipo di operazioni può svolgere?
- Stefano Salvi
- Branchini 2: Nell\'indirizzamento relativo, nel programma è inserito un numero con segno da sommare (con segno, appunto) al PC. Nelle macchine ad 8 bit di solito questo valore è ad 8 bit.
- Leonardo BRUSINI
- Come viene utilizzata / come funziona la fetch?
- Alessandro BRANCHINI
- ok, grazie
- Alessandro CONSOLINI
- potrebbe riassumere le categorie di istruzioni?
- Alberto COMPAGNONI
- Se la condizione di un if è falsa, faccio un salto condizionato o incondizionato?
- Stefano Salvi
- Branchini + Radaelli: l\'ACCUMUMATORE sostituisce il TDR quando decido di portare il "display" (cella di memoria fissa per primo operando e risultato) all\'interno della CPU. Essendo messo al posto del TDR, fa le stesse funzioni, salvo che è un registro "esplicito" e non "temporaneo" quinid il valore non viene caricato e salvato in automatico, ma lo devo caricare e salvare con specifiche istruzioni che inserirò nel programma.
- Alessandro CONSOLINI
- alla lavagna aveva scritto come tipi di opcode CCIIIRRR e CCrrrRRR per che cosa stanno le varei lettere?
- Nicola RADAELLI
- ok grazie
- Christian CINESI
- Potrebbe codificare l\'istruzione read in microcodice?
- Alessandro BRANCHINI
- C= codice istruzione I= operazione aritmetico logica r= indirizzo del regsitro sorgente R= indirizzo del registo (destinatzione)
- Stefano Salvi
- Brancini 3: un\'opcode del tipo CCCC CCCC (quindi che contiene solo codice) NON può eseguire istruzioni con i GPR o con le coppie di GPR (indirizzamento indiretto). Può quindi codificare tutte le altre istruzioni.
- Alessandro BRANCHINI
- ok grazie
- Stefano Salvi
- Brusini: la FETCH è una fase di lettura di un byte dal programma, quindi utilizza come indirizzo il PC, che viene incrementato al termine della FETCH stessa. La prima fetch di ogni istruzione è la INSTRUCTION FETCH, che legge il codice dell\'istruzione da eseguire, mentre le successive sono FETCH e basta o PARAMETER FETCH (visto che leggono i parametri dell\'istruzione.
- Alessandro BRANCHINI
- In una comunicazione abbiamo 3 byte di intestazione, 64 di features, 45 di dato e 16 di numero. Quello che non mi torna chiaro sono i 16 byte, perchè abbiamo detto che essendo tanti complessivamente su 128 byte e richiedendo un lavoro pesante si preferiva usare la multiplazione aggiungendo i 3 byte di intestazione, quindi non mi tornano chiari quei 16 byte che ancora sono presenti. Inoltre i 64 byte di features sono semplicemente uno spazio dedicato ad esse. Non vuole dire che ci sono 64 features utilizzate, giusto?
- Stefano Salvi
- Consolini: Arimetico/logiche (somme sottrazioni, AND ecc.); Movimento dati (copia di dati da celle di memoria a registri, da registri a registri ecc.); I/O (input-output - copia di valori dalle celle di Ingresso alla CPU o dalla CPU alle celle di uscita); Trasfermimento del controllo (salti condizionati o non, chiamate di subroutine, ritorno da subroutine); Controllo CPU (potrei dire, il resto...)
- Compagnoni: di solito dopo IF faccio un salto condizionato se la condizione è falsa al codice dell\' "else" o alla fine dell\'IF, in modo che se la condizione è vera vado ad eseguire la prima istruzione dopo l\'IF, che è appunto il codice nelle parentesi graffe dopo l\'IF.
- Luca ZANNI
- Buona sera (in ritardo)
- Stefano Salvi
- Consolini: Branchini ha risposto correttamente.
- Alessandro CONSOLINI
- ok, grazie ad entrambi
- Alberto COMPAGNONI
- Il salto incondizionato quindi lo si usa solo nei for/while?
- Davide TENEDINI
- puo riassumere tutti di indirizzamento perchè non essendo stato in classe ho paura di perderne qualcuno tra gli appunti dei compagni, grazie
- Stefano Salvi
- Cinesi: 1) PC->AB; 2) RD; 3) WR(dest); 4) PC-/>AB /RD /WR(dest); dove dest è il registo in cui scrivere il dato letto.
- Christian CINESI
- Grazie mille.
- Nicolas BENATTI
- è guisto dire che il sato incondizionato è quello che, per esempio, mi fa saltare il THEN ogni volta che la condizione dell IF è falsa?
- Stefano Salvi
- Branchini- liv.3 di ISO/OSI: 16 bytes max di indirizzi, in quanto ho due indirizzi (chiamante e chiamato) entrambi da 8 byte massimi.
- Alessandro BRANCHINI
- quindi la multiplazione serve per mettere su uno stesso cavo comunicazioni diverse, non ti permette di sapere a priori a chi inviare quel dato?
- Stefano Salvi
- Brancini - proseguo: il formato cui ti riferisch è il pacchetto di CHIAMATA, uno solo a inizio chiamata. Dopo i numeri non li mando più, quindi DOPO me li risparmio. Per quanto riguarda le features, lo spazio è sempre di MAX. 64 byte. In questi byte ci sono features di varie dimensioni, non certo 64, visto che la più corta è di 2 byte...
- Alessandro BRANCHINI
- ok, grazie
- Stefano Salvi
- Compagnoni: il salto condizionato lo si usa nei for/while, negli if e, spesso nella codifica delle condizioni logiche (gli && e ||).
- Alberto COMPAGNONI
- ok, grazie mille
- Avendo solo i byte di dato, di quali altri byte/bit devo tenere conto per calcolare la precisione di un PLL per la trasmissione di trame BSC?
- Alessandro BRANCHINI
- La NOP che utilizzi può avere (oltre a quello di far perdere tempo)? Cosa c\'entra con I/O?
- La ALU è comandata dalla CU mediante un filo che possiamo chiamre selettore?
- Stefano Salvi
- Tenedini: Indirizzamenti: implicito (inherent); immediato; diretto; registro; I/O; relativo; indirietto; stack; indicizzato (non ricordo se l\'ho fatto).
- Nicolas BENATTI
- prof forse si è dimenticato la mia :)
- Stefano Salvi
- Benatti: sicuramente ilsalto condizionato mi fa passare all\'ELSE negli IF. Poi viene utikizzato nei while e nei for.
- Davide TENEDINI
- la differenza tra diretto e immediato ?
- Alessandro BRANCHINI
- immediato non lo abbiamo fatto
- Stefano Salvi
- Brancini: esattamente. La multiplazione serve per mettere dati di sorgente/destinazione diverse su di uno stesso cavo. L\'instradamento decide poi dove mandarli.
- Nicholas BRACCAIOLI
- Com\'è l\'istruzione write in microcodice?
- Alessandro BRANCHINI
- l\'immediato in teoria ti permette di scrivere il dato da mettere nel TDR direttamente nell\'istruziona letta, senza prelevare il suo indirizzo dalla memoria
- mentre diretto prendo il dato dal suo indirizzo
- Stefano Salvi
- Compagnoni: pe rla precisione del PLL devi tenere di tutti i BIT che possono avere lo stesso valore, quindi sicuramente tutti i bit di dato e del checksum, più eventualmente qualche bit del syn e del eob/eot, ma questi ultimi sono una percentuale infima. Poi devi dividere per 2 una volta sola percheè hai solo "avanti/indietro" e non "trasmettitore/ricevitore".
- Alberto COMPAGNONI
- Ok, grazie
- Stefano Salvi
- Branchini: i ritardi fatti con la NOP di solito si usano per le perifierchie che richiedono tempo. Oltre che per quello la NOP viene usata per debug.
- Branchini: la ALU è comandata dall\'ID&T (CU) tramite un fascio di fili che possiamo chiamare selettore e che indica alla ALU quale operazione aritmetico/logica svolgere.
- Alessandro BRANCHINI
- ok, grazie
- Stefano Salvi
- Tenedini: diretto->variambile per nome; immefiato -> costante.
- Branchini: non abbiamo parlato delle costanti?
- Alessandro BRANCHINI
- ma quindi quando utilizzo operazioni ad un operando uso indirizzamenti immediati?
- Stefano Salvi
- Braccaioli: 1) TAR->AB src->DB; 2)WR; 3) TAT-/>AB src-/>DB /WR; dove src è il registro che contiene il dato da scrivere.
- Nicholas BRACCAIOLI
- grazie prof
- Alessandro BRANCHINI
- mi scusi se le faccio perdere tempo
- e anche agli altri
- Stefano Salvi
- Branchini: nelle istruzioni ad un operando che ho fatto in classe, l\'operando era sempre diretto. Non ho mai usato costanti negli esempi.
- Alessandro BRANCHINI
- grazie
- Stefano Salvi
- Scusate, ragazzi di terza, ma i vostri colleghi di quinta sono in attesa. Vi devo salutare.
- Buona cena, buon riposo ed in bocca al lupo.
|