Apple Desktop Computer Performance, RAM Footprint, User Experience, Data Structures and Files

Page 59

C H A P T E R 5

Software

Performance

Performance of an iMac computer using ROM in RAM should exceed performance measurements for other Macintosh computers with comparable CPUs and speeds due to improved interrupt handling with the New World approach. In addition, performance is improved due to executing code that normally exists in ROM in RAM, because the RAM devices operate faster than the ROM devices normally used.

RAM Footprint

The iMac is the first Macintosh computer to have its Toolbox ROM image stored in RAM. This removes approximately 3 megabytes of RAM from Mac OS usage. In effect, a system with 32 megabytes of RAM appears to have only 29 megabytes available. Some portion of the missing 3 megabytes is offset by having fewer patches in RAM. Other mechanisms are being explored in an attempt to minimize the impact of ROM-in-RAM.

User Experience

Setting the boot volume from the Startup Disk control panel makes all the changes to the boot process that are necessary to operate with a ToolBox image in RAM. The control panel user interface remains unchanged for this release.

Data Structures and Files

The ToolBox ROM image is contained in a new file, named “Mac OS ROM”, that is kept in the System Folder. The ToolBox ROM image is exactly the same as it would be if it were an actual ToolBox ROM, containing the ToolBox software, the kernel software, and the 68K emulator.

The Startup Disk control panel sets the Open Firmware’s boot-device configuration variable by modifying the Open Firmware NV-RAM partition that contains the Open Firmware’s configuration variables. The format of the NV-RAM partition is defined in the Open Firmware CHRP Binding. The partition is accessed using RTAS.

Compatibility

A Mac OS ToolBox image that is in write-protected RAM will appear to be a ROM to all MacOS software and applications. Because the image of the ToolBox

Why Make This Change?

59

Image 59
Contents Apple iMac Computer Page Contents RAM Expansion Devices and PortsRtas SoftwareRtas NV-RAM Appendix Abbreviations IndexFigures and Tables Page About This Developer Note Contents of This NoteATA Devices PowerPC G3 MicroprocessorSupplemental Reference Documents Mac OSOpen Firmware USB DevicesE F a C E Introduction Features Shows a front view of the computer Case and External FeaturesFront view 2Side view showing I/O bay System Software Compatibility IssuesUSB Ports and Devices Main RAM Expansion ModulesVideo RAM Expansion Modules Page Architecture Architecture Backside Cache Processor moduleG3 Microprocessor Controller IC Main Logic BoardMemory Controller and PCI Bridge Built-in Modem USB ControllerVideo Display Subsystem Infrared Link Module Devices and Ports USB Ports USB ConnectorsGND Transfer Types SupportedADB Compatibility USB Compatibility IssuesUSB Controller Serial Port CompatibilityMacintosh-To-Macintosh Connections USB Storage DevicesKeyboard Layout KeyboardKeyboard and USB MouseVideo Display Hard Disk DriveSound System Infrared Communication LinkExternal Sound Input Sound InputsSound Outputs Built-in MicrophoneHeadphone Jacks Sound SpecificationsExternal Sound Output Total harmonic distortion Internal Modem Ethernet PortPage RAM Expansion Placing the Computer Face Down Removing the Logic Board AssemblyExpansion Slots Unfastening the Cables Removing the bottom coverRAM Expansion Removing the Retaining Screws 3Logic board assembly handle and retaining screwsRemoving the EMI Shield Removing the Logic Board AssemblyLocations of the Expansion Slots 6Locations of the RAM expansion slots Main RAM ExpansionElectrical Design of RAM SO-DIMMs Mechanical Design of RAM SO-DIMMsSdram Devices Configuration of RAM SO-DIMMs Address Multiplexing RAM SO-DIMM Electrical LimitsVideo RAM Expansion Page Software Why Make This Change? What Has Changed Features of the New Approach Data Structures and Files PerformanceRAM Footprint User ExperienceBoot ROM Contents Rtas Mac OS ndrv DriversToolbox Image File Contents ToolBox ROM Image NewWorld Boot ProcessTrampoline Code Interrupt Handling What Is DifferentRAM Footprint Outmoded ResourcesStartup Disk Control Panel NanoKernelMachine Identification Open Firmware and the Device TreeInterrupt Layout Software Abbreviations Chrp NMI Page Index Nvram X, Y, Z Allen Watson