Önyükleme - Booting

Bilgisayar önyüklemesinin akış şeması

Olarak işlem , önyükleme bir başlangıç işlemidir bilgisayar . Düğmeye basma gibi bir donanım veya bir yazılım komutu ile başlatılabilir . Açıldıktan sonra, bir bilgisayarın merkezi işlem biriminin (CPU) ana belleğinde yazılım yoktur , bu nedenle bazı işlemlerin yürütülebilmesi için yazılımı belleğe yüklemesi gerekir. Bu , CPU'daki donanım veya bellenim veya bilgisayar sistemindeki ayrı bir işlemci tarafından yapılabilir.

Bir bilgisayarı yeniden başlatmak , örneğin CPU'ya giden elektrik gücü kapatılıp açıldıktan sonra "zor" veya gücün kesilmediği "yumuşak" olabilen yeniden başlatma olarak da adlandırılır . Bazı sistemlerde, yumuşak önyükleme isteğe bağlı olarak RAM'i sıfırlayabilir. Hem sert hem de yumuşak önyükleme, bir düğmeye basma veya bir yazılım komutu gibi donanım tarafından başlatılabilir. Ameliyat sırasında Açılma işlemi tamamlandıktan çalışma sistemi , tipik olarak, bir işletim sistemi ve bazı uygulamalar, elde edilmektedir.

Bir bilgisayarı uyku durumundan (askıya alma) döndürme işlemi, önyüklemeyi içermez; ancak, hazırda bekletme durumundan geri yüklemek bunu yapar. Asgari olarak, bazı gömülü sistemler çalışmaya başlamak için belirgin bir önyükleme sırası gerektirmez ve açıldığında ROM'da depolanan operasyonel programları çalıştırabilir. Tüm bilgi işlem sistemleri durum makineleridir ve yeniden başlatma, istenmeyen, kilitli bir durumdan belirlenmiş bir sıfır durumuna dönmek için tek yöntem olabilir.

Önyükleme işlemi, bir işletim sistemi veya bağımsız yardımcı program yüklemeye ek olarak, işletim sistemindeki sorunları tanılamak için bir depolama dökümü programı da yükleyebilir.

Boot , bootstrap veya bootstrap load kelimelerinin kısaltmasıdır ve kişinin kendi bootstraps tarafından yukarı çekilmesi ifadesinden türetilmiştir . Kullanım, çoğu yazılım bir bilgisayara halihazırda çalışan başka bir yazılım tarafından yükleniyorsa, ilk yazılımı bilgisayara yüklemek için bazı mekanizmaların mevcut olması gerekliliğine dikkat çekiyor. İlk bilgisayarlar, bu sorunu çözmek için küçük bir programı belleğe almak için çeşitli geçici yöntemler kullandı. Çeşitli türlerde salt okunur belleğin (ROM) icadı, bilgisayarların silinemeyen bir başlangıç ​​programıyla gönderilmesine izin vererek bu paradoksu çözdü. ROM kapasitesindeki büyüme, her zamankinden daha ayrıntılı başlangıç ​​prosedürlerinin uygulanmasına olanak sağlamıştır.

Tarih

ENIAC'ı programlamak için kullanılan anahtarlar ve kablolar (1946)

Bir bilgisayara kısa bir başlangıç ​​programı yüklemek için birçok farklı yöntem mevcuttur. Bu yöntemler, basit, fiziksel girdilerden daha karmaşık programları tutabilen çıkarılabilir medyaya kadar uzanır.

Ön tümleşik devre ROM örnekleri

Erken bilgisayarlar

1940'larda ve 1950'lerde ilk bilgisayarlar, programlanması haftalar alabilen türünün tek örneği mühendislik çalışmalarıydı ve program yükleme, çözülmesi gereken birçok sorundan biriydi. Erken bir bilgisayar olan ENIAC , bellekte saklanan bir programa sahip değildi, ancak her sorun için birbirine bağlanan kabloların bir konfigürasyonu ile kuruldu. Güç verildiği anda donanım yapılandırması sorunları çözmeye hazır olan ENIAC'a önyükleme uygulanmadı.

Oluşturulacak ikinci depolanmış program bilgisayarı olan EDSAC sistemi, başlat düğmesine basıldığında sabit bir programı belleğe aktarmak için adım anahtarlarını kullandı . David Wheeler'ın 1948'in sonlarında tamamladığı bu cihazda depolanan program , delikli banttan daha fazla talimat yükledi ve ardından bunları yürüttü .

İlk ticari bilgisayarlar

UNIVAC I ve IBM 701 gibi ticari satışa yönelik ilk programlanabilir bilgisayarlar , işlemlerini kolaylaştıran özellikler içeriyordu. Tipik olarak, tam bir giriş veya çıkış işlemi gerçekleştiren talimatları içerirler. Aynı donanım mantığı, tek bir düğmeye basarak bir önyükleme programı içeren bir delikli kartın (en tipik olanlar) veya manyetik tambur veya manyetik bant gibi diğer giriş ortamlarının içeriğini yüklemek için kullanılabilir . Bu önyükleme konsepti, 1950'lerin ve 1960'ların başlarındaki IBM bilgisayarları için çeşitli isimler olarak adlandırıldı , ancak IBM, IBM 7030 Stretch ile "İlk Program Yükü" terimini kullandı ve daha sonra, System/360 ile başlayarak ana bilgisayar hatları için kullandı . 1964.

IBM 1130 (1965) için ilk program yükleme delikli kartı

IBM, 701 bilgisayar (1952-1956) birinci okuma başlatılan bir "Yük" tuşuna sahip 36-bit kelimenin içine ana bellek , bir de presli kartından kart okuyucu , bir manyetik bant bant sürücüsü , ya da bir manyetik tambur ünitesi , Yük Seçici anahtarın konumuna bağlı olarak. Soldaki 18-bit yarım sözcük daha sonra genellikle ek sözcükleri belleğe okuyan bir talimat olarak yürütüldü. Yüklenen önyükleme programı daha sonra yürütüldü ve bu da, insan operatörün daha fazla yardımı olmadan bu ortamdan daha büyük bir programı belleğe yükledi. "Önyükleme" terimi, en az 1958'den beri bu anlamda kullanılmaktadır.

1970'lerden IBM System/3 konsolu. Program yükü seçici anahtarı sol altta; Program yükleme anahtarı sağ alttadır.

