Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Achitettura Computer

  1. #1

    Achitettura Computer

    Ciao a tutti! non scrivo molto su questo forum, quindi spero che sia questa la sezione giusta per questo tipo di domanda, perchè non ho trovato nulla di attinente nelle altre sezioni..

    mi servirebbe una mano riguardo questo tipo di esercizio, che dovrebbe essere abbastanza semplice, però non l'ho capito bene e l'esercizio vale ben 5 punti all'esame...
    Sostanzialmente: abbiamo l'istruzione set R0,L che consiste nel copiare il contenuto della cella di memoria il cui indirizzo è nel registro R0 nella cella di memoria il cui indirizzo è L. Spiegare i passi che l'unità di controllo deve svolgere per implementare set R0,L (il modello è quello classico di Von Neumann)

    non ho capito bene come mi devo comportare. Cioè, ho capito che per iniziare l'unità di controllo deve copiare il contenuto di R0 nel MAR. ma poi, come proseguo?? non mi è chiaro qual è il procedimento per implementare le istruzioni, qualcuno non è che avrebbe uno schemino in cui posso capire i passi che deve svolgere l'unità di controllo per implementare le istruzioni?? grazie mille!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    hum....ma su quale architettura devi fare questa operazione? dire Von Neumann non basta in quanto tutti i calcolatori di oggi sono macchine di von Neumann...devi specificare l'architettura(magari è quella di Eckert). Inoltre devi fare anche la fase di fetch?
    cogli l'attimo

  3. #3
    Originariamente inviato da c_junior
    hum....ma su quale architettura devi fare questa operazione? dire Von Neumann non basta in quanto tutti i calcolatori di oggi sono macchine di von Neumann...devi specificare l'architettura(magari è quella di Eckert). Inoltre devi fare anche la fase di fetch?
    uhm credo che dovrebbe essere l'architettura MIPS! comunque il professore non ha mai nominato la fase di fetch, quindi no...
    L'istruzione non dovrebbe essere molto complicata, dovrebbe essere del tipo: l'unità di controllo copia il contenuto di R0 nel MAR, viene inviato il bit di lettura, e il contenuto va poi nell'MDR e poi viene inviato il bit di scrittura...cioè, penso che l'idea sia quella, ma non riesco a trovare nessuna dispensa/libro in cui sia spiegata bene ecco! Grazie mille!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    hum...l'architettura MIPS non la conosco bene cmq dovrebbe essere qualcosa di questo tipo:
    (ma non ti assicuro niente):
    Codice PHP:
    1)abilita il bit di uscita di R0,abilita il bit di entrata del MAR
    2
    )legge l'indirizzo contenuto nel MAR dalla memoria centrale e lo salva nel MDR
    3)scrive il valore di L nel MAR
    4)scrivere il dato contenuto nel MDR al indirizzo contenuto nel MAR nella memoria centrale 
    ripeto non posso assicurare che sia giusto, inoltre "L" dov'è contenuto? in un'altro registro? in un'altra cella di memoria?

    ma a lezione vi hanno mostrato uno schema dell'architettura MIPS?
    cogli l'attimo

  5. #5
    Originariamente inviato da c_junior
    hum...l'architettura MIPS non la conosco bene cmq dovrebbe essere qualcosa di questo tipo:
    (ma non ti assicuro niente):
    Codice PHP:
    1)abilita il bit di uscita di R0,abilita il bit di entrata del MAR
    2
    )legge l'indirizzo contenuto nel MAR dalla memoria centrale e lo salva nel MDR
    3)scrive il valore di L nel MAR
    4)scrivere il dato contenuto nel MDR al indirizzo contenuto nel MAR nella memoria centrale 
    ripeto non posso assicurare che sia giusto, inoltre "L" dov'è contenuto? in un'altro registro? in un'altra cella di memoria?

    ma a lezione vi hanno mostrato uno schema dell'architettura MIPS?
    Si, diciamo che lo scopo è quello di copiare il contenuto di R0 (che è un registro) a sua volta in L (che rappresenta un altro registro). Comunque in classe anche il professore stesso ha ammesso di non essere riuscito a fare in tempo a svolgere esercizi di questo tipo (difatti gli altri riguardanti l'algebra di boole, gli automi ecc. li so svolgere) però ha detto che li mette lo stesso nel tema d'esame e quindi mi stavo esercitando con queste pseudo-istruzioni... ecco, ma tu dove hai trovato quei passaggi?? cioè, sulle dispense c'è scritto di tutto meno che questi passaggi che hai detto tu che sono proprio quelli che mi servono.. quindi in generale sono quelle le operazioni da svolgere per queste piccole istruzioni giusto??

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    ma devi fare l'esame di architettura degli elaboratori giusto? anzi ne sono sicuro.
    Questo tipo di esercizi facevano parte anche del mio programma di architettura solo che noi usavamo l'architettura di eckert(che è più semplice) e non quella MIPS però non sembrano tanto diversi. Quindi i passaggi che ti ho scritto prima sono quelli che farei io su una architettura di eckert(+ o -).
    cogli l'attimo

  7. #7
    Originariamente inviato da c_junior
    ma devi fare l'esame di architettura degli elaboratori giusto? anzi ne sono sicuro.
    Questo tipo di esercizi facevano parte anche del mio programma di architettura solo che noi usavamo l'architettura di eckert(che è più semplice) e non quella MIPS però non sembrano tanto diversi. Quindi i passaggi che ti ho scritto prima sono quelli che farei io su una architettura di eckert(+ o -).
    si esatto, esame di Architettura degli elaboratori e delle reti I!
    quindi dato che alla fine il professore ci chiederà al massimo questo tipo di pseudoistruzioni, il metodo che mi hai scritto prima lo tengo buono diciamo "universalmente" per queste istruzioni? per meglio dire, è chiaro che se ad esempio avessi avuto: copia il contenuto di R0 + R1 in L, avrei dovuto anche scrivere: l'unità di controllo chiede alla A.L.U. di eseguire la somma tra i due registri...
    e così via..
    giusto?? grazie mille per la pazienza!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    si si giusto. Poi tutto dipendente dall'istruzione ma generalmente dovrai dire:

    ->alla ALU di fare some(o anche prodotti, sottrazioni) e operazioni logiche;
    ->abilitare la scrittura/lettura dei vari registri(anche il MAR e l'MDR,PC e IR sono dei registri)
    ->abilitare la lettura/scrittura nella memoria centrale

    cmq davvero non vi ha mai parlato della fase di fetch? mi sembra strano visto che è un'operazione cosi fondamentale in una cpu!
    cogli l'attimo

  9. #9
    Originariamente inviato da c_junior
    si si giusto. Poi tutto dipendente dall'istruzione ma generalmente dovrai dire:

    ->alla ALU di fare some(o anche prodotti, sottrazioni) e operazioni logiche;
    ->abilitare la scrittura/lettura dei vari registri(anche il MAR e l'MDR,PC e IR sono dei registri)
    ->abilitare la lettura/scrittura nella memoria centrale

    cmq davvero non vi ha mai parlato della fase di fetch? mi sembra strano visto che è un'operazione cosi fondamentale in una cpu!
    difatti stavo cercando prima cosa fosse il ciclo di fetch e ho notato che è una parte fondamentale della cpu, così ho controllato le dispense e ho notato che il ciclo fletch-execute sarà la prima parte del corso di Architetture degli Elaboratori e delle reti II che si terrà questo semestre!
    Stavo provando a fare un altro esercizio, cioè la pseudoistruzione Move, che non sarebbe altro che una addM $R0, $R1, $R2, cioè sommo i registri R1 e R2 e salvo il tutto nel registro R0.
    pensavo di risolvere così:


    1) abilita il bit di uscita di R0, abilita il bit di entrata del MAR.
    2) L'unità di controllo chiede alla A.L.U. di eseguire la somma dei 2 registri e di salvare il contenuto nel MDR. 3) Scrivere il dato contenuto nel MDR all'indirizzo contenuto nel MAR.

    secondo te potrebbe andare bene come ho svolto l'esercizio?? grazie mille!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    Codice PHP:

    1
    abilita il bit di uscita di R0abilita il bit di entrata del MAR.
    2L'unità di controllo chiede alla A.L.U. di eseguire la somma dei 2 registri e di salvare il contenuto nel MDR.
    3) Scrivere il dato contenuto nel MDR all'
    indirizzo contenuto nel MAR
    facendo cosi però non metti r1+r2 in r0 ma metti la somma di r1+r2 nella cella di memoria che ha come indirizzo il valore di r0.

    questa qua è la pseudo codifica di mem[r0]<-r1+r2

    se invece vuoi mettere r1+r2 in r0 ti basta fare solo il secondo punto della tua pseudo codifica solo che invece si salvare il risultato nel MDR lo salvi in r0

    ----------
    ps: se posso, che uni fai?
    cogli l'attimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.