Anteprima
Vedrai una selezione di 6 pagine su 21
Appunti Calcolatori elettronici - terza parte Pag. 1 Appunti Calcolatori elettronici - terza parte Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Calcolatori elettronici - terza parte Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Calcolatori elettronici - terza parte Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Calcolatori elettronici - terza parte Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Appunti Calcolatori elettronici - terza parte Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

• .GLOBL

  • → GLOBL è simbolo, serve quando vogliamo realizzare dei progetti che si compongono di più moduli che devono essere tra di loro collegati da link and loader.

• .SPACE

  • → SPACE n, dice all'assemblatore di riservare uno spazio ampio in byte nel segmento dati coperti.

• LEZIONE 13: 30/06/21

*SYSCALL

SPIM fornisce tramite SYSTEM CALL (SYSCALL) servizi analoghi a quelli del sistema operativo.

Passaggio parametri alla SYSCALL avviene attraverso i registri $a0-$a3 (se interi), $f12 (se in Virgole mobile) e il codice della chiamata attraverso $v0. Redditi restituiti in $v0, $f0 (se in Virgola mobile). Se ci sono più parametri si usa la memoria.

*ESEMPIO:

Per stampare sulla console "Risposta = 5" devo:

str: .data ← SEGMENTO DATI

.asciiz "Risposta = " ← STRINGA DA STAMPARE

.text ← SEGMENTO TESTO

li $v0,4 ← CHIAMATA PRINT_STRING

la $a0,str ← STRINGA DA STAMPARE

syscall

li $v0,1 ← CHIAMATA PRINTINT

li $a0,5 ← INTERO DA STAMPARE

syscall

*NOTA:

CODICE

CHIAMATA    →    INPUT

PRINT_INT      1            →    $a0

PRINT_FLOAT   2           →    $f12

PRINT_DOUBLE 3           →    $f12

PRINT_STRING

READ_INT

READ_FLOAT

READ_DOUBLE

READ_STRING

EXIT

RESTITUISCE IL CONTROLLO DEL PROGRAMMA AL PROGRAMMATORE

LEZIONE 24

15/06/23

COM'È NOTO, CONCLUSA LA FASE DI SIMULAZIONE DI UN PROGRAMMA, BISOGNA VALUTARE QUALI REQUISITI DI MEMORIA DEBBANO ESSERE RISPETTATI AFFINCHE IL PROGRAMMA POSSA ESSERE MESSO IN ESECUZIONE SU UNA SCHEDA REALE BASATA SUL PROCESSORE MIPS. COME ESEMPIO SI FARÀ RIFERIMENTO AL PROGRAMMA SOMMA - BCD. SYSCALL, RSM

(1O) PROGRAMMA (AREA DI TESTO) =

SPAZIO = 0X13B (BYTE) ← MEMORIA NON VOLATILE ROM

(2O) MESSAGGI ADDETT

SPAZIO = 0X5D (BYTE) ← MEMORIA NON VOLATILE ROM

IMPLEMENTAZIONE ALU CON MULTIPLEXER

SOMMA IMPLEMENTAZIONE:

RIPORTO IN

SOMMA

RIPORTO OUT

* OSSERVA:

SE UTILIZZO IL MULTIPLEXER IL PROGETTO SI SEMPLIFICA PERCHÉ POSSO PROGETTARE LE SINGOLE "OPERAZIONI" IN MODO SEPARATO PER POI METTERLE IN PARALLELO.

** NOTA:

  • Cout = a·b + a·Cin + b·Cin
  • Σ = a ⊕ b ⊕ Cin

ALU A 1bit:

QUI A DESTRA È DISEGNATA LA ALU AD 1BIT CHE IMPLEMENTA LE OPERAZIONI DI AND, OR E SOMMA.

LA TABELLA DI VERITÀ ORA HA 5 INGRESSI A, B, DUE LINEE PER L'OPERAZION E UNA PER IL CARRY IN

* 5 INGRESSI = 25 Righe (32)

NOTA:

ABBIAMO SOMMA, AND E OR PER CONFICARE IL MODO D'INS PAR NEL CAMPO OPERATION CI SERVONO 2bit E QUINDI DUE LINEE Φi

C3 = Q2 b2 + Q2 C2 + b2 C2

C4 = Q3 b3 + Q3 C3 + b3 C3

IPOTESI:

QUALE CHE SIA IL NUMERO DEGLI INGRESSI, E QUALE CHE SIA IL NUMERO DELLE USCITE SI PUÒ REALIZZARE UNA QUALSIASI FUNZIONE CHE LEGA INGRESSI E USCITE ATTRAVERSO UNA SOMMA DI PRODOTTI.

