作者: Richard Uhlig
DOI:
关键词:
摘要: New instruction-set architectures (ISAs) live or die depending on how quickly they develop a large software base. This paper describes SoftSDV, presilicon software-development environment that has enabled at least eight commercial operating systems and numerous applications to be ported tuned IA-64, well in advance of ItaniumTM processor’s first silicon. IA-64 versions Microsoft Windows ∗ 2000 Trillian Linux* were developed SoftSDV booted within ten days the availability Itanium processor. incorporates several simulation innovations, including dynamic binary translation for fast ISA emulation, resource analysis rapid performance tuning, IO-device proxying link actual hardware IO devices system (OS) device-driver development. We describe integrates these technologies into complete supports diverse requirements developers ranging from OS, firmware, application vendors compiler writers. detail SoftSDV’s methods comment its speed, accuracy, completeness. also aspects design enhance flexibility maintainability as body software. Other brands names are property their respective owners. INTRODUCTION The traditional approach fostering development new such is supply programmers with platform implements ISA. Such commonly known vehicle (SDV) suffers key dependency: it cannot assembled until silicon processor been manufactured. Intel eliminated this dependency by building an SDV entirely through all resources present SDV. environment, which we call substantial software, A principal goal support along stack, firmware device drivers (see Figure 1). each layers dependent upon optimizing compilers, themselves must carefully [1, 2]. Each types different set respect Application developers, example, primarily interested whereas optimizingcompiler writers value accuracy processor-resource modeling so can evaluate effectiveness code-generation algorithms. other hand, require completeness Technology Journal Q4, 1999 SoftSDV: Presilicon Software Development Environment Architecture 2 system-level functions (e.g., virtual-memory management, interrupt processing, etc.). Not only do vary based type code, but relative importance shifts stage Early efforts port debug code best aided very successive tuning requires ever-increasing levels accuracy. Similarly, early stages porting OS sufficient model basic boot devices. However, once up running, meaning “completeness” expands include arbitrary seek many possible. Often overlooked, equally important features infrastructure maintainability. under nearly long had track rapidly adapt improvements definition; absolutely essential. But here too, change over time. ISA, changes frequent, quickly. Later, definition becomes more concrete, gradually less important, traded increased speed These shifting underscore fundamental truth simulation: single technique tool meet needs possible times. acknowledges fact extensible accommodates multiple innovative single, common infrastructure. resulting enables select combination most appropriate particular given time, while same time preserving overall In next section, review related work then briefly overview components typically found architecture component modules detail. conclude discussion results summary our experiences lessons learnt. 1: IA-32 Host Platform Operating System PCI Bus Device Modules Proxy Module Graphics Storage Comm. Pseudo SofSDV standard process