www.eprace.edu.pl » ia64 » Główne idee IA-64 » Zgodność z IA-32 oraz PA-RISC

Zgodność z IA-32 oraz PA-RISC

Architektura IA-64 została tak zaprojektowana, aby była kompatybilna dotychczasowymi rozwiązaniami takimi jak IA-32 oraz PA-RISC. Ponieważ architektura PA-RISC jest w miarę nowoczesną architekturą, nie mającą takiego balastu starych rozwiązań jak IA-32, to nie ma większych problemów z zachowaniem kompatybilności. Większy problem to zgodność z IA-32. Pamiętając, że pierwsze procesory tego typu były projektowane w zamierzchłych jak na dzisiejsze technologie czasach, niosą one ze sobą wiele rozwiązań z którymi nie da się w prosty sposób utrzymać kompatybilności. Inżynierowie projektujący architekturę IA-64 zdecydowali się na swego rodzaju sprzętowy emulator. Procesor z rodziny IA-64 może być przestawiony w tryb pracy IA-32 i zachowywać się zupełnie jak procesor z serii x86. Za punkt odniesienia uznano procesor Pentium III Xeon.

Trzy specjalne instrukcje oraz przerwania zostały zdefiniowane aby zapewnić przestawienie się procesora pomiędzy zestawem instrukcji IA-32 a IA-64 . Te instrukcje to:

Instrukcje jmpe oraz br.ia dostarczają niskopoziomowego mechanizmu do przejścia pomiędzy zestawami instrukcji. Te dwie instrukcji są zwykle włączane do kodu, aby zaimplementować potrzeby linkowania oraz wywoływania dynamicznego lub statycznego zlinkowanych bibliotek.

Problem odpowiednich rejestrów rozwiązano w dwojaki sposób. Główne rejestry zostały dodane specjalnie dla trybu IA-32, chociaż oczywiście można z nich korzystać w trybie 64-bitowym. Rejestry te znajdują się jako odpowiednie Rejestry Aplikacyjne. Dodatkowo rejestry ogólnego przeznaczenia, oraz zmienno-przecinkowe są odpowiednio mapowane do pracy w trybie IA-32. Przykładem może być mapowanie rejestrów SIMD, które są mapowane w rejestrach zmiennoprzecinkowych. Dane każdego 128-bitowe rejestru SIMD znajdują się fizycznie w dwóch 82-bitowych rejestrach zmiennoprzecinkowych po 64 bity w każdym.

Zarówno Intel jak i Hewlett Packard podkreślają, iż jedynie programy kompilowane z myślą o IA-64 będą w stanie spożytkować nowe cechy architektury, jednakże obydwaj producenci twierdzą iż programy napisane z myślą o istniejących już systemach będą działać na IA-64. Dla dodatkowej pewności HP oferuje specjalne narzędzia pod nazwą Software Transition Kit. Ten zespół programów umożliwia przetestowanie istniejącego oprogramowania pod kątem używalności na IA-64, a także ewentualne jego uzdatnienie. Narzędzie to jak na razie jest pomyślane do pracy z programami kompilowanymi z języków C, C++, Fortran, oraz Cobol.

Microsoft zapewnia, iż w nowym systemie Windows dla IA-64, (który ma się ukazać w tym samym terminie co pierwszy procesor IA-64) będą działać wszystkie programy napisane dla dzisiejszego Windowsa, a aby wykorzystać cechy nowego procesora należy tylko ponownie skompilować źródła bez żadnych poprawek.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.