AMI BIOS’ta CPU mikro kodunu güncelleme veya MMTool ile çalışma örneği

Geçmişi hatırlamaya karar verdim – BIOS değişikliği.

Uzak öğrenci geçmişinde, bunlar mat hattındaki raid modülünün yerine geçiyordu. cbrom yardımcı programı ile soket A için epox panoları ve modbin yardımcı programı tarafından menü öğeleriyle bazı işlemler.


Şimdi, BIOSTAR TA770 A2+ anakartı (AM2+ soketi ve Award BIOS ile) için yeni AMD K10.5 nesil CPU’lara (AM2+\AM3 soketi içindir) destek eklemek için bir istek (yükseltme ihtiyacına doğru ilerliyor) var.

Mat satırında gerekli CPU_list ile uygun bir BIOS bulma işlemi. AM2+ soketi için Biostar kartları iyi sonuçlar vermedi. Çünkü sadece birkaç paspas. AM2+ soketinin altındaki kartlar (ve yalnızca NForce yonga setlerinde) Award BIOS ile donatıldı. Ve bu Biostar anakartlarının çoğu AMI BIOS ile donatılmıştır. Sadece son kongre, AMI BIOS veri matıyla “oynamak” için bir örnek bulmama izin verdi. Ödül BIOS’ları (ayrı bir makalede bahsedeceğim) ile ilgilenmeden önce bu makalede anakartlar ve mütevazı bir deneyim paylaşın.

Karşınızda BioStar A740G M2L+ donör (AMD 740G / SB710) ve BioStar A740G M2+ alıcı (AMD 740G / SB700). “L” harfini taşıyan anakart daha yeni ve sadece AM2+ işlemcileri desteklemekle sınırlı olan diğerinden farklı olarak resmi olarak AM3 işlemcileri destekliyor. BIOS’larının karşılaştırmalı bir analizini istemek.

ofisten sitesinde, bu anakartların her biri için yalnızca en son BIOS üretici yazılımı güncellemesini indiriyoruz:

– A740G M2+ için en son beta
A74GM916.BSS Eylül 2009 için

– A740G M2L + – dosyası için
74GCU511.BSS – Mayıs 2010

Ardından, kendimizi MMTOOL yardımcı programıyla donatıyoruz
(3.22, 3.23 ve 3.26 sürümlerini kullandım – işte herhangi bir fark bulamadım). MMTOOL ile çalışmak için, BIOS üretici yazılımı dosya uzantılarının *.rom olarak yeniden adlandırılması gerekir.

Şimdi iki MMTOOL’u başlatıyoruz ve iki mattan bellenim dosyalarını onlara yüklüyoruz. panolar. Her bir bellenimde, modül 11 “P6 Mikro Kodu”nun “Source size” sütunundaki (ve elbette “Size in Rom”daki) farklı boyutlara dikkat ediyoruz.

Ayrıntılı bir karşılaştırma için CPU YAMA bölümüne gidin:

– donör dosyası 74GCU511.rom – cpu_list, CPURev.ID desteği + 1 boş olan 14 satır içerir (Şekil 1).

– alıcının beta sürümü A74GM916.rom – cpu_list, CPURev.ID desteği + 1 boş olan 13 satır içerir (Şekil 2).

Bu iki BIOS’un listelerini analiz ettikten sonra, daha yeni bir anakart için geliştiricilerin AMD işlemciler için daha yeni yamalar kullandıkları, burada CPURev.ID 1043 ve 1062 ile iki satırın mikro kodunun düzeltildiği (2009/07/31 tarihli) açıkça görülüyor. ) ve CPURev .ID 10A0 eklenmiş bir satır (2010/02/17 tarihli).

Yöntem numarası 1 – ayırt edici dizelerin değiştirilmesi.

Bu üç ayırt edici satır, donör 74GCU511.rom’dan – “Bir Yama Verisi Çıkart” + “Uygula” eylemi + son 1 boş satırdan çıkarılır ve ayrı dosyalara kaydedilir.

Daha önce, A74GM916.rom alıcı dosyasının CPU PATCH bölümünde, CPURev.ID numaraları 1043 ve 1062 olan iki satır (mikro kodu daha sonra ekleyeceğimizden daha eski) ve son boş satır “Bir Yama Verisini Sil” eylemleridir. + “Uygula” ( Şekil 3).

Bundan sonra, CPURev.ID 1043, 1062, 10A0 için önceden alınan dört yama dosyasından ve boş bir dizeden sırayla daha yeni bir mikro kod eklenir (Şekil 4).

Alıcı dosyasında bu değişiklikleri uygulamadan önce ve uyguladıktan sonra, modül 11 “P6 Mikro Kodu”nun boyutlarına (“Kaynak boyutu” ve “Rom’daki Boyut”) dikkat edin.