O dönemin diğer IBM bilgisayarları da benzer özelliklere sahipti. Örneğin, IBM 1401 sistemi (c. 1958), delikli bir karttan bir program yüklemek için bir kart okuyucu kullandı. Delikli kartta saklanan 80 karakter, 001 ila 080 arasındaki bellek konumlarına okundu, ardından bilgisayar, ilk saklanan talimatını okumak için bellek konumu 001'e dallandı. Bu talimat her zaman aynıydı: bu ilk 80 bellek konumundaki bilgileri, delikli kartlar 2, 3, 4 ve benzerlerindeki bilgilerin saklanan programı oluşturmak için birleştirilebileceği bir montaj alanına taşıyın. Bu bilgi montaj alanına taşındığında, makine 080 konumundaki bir talimata (bir kart oku) dallanır ve bir sonraki kart okunur ve bilgileri işlenir.

Başka bir örnek, operatör panelinde bir bellek kelimesi (8000 adresi) olarak adreslenebilen ve bir talimat olarak çalıştırılabilen on adet 10 konumlu anahtardan oluşan bir grup ondalık makine olan IBM 650 (1953) idi. Bu nedenle, anahtarları 7004000400'e ayarlamak ve uygun düğmeye basmak, kart okuyucudaki ilk kartı belleğe okuyacaktır (op kodu 70), adres 400'den başlayarak ve ardından programı o kartta yürütmeye başlamak için 400'e atlayacaktır.

IBM'in rakipleri de tek düğmeli program yüklemesi teklif etti.

  • CDC 6600 (c. 1964) bir vardı ölü başlangıç anahtarları mafsallı 144 ile panel; ölü başlatma anahtarı, geçiş anahtarlarından çevresel işlemcinin ( PP ) 0 belleğine 12 kelime girdi ve yükleme sırasını başlattı. PP 0 gerekli kodu kendi belleğine yükledi ve ardından diğer PP'leri başlattı.
  • GE 645 ° (c. 1965), basıldığında, bir diyot belleğe 64 kelimelik program yüklemek için I / O kontrol cihazlarından birini neden olduğu bir "SİSTEMİ Bootload" tuşuna sahip bir salt okunur bellek ve nedeni için bir kesme teslim bu programı çalıştırmaya başlayın.
  • PDP-10'un ilk modelinde, basıldığında işlemciyi sıfırlayan ve kontrol panelindeki anahtarlar tarafından belirtilen bir cihazda bir G/Ç işlemi başlatan ve 36 bitlik bir kelimeyi okuyarak bir "READ IN" düğmesi vardı. hedef adres ve sonraki kelime okumaları için sayım; okuma tamamlandığında, işlemci okunan son kelimeye atlayarak okunan kodu çalıştırmaya başladı.

Bunun dikkate değer bir varyasyonu , ne bir önyükleme ROM'u ne de kablolu bir IPL işleminin olmadığı Burroughs B1700'de bulunur . Bunun yerine, sistem sıfırlandıktan sonra, ön panele monte edilmiş bir teyp sürücüsünden sırayla opcode'ları okur ve yürütür; bu, RAM'de daha sonra yürütülen bir önyükleyici kurar. Ancak, bu sistem hakkında çok az varsayımda bulunduğundan , büyük CPU arızası durumlarında bile ön panelde anlaşılır bir kod görüntüleyen tanılama (Bakım Testi Rutini) bantlarını yüklemek için eşit derecede kullanılabilir .

IBM System/360 ve ardılları

In IBM System / 360 ve akım dahil halefleri z / Mimarlık makineleri, çizme işlemi olarak bilinir Başlangıç Programı Yük (IPL).

IBM, bu terimi 7030 (Stretch) için icat etti , System/360'ın tasarımı için yeniden canlandırdı ve bugün de bu ortamlarda kullanmaya devam ediyor. System/360 işlemcilerinde, bilgisayar operatörü tarafından üç onaltılık basamaklı cihaz adresi (CUU; C=I/O Kanal adresi, UU=Kontrol ünitesi ve Cihaz adresi) seçilerek ve ardından LOAD düğmesine basılarak bir IPL başlatılır . Üst düzey System/360 modellerinde, çoğu System/370 ve bazı sonraki sistemlerde, anahtarların ve LOAD düğmesinin işlevleri, genellikle IBM 2250 benzeri bir aygıt veya bir IBM gibi bir grafik konsolunun ekranındaki seçilebilir alanlar kullanılarak simüle edilir. 3270 benzeri cihaz. Örneğin, System/370 Model 158'de, 0-7-X klavye dizisi (sıfır, yedi ve X, bu sırayla), giriş alanına anahtarlanan cihaz adresinden bir IPL ile sonuçlanır. Amdahl 470V / 6 ve ilgili işlemciler 32 kanal olmak üzere toplam yüklü isteğe bağlı ikinci bir kanal ünitesi, vardı, bu işlemci üzerinde dört onaltılı basamak destekledi. Daha sonra IBM, 16'dan fazla kanalı da destekleyecektir.

System/360 ve haleflerindeki IPL işlevi ve Amdahl's gibi uyumluları, gerçek adres sıfırdan başlayarak operatör tarafından belirlenen bir cihazdan ana belleğe 24 bayt okur. Sekiz baytlık ikinci ve üçüncü gruplar , başlangıç ​​programını yüklemeye devam etmek için Kanal Komut Sözcükleri (CCW'ler) olarak ele alınır (ilk CCW her zaman CPU tarafından simüle edilir ve komut zincirleme ve yanlış uzunluğu bastırma ile 02h Okuma IPL komutundan oluşur) gösterge uygulanıyor). G/Ç kanal komutları tamamlandığında, sekiz baytlık ilk grup daha sonra işlemcinin Program Durum Sözcüğü'ne (PSW) yüklenir ve başlangıç ​​programı bu PSW tarafından belirlenen konumda yürütülmeye başlar. IPL aygıtı genellikle bir disk sürücüsüdür, bu nedenle 02h okuma türü komutunun özel önemi vardır , ancak tam olarak aynı prosedür, teyp sürücüleri ve hatta kart okuyucular gibi diğer giriş türü aygıtlardan IPL için de kullanılır. cihazdan bağımsız bir şekilde, örneğin, bir işletim sisteminin ilk dağıtım manyetik bandından yepyeni bir bilgisayara bir işletim sisteminin kurulmasına izin verir. Disk denetleyicileri için, 02h komutu ayrıca silindir amacıyla gerekli Seçilen cihaz neden 0000H , baş 0000H bir silindir ve kafa komutu, Seek taklit, saat 07 , ve kayıt aramak için 01h Arama Kimliği Eşit komutu, simüle, 31 H ; aramalar ve aramalar teyp ve kart denetleyicileri tarafından simüle edilmez, çünkü bu aygıt sınıfları için bir 02h komutu, bir IPL Oku komutu değil, yalnızca sıralı bir okuma komutudur.

