Hello, Guest!
 
 

 
 
  Objects Tiiips Categories
Motorola MC68882RC50A
"Descrizione"
by RS232 (2002 pt)
2026-Jan-29 16:49

Review Consensus: 7 Rating: 7 Number of users: 1
Evaluation  N. ExpertsEvaluation  N. Experts
1
  
6
  
2
  
7
  1
3
  
8
  
4
  
9
  
5
  
10
  

MC68882RC50A sostituì il MC68881 pur mantenendo lo stesso set di istruzioni, ma con una frequenza più elevata, passando dai 12MHz ai 50 MHz. Era montato sull'Atari Falcon 030.

MC68882 è una FPU  (floating-point unit), un'unità esterna, progettata come coprocessore matematico per la famiglia M68000, con uso tipico accanto a MC68020 e MC68030. La sua funzione è eseguire in hardware le operazioni in virgola mobile (e varie conversioni numeriche) con prestazioni e accuratezza superiori rispetto all’emulazione software, mantenendo un modello di programmazione integrato: le istruzioni floating-point vengono gestite tramite l’interfaccia coprocessore del sistema, con esecuzione sovrapposta (quando possibile) a quella della CPU.

Un punto architetturale chiave: la MC68882 non è bus master. È la CPU (68020/68030) che preleva gli operandi e scrive i risultati su richiesta della FPU; questo semplifica la progettazione e sfrutta il bus dati della CPU per trasferimenti rapidi.

Cosa offre (funzioni e vantaggi pratici)

  • Conformità IEEE 754: implementazione completa dello standard di aritmetica floating-point (con gestione di rounding, eccezioni, NaN/Inf, ecc.).

  • Set istruzioni dedicato: include operazioni aritmetiche e un insieme esteso di funzioni trigonometriche e trascendentali (oltre il minimo IEEE).

  • Registri floating-point: 8 registri general-purpose (FP0–FP7) in formato esteso a 80 bit per ridurre errori intermedi e migliorare stabilità numerica.

  • Conversioni veloci: hardware dedicato per conversione tra formato in memoria (single/double/extended, interi, BCD packed) e formato interno esteso, riducendo overhead.

  • Concorrenza: molte istruzioni FPU possono procedere mentre la CPU continua l’esecuzione di istruzioni integer, con sincronizzazioni automatiche dove necessario.

  • Compatibilità: è compatibile e sostituibile (a livello funzionale e spesso fisico) rispetto alla MC68881, mantenendo lo stesso set istruzioni; la 68882 introduce ottimizzazioni prestazionali (pipeline/conversioni).

Come si integra nel sistema (interfaccia coprocessore)

Con MC68020/MC68030 l’interazione è basata su un protocollo coprocessore:

  • La CPU riconosce un’istruzione floating-point e la inoltra alla FPU tramite registri/handshake di interfaccia.

  • La FPU può richiedere alla CPU operazioni “di contorno” (ad esempio: valutazione indirizzi effettivi, fetch operandi da memoria, store dei risultati).

  • Dopo aver soddisfatto tali richieste, la CPU può proseguire con altre istruzioni mentre la FPU completa la parte numerica, salvo casi che impongono sincronizzazione o gestione eccezioni.

Questo schema rende la FPU un’estensione “ortogonale” dell’ISA: dal punto di vista del programmatore, l’insieme CPU+FPU appare quasi come un’unica unità logica.

Formati numerici e modello di eccezioni

La MC68882 supporta più formati di input/output e un modello completo di exception handling, utile nei sistemi con virtual memory e multitasking: lo stato interno può essere salvato/ripristinato con istruzioni dedicate (tipicamente FSAVE/FRESTORE nel contesto 68k), così che un sistema operativo possa sospendere/riprendere task anche durante attività floating-point.

Schizzo dei collegamenti più importanti

┌──────────────────────────────┐ │ CPU MC68020/68030 │ │ bus dati/indirizzi + MMU* │ │ interfaccia coprocessore │ └──────────────┬───────────────┘ │ (CPU space / protocollo coprocessore) ▼ ┌──────────────────┐ │ MC68882 FPU │ │ FP regs + ALU │ │ conversion unit │ │ eccezioni/CSR │ └─────────┬────────┘ │ (richieste operandi/risultati) ▼ ┌────────────────────────────────┐ │ Memoria e sottosistema bus │ │ operandi e risultati gestiti │ │ dalla CPU (FPU non bus-master) │ └────────────────────────────────┘ * con 68030 la mmu è on-chip; la FPU resta “lato fisico” rispetto alla mmu.

Tabella 1 – Dati di identificazione e specifiche 

CaratteristicaValore indicativo
DispositivoMotorola MC68882 (FPU / math coprocessor)
Cpu tipiche abbinateMC68020, MC68030 (famiglia M68000)
Standard floating-pointIEEE 754 (implementazione completa)
Registri8 registri floating-point (FP0–FP7), 80 bit extended precision
Formati supportatiInteri (byte/word/long), real single/double/extended, packed BCD
IstruzioniSet dedicato (decine di istruzioni), incluse funzioni trigonometriche e trascendentali
ConcorrenzaEsecuzione spesso sovrapponibile con la CPU (dipende dall’istruzione)
Bus masteringNo: operandi e risultati passano tramite la CPU
Bus dati hostUtilizzabile su host con bus 8/16/32 bit (a seconda del sistema)


Evaluate