Uygulamadan sonra alıcı için bu boyutlar (Şekil 6) aynı modülün 74GCU511.rom dosyasındaki (Şekil 5) boyutlarıyla aynı hale gelecektir.

Modül boyutunun nasıl oluştuğunu anlamanın kolay olduğunu belirtmekte fayda var (CPU PATCH bölümündeki her satır 2048 bayt alır).

Değişiklikleri yeni bir dosya adı altında kaydetmek daha iyidir.

Ardından, MMTOOL’un hatasız tekrar açılması için bu dosya kontrol edilir.

Yöntem numarası 2 – tüm modülü değiştirerek değişiklik.

Aslında, internette açıklanan kişidir (örneğin, kısmen burada).

MMTOOL’da 74GCU511.rom donör dosyasını daire içine alıyoruz, “Extract” sekmesine gidin ve “P6 Micro Code” satırını arayın. Sonra onu seçiyoruz, “module file” alanında ona ncpucode.bin adını veriyoruz ve Extract modülünü “sıkıştırılmamış formda” çalıştırıyoruz.

Şimdi MMTOOL’da A74GM916.rom alıcı dosyasını yüklüyoruz, “Değiştir” sekmesine gidin ve tekrar “P6 Mikro Kodu” satırını arayın. Seçin, Gözat’ı bekleyin ve donör modülümüz ncpucode.bin’i seçin. Değiştir’e tıklayın ve ardından bu modülü değiştirmeyi kabul edin.

Yine, alıcı dosyasındaki bu modülü değiştirmeden önce ve sonra modül 11 “P6 Mikro Kodu”nun boyutlarına (“Source size” ve “Size in Rom”) dikkat edin.

Uygulamadan sonra, alıcı için bu boyutlar (Şekil 7) aynı modülün 74GCU511.rom dosyasındaki boyutlarıyla (Şekil 5) aynı hale gelecektir.

Her iki yöntemin sonuçlarını karşılaştırırsak (Şekil 6 ve Şekil 7), güncellenmiş “P6 Mikro Kod” modülünün ardından “Kullanıcı Tanımlı veya Ayrılmış” modülünün RomLoc adresinde 10 baytlık fark edilir bir fark vardır – belki bunlar MMTOOL’un özellikleri…

Sonuç ve son söz.

Bu şekilde, çeşitli matların farklı BIOS yazılımlarından. AM2+ soketindeki anakartlarda (ve hatta karşılaştırma için AM3’te) hem Award hem de AMI BIOS’larında her CPURev.ID türü için en yeni mikro kodları bulabilir ve ardından bunları tek bir ncpucode.bin’de birleştirebilirsiniz.

Daha sonra, çeşitli BIOS’ların incelenen ürün yazılımı arasından en son tarihlere sahip 32768 bayt 16 satırlık (mikro kodlar) boyutunda aldım: AM2 + soketi için 15 farklı işlemci revizyonu (040A, 0413, 0414, 041B) , 0433, 0680, 0C1B, 1000, 1020, 1022, 1040, 1041, 1043, 1062, 10A0) ve RevID 0000 için 16. satır (görünüşe göre diğer satırlarda açıklanmayan işlemci revizyonları için bazı evrensel mikro kodlar – IMHO, örneğin, gelecek olanlar).

Gerekli her işlemci revizyonu için gerekli yamaları (mikrokodları) içe aktararak kendi ncpucode.bin’inizi birleştirirken, kesinlikle herhangi bir AMI BIOS ürün yazılımını P6 Mikro Kod modülü ile laboratuvar olarak kullanabilirsiniz.

Ancak, bellenim dosyasını kaydederken, MMTOOL’un hoş olmayan bir özelliği fark edildi – nedense yardımcı program P6 Mikro Kod modülünün sonuna 8 sıfır bayt ekledi – 32776 bayt boyutunda olduğu ortaya çıktı. Aynı MMTOOL’u laboratuvar belleniminden çıkarırken, ncpucode.bin dosyasının boyutu da 32776 bayt oldu.

Bunu, herkesin kullanabileceği basit düzenleyicilerle düzenleyebilirsiniz. Ancak (yanlışlıkla) alternatif bir yol da keşfettim: BIOS_EXT.EXE evrensel yardımcı programı tüm modülleri laboratuvar belleniminden çıkardığında, ncpucode.bin dosyasının zaten 32768 baytlık doğru boyutta olduğu ortaya çıktı – BIOS_EXT.EXE yardımcı programının kendisi dosyaya kaydederken “P6 Mikro Kod” modülünün sonunu doğru bir şekilde belirledi.

Similar Posts

Leave a Reply

Your email address will not be published.