BIOS 'ROM çipi neden CMOS teknolojisi kullanılarak yapılmıyor?


9

BIOS / CMOS'ta bir bilgisayar donanım kursu okuduktan sonra, BIOS 'ROM yongasının neden CMOS teknolojisi kullanılarak oluşturulmadığını ve neden saklanması için "CMOS" adlı ayrı bir çipe bağlandığını hala belirleyemiyorum. yapılandırma bilgisi.

Bu ders notundan alınmıştır :

Programlar sistem BIOS çipinde saklanırken değiştirilebilir veriler bir CMOS çipinde saklanır

CMOS Donanım Grubu : Ortak, gerekli ancak değişebilen donanım - RAM, sabit sürücüler, disket sürücüler, seri ve paralel bağlantı noktaları

BIOS'un bir flash bellekte saklandığını ve CMOS MOSFET teknolojisinin diğer uygulamalara kıyasla daha az güç harcadığını biliyorum.

Neden sadece diğer depolama aygıtları gibi CMOS kullanmayan BIOS ROM - avantajı tam olarak nedir? BIOS yapılandırma bilgileri neden "CMOS yongası" yerine kendi ROM yongasında saklanamıyor?


1
CMOS, verileri tutmak için pil gerektirmez mi? Pil bittiğinde yapılandırma ve saat ayarlarını kaybetmek bir şeydir, ancak BIOS kaybedilirse bir felaket olurdu. Son cümlenizi düzenleyebilirsiniz. Ne istediğini bulamıyorum.
Transistör

1
Ayarlar RAM iken Bios ROM
Tony Stewart Sunnyskyguy EE75

1
@Kais ROM'un hiçbir bölümü yazılamaz. Terimin tam anlamının aksine. Teknolojiler arasında - Silinebilir Programlanabilir ROM'lar teklif ettiğiniz şeyi mümkün kılmaya başladı ve şimdi devre programlamasında basit, aslında bu genellikle yapılır. Ancak aynı zamanda, bir çipin düşük güç köşesini pil üzerinde canlı tutmak ve bazı ayarları korumak da mümkün olmuştur, bu nedenle bazı sistemlerde de kullanılan bir seçenektir.
Chris Stratton

2
"ROM", " Salt Okunur Bellek" anlamına gelir . Öyle tanımı gereği yazılabilir değil. Tipik olarak gerçek bir ROM, metalizasyon katmanlarının veya hatta gerçek bileşen transistörlerinin özelleştirilmesini içerir. Buna karşılık, içeriği değiştirilebilen, ancak hız ve RAM sayısında daha fazla sınırlama bulunan birçok "Çoğunlukla Oku" bellekleri (PROM, EPROM, EEPROM, Flash, vb.) Vardır. Tipik olarak bugün sadece bir işlemcinin içinde gerçek bir ROM bulursunuz (ve o zaman bile yazımınız kilitlendiğiniz bir şey olabilir), harici bir cihaz doğru bağlantılarla yazılabilir olacak.
Chris Stratton

1
Örneğin, modern bir sistemde, seri NOR flaşının içeriğini belleğe nasıl okuyacağını ve yürütmeye başlayacağını bilen işlemci içinde küçük bir ROM olabilir. NOR flaşındaki BIOS yükseltmeye maruz kalırken, onu flaştan RAM'e kopyalayan ve içine atlayan küçük önyükleme saplaması yonga üretimi sırasında kalıcı olarak sabitlenir.
Chris Stratton

Yanıtlar:


33

Uygulama teknolojisini işlevsellik için konuşma dilleri terimleriyle birleştiriyorsunuz.

CMOS - Tamamlayıcı Metal Oksit Yarı İletken - hem N-Kanal hem de P-Kanal alan etkili transistörleri kullanarak mantık ve ilgili devreleri yapma yöntemidir. Tanımlayıcı özelliklerinden biri son derece düşük statik güç tüketimi - güç neredeyse sadece durum değiştirilirken kullanılır. Sonuç olarak, bir CMOS statik bellek yongası, bir pil üzerinde yıllarca içeriğini tutabilir ve yarı kalıcı bilgileri saklamak için kullanışlı bir yerdir.

BIOS ve ilgili başlangıç ​​kodu geleneksel olarak PROM veya EPROM aygıtlarında saklanır. IBM PC çağındaki EPROM'lar tipik olarak NMOS gibi CMOS öncesi teknolojilerde üretilmiştir, ancak kritik ayrım, bunların bilgisayara yüklendiğinde tipik olarak yazılamaması değil, sadece özel bir programlayıcıda olmasıdır. Ayrıca, birçok çağdaş sistem ve klon EPROM kullanırken, IBM-PC'nin gerçek üretim versiyonları daha ucuz yeniden programlanamayan PROM'ler kullanıyordu (pinouts tipik olarak kullanımda uyumludur).