Disk, teyp veya kart destesi, gerçek işletim sistemini veya bağımsız yardımcı programı ana depolamaya yüklemek için özel bir program içermelidir ve bu özel amaç için "IPL Metni", bağımsız DASDI (Direct Access Storage Device) tarafından diske yerleştirilir. Başlatma) programı veya bir işletim sistemi altında çalışan eşdeğer bir program, örneğin ICKDSF, ancak IPL uyumlu bantlar ve kart desteleri genellikle bu "IPL Metni" zaten mevcut olarak dağıtılır.

mini bilgisayarlar

Önyükleme programını yüklemek için kullanılan anahtarları gösteren PDP-8/E ön paneli

Orta ile başlayan Digital Equipment Corporation (DEC) PDP-5 ve PDP-8 , giriş ve çıkış işlemleri yardımcı olmak için CPU kullanarak (1965) basitleştirilmiş tasarımı. Bu maliyet tasarrufu sağladı ancak önyüklemeyi tek bir düğmeye basmaktan daha karmaşık hale getirdi. Mini bilgisayarların tipik olarak, ön paneldeki bir dizi anahtarı manipüle ederek kısa programlarda geçiş yapmanın bir yolu vardı . İlk mini bilgisayarlar , güç kapatıldığında bilgilerini kaybetmeyen manyetik çekirdek bellek kullandığından , bu önyükleme yükleyicileri silinmedikçe yerinde kalacaktı. Silme, bazen bir program hatası tüm belleğin üzerine yazan bir döngüye neden olduğunda yanlışlıkla oldu.

Bu kadar basit önyükleme biçimine sahip diğer mini bilgisayarlar arasında Hewlett-Packard'ın HP 2100 serisi (1960'ların ortası), orijinal Data General Nova (1969) ve DEC'in PDP-11 (1970) bulunur.

DEC daha sonra PDP-11 için 32 kelimeye (64 bayt) kadar bir önyükleme programı depolayan isteğe bağlı bir diyot matrisi salt okunur belleği ekledi . Bu takılı bir baskılı devre kartı, M792, oluşuyordu Unibus ve yarı iletken diyot 16 dizi tarafından 32 oldu. 512 diyotun tümü yerindeyken, bellek tüm "bir" bitleri içeriyordu; kart, biti "sıfır" olacak her diyotun kesilmesiyle programlandı. DEC ayrıca kartın BM792-Yx serisinin birçok standart giriş cihazı için gereksiz diyotları çıkararak önceden programlanmış versiyonlarını da sattı.

Eski yaklaşımı takiben, önceki PDP-1'in bir donanım yükleyicisi vardır, öyle ki bir operatörün kağıt şerit okuyucusuna bir programı doğrudan çekirdek belleğe yükleme talimatı vermek için yalnızca "yükle" düğmesine basması yeterlidir . Data General Supernova, bilgisayarın talimatları ön panelin veri anahtarları tarafından belirtilen bir aygıttan belleğe otomatik olarak yüklemesini ve ardından yüklenen koda atlamasını sağlamak için ön panel anahtarlarını kullandı; Nova 800 ve 1200, bir programı özel bir salt okunur bellekten ana belleğe yükleyen ve ona atlayan bir anahtara sahipti.

Erken mini bilgisayar önyükleyici örnekleri

Bir kağıt şerit okuyucu ile bir mini bilgisayar olarak, ilk program çekirdek bellek ya ikinci aşama yükleyicinin (genellikle olarak adlandırılan okunur olacaktır, önyükleme işlemi önyükleme çalıştırmak için ikili yükleyici ile kağıt şerit okuyabilir) sağlama ya da işletim sistemi bir dış depolama ortamından. Önyükleyici için sözde kod , aşağıdaki sekiz talimat kadar basit olabilir:

  1. P kaydını 9'a ayarlayın
  2. Kağıt şerit okuyucunun hazır olup olmadığını kontrol edin
  3. Hazır değilse, 2'ye atlayın
  4. Kağıt bant okuyucudan akümülatöre bir bayt okuma
  5. Akümülatörü P kaydındaki adrese saklayın
  6. Bantın sonuysa, 9'a atlayın
  7. P kaydını artır
  8. 2'ye atla

İlgili bir örnek, 1970'lerin Nicolet Instrument Corporation mini bilgisayarı için bir Teletype Model 33 ASR teleprinter üzerindeki kağıt şerit okuyucu-delme birimini kullanan bir yükleyiciye dayanmaktadır . İkinci aşama yükleyicisinin baytları kağıt banttan ters sırada okunur.

  1. P kaydını 106 olarak ayarlayın
  2. Kağıt şerit okuyucunun hazır olup olmadığını kontrol edin
  3. Hazır değilse, 2'ye atlayın
  4. Kağıt bant okuyucudan akümülatöre bir bayt okuma
  5. Akümülatörü P kaydındaki adrese saklayın
  6. P kaydını azalt
  7. 2'ye atla

İkinci aşama yükleyicinin uzunluğu, son bayt konum 7'nin üzerine yazacak şekildedir. Konum 6'daki talimat yürütüldükten sonra, konum 7, ikinci aşama yükleyiciyi yürütmeye başlar. İkinci aşama yükleyici daha sonra işletim sistemini içeren çok daha uzun bandın bant okuyucuya yerleştirilmesini bekler. Önyükleyici ile ikinci aşama yükleyici arasındaki fark, Teletype Model 33 ASR gibi nispeten düşük maliyetli, "yarı zamanlı-görevli" donanımlarda sıkça görülen kağıt şerit okuma hatalarını yakalamak için kontrol kodunun eklenmesidir. (Friden Flekso Yazarları çok daha güvenilirdi, ancak aynı zamanda nispeten maliyetliydi.)

İlk mikro bilgisayarları önyükleme

Altair 8800 (ilk olarak 1975'te piyasaya sürüldü) ve daha da eski, benzer bir makine (Intel 8008 CPU'ya dayalı) gibi en eski mikrobilgisayarlarda böyle bir önyükleme donanımı yoktu. Başlatıldığında, CPU yalnızca ikili sıfırlar içeren yürütülebilir kod içeren belleği görecekti; bellek, açılırken sıfırlanarak temizlendi. Bu makinelerin ön panelleri, adres ve veri girmek için geçiş anahtarları, bilgisayar bellek word'ünün ve adres veriyolunun her biti için bir anahtar taşıyordu. Donanıma yapılan basit eklemeler, önyükleme kodunu depolamak için bu anahtarlardan bir seferde bir bellek konumunun yüklenmesine izin verdi. Bu arada, CPU'nun bellek içeriğini yürütmeye çalışması engellendi. Doğru bir şekilde yüklendikten sonra, CPU, önyükleme kodunu yürütmek için etkinleştirildi. Bu süreç sıkıcıydı ve hatasız olması gerekiyordu.

