190 likes | 303 Views
Digital FX!32. Conte Davide Crivello Emanuele Ferrando Elisa. L’Architettura Alpha. Il Digital Alpha è un microprocessore tra i più veloci Ma oltre alla velocità Prezzo Buone performance Software disponibile. Problema. Non disponibilità di software Soluzione
E N D
Digital FX!32 Conte Davide Crivello Emanuele Ferrando Elisa
L’Architettura Alpha Il Digital Alpha è un microprocessore tra i più veloci Ma oltre alla velocità • Prezzo • Buone performance • Software disponibile
Problema Non disponibilità di software Soluzione • FX!32 permette alle applicazioni win32 di essere eseguite su architettura Alpha
Emulazione Trasparente Robusta ma Prestazioni modeste lenta Traduzione binaria Buone prestazioni Veloce ma Non trasparente Due tecniche
Digital FX!32 Combina queste due tecniche offrendo • Trasparenza Attraverso il runtime environment • Velocità
Digital FX!32 • Emulazione: al primo avvio di un’applicazione. • Traduzione: ai successivi avvii Codice x86 in codice nativo Alpha (dove è possibile)
Componenti Emulator Translator Runtime environment Agent Server Manager DataBase Digital FX!32
FX!32 Profile • Creati dall’Emulator • Rappresentano la “storia”dell’esecuzione • Contengono le chiamate a procedura
FX!32 Trasparent agent • È un DLL ( Dynamic Link Library ) • Il processo che lo contiene viene chiamato “enabled”
FX!32 Runtime • Contiene l’Emulator • Carica l’immagine in memoria • Offre “jacketing” dinamico
FX!32 Server • Gestisce l’ambiente FX!32 • Processa i Profile, invoca il Traslator • Mantiene il DB
FX!32 Emulator • La prima volta che viene eseguita un’immagine x86 con FX!32 è eseguita completamente dall’emulatore • È scritto in linguaggio assembler Alpha • Contiene un interprete • Genera i profili di esecuzione(tabella hash)
FX!32 Traslator • Invocato dal server • Usa il profile per creare le immagini tradotte • È formato da diversi componenti - “regionizer” - altre componenti
FX!32 Traslator Processo di traduzione Il “ragionizer” divide le immagini in “routines” (routines collezione di regioni) Gli altri componenti processano l’immagine generando • Rappresentazione interna • Codice Alpha • Ottimizzazioni
FX!32 Database • Consiste in 2 parti 1) Directory contenente - profile - file di log - immagini tradotte 2) Registri contenenti informazioni di configurazione Es: DatabaseDirectoryList
FX!32 Database • Associa immagini x86 -> nome delle immagini tradotte • Accesso mediante ID • ID usato dal Server e dal Runtime
FX!32 API • Librerie Alpha = Librerie x86 ma più veloci • FX!32 offre “jacket” statici per risolvere le differenti convenzioni di chiamata
FX!32 Manager Offre la possibilità all’utente di controllare diversi aspetti del processo del Digital FX!32