PC-AT tasarımı daha sonra özelleştirilebilir ayarları saklamak için pil destekli bir CMOS bellek ve ayrıca (belki de aynı cihazda) kalıcı bir gerçek zamanlı saat ekledi. Bu, son kullanıcılar tarafından CMOS olarak adlandırıldı, ancak elbette sadece o zaman hızla yayılan bir çip teknolojisi tarafından sağlanan belirli bir kullanımdı.

Bugün elbette BIOS için paralel E / PROM kullanmıyoruz, bunun yerine seri NOR flaşı kullanıyoruz ve içeriği yürütmek için daha hızlı RAM'e aktarıyoruz. Modern FLASH yongaları olan CMOS türetilmiş teknolojilerin yapılan Aslında. Ve bunlar genellikle devrede yeniden programlanabilir. Pille desteklenen bir RAM'e veya yeniden programlanabilir flaşa yarı kalıcı yapılandırma bilgilerini koymak isterse gerçekten sistem tasarımcısına bağlıdır - son kullanıcı veya önyükleme sonrası işletim sistemi gerçek bir görünüme sahip olmayabilir.

Ancak ayarlar için flaş kullanılsa bile, genellikle pille çalışmaya devam eden düşük güçlü bir gerçek zamanlı saat olacaktır.


1
CPU ilk kez başlatıldığında, RAM başlatılmaz (DRAM init karmaşıktır). Tek yaptığı, belirli bir konumda kod yürütmektir (genellikle SPI üzerinden BIOS yongasıdır, ancak hata ayıklama nedenleriyle eski PCI veya LPC üzerinden BIOS aramak için sonraki botları programlayabilirsiniz). RAM'e konan tek şey, IVT (Kesme Vektör Tablosu) ve ilgili kod gibi şeylerdir, ancak gerçek moddan çıkmadan önce yararlıdır. CPU önyüklenirken gerçek BIOS yürütmesi bellekte gerçekleşmez. Daha fazla bilgi için wiki.osdev.org/System_Initialization_(x86) adresine bakın .
orman

1
@forest - bunun doğru olması olası değildir ve bağlantınızdaki oldukça geniş açıklama tarafından desteklenmemektedir. Yeniden tasarlanan bazı önbellek koçlarından veya başka bir şeyden kaynaklanabilir, ancak doğrudan SPI'den yürütme çok iyi çalışmaz ve kaçınılması muhtemeldir. Daha sonra, ana sistem RAM'i dolduğunda, bios'un bundan çıkacağı açıktır - bu tür gölgeleme, paralel EPROM bios günlerinde bile yaygındı.
Chris Stratton

1
Evet, ana bellek başlatıldıktan sonra IVT, BDA, EBDA vb. Kopyalanır. Ancak bundan önce doğrudan yürütülür. Önbellekte yürütülmez (bu, BIOS tarafından açıkça başlatılmasını gerektiren CAR modu, Cache-As-RAM olacaktır).
orman

1
Lütfen bunu daha ayrıntılı olarak açıklayan stackoverflow.com/questions/5300527/… adresine bakın . Özellikle, BIOS önyükleme bloğunun doğrudan SPI üzerinden nasıl yürütüldüğü. Bu, BIOS'un bu alanını belleğe eşleyerek mümkündür (elbette, bellek gerçekten başlatılmadan önce, tıpkı MMIO gibi). Yani bu sadece doğru değil, doğru.
orman

Chris Stratton, "daha ziyade seri NOR flaş kullanmak ve yürütülmesi için daha hızlı RAM içine içeriğini aktarmak" bazı ilk yürütme dışındaki kod SPI doğrudan "veri taşımak" Ve tam olarak nasıl bu "içerik transferi" düşünüldüğünü mı?
Ale..chenski

12

PC ilk icat edildiğinde, üzerindeki mantığın çoğu güce aç NMOS ve TTL yongalarıydı. CMOS çok yeniydi ve onu kullanan PC'deki tek devreler, güç kapalıyken yapılandırma RAM'i ve gerçek zamanlı saat gibi pille çalışması gereken şeylerle ilişkiliydi.

