Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Booting
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Integrated circuit read-only memory era === [[File:Intel 2708 1KB EPROM.jpg|thumb|An Intel 2708 [[EPROM]] "chip" on a [[circuit board]]]] The introduction of integrated circuit [[read-only memory]] (ROM), with its many variants, including [[Mask ROM|mask-programmed ROM]]s, [[programmable ROM]]s (PROM), [[erasable programmable ROM]]s (EPROM), and [[flash memory]], reduced the physical size and cost of ROM. This allowed [[firmware]] boot programs to be included as part of the computer. ====Minicomputers==== The Data General [[Data General Nova#1200 and 800|Nova 1200]] (1970) and [[Data General Nova#1200 and 800|Nova 800]] (1971) had a program load switch that, in combination with options that provided two ROM chips, loaded a program into main memory from those ROM chips and jumped to it.<ref name="how-to-use-the-nova-computers"/> Digital Equipment Corporation introduced the integrated-circuit-ROM-based BM873 (1974),<ref>{{cite book |url=http://www.bitsavers.org/pdf/dec/unibus/DEC-11-H873A-B-D_BM873_Restart_Loader_Apr74.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/pdf/dec/unibus/DEC-11-H873A-B-D_BM873_Restart_Loader_Apr74.pdf |archive-date=2022-10-09 |url-status=live |title=BM873 restart/loader |date=April 1974 |id=DEC-11-H873A-B-D |publisher=[[Digital Equipment Corporation]]}}</ref> M9301 (1977),<ref>{{cite book |url=http://www.bitsavers.org/pdf/dec/unibus/EK-M9301-TM-001_M9301_Bootstrap_Terminator_Module_Maintenance_and_Operators_Manual_Jun77.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/pdf/dec/unibus/EK-M9301-TM-001_M9301_Bootstrap_Terminator_Module_Maintenance_and_Operators_Manual_Jun77.pdf |archive-date=2022-10-09 |url-status=live |title=M9301 bootstrap/terminator module maintenance and operator's manual |date=June 1977 |id=EK-M9301-TM-OO1 |publisher=[[Digital Equipment Corporation]]}}</ref> M9312 (1978),<ref>{{cite book |url=http://www.bitsavers.org/pdf/dec/unibus/M9312_TechRef.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/pdf/dec/unibus/M9312_TechRef.pdf |archive-date=2022-10-09 |url-status=live |title=M9312 bootstrap/terminator module technical manual |date=March 1981 |id=EK-M9312-TM-OO3 |publisher=[[Digital Equipment Corporation]]}}</ref> REV11-A and REV11-C,<ref>{{cite book |url=http://bitsavers.org/pdf/dec/qbus/Digital_Microcomputer_Interfaces_Handbook_1980.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/qbus/Digital_Microcomputer_Interfaces_Handbook_1980.pdf |archive-date=2022-10-09 |url-status=live |title=Microcomputer Interfaces Handbook |page=17 |date=1981 |publisher=[[Digital Equipment Corporation]]}}</ref> MRV11-C,<ref>{{cite book |url=http://bitsavers.org/pdf/dec/qbus/Digital_Microcomputer_Products_Handbook_1985.pdf |title=Microcomputer Products Handbook |chapter=10 MRV11-C Read-Only Memory Module |date=1985 |publisher=[[Digital Equipment Corporation]] |access-date=2022-06-12 |archive-date=2022-10-24 |archive-url=https://web.archive.org/web/20221024223027/http://bitsavers.org/pdf/dec/qbus/Digital_Microcomputer_Products_Handbook_1985.pdf |url-status=live}}</ref> and MRV11-D<ref>{{cite book |url=http://bitsavers.org/pdf/dec/qbus/Digital_Microcomputer_Products_Handbook_1985.pdf |title=Microcomputer Products Handbook |chapter=11 MRVll·D Universal Programmable Read.Only Memory |date=1985 |publisher=[[Digital Equipment Corporation]] |access-date=2022-06-12 |archive-date=2022-10-24 |archive-url=https://web.archive.org/web/20221024223027/http://bitsavers.org/pdf/dec/qbus/Digital_Microcomputer_Products_Handbook_1985.pdf |url-status=live}}</ref> ROM memories, all usable as bootstrap ROMs. The PDP-11/34 (1976),<ref>{{cite book |url=http://bitsavers.org/pdf/dec/pdp11/1134/1134_UsersManual.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp11/1134/1134_UsersManual.pdf |archive-date=2022-10-09 |url-status=live|title=PDP-11/34 system user's manual |pages=1{{hyp}}5,2{{hyp}}1–2{{hyp}}12 |date=July 1977 |id=EK-11034-UG-001 |publisher=[[Digital Equipment Corporation]]}}</ref> PDP-11/60 (1977),<ref>{{cite book |url=http://bitsavers.org/pdf/dec/pdp11/1160/EK-11060-OP-003_PDP-1160_installation_and_operation_manual_Feb78.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp11/1160/EK-11060-OP-003_PDP-1160_installation_and_operation_manual_Feb78.pdf |archive-date=2022-10-09 |url-status=live |title=PDP-11/60 installation and operation manual |pages=1{{hyp}}10,2{{hyp}}29-2{{hyp}}34,3{{hyp}}1-3{{hyp}}6 |date=February 1979 |id=EK-11060-OP-003 |publisher=[[Digital Equipment Corporation]]}}</ref> PDP-11/24 (1979),<ref>{{cite book |url=http://bitsavers.org/pdf/dec/pdp11/1124/EK-11024-TM-001_PDP11_24_System_Technical_Manual_Jun81.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp11/1124/EK-11024-TM-001_PDP11_24_System_Technical_Manual_Jun81.pdf |archive-date=2022-10-09 |url-status=live |title=PDP-11/24 System Technical Manual |page=1{{hyp}}6 |date=June 1981 |id=EK-11024-TM-001 |publisher=[[Digital Equipment Corporation]]}}</ref> and most later models include boot ROM modules. An Italian telephone switching computer, called "Gruppi Speciali", patented in 1975 by [[Alberto Ciaramella]], a researcher at [[CSELT]],<ref>[[Alberto Ciaramella|Ciaramella, Alberto]]. {{US patent|4117974|Device for automatically loading the central memory of electronic processors}} U.S. Patent No. 4,117,974. 1978-10-03. (submitted in 1975)</ref> included an (external) ROM. Gruppi Speciali was, starting from 1975, a fully single-button machine booting into the operating system from a ROM memory composed from semiconductors, not from ferrite cores. Although the ROM device was not natively embedded in the computer of Gruppi Speciali, due to the design of the machine, it also allowed the single-button ROM booting in machines not designed for that (therefore, this "bootstrap device" was architecture-independent), e.g. the PDP-11. Storing the state of the machine after the switch-off was also in place, which was another critical feature in the telephone switching contest.<ref>{{cite AV media |url=https://www.youtube.com/watch?v=5FmIQhgm8pI |archive-url=https://ghostarchive.org/varchive/youtube/20211113/5FmIQhgm8pI |archive-date=2021-11-13 |url-status=live |title=Alberto Ciaramella racconta il brevetto del boostrap dei computer concepito in CSELT |trans-title=Alberto Ciaramella discusses the patent for bootstrapping computers conceived at CSELT |language=it}}{{cbignore}}</ref> Some minicomputers and [[superminicomputer]]s include a separate console processor that bootstraps the main processor. The PDP-11/44 had an [[Intel 8085]] as a console processor;<ref>{{cite book |url=http://bitsavers.org/pdf/dec/pdp11/1144/1144_SystemTechMan.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp11/1144/1144_SystemTechMan.pdf |archive-date=2022-10-09 |url-status=live |title=PDP-11/44 System Technical Manual |page=6{{hyp}}57 |id=EK-KD11Z-TM-001 |publisher=[[Digital Equipment Corporation]] |date=February 1979}}</ref> the [[VAX-11/780]], the first member of Digital's [[VAX]] line of 32-bit superminicomputers, had an [[LSI-11]]-based console processor,<ref>{{cite book |url=http://bitsavers.org/pdf/dec/vax/780/EK-11780-UG-001_VAX-11_780_Hardware_Users_Guide_197902.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/vax/780/EK-11780-UG-001_VAX-11_780_Hardware_Users_Guide_197902.pdf |archive-date=2022-10-09 |url-status=live |title=VAX-11/780 Hardware User's Guide |at=2.3 BOOTSTRAPPING and 3.6.1 Boot Command (B) |id=EK-11780-UG-001 |publisher=[[Digital Equipment Corporation]] |date=February 1979}}</ref> and the VAX-11/730 had an 8085-based console processor.<ref>{{cite book |url=http://bitsavers.org/pdf/dec/vax/730/EK-KA730-TD-001_VAX-11_730_CPU_Technical_Description_198205.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/vax/730/EK-KA730-TD-001_VAX-11_730_CPU_Technical_Description_198205.pdf |archive-date=2022-10-09 |url-status=live |title=VAX-11/730 Central Processing Unit Technical Description |page=1{{hyp}}9 |id=EK-KA730-TD-001 |publisher=[[Digital Equipment Corporation]] |date=May 1982}}</ref> These console processors could boot the main processor from various storage devices. Some other superminicomputers, such as the VAX-11/750, implement console functions, including the first stage of booting, in CPU microcode.<ref>{{cite book |url=http://bitsavers.org/pdf/dec/vax/750/AA-K410C-TE_VAX-11_750_Software_Installation_Guide_198212.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/vax/750/AA-K410C-TE_VAX-11_750_Software_Installation_Guide_198212.pdf |archive-date=2022-10-09 |url-status=live|title=VAX-11/750 Software Installation Guide |pages=1{{hyp}}2-1{{hyp}}4,B{{hyp}}1-B{{hyp}}8,C{{hyp}}1-C{{hyp}}2 |id=AA-K410C-TE |publisher=[[Digital Equipment Corporation]] |date=December 1982}}</ref> ====Microprocessors and microcomputers==== Typically, a microprocessor will, after a reset or power-on condition, perform a start-up process that usually takes the form of "begin execution of the code that is found starting at a specific address" or "look for a multibyte code at a specific address and jump to the indicated location to begin execution". A system built using that microprocessor will have the permanent ROM occupying these special locations so that the system always begins operating without operator assistance. For example, [[Intel x86]] processors always start by running the instructions beginning at F000:FFF0,<ref>{{cite book |title=Osborne 16-Bit Microprocessor Handbook |author-first1=Adam |author-last1=Osborne |author-link1=Adam Osborne |author-first2=Gerry |author-last2=Kane |date=1981 |pages=5–27 |publisher=OSBORNE/McGraw-Hill |isbn=0-931988-43-8 |url=http://www.bitsavers.org/pdf/osborne/books/Osborne_16-Bit_Microprocessor_Handbook_1981.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/pdf/osborne/books/Osborne_16-Bit_Microprocessor_Handbook_1981.pdf |archive-date=2022-10-09 |url-status=live |access-date=23 August 2019}}</ref><ref>{{cite book |url=http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf |archive-date=2022-10-09 |url-status=live |title=Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide}}</ref> while for the [[MOS 6502]] processor, initialization begins by reading a two-byte vector address at $FFFD (MS byte) and $FFFC (LS byte) and jumping to that location to run the bootstrap code.<ref>{{cite book |title=Osborne 4&8-Bit Microprocessor Handbook |author-first1=Adam |author-last1=Osborne |author-link1=Adam Osborne |author-first2=Gerry |author-last2=Kane |date=1981 |pages=10–20 |publisher=Osborne/McGraw-Hill |isbn=0-931988-42-X}}</ref> [[Apple Computer]]'s first computer, the [[Apple I|Apple 1]] introduced in 1976, featured PROM chips that eliminated the need for a front panel for the boot process (as was the case with the Altair 8800) in a commercial computer. According to Apple's ad announcing it "No More Switches, No More Lights ... the firmware in PROMS enables you to enter, display and debug programs (all in hex) from the keyboard."<ref>[[:File:Apple 1 Advertisement Oct 1976.jpg |Apple Ad, Interface Age, October 1976]]</ref> Due to the expense of read-only memory at the time, the [[Apple II]] booted its disk operating systems using a series of very small incremental steps, each passing control onward to the next phase of the gradually more complex boot process. (See [[Apple DOS#Boot loader|Apple DOS: Boot loader]]). Because so little of the disk operating system relied on ROM, the hardware was also extremely flexible and supported a wide range of customized disk [[copy protection]] mechanisms. (See [[Software cracking#History|Software Cracking: History]].) Some operating systems, most notably pre-1995 [[Macintosh]] systems from [[Apple Inc.|Apple]], are so closely interwoven with their hardware that it is impossible to natively boot an operating system other than the standard one. This is the opposite extreme of the scenario using switches mentioned above; it is highly inflexible but relatively error-proof and foolproof as long as all hardware is working normally. A common solution in such situations is to design a boot loader that works as a program belonging to the standard OS that hijacks the system and loads the alternative OS. This technique was used by Apple for its [[A/UX]] Unix implementation and copied by various freeware operating systems and [[BeOS|BeOS Personal Edition 5]]. Some machines, like the [[Atari ST]] [[microcomputer]], were "instant-on", with the operating system executing from a ROM. Retrieval of the OS from secondary or tertiary store was thus eliminated as one of the characteristic operations for bootstrapping. To allow system customizations, accessories, and other support software to be loaded automatically, the Atari's floppy drive was read for additional components during the boot process. There was a timeout delay that provided time to manually insert a floppy as the system searched for the extra components. This could be avoided by inserting a blank disk. The Atari ST hardware was also designed so the cartridge slot could provide native program execution for gaming purposes as a holdover from Atari's legacy making electronic games; by inserting the [[Spectre GCR]] cartridge with the Macintosh system ROM in the game slot and turning the Atari on, it could "natively boot" the Macintosh operating system rather than Atari's own [[Atari TOS|TOS]]. The [[IBM Personal Computer]] included ROM-based firmware called the [[BIOS]]; one of the functions of that firmware was to perform a [[power-on self test]] when the machine was powered up, and then to read software from a boot device and execute it. Firmware compatible with the BIOS on the IBM Personal Computer is used in [[IBM PC compatible]] computers. The [[UEFI]] was developed by Intel, originally for [[Itanium]]-based machines, and later also used as an alternative to the BIOS in [[x86]]-based machines, including [[Apple–Intel architecture|Apple Macs using Intel processors]]. [[Unix workstation]]s originally had vendor-specific ROM-based firmware. [[Sun Microsystems]] later developed [[OpenBoot]], later known as Open Firmware, which incorporated a [[Forth (programming language)|Forth]] interpreter, with much of the firmware being written in Forth. It was standardized by the [[IEEE]] as IEEE standard {{not a typo|1275-1994}}; firmware that implements that standard was used in [[PowerPC]]-based [[Macintosh|Macs]] and some other PowerPC-based machines, as well as Sun's own [[SPARC]]-based computers. The [[Advanced RISC Computing]] specification defined another firmware standard, which was implemented on some [[MIPS architecture|MIPS]]-based and [[DEC Alpha|Alpha]]-based machines and the [[SGI Visual Workstation]] x86-based workstations.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Booting
(section)
Add topic