POSSO COSTRUIRE UN SOMMATORE CHE NON SIA COSÌ FORTEMENTE LEGATO AL RIUSCITO?

C2 = Q1 (c0 c1 c2 b0 + b2 C1) + b1 (c0 c1 c2 b0 + b1 C1) + b3 C3

IN QUESTO MODO IL RIUSCITO DIVENTA POSSIBILE PER ESEMPIO SE Q1 b3 SOLO PASSA AD H0 RIUSCITO OPPURE SE b2 b2 C1 SOLO PASSA AD H0 RIUSCITO E COSÌ VIA...

IL PROBLEMA CHE SI RISPOSA È CHE PIÙ IL RETURN C3 POSSIE (i = 0, 1, 2, ... n) PIÙ L’EQUAZIONE DIVENTA GRANDE (CORRETE IL NOSTRO DI TERMINI CHE AL COMPOSTO) E QUINDI RISULTA SEMPRE PIÙ COSTOSO REALIZZARLO.

NOTA

QUESTA SOLUZIONE POSSIE IL NOME DI RIUSCITO VELOCE GRAZIE AD UN SOMMATORE AD HARDWARE INFLUITO

PIÙ VADO AVANTI CON LA PIÙ LA SOLUZIONE HARDWARE DIVENTA COMPLESSA

IPOTESI

QUESTA SOLUZIONE NON È FATTIBILE

DEVO TROVARE DELLE NUOVE SOLUZIONI

POSSIBILE SOLUZIONE:

POSSO PENSARE DI LIMITARE IL PROCESSO SOPRA DESCRITTO FINO AL CALCOLO DI C4 (SEPPOR GIÀ COMPLESSO È FATTIBILE)

POSSO POI PENSARE DI METTERE IN CASCATA PIÙ DISPOSITIVI COSÌ DA NON AVERE PIÙ ETA PROPAGAZIONE DEL RIUSCITO PER COPPIE DI BIT (c0 b0 c0 b0 c0 b1)

AVENDO INVECE UNA PROPAGAZIONE DEL RIUSCITO PED MAGIO BLOCCO

I RIUSCITI DA PROPAGARE SAREBBERO QUELLI DI C4, C8, C32...

RIEPILOGO: (CALCOLATORE A 4 BIT)

  • RIPPLE CARRY ANDOR
    • * TEMPO: 32 Δ
  • 4 SOMMATORI AD HARDWARE INFINITO (4 BIT OGNUNO)
    • * TEMPO: 8 Δ
  • ANTICIPAZIONE DEL RIPORTO (16 BIT)
    • * TEMPO: 3 Δ
  • ANTICIPAZIONE DEL RIPORTO SECONDO LV. DI ASTRAZIONE
    • * TEMPO: 5 Δ

LEZIONE 18: 25/06/21

RAPPRESENTAZIONE IN VIRGOLA MOBILE:

NASCHE DALLA NECESSITÀ DI DOVER RAPPRESENTARE O NUMERI MOLTO PICCOLI OPPURE MOLTO GRANDI. (OPPURE NUMERI FRAZIONARI)

RAPPRESENTAZIONE = SEGNO + ESPONENTE + MANTISSA

  • #MANTISSA = ACCURATEZZA DELLA RAPPRESENTAZIONE
  • #ESPONENTE = RANGE DI RAPPRESENTAZIONE

*FORMA NON NORMALIZZATA

Per riempire il "buco" rimasto fra lo zero e il più piccolo numero positivo normalizzato (2-126) lo standard ammette dei numeri detti subnumber (numeri non normalizzati) nel quale l'obbligo di avere sempre 1 nella parte della virgola non c'è.

(-1) . (MANTISSA) 2exp.bias

Non ho più 1+mantissa

Il numero più piccolo rappresentabile coa è 0,000...1 ≈ 2-23

Questo fattore lo uso come fatt. moltiplicativo per il fattore di scala.

2-23 · 2-126 = 2-149

IMPORTANTE:

Questo "poco riempimento" è detto underflow graduale perché so che posso rappresentare numeri sempre più piccoli, ma facendo ciò perdo anche gradualmente la precisione di rappresentazione.

Il numero più piccolo 2-149 avrà solo un bit nella mantissa però ad uso e sarà quello meno significativo.

Se vado sotto a 2-149 vado in underflow, che in questo caso equivale a zero.

Dettagli
Publisher
A.A. 2020-2021
21 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher torta1998 di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Danese Giovanni.