Günümüzde, mantığın neredeyse tamamı, güce aç CPU ve BIOS'u tutan flaş EEPROM dahil CMOS'tur. Yani bir anlamda, soru geçersiz önermesine dayanır - flaş EEPROM olan CMOS. Bununla birlikte, herhangi bir nedenle, bir PC'deki "CMOS" terimi hala sadece RAM ve RTC işlevlerini ifade eder.

BIOS'un neden geçici olmayan flaş yerine geçici RAM'de depolanmadığını soruyorsanız, bunun nedeni pillerin arızalanması ve BIOS'un silinmesi, bilgisayarı etkili bir şekilde "tuğlalayacaktır" ve tekrar çalışmasını sağlamak için özel bir donanım gerektirir.


1
"Yani bir anlamda, sorunuz geçersiz bir önermeye dayanıyor - flaş EEPROM CMOS'tur" - "Programlar sistem BIOS çipinde saklanırken, değiştirilebilir veriler bir CMOS'da saklanır" ifadesi beni biraz karıştırdı, şimdi Anladım.
Kais

"BIOS'un neden kalıcı flaş yerine geçici RAM'de saklanmadığını soruyorsanız, bunun nedeni pillerin arızalanmasıdır" Hayır, tam tersi - CMOS çipindeki bilgilerin neden BIOS flaşında depolanmadığı.
Kais

3
@Kais çünkü bir flash belleğin üzerine rastgele yazılamaz ve flash belleğin tüm sayfalarını yeniden yazmayı yönetmek hataya açık bir şekilde işleri karmaşık hale getirir. Ayrıca, bazı BIOS'ların kaydettiği olay günlükleri gibi şeyler vardır, bu, flaşın yanlış anda kesilmesi durumunda flaşınızı yıpratma ve / veya bozuk verilerle sonuçlanma tehlikesi ile birlikte gelir. Gerçek EEPROM bellek mümkün olabilir - ama a) yazmak YAVAŞDIR ve b) saat için zaten düşük güçte bir piliniz vardır .
rackandboneman

1
... ayrıca tüm sistem flaş yaygın olarak kullanıma sunulmadan önce tasarlandığından, BIOS her iki PROM'da da saklanır (her bir bitin 1 mi 0 mı olduğunu belirlemek için sigortalar kullanır ve sadece 1'den 0'a değiştirilebilir, ancak değiştirilemez) tekrar tekrar) veya maskeli ROM (programlamak için çipin üzerine yerleştirilmiş ve üretimden sonra hiç değiştirilemeyen bir metal tel katmanı kullanır), bu nedenle ayrı bir cihaz gerekliydi ve o zamandan beri geriye dönük uyumluluğu korumak için her şeye ihtiyaç vardı .
Jules

8

"CMOS" kısaltmasının iki kullanımını karıştırdığınızı düşünüyorum. Tamamen tamamlayıcı MOS transistör teknolojisinden üretilen yongalar vardır. Aslında, günümüzde neredeyse tüm çipler, bir Flash çipindeki dijital kontrol devresinin çoğunu içeren bu şekilde inşa edilmiştir.

CMOS'un diğer kullanımı, ilk günlerde bazı ayarları saklayan çip ve takılı bir pil ile gerçek zamanlı saat anlamına gelen PC endüstrisinde devam etti. O günlerde (80'lerin başında) bir PC'deki büyük yongaların büyük kısmı NMOS teknolojisi ve çeşitli mantık yongaları bipolar transistör mantığı (TTL, LSTTL vb.) İdi. Kullanılan tek CMOS yongası RTC yongasıydı ve böylece "CMOS" olarak biliniyordu.

Bu günlerde RTC artık bir PC mimarisi cihazında ayrı bir yonga değil. Bunun yerine doğrudan anakart yonga setine yerleştirilir (bu arada tamamlayıcı MOS devresi ile üretilir). Bu günlerde herhangi bir BIOS'un, ayarları saklamak için yonga setinin RTC kısmındaki eski pil destekli RAM'i kullanması nadirdir. Bunun yerine BIOS, ayarlarını kalıcı bir şekilde kaydetmek için SPI Flash depolama aygıtının birkaç sayfasını kullanır. Bu nedenle, pil bittiğinde veya bağlantısı kesildiğinde PC'de kaybolan minimum ayarlar vardır. Pil gücünün çıkarılmasında kaybolan minimum ayarlar, yonga setinin güç açma ve sıfırlama davranışını kontrol eden ve aslında pille çalışan RAM hücrelerinde bile değil, madeni paradan güç alan özel düşük güçlü flipflop mandallarında saklanan belirli ayarlardır. pil.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.