Entegre devre salt okunur bellek dönemi

Devre kartındaki bir Intel 2708 EPROM "çipi".

Mini bilgisayarlar ve mikro bilgisayarlar için önyükleme işlemi , maske programlı ROM'lar , programlanabilir ROM'lar (PROM), silinebilir programlanabilir ROM'lar (EPROM) ve flash bellek dahil olmak üzere birçok varyantıyla entegre devre salt okunur belleğin (ROM) tanıtılmasıyla devrim yarattı. . Bunlar, bellenim önyükleme programlarının bilgisayarın bir parçası olarak eklenmesine izin verdi . Bir (harici) ROM'un tanıtımı, 1975'te CSELT'de bir araştırmacı olan Alberto Ciaramella tarafından patenti alınan "Gruppi Speciali" adlı bir İtalyan telefon anahtarlama detaylandırıcısında yapıldı . Gruppi Speciali, 1975'ten başlayarak, ferrit çekirdeklerden değil, yarı iletkenlerden oluşan bir ROM belleğinden işletim sistemine önyükleme yapan tamamen tek düğmeli bir makineydi. ROM aygıtı Gruppi Speciali'nin bilgisayarına yerel olarak gömülü olmasa da, makinenin tasarımı nedeniyle, bunun için tasarlanmamış makinelerde tek düğmeli ROM önyüklemesine de izin verdi (bu nedenle, bu "önyükleme aygıtı" mimariden bağımsızdı). ), örneğin PDP-11. Telefon değiştirme yarışmasında bir başka kritik özellik olan, kapatma sonrasında makinenin durumunun saklanması da yerindeydi.

Tipik olarak, her mikroişlemci, bir sıfırlama veya açılış koşulundan sonra, genellikle "belirli bir adresten başlayarak bulunan kodun yürütülmesine başla" veya "çok baytlı bir kod ara" şeklini alan bir başlatma işlemi gerçekleştirir. belirli bir adres ve yürütmeye başlamak için belirtilen konuma atlayın". Bu mikroişlemci kullanılarak oluşturulan bir sistem, bu özel konumları işgal eden kalıcı ROM'a sahip olacaktır, böylece sistem her zaman operatör yardımı olmadan çalışmaya başlar. Örneğin, Intel x86 işlemciler her zaman F000:FFF0 ile başlayan talimatları çalıştırarak başlarken, MOS 6502 işlemci için başlatma $FFFD (MS bayt) ve $FFFC (LS bayt) iki baytlık bir vektör adresi okuyarak başlar ve önyükleme kodunu çalıştırmak için o konuma atlama.

Apple Inc.'in 1976'da tanıtılan ilk bilgisayarı Apple 1 , ticari bir bilgisayarda önyükleme işlemi için (Altair 8800'de olduğu gibi) bir ön panel ihtiyacını ortadan kaldıran PROM yongalarına sahipti. Apple'ın "Artık Anahtar Yok, Daha Fazla Işık Yok ... PROMS'daki ürün yazılımı, klavyeden programları (tümü onaltılık olarak) girmenizi, görüntülemenizi ve hata ayıklamanızı sağlar."

O zamanlar salt okunur belleğin maliyeti nedeniyle, Apple II serisi , disk işletim sistemlerini, her biri giderek daha karmaşık olan önyükleme işleminin bir sonraki aşamasına doğru kontrolden geçen bir dizi çok küçük artımlı adım kullanarak başlattı. (Bkz. Apple DOS: Önyükleyici ). Disk işletim sisteminin çok azı ROM'a dayandığından, donanım da son derece esnekti ve çok çeşitli özelleştirilmiş disk kopya koruma mekanizmalarını destekledi. (Bkz. Yazılım Kırma: Geçmiş .)

Bazı işletim sistemleri, özellikle de Apple'ın 1995 öncesi Macintosh sistemleri, donanımlarıyla o kadar iç içedir ki, standart olandan başka bir işletim sistemini yerel olarak başlatmak imkansızdır. Bu, yukarıda bahsedilen anahtarların kullanıldığı senaryonun tam tersidir; son derece esnek değildir, ancak tüm donanım normal çalıştığı sürece nispeten hatasız ve kusursuzdur. Bu gibi durumlarda yaygın bir çözüm, sistemi ele geçiren ve alternatif işletim sistemini yükleyen standart işletim sistemine ait bir program olarak çalışan bir önyükleyici tasarlamaktır. Bu teknik, Apple tarafından A/UX Unix uygulaması için kullanılmış ve çeşitli ücretsiz işletim sistemleri ve BeOS Personal Edition 5 tarafından kopyalanmıştır .

Atari ST mikrobilgisayar gibi bazı makineler, işletim sistemi bir ROM'dan yürütülürken "anında açılır " idi . İşletim sisteminin ikincil veya üçüncül mağazadan alınması, önyükleme için karakteristik işlemlerden biri olarak ortadan kaldırıldı. Sistem özelleştirmelerinin, aksesuarların ve diğer destek yazılımlarının otomatik olarak yüklenmesine izin vermek için, önyükleme işlemi sırasında Atari'nin disket sürücüsü ek bileşenler için okundu. Sistem ekstra bileşenleri ararken bir disketi manuel olarak eklemek için zaman sağlayan bir zaman aşımı gecikmesi vardı. Bu, boş bir disk takılarak önlenebilir. Atari ST donanımı ayrıca, kartuş yuvasının, Atari'nin elektronik oyun yapma mirasından kalma olarak oyun amaçlı yerel program yürütmesi sağlayabilmesi için tasarlandı; Macintosh sistem ROM'lu Spectre GCR kartuşunu oyun yuvasına takarak ve Atari'yi açarak, Atari'nin kendi TOS'u yerine Macintosh işletim sistemini "doğal olarak önyükleyebilir" .

IBM Kişisel Bilgisayar denilen ROM tabanlı firmware dahil BIOS ; bu bellenimin işlevlerinden biri , makine açıldığında kendi kendine açılış testi yapmak ve ardından yazılımı bir önyükleme aygıtından okumak ve yürütmekti. IBM Kişisel Bilgisayarındaki BIOS ile uyumlu bellenim, IBM PC uyumlu bilgisayarlarda kullanılır. UEFI aslen için, Intel tarafından geliştirilen Itanium makineleri tabanlı ve daha sonra da içinde BIOS'u için bir alternatif olarak kullanılabilir x86 dahil tabanlı makinelerde, Intel işlemcileri kullanan Apple Mac'ler .

Unix iş istasyonları başlangıçta satıcıya özel ROM tabanlı bellenime sahipti. Sun Microsystems daha sonra , daha sonra Open Firmware olarak bilinen ve bir Forth yorumlayıcısı içeren OpenBoot'u geliştirdi ve bellenimin çoğu Forth'ta yazıldı. Bu tarafından standardize edilmiş IEEE , IEEE standardı 1275-1994 olarak; Bu standardı uygulayan bellenim, PowerPC tabanlı Mac'lerde ve diğer bazı PowerPC tabanlı makinelerde ve ayrıca Sun'ın kendi SPARC tabanlı bilgisayarlarında kullanıldı. Advanced RISC Computing bazı hayata geçirildi başka firmware standardını tanımlanan şartname, MIPS tabanlı ve Alpha makineleri ve tabanlı SGI Görsel İş İstasyonu x86 tabanlı iş istasyonları.

Modern önyükleyiciler

Bir bilgisayar kapatıldığında, yazılımı‍—‌işletim sistemleri, uygulama kodu ve data‍‌ dahil —geçici olmayan bellekte depolanır . Bilgisayar açıldığında, genellikle bir işletim sistemi veya rasgele erişim belleğinde (RAM) yükleyicisi yoktur . Bilgisayar önce depolanan nispeten küçük bir programı çalıştırır salt okunur bellek (ROM ve daha sonra EEPROM , NOR başlatmak için, bazı gerekli veri ile birlikte) RAM (genellikle uçucu olmayan cihaza erişmek için (özellikle 86 sistemlerinde) cihazı engelleyebilir , örneğin NAND flash) veya işletim sistemi programlarının ve verilerinin RAM'e yüklenebileceği aygıtlar.

Bu dizisini başlatır küçük bir program olarak bilinen bir özyükleme yükleyicisi , bootstrap veya önyükleme yükleyicisi . Çoğu zaman, çok aşamalı önyükleyiciler kullanılır; bu sırada, karmaşıklığı artıran birkaç program, bir zincir yükleme işleminde birbiri ardına yüklenir .

Daha önceki bazı bilgisayar sistemleri, bir insan operatörden veya çevresel bir cihazdan bir önyükleme sinyali aldıktan sonra, belirli bir konumda belleğe çok az sayıda sabit talimat yükleyebilir, en az bir CPU'yu başlatabilir ve ardından CPU'yu talimatlara yönlendirebilir ve yürütmeye başlarlar. Bu talimatlar tipik olarak bazı çevresel cihazlardan (operatör tarafından anahtarla seçilebilen) bir giriş işlemini başlatır. Diğer sistemler, son derece basit bir giriş işleminin ("konum 1000'den başlayarak belleğe sıfır sektör sıfırını oku" gibi) gerçekleştirilmesine neden olan donanım komutlarını doğrudan çevresel aygıtlara veya G/Ç denetleyicilerine gönderebilir, bu da etkin bir şekilde küçük bir belleğe yüklenen önyükleyici talimatlarının sayısı; I/O cihazından gelen bir tamamlama sinyali daha sonra CPU tarafından talimatların yürütülmesini başlatmak için kullanılabilir.

Daha küçük bilgisayarlar, bilgisayarın hızlı bir şekilde ve önceden belirlenmiş bir yazılım yapılandırmasıyla başlamasını sağlamak için genellikle daha az esnek ancak daha otomatik önyükleme yükleyici mekanizmaları kullanır. Örneğin birçok masaüstü bilgisayarda, önyükleme işlemi, ROM'da (örneğin, bir IBM PC'nin BIOS'u) bulunan CPU yürütme yazılımının önceden tanımlanmış bir adreste (Intel x86 serisi dahil olmak üzere bazı CPU'lar bu yazılımı yürütmek üzere tasarlanmıştır) ile başlar. dışarıdan yardım almadan sıfırlandıktan sonra). Bu yazılım önyükleme katılmaya hak cihazları aramak ve (en yaygın özel bölümünden küçük bir program yüklemek için ilkel işlevselliği içerir önyükleme sektörü en umut verici cihazın tipik bir sabit başlayarak) giriş noktasından böyle başlangıcı olarak sektör.

Önyükleyiciler, özellikle boyut olarak özel kısıtlamalarla karşılaşabilir; örneğin, IBM PC'de ve uyumlularında, önyükleme kodu , sırasıyla tek bir sektörle sınırlı olan Ana Önyükleme Kaydı (MBR) ve Bölüm Önyükleme Kaydı'na (PBR) sığmalıdır ; üzerinde IBM System / 360 , boyut IPL ortamı, örneğin, ile sınırlıdır kart boyutu, parça boyutu.

Bu kısıtlamalara sahip sistemlerde, RAM'e yüklenen ilk program, işletim sistemini yüklemek için yeterince büyük olmayabilir ve bunun yerine başka, daha büyük bir program yüklemesi gerekir. RAM'e yüklenen ilk programa birinci aşama önyükleyici ve yüklediği programa ikinci aşama önyükleyici denir.

Birinci aşama önyükleyici

Birinci kademe (ROM aşaması ya da donanım başlatma aşamasında) BootLoaders'in örnekleri arasında BIOS , UEFI'yi , coreboot , Libreboot ve Das U-çizme . IBM PC'de, Ana Önyükleme Kaydı'ndaki (MBR) ve Bölüm Önyükleme Kaydı'ndaki (PBR) önyükleyici , sistem belleğinin en az 32 KB (daha sonra 64 KB'ye daraltılması) gerektirecek ve yalnızca orijinal tarafından desteklenen talimatları kullanacak şekilde kodlanmıştır. bir 8088 / 8086 işlemciler.

İkinci aşama önyükleyici

GNU GRUB , rEFInd , BOOTMGR , Syslinux , NTLDR veya iBoot gibi ikinci aşama önyükleyicilerin kendileri işletim sistemleri değildir, ancak bir işletim sistemini düzgün bir şekilde yükleyebilir ve yürütmeyi ona aktarabilir; işletim sistemi daha sonra kendini başlatır ve fazladan aygıt sürücüleri yükleyebilir . İkinci aşama önyükleme yükleyicisi, kendi çalışması için sürücülere ihtiyaç duymaz, bunun yerine BIOS, UEFI veya Open Firmware gibi sistem sabit yazılımı tarafından sağlanan genel depolama erişim yöntemlerini kullanabilir , ancak tipik olarak kısıtlı donanım işlevselliği ve daha düşük performans vardır.

Birçok önyükleyici (GNU GRUB, rEFInd, Windows'un BOOTMGR, Syslinux ve Windows NT/2000/XP'nin NTLDR'si gibi) kullanıcıya birden çok önyükleme seçeneği verecek şekilde yapılandırılabilir. Bu seçenekler arasında farklı işletim sistemleri ( farklı bölümlerden veya sürücülerden ikili veya çoklu önyükleme için), aynı işletim sisteminin farklı sürümleri (yeni bir sürümün beklenmeyen sorunları olması durumunda), farklı işletim sistemi yükleme seçenekleri (örn. kurtarma veya güvenli mod ) ve bu bellek test (örneğin, gibi bir işletim sistemi olmadan çalışabilir bazı bağımsız programlar, memtest86 + ), GNU GRUB gibi bir bazik kabuk (), hatta oyunlar (bkz PC Booter oyunları listesi ). Bazı önyükleyiciler, diğer önyükleyicileri de yükleyebilir; örneğin, GRUB, Windows'u doğrudan yüklemek yerine BOOTMGR'yi yükler. Genellikle varsayılan bir seçim, kullanıcının seçimi değiştirmek için bir tuşa basabileceği bir zaman gecikmesi ile önceden seçilir; bu gecikmeden sonra, varsayılan seçim otomatik olarak çalıştırılır, böylece etkileşim olmadan normal önyükleme gerçekleşebilir.

Bilgisayar kullanıcıyla etkileşime girmeye hazır olduğunda veya işletim sistemi, sistem programlarını veya uygulama programlarını çalıştırabiliyorsa, önyükleme işlemi tamamlanmış sayılabilir.

Birçok gömülü sistem hemen başlatılmalıdır. Örneğin, bir dijital televizyonun veya GPS navigasyon cihazının başlaması için bir dakika beklemek genellikle kabul edilemez. Bu nedenle, bu tür cihazların ROM veya flash bellekte yazılım sistemleri vardır, böylece cihaz hemen çalışmaya başlayabilir; çok az veya hiç yükleme gerekli değildir, çünkü yükleme önceden hesaplanabilir ve cihaz yapıldığında ROM'da saklanabilir.

Büyük ve karmaşık sistemler, nihayet işletim sistemi ve diğer programlar yüklenene ve yürütülmeye hazır olana kadar birden çok aşamada ilerleyen önyükleme prosedürlerine sahip olabilir. İşletim sistemleri hiç başlatılmayacak veya durmayacakmış gibi tasarlandığından, bir önyükleyici işletim sistemini yükleyebilir, kendisini bu sistem içinde yalnızca bir süreç olarak yapılandırabilir ve ardından kontrolü geri alınamaz bir şekilde işletim sistemine aktarabilir. Önyükleyici daha sonra diğer işlemlerde olduğu gibi normal şekilde sonlandırılır.

Ağ önyüklemesi

Çoğu bilgisayar aynı zamanda bir bilgisayar ağı üzerinden önyükleme yapabilir . Bu senaryoda, işletim sistemi bir sunucunun diskinde depolanır ve belirli bölümleri Önemsiz Dosya Aktarım Protokolü (TFTP) gibi basit bir protokol kullanılarak istemciye aktarılır . Bu parçalar aktarıldıktan sonra, işletim sistemi önyükleme işleminin kontrolünü devralır.

İkinci aşama önyükleme yükleyicisinde olduğu gibi, ağ önyüklemesi, tipik olarak bir Önyükleme Öncesi Yürütme Ortamı (PXE) görüntüsü içeren ağ arabiriminin önyükleme ROM'u tarafından sağlanan genel ağ erişim yöntemlerini kullanarak başlar . Sürücü gerekmez, ancak işletim sistemi çekirdeği ve sürücüler aktarılıp başlatılıncaya kadar sistem işlevselliği sınırlıdır. Sonuç olarak, ROM tabanlı önyükleme tamamlandıktan sonra, ağ arabirimini kullanma becerisine sahip olmayan bir işletim sistemine ağ önyüklemesi yapmak tamamen mümkündür.

Kişisel bilgisayarlar (PC)

Önyükleme cihazları

Windows To Go önyüklenebilir flash sürücü, Canlı USB örneği

Önyükleme aygıtı, işletim sisteminin yüklendiği aygıttır. Modern bir bilgisayarın UEFI veya BIOS bellenimi , GPT veya Ana Önyükleme Kaydı (MBR) aracılığıyla yerel bir katı hal sürücüsü veya sabit disk sürücüsü gibi çeşitli cihazlardan önyüklemeyi destekler , böyle bir sürücü veya diskte, bir optik disk sürücüsünde ( El Torito kullanarak ), bir USB yığın depolama aygıtı ( FTL tabanlı flash sürücü, SD kart veya çoklu ortam kartı yuvası , USB sabit disk sürücüsü, USB optik disk sürücüsü vb.) veya bir ağ arabirim kartı ( PXE kullanarak ). Daha eski, daha az yaygın olan BIOS önyüklenebilir aygıtlar arasında disket sürücüleri , Zip sürücüleri ve LS-120 sürücüleri bulunur.

Tipik olarak, bellenim (UEFI veya BIOS), kullanıcının bir önyükleme sırası yapılandırmasına izin verir . Önyükleme sırası "önce DVD sürücüsü; ikincisi, sabit disk sürücüsü" olarak ayarlanmışsa, bellenim DVD sürücüsünden önyüklemeyi dener ve bu başarısız olursa (örneğin sürücüde DVD olmadığı için), yerel sabit disk sürücüsünden önyüklemeye çalışacaktır.

Örneğin , sabit sürücüde Windows yüklü bir bilgisayarda , kullanıcı önyükleme sırasını yukarıda verilene ayarlayabilir ve ardından sabit diske bir işletim sistemi kurmak zorunda kalmadan Linux'u denemek için bir Linux Live CD'si takabilir. sürmek. Bu, kullanıcının bilgisayar Açılışta kendi kendini sınamasını (POST) gerçekleştirdikten sonra hangi işletim sisteminin başlatılacağını seçtiği bir çift ​​önyükleme örneğidir . Bu ikili önyükleme örneğinde, kullanıcı DVD'yi bilgisayara takarak veya bilgisayardan çıkararak seçer, ancak bilgisayar klavyesini kullanarak seçilen aygıttaki bir önyükleme yöneticisi menüsünden hangi işletim sisteminin önyükleneceğini seçmek daha yaygındır . bir seçim BIOS veya UEFI Önyükleme Menüsü veya her ikisi; Önyükleme Menüsüne genellikle POST sırasında veya tuşlarına basılarak girilir ; BIOS Kurulum tipik basılarak girilir veya POST sırasında tuşları. F8F12F2DEL

Kullanıcının İnternet erişimi gibi çeşitli basit görevler için genellikle Linux'un bir türevi olana hızlı önyükleme yapmasını sağlayan çeşitli cihazlar mevcuttur ; örnekler Splashtop ve Latitude ON'dur .

Önyükleme sırası

Bir altıgen dökümü ait FreeBSD 'nin boot0 MBR
Önyükleme sırasında 2000'den Ödül Yazılım BIOS'u

Başlatıldığında, IBM uyumlu bir kişisel bilgisayarın x86 CPU'su, sıfırlama vektöründe bulunan yönergeyi gerçek modda yürütür ( 16-bit x86 işlemcilerde FFFF0h fiziksel bellek adresi ve 32-bit ve 64-bit x86 işlemcilerde FFFFFFF0h ), genellikle ROM içindeki bellenim ( UEFI veya BIOS ) giriş noktasını işaret ederek. Bu bellek konumu tipik olarak, yürütmeyi bellenim ( UEFI veya BIOS ) başlangıç ​​programının konumuna aktaran bir atlama talimatı içerir . Bu program , ana bellek ( DRAM ), PCI veri yolu ve PCI aygıtları (gömülü Option ROM'ların çalıştırılması dahil) gibi gerekli aygıtları kontrol etmek ve başlatmak için bir açılışta kendi kendine test (POST) çalıştırır . En ilgili adımlardan biri , bu noktada belleğin çok sınırlı olması gerçeğiyle daha da karmaşık hale gelen SPD üzerinden DRAM kurmaktır .

Gerekli donanımı başlattıktan sonra, bellenim ( UEFI veya BIOS ) , önyüklenebilir olanı bulana kadar önceden yapılandırılmış geçici olmayan depolama aygıtları listesinden ("önyükleme aygıtı sırası") geçer. Bir önyükleme MBR cihazı okunabilir olarak tanımlanır ve birinci sektörün son iki bayt içeren burada küçük endian kelime AA55h bayt sekansı bulunan, 55H , AAH disk üzerinde (aynı zamanda MBR önyükleme imza ) veya sektör içindeki kodun x86 bilgisayarlarda yürütülebilir olduğunun başka bir şekilde belirlendiği durumlarda.

BIOS, önyüklenebilir bir aygıt bulduğunda, önyükleme sektörünü 7C00h doğrusal adresine yükler (genellikle segment : offset 0000h : 7C00h , ancak bazı BIOS'lar hatalı olarak 07C0h : 0000h kullanır ) ve yürütmeyi önyükleme koduna aktarır. Sabit disk durumunda, buna Ana Önyükleme Kaydı (MBR) denir . Geleneksel MBR kodu, MBR'nin bölüm tablosunu önyüklenebilir olarak ayarlanmış bir bölüm ( etkin bayrak seti olan) için kontrol eder. Bir Eğer etkin bölüm bulunursa, MBR kodu yükler önyükleme sektörü olarak bilinen bu bölüm, kod Volume Boot Record (VBR) ve yürütür bunu. MBR önyükleme kodu genellikle işletim sistemine özgüdür.

Önyükleme sektörü kodu, birinci aşama önyükleyicidir. Bu yer almaktadır sabit diskler ve çıkarılabilir sürücüler ve ilk 446 içine sığması gerekir bayt arasında Master Boot Record varsayılan 64 baytlık için izin odasına sırayla bölüm tablosunda dört bölüm girişlerle ve iki baytlık önyükleme imza , hangi BIOS, uygun bir önyükleyici gerektirir - veya dörtten fazla bölüm girişi (her biri 16 bayt olmak üzere 16'ya kadar), bir disk imzası (6 bayt), bir disk zaman damgası (6 bayt), bir Gelişmiş Etkin Bölme (18 bayt) veya özel çoklu önyükleme yükleyicilerinin de bazı ortamlarda desteklenmesi gerekir. Gelen disket ve superfloppy Cilt Boot Records'un , en fazla 59 byte için işgal edilmiştir Genişletilmiş BIOS parametre bloğu üzerinde FAT12 ve FAT16 ise DOS 4.0 beri hacimleri FAT32 EBPB DOS 7.1 ile tanıtıldı önyükleyicinize için sadece 423 bayt bırakarak hatta 87 bayt gerektirir 512 baytlık bir sektör boyutu varsayıldığında. Microsoft önyükleme sektörleri bu nedenle geleneksel olarak önyükleme işlemine belirli kısıtlamalar getirdi; örneğin, önyükleme dosyasının dosya sisteminin kök dizininde sabit bir konumda bulunması ve ardışık sektörler olarak saklanması gerekiyordu, koşullar SYSkomut tarafından halledildi ve biraz DOS'un sonraki sürümlerinde rahat. Önyükleyici daha sonra dosyanın ilk üç kesimini belleğe yükleyebildi, bu da dosyanın geri kalanını belleğe yükleyebilen başka bir gömülü önyükleyici içeriyordu. Microsoft, LBA ve FAT32 desteği eklediğinde , boyut nedenleriyle iki fiziksel sektöre ulaşan ve 386 talimat kullanan bir önyükleyiciye bile geçtiler . Aynı zamanda, diğer satıcılar, yalnızca minimum kullanılabilir bellek (32 KB) ve işlemci desteği (8088/8086) üzerindeki orijinal kısıtlamaları gevşetmeden tek bir önyükleme sektörüne çok daha fazla işlevsellik sıkıştırmayı başardı. Örneğin, DR-DOS önyükleme sektörleri, önyükleme dosyasını FAT12, FAT16 ve FAT32 dosya sisteminde bulabilir ve dosya sabit bir yerde depolanmasa bile CHS veya LBA aracılığıyla bir bütün olarak belleğe yükleyebilir ve ardışık sektörlerde.

VBR genellikle işletim sistemine özeldir; ancak ana işlevi, ikinci aşama önyükleme yükleyicisi olan işletim sistemi önyükleme yükleyici dosyasını ( bootmgrveya gibi ntldr) etkin bir bölümden yüklemek ve yürütmektir . Ardından önyükleyici, işletim sistemi çekirdeğini depolama aygıtından yükler .

Etkin bölüm yoksa veya etkin bölümün önyükleme sektörü geçersizse, MBR bir bölüm seçecek (genellikle kullanıcı girişi yoluyla) ikincil bir önyükleyici yükleyebilir ve genellikle karşılık gelen işletim sistemi çekirdeğini yükleyen önyükleme sektörünü yükleyebilir. Bazı durumlarda, MBR, etkin bölümü başlatmayı denemeden önce ikincil önyükleyicileri yüklemeyi de deneyebilir. Her şey başarısız olursa, BIOS'a kontrolü geri vermek için bir INT 18h BIOS kesme çağrısı (ardından INT 18h'nin geri dönmesi durumunda bir INT 19h) vermelidir, bu daha sonra diğer aygıtları başlatmayı deneyecektir. ağ üzerinden uzaktan önyükleme .

Çoğu modern sistem (daha yeni Apple Mac'ler ve daha yeni PC'ler ) UEFI kullanır .

BIOS'tan farklı olarak, UEFI ( CSM aracılığıyla Eski önyükleme değil ) önyükleme sektörlerine dayanmaz, UEFI sistemi önyükleyiciyi ( USB diskindeki veya EFI Sistem Bölümündeki EFI uygulama dosyası ) doğrudan yükler ve işletim sistemi çekirdeği, önyükleme yükleyicisi tarafından yüklenir. .

Diğer önyükleme dizileri türleri

Bir kilidi bootloader bir bir Android ek kullanılabilir seçeneklerini gösteren cihaz

Bazı modern CPU'lar ve mikro denetleyiciler (örneğin, TI OMAP ) ve hatta bazen DSP'ler, doğrudan silikonlarına entegre edilmiş önyükleme koduna sahip önyükleme ROM'una sahip olabilir, bu nedenle böyle bir işlemci kendi başına oldukça karmaşık bir önyükleme sırası gerçekleştirebilir ve çeşitli kaynaklardan önyükleme programları yükleyebilir. NAND flash, SD veya MMC kartı vb. Bu tür aygıtları işlemek için gerekli tüm mantığı kablolamak zordur, bu nedenle bu tür senaryolarda bunun yerine entegre bir önyükleme ROM'u kullanılır. Önyükleme ROM'u kullanımı, kablolu mantığın sağlayabileceğinden daha esnek önyükleme dizileri sağlar. Örneğin, önyükleme ROM'u birden çok önyükleme kaynağından önyükleme yapmayı deneyebilir. Ayrıca, bir önyükleme ROM'u genellikle bir önyükleyici veya tanılama programını UART , SPI , USB ve benzeri gibi seri arabirimler aracılığıyla yükleyebilir . Bu özellik, bazı nedenlerden dolayı geçici olmayan bellekteki olağan önyükleme yazılımı silindiğinde genellikle sistem kurtarma amacıyla kullanılır ve ayrıca temiz kalıcı bellek takılı olduğunda ve dolayısıyla hiçbir yazılım olmadığında ilk kalıcı bellek programlaması için kullanılabilir. Henüz sistemde mevcut.

Bazı gömülü sistem tasarımları , entegre önyükleme ROM'u tarafından sistem RAM'ine yüklenen ek kod biçiminde bir ara önyükleme sırası adımı da içerebilir . Bu şekilde yüklenen ek kod, genellikle küçük miktarlarda RAM gibi platform sınırlamalarının üstesinden gelmenin bir yolu olarak hizmet eder, bu nedenle Das U-Boot gibi özel bir birincil önyükleme yükleyicisi, sistemin önyükleme sırasındaki bir sonraki adım olarak yüklenebilir. Ek kod ve önyükleme sırası adımına genellikle ikincil program yükleyici (SPL) denir .

JTAG gibi bir donanım hata ayıklama arabirimi kullanarak bir sistemin kontrolünü ele almak da mümkündür . Böyle bir arayüz, işlemci çekirdeğine uçucu olmayan belleği programlamak için gerekli eylemleri gerçekleştirmesi talimatını vererek önyüklenebilir kalıcı belleğe (örneğin flash) önyükleme yükleyici programını yazmak için kullanılabilir. Alternatif olarak, hata ayıklama arabirimi, bazı tanılama veya önyükleme kodunu RAM'e yüklemek ve ardından işlemci çekirdeğini başlatmak ve ona yüklenen kodu çalıştırma talimatı vermek için kullanılabilir. Bu, örneğin, desteklenen herhangi bir önyükleme aygıtında hiçbir yazılımın kalmadığı ve işlemcinin herhangi bir entegre önyükleme ROM'una sahip olmadığı yerleşik sistemlerin kurtarılmasına olanak tanır. JTAG standart ve popüler bir arayüzdür; birçok CPU, mikrodenetleyici ve diğer cihazlar JTAG arayüzleri ile üretilmektedir (2009 itibariyle).

Bazı mikrodenetleyiciler, bir sistemin keyfi kontrolünü almak veya doğrudan kodu çalıştırmak için kullanılamayan özel donanım arayüzleri sağlarlar, bunun yerine basit protokoller aracılığıyla önyükleme kodunun önyüklenebilir geçici olmayan belleğe (flash bellek gibi) eklenmesine izin verirler. Daha sonra üretim aşamasında, bu tür arayüzler, önyükleme kodunu (ve muhtemelen başka kodu) kalıcı belleğe enjekte etmek için kullanılır. Sistem sıfırlandıktan sonra, mikro denetleyici, tıpkı normal işlemcilerin önyükleme için ROM'ları kullanması gibi, kalıcı belleğine programlanan kodu yürütmeye başlar. En önemlisi bu teknik, Atmel AVR mikro denetleyicileri ve diğerleri tarafından da kullanılır. Çoğu durumda, bu tür arayüzler kablolu mantıkla uygulanır. Diğer durumlarda, bu tür arayüzler, GPIO pinlerinden entegre çip üzerinde önyükleme ROM'unda çalışan yazılım tarafından oluşturulabilir .

Çoğu dijital sinyal işlemcisi , bir seri mod önyüklemesine ve ana bilgisayar bağlantı noktası arabirimi (HPI önyüklemesi) gibi bir paralel mod önyüklemesine sahiptir.

DSP'ler durumunda, sistem tasarımında genellikle ikinci bir mikroişlemci veya mikro denetleyici bulunur ve bu, genel sistem davranışından, kesinti işlemeden, harici olaylarla ilgilenmeden, kullanıcı arabiriminden vb. sorumludur, DSP ise yalnızca sinyal işleme görevlerine adanmıştır. . Bu tür sistemlerde DSP, bazen ana bilgisayar işlemcisi olarak adlandırılan (bir Ana Bilgisayar Bağlantı Noktasına ad vererek) başka bir işlemci tarafından önyüklenebilir . Böyle bir işlemci bazen master olarak da adlandırılır , çünkü genellikle önce kendi belleklerinden önyüklenir ve daha sonra DSP'nin başlatılması da dahil olmak üzere genel sistem davranışını kontrol eder ve ardından DSP'nin davranışını daha fazla kontrol eder. DSP genellikle kendi önyükleme belleklerinden yoksundur ve bunun yerine gerekli kodu sağlamak için ana bilgisayar işlemcisine güvenir. Böyle bir tasarıma sahip en dikkate değer sistemler, bir DSP ve bir CPU/mikrodenetleyicinin bir arada bulunduğu cep telefonları, modemler, ses ve video oynatıcılar ve benzerleridir.

Birçok FPGA yongası, açılışta konfigürasyonlarını harici bir seri EEPROM'dan ("konfigürasyon ROM'u") yükler .

Ayrıca bakınız

Notlar

Referanslar