Bộ nhớ chỉ để đọc (ROM: Read-only memory) là loại bộ nhớ lưu dữ liệu vĩnh cửu hay bán vĩnh cửu. Nó được gọi là chỉ đê đọc (read only) vì nó không thể hay khó để ghi vào. ROM cũng được gọi là bộ nhớ ổn định (Nonvolatile memory) bỏi vì bất kỳ dữ liệu nào lưu trữ trên ROM vẫn tồn tại ngay cả khi nguồn điện bị ngắt. Chính vì điều đó mà ROM là nơi lý tưởng để đặt tập lệnh khởi động của PC đó là phần mềm khởi động hệ thống (BIOS). Lưu ý là ROM và RAM không phải là trái ngược nhau, giống như nhiều người vẫn tưởng vậy. Trên thực tế, ROM theo nghĩa kỹ thuật là tập hợp con của RAM hệ thống. Nói một cách khác, một phần của khoảng địa chỉ bộ nhớ truy cập ngẫu nhiên hệ thống được ánh xạ vào trong một hay nhiều chip ROM. Điều đó là cần thiết để chứa phần mề cho phép máy tính cá nhân khởi động; nếu không thì bộ xử lý sẽ không có chương trình trong bộ nhớ để vận hành khi được bật nguồn.
Cho ví dụ, khi một máy tính cá nhân được bật nguồn, bộ xử lý tự động nhảy tới địa chỉ FFFF0h, mong đợi tìm thấy các tập lệnh nói bộ xử lý điều phải làm. Ví trí này chính xác là 16 byte từ cuối megabyte đầu tiền của khoảng bộ nhớ RAM, cũng như điểm cuối cùng của chính ROM. Nếu vị trí này được ánh xạ vào những chip RAM thộng dụng, bất kỳ dữ liệu nào lưu trữ ở đó sẽ biến mất khi nguồn điện tắt, và bộ xử lý sẽ không tìm thấy tập lệnh để chạy vào lần tới khi nguồn điện được mở. Bằng cách đặt một chip ROM vào địa chỉ này, một chương trình khởi động hệ thống được nạp cố định vào ROM và sẽ luôn luôn có sẵn bắt cứ lúc nào hệ thống được mở.
Thông thường, ROM hệ thống bắt đầu tại địa chỉ E0000h hay f0000h, là 128KB, các chương trình ROM được cho phép chiếm toàn bộ phần còn lại 128KB của megabyte đầu tiên, bao gồm địa chỉ tập lênh khởi động FFFF0h quan trọng, được định vị 16 byte từ cuối khoảng bộ nhớ BIOS. Một vài chip ROM bo mạch chủ lớn hơn, kích cỡ đến 256KB hay 512KB. Mã thêm vào trong những chip này được cấu hình hoạt động ROM card Video (địa chỉ c0000h-c7fffh) trên nhưng bo mạch chủ với video dựng sẵn và có thể thậm chí chứa các trình điều khiển ROM thêm vào được cấu hình bất kỳ từ C8000h đến dffffh để hổ trợ các thiết bị tên bo thêm vào, như là thiết bị tiếp hợp SCSI hay mạng.
Hình 5.2 thể hiện sơ đồ megabyte đầu tiên của bộ nhớ trong một PC; chú ý là vùng bộ nhớ trên dành cho những card tiếp hợp và ROM BIOS bo mạch chủ tại cuối megabyte đầu tiên.
Một số người nghĩ rằng thật là kỳ lạ khi máy tính cá nhân bắt đâu ra thực thi các tập lệnh BIOS 16 byte từ nơi cuối của ROM, nhưng thiết ke này được xây dựng có mục đích vào các bộ xử lý Intel x86. Tất cả mf người lập trình ROM phải làm là đặt một tập lệnh JMP (jump) tại địa chỉ đó hướng dẫn bộ xử lý nhả đến nơi bắt đầu thật sự của ROM trong hầu hết các trường hợp, gần F0000h vào khoảng 64KB trước đó trong sơ đồ bộ nhớ. Nó giống như là quyết định đọc mỗi quyển sách khởi đầu 16 trang từ tận cùng và sau đó có tất cả nhà xuất bản sách đồng ý đặt một tập leenhjowr đó để nhảy ngược số trang cần thiết để đến trang 1. Bằng cách thiết lập vị trí khởi động bộ xử lý như vậy, Intel cho phép ROM phát triển lên bất kỳ kích cỡ nào, trong khi giữ nó ở vùng trên của các địa chỉ trong megabyte đầu tiên khoảng địa chỉ bộ nhớ.
Các ROM Card tiếp hợp tự động được quét và đọc bởi ROM bo mạch chủ trong phần đầu của quy trình khởi động trong suốt POST. ROM bo mạch chủ quét một vùng RAM đặc biệt dành riêng cho các ROM card tiếp hợp (địa chỉ C0000-dffffh) tìm kiếm các byte ký tự 55aah. Vùng nayfchir ra sự bắt đầu của ROM.
Tất cả các ROM tiếp hợp phải bắt đầu với 55aah; nếu không bo mạch chủ sẽ không nhận diện được chúng. Byte thứ 3 cho biết kích cỡ của ROM trong các đơn vị 512 byte được gọi là các đoạn (paragraph), và byte thứ 4 là sự bắt đầu thực của các chương trình trình điều khiển. Kích cỡ byte được dùng bởi ROM bo mạch chủ cho các mục đích kiểm tra. ROM bo mạch chủ sẽ cộng tất cả các byte vào ROM và chia tổng cho số byte. Kết quả sẽ tạo ra một số dư 100h. Do đó, khi làm một ROM cho một bộ tiếp hợp, nhà lập trình sử dụng một byte “fill” vào điểm cuối để kiểm tra tổng có kết quả đúng. Bằng cách sử dụng kiểm tra tổng, bo mạch chủ kiểm tra từng ROM tiếp hợp trong suốt POST và đánh dấu bất cứ gì xuất hiện bị hư.
BIOS bo mạch chủ chạy các chương trình một cách tự động trong bất kỳ ROM tiếp hợp nào mà nó tìm thấy trong suốt quá trình quết. Bạn có thể thấy điều đó trong hầu hết các hệ thống khi bạn bật máy tính lên, trong suốt quy trình POST bạn thấy BIOS video card khởi chạy và thông báo sự có mặt của nó.
Việc kèm ROM (ROM shadowing)
Các chip ROM về tính chất là rất chậm, với số lần truy cập chừng 150ns(nano giây, hay một phần tỷ của giây), so sánh với DRAM thì số lần truy cập ít hơn 10ns trong phần lớn hệ thống. Bởi vì điều này, gân như tất cả hệ thống các ROM được kèm (shadowed), có nghĩa là chúng được sao chép vào RAM vào lúc khởi động để cho phép truy cập nhanh hơn trong suốt hoạt động bình thường. Quy trình kèm sao chep ROM vào RAM và kế tiếp gán cho RAM cùng địa chỉ như thường. Quy trình kèm sao chẹp ROM vào RAM và kế tiếp gán cho RAM cùng địa chỉ như ROM đã sử dụng ban đầu, làm vô hiệu hóa ROM thật sự trong suốt quy trình. Điều này làm cho hệ thống có vẻ như là nó có ROM chạy cùng tốc độ RAM.
Hiệu saauts nâng lên từ việc kèm ROM card tiếp hợp là thường rất thấp, nó có thể dẫn đến nhiều vấn đề nếu không được cài đặt đúng đắn. Do đó, trong hầu hết trường hợp, khôn ngoan là chỉ kèm bo mạch chủ (và có thể là BIOS video card) và không đụng đến những cái khác.
Một cách tiêu biểu, kèm là hữu dụng chỉ khi đang chạy hệ điều hày 16 bit, như DOS hay Windows 3x. Nếu bạn đang chạy hệ điều hành 32 bit hay 64 bit việc kèm thực sự vô dụng bở vì các hệ điều hành này không dùng mã ROM 16 bit trong khi chạy. Thay vào đó, các hệ điều hành này nạo các trình điều khiển 32 bit vào RAM, thay thế mã ROM 16 bit chỉ được dùng trong suốt quá trình khởi động hệ thống.
Nếu có mặt, tùy chọn kèm (shadowing) được tìm thấy trong chương trình CMOS Setup trong ROM bo mạch chủ được để cập kỹ hơn trong chương này.
Các loại chip ROM
Có 4 loại chip ROM chính được sử dụng trong PC như sau:
ROM – Bộ nhớ chỉ đọc (Read-only memory)
PROM – ROM có thể lập trình (Programmable ROM)
EPROM – PROM có thể xóa (Erasble PROM)
EEPROM – PROM có thể xóa bằng điện (Electrically erasable PROM), cũng đôi khi được gọi là flash ROM.
Bất kể lọa ROM nào hệ thống sử dụng ,dữ liệu được lưu trữ trong một chip ROM là ổn định và tồn tại vô hạn định từ khi bị xóa hoặc bị ghi đè lên có chủ đích.
ROM (ROM thật hay ảo)
Khởi đầu, hầu hết các ROM được sản xuất với dữ liệu nhị phân (0s à 1s) sẵn sàng “thay thế” hay tích hợp vào khuôn. Khuôn này đại diện cho bản thân chip silic. Các ROM này được gọi là các ROM ảo (Mask ROM) bởi vì dữ liệu được định dạng vào mặt nạ từ đó khuôn ROM được sản xuất theo tiến trình kỹ thuật in ảnh (photolithography). Loại phương pháp sản xuất này là kinh tế nếu bạn đang tạo ra hàng ngàn ROM với cùng thông tin. Tuy nhiên, nếu phải thay đổi một bit đơn, bạn phải làm lại mặt nạ, là một công việc đắt tiền. Bởi vì các chi phí và không linh động, không còn ai sử dụng các ROM ảo nữa.
Các ROM ảo là tương tự giống như ghi trước các CD-ROM. Nhiều người nghĩ là một CD-ROM đầu tiên được sản xuất như một khoảng trống và sau đó dữ liệu được ghi vào nó bằng tia laser, nhưng điều đó không đúng. Một CD-ROM đúng theo nghĩ đen là một miếng nhựa được in dấu trong máy in và dữ liệ được đúc trực tiếp không phải ghi vào. Việc thi thực sự chỉ cho những đĩa gốc từ đó các đĩa đúc hay in dấu được sản xuất.
PROM
PROM là một loại ROM trống khi mới và phải được lập trình với bất cứ dữ liệu nào bạn muốn. PROM được phát minh vào cuối thập niên 1970 bởi Texas Instruments và sẵn sàng trong kích cỡ từ 1KB (8KB) đến 2MB(16MB) hay nhiều hơn. Chúng được định dạng bở các số phụ tùng (part number), thường là 27nnnn – 27 cho biết PROM loại T1 và nnnn biểu thị kích cỡ của chip bằng các kilobit (không phải là byte). Cho ví du, hầu hết PC dùng PROM đi với các chip 27512 hay 271000 cho biết 512Kb(64KB) hay 1Mb(128KB), thẻ thứ tự.
Ghi chú:
Kể từ năm 1981, tất cả các xe được bán ở Hiệp chủng quốc Hoa Kỳ sử dụng các máy tính trên bo với vài dạng ROM chứa phần mềm điều khiển. Ví dụ, Pontiac Turbo Trans Am 1989 có máy tính trên bo chứa một PROM 2732, là một chip 32Kb (4KB) trong ECM (electronic control module hay máy tính xe) dưới bảng đồng hồ (dash). Chip này chứa phần mềm vận hành xe cũng như các bãng dữ liệu mô tả bộ đánh ử sớm, phân phối nhiên liệu, và động cơ và các tham số vận hành xe khác. Nhiều thiết bị kết hợp với máy tính sử dụng các PROM để lưu trữ các chương trình vận hành của chúng.
Mặc dù chúng ta có các con chip nyaf là trống khi mới, chúng về mặt kỹ thuật được nạp trước nhị phân 1s. Theo nghĩ khác, môt jchip ROM 1Mb được sử dụng trong PC có thể đi cùng 1 triệu (thực tế 1,048,576) định vị bit mà mỗi bit chứa một nhị phân 1. Mỗi PROM trống được lập trình sau đó, là hoạt động ghi vào nó. Điều này thường đòi hỏi một cái máy đặc dụng gọi là máy lập trình thiết bị, hay máy lập trình ROM, hay máy đốt ROM (xem hình 5.3).
Lập trình ROM đôi khi bị xem là đốt nó vì về kỹ thuật đó là một mô tả thích hợp của quy trình. Mỗi nhị phân 1 bit có thể coi là một cầu chì (fuse) không bị ảnh hưởng. Hầu hết các chip chạy 5 volt, nhưng khi một PROM được lập trình một điện áp cao hơn (thông thường là 12 volt) đưuọc thay thế ở các địa chỉ khác nhau bên trong con chip. Điện áp cao hơn này thực sự thổi hoặc đốt cháy các cầu chì tại các vị trí mong muốn, do đó biến bất kỳ 1 có sẵn thành một ngược; đó là, bạn không thể thây đổi một 0 trởi lại thành một 1 được.
Máy lập trình thiết bị (PROM burner) khảo sát chương trình bạn muốn ghi vào chip đó và sau đó những thay đổ có chọn lọc chỉ từ 1s thành 0s ở nơi cần thiết trong con chip.
Các chip PROM thường được xem như là các chip có thê lập trình một lần (OTP: one-time programmable) bởi lý do đó. Chúng được lập trình một lần và không bao giờ xóa. Hầu hết các PROM rất rẻ (khoảng $3 cho một PROM bo mạch chủ PC thông dụng), do đó nếu bạn muốn thay đổi chương trình trên ROM, bạn loại bỏ nó và lập trình một cái mới với dữ liệu mới.
Công việc lập trình một PROM ở bất kỳ nơi nào cần từ vài giây cho tới vài phú, phụ thuộc vào kích vỡ của chip và thuật toán được sử dụng bởi thiết bị lập trình. Hình 5.3 chỉ ra một minh họa của máy lập trình ROM thông dụng có nhiều socket. Đây được gọi là máy lập trình nhóm và có thể lập trình vài chip cùng một lúc, tiết kiệm thời gian nếu bạn có vài chip để ghi cùng một dữ liệu. Những máy lập trình rẻ hơn thì chỉ có một socket, thich họp cho cá nhân.
Tôi sử dụng và giới thiệu máy lập trình rất rẻ tiền từ công ty tên là Andromeda Research Labs (www.arlabs.com ).
Lập trình theo đặt hàng của những chip PROM
Tôi thậm chí dùng một máy lập trình PROM để lập trình lại chip trong xe Turbo Trans Am 1989, thay đổi thông số nhà máy định trước về tốc độ và bộ hạn chế vòng quay rpm. Khởi động máy nạp kiểu tuabin, các điểm khóa bộ chuyển đổi xoắn, bộ đánh lửa sớm, phân phối nhiên liệu, tốc đọ chạy không, và nhiều nữa! Tôi cũng kết hợp với một hộp công tắc dưới bảng đồng hồ cho phép tôi chuyển mạch trong 4 con chip khác nhau, ngay khi động cơ đang hoạt động. Một con chip tôi tạo ra đặt tên là “Valet chip”, khi sử dụng, đóng vòi nhiều liệu tại 36 dặm một giờ và khởi động lại chúng khi tốc độ xe hạ xuống còn 35mph. Một chip khác tôi tạo ra để ngắt nhiên liệu đến động cơ, cái mà khi tôi dùng cho mục đích an toàn khi xe được đậu. Nếu bạn có hứng thú với thiết bị chuyển mạch chip hay những con chip riêng biệt cho Turbo Trans Am hay Buick Grand National của bạn, tôi đề nghị liên hệ với Casper’s Electroniscs at www.casperselectronics.com.
EPROM
Một dạng khác của PROM đang trở nên phổ biến là EPROM. Một EPROM là một PROM có thể xóa. Một chip EPROM có thể dễ dàng được nhận ra bởi bộ cửa sổ tinh thể thạch anh trong suốt trong một gói chip trực tiếp trên khuôn (xem hình 5.4). Bạn nhìn thấy khuôn qua cái cửa sổ đó! Những EPROM có cùng sự sắp xếp theo thệ thống số phụ tùng 27xxxx như PROM tiêu chuẩn, chúng như nhau về mặt chức năng và vật lý ngoại trừ cửa sổ thạch anh trong suốt trên khuôn.
Mục đích của sổ là cho phép các tia tử ngoại chiếu vào khuôn chip bởi vì EPROM bị xóa bằng cách phơi sáng dưới các tia UV mạnh. Cửa sổ là tinh thể thạch anh vì kính thông thường sẽ ngăn tia UV. Bạn không thể bị rám nắng thông qua cử sổ kính!
Chú ý:
Cửa kính thạch anh làm cho EPROM mắc hơn nhiều so với những OTP PROM. Phần chi phí tăng thêm là không cần thiết nếu khả năng xóa không quan trọng.
Các tia UV xóa con chip bởi chuỗi phản ứng hóa học, về vơ bản là đốt cháy trở lại các cầu chì cùng nhau. Do đó, bất kỳ nhị phân 0s nào trong con chip sẽ trở thành 1s, và con chip được phục hồi thành tuanhf trạng mới với nhị phân 1s trong tất cả định vị. Để làm việc, sự phơi sáng tia UV phải ở tại chiều dài bước sóng cụ thể (2,537 angstrom), tại cường độ cao tương đối (12,000uw/cm2), xấp xỉ gần (2cm-3cm, hay khoảng 1’’), và kéo dài trong khoảng thời gian từ 5 đến 15 phút. Một công cụ xóa EPROM là một thiết bị chứa một nguồi tia UV (thông thường một bóng bầu lọa đèn chiếu mạnh để quay phim) trên một ngăn kéo đưuọc bịt kín nơi mà bạn sẽ để một chip hay nhiều chip (xem hình 5.5).
Hình 5.5 cho thấy một công cụ xóa EPROM loại chuyên ghiệp có thể xử lý lên tới 50 con chip cùng lúc. Tôi sử dụng một cái nhỏ hơn và rẻ tiền hơn gọi là datarase của Walling Company. Thiết bị này xóa lên tới 4 con chip cùng lúc, mang tính kinh tế và có thể xách tay. Phiên bản hiện hành được đặt tên là datarase II và các sản phẩm tương tự được bán bởi Digikey (www.digikey.com) và các nguồn thiết bị lập trình EPROM khác.
Cửa sổ tinh thể thạch anh trên một EPROM thông thường được phủ bởi băng, ngăn ngừa việc phơi sáng tia UV một cách ngẫu nhiên. Tia UV có trong ánh nắng mặt trời, và ngay cải trong anh sáng phòng bình thường, do đó qua thời gian một chip bị phơi dưới anh sáng bắt đầu hư hao. Bởi vì lý do đó, sau khi một con chip được lập trình, bạn nên đặt một miếng dán phía trên cửa sổ để bảo vệ nó.
EEPROM/Flash ROM
Một dạng mới của ROM là EEPROM, viết tắt của PROM có thể xóa bằng điện (electrically erasable PROM). Những cái chip này cũng được gọi là các flash ROM và có khả năng bị xóa v à lập trình lại trực tiếp trên bo mạch chủ điện mà chúng được gắn vào, không cần thiết bị đặc biệt hỗ trợ. Bằng việc sử dụng một EEPROM hay flash ROM, bạn có thể xóa và lập trình lại ROM bo mạch chủ trong PC mà không cần lấy con chip ra khỏi hệ thống hay mở khung hệ thống.
Với EEPROM hay flash ROM, bạn không cần một máy xóa UV hay một máy lập trình thiết bị để lập trình và xóa các con chip. Không chỉ hầu hết các bo mạch chủ PC được chế tạo từ năm 1994 sử dụng các flash ROM hay EEPROM, mà còn các xe ô tô sản xuất trong cùng khoảng thời gian cũng sử dụng chúng.
EEPROM hay flash ROM có thể bị nhận dạng bở số phụ tùng 28xxx và 29xxx, cũng như việc không có cử sổ trên con chip. Việc có EEPROM hay flash ROM trong bo mạch chủ của máy PC nghĩa là bạn có thể dễ dàng nâng cấp ROM bo mạch chủ mà không phải thay con chip. Trong hầu hết các trường hợp, bạn tải xuống ROM được nâng cấp từ trang web của các nhà sản xuất bo mạch chủ và chạy một chương trình đặc biệt mà nó cung cấp để nâng cấp ROM. Quy trình này sẽ được mêu tả kỹ ở phần sau trong chương này.
Tôi đề nghị bạn nên kiểm tra định kỳ với nhà sản xuất bo mạch chủ mà bạn sử dụng để xem liệu có khả năng một BIOS cập nhật cho hệ thống của bạn hay không. Một BIOS được nâng cấp chuwsas những điều chỉnh lỗi và cho phép những tính năng mới hay hỗ trợ thiết bị không thể tìm thấy trước đó trong hệ thống.
Các nâng câp ROM không dùng cho PC
Cho những người say mê xe ô tô, bạn có thể muốn làm như vậy với xe của bạn; đó là, kiểm tra xem liêu có khả năng nâng cấp ROM cho máy tính trong xe của bạn hay không. Hiện nay những nâng cấp đó là rất dễ dàng và không tốn nhiều chi phí, các nhà chế tạo xe đang cho ra các nâng cấp ROM điều chỉnh lỗi hiệu chỉnh các vấn đề về hoạt động hay cải tiến hiệu suất của xe. Trong hầu hết các trường hợp, bạn phải kiểm tra với người bán xem liệu có bất kỳ ROM mới nào hco xe hay không. Nếu bạn có một xe GM. GM có một trang web nơi mà bạn có thể lấy được thông tin về những xét duyện BIOS cho xe của bạn, cái gọi là Các kiểm chuẩn xe (vihicle calibration). Địa chỉ trang thông tin chuẩn xe của GM là http://calid.gm.com.
Ngoài những nâng cấp từ nhà sản xuất xe, có một số công ty phục vụ thị trường linh kiện sản xuất các nâng cấp ROM cho xe. Nếu bạn có hứng thú trong việc có một chương trinh riêng biệt vài đặt trong xe được trang bị flash ROM, tôi đề nghị Fastchip (www.fastchip.com), Hypertech (www.hypertech.com), hay Superchips (www.superchip.com). Nếu bạn muốn phát triển các kiểm tra chuẩn cho chính xe của bạn, tìm www.diy-efi.ofg cho nhiều thông tin hơn.
Những cập nhật của flash ROM cũng được dùng để thêm các khả năng mới và thiết bị ngoại vi hiện hữu cho ví dụ, cập nhật bộ điều giải để hỗ trợ những tiêu chuẩn truyền thông mới hơn hay cập nhật những ổ đĩa quang có thể ghi lại đễ hỗ trợi môi trường mới.
Ngày nay, nhiều nhiều đồ vật được gắn kèm máy vi tính để kiểm soat chúng đang sử dụng các flash ROM; cho ví dụ, tôi cập nhật mã flash ROM (thường được gọi là firmware) trong ổ cứng, ổ đĩa quang, bộ định tuyến mạng, các điểm truy cập không dây, các ổ đĩa lưu trữ được gắn kèm trong mạng, các đầu đọc blu-ray, các máy ảnh kỹ thuật số và nhiều nữa. Cài đặt các nâng cấp flash ROM hay firmware dễ như tải xuống một tệp tin từ trang web các nhà sản xuất thiết bị và chạy chương trình cập nhật có sẵn trong tệp tin này. Ai mà biết được ngày nào đó bạn có thể tự tìm ra việc tả các nâng cấp flash ROM cho lò nướng bánh của bạn!
Các nhà sản xuất ROM BIOS
Chỉ vài nhà sản xuất BIOS nổi tiếng thị trường ngày nay cung cấp cho các nhà sản xuất bo mạch chủ và hệ thống chủ yếu với mả riêng cho ROM của họ. Phần này sẽ thảo luận về nhiều phiên bản khác nhau này.
Vài công ty chuyên môn hóa trong việc phát triển một sản phẩn ROM BIOS tương thích. Ba công ty chính liên quan đến phần mềm BIOS ROM là American megatrends, Inc. (AMI); Phoenix Technologies và Award Solfware (nay bị sở hữu bởi Phoenix Technology). Mỗi công ty cấp phép ROM BIOS của họ cho các nhà sản xuất bo mạch chủ nên các nhà sản xuất này lo lắng về phần cứng nhiều hơn phần mềm. Để sử dụng một trong những ROM này cho một bo mạch chủ, nhà sản xuất thiết bị nguyên bản (OEM: original equipment manufacturer) phải trả lời rất nhiều câu hỏi về thiết kế hệ thống để mà một BIOS thích hợp có thể được phát tirrieenrhay được chọn từ những cái đã được thiết kế. Việc phối hợp một ROM BIOS và một bo mạch chủ không phải là một công việc bừa bãi. Không một ROM đơn, tổng quát, tương thích nào tồn tại cả. AMI, Award và Phoenix chuyển đa dạng về mã BIOS của họ cho những nhà sản xuất bo mạch chủ khác nhau, mỗi BIOS được làm tương ứng với một bo mạch chủ cụ thể.
Qua nhiều năm, nhiều thay đổi chính đã xảy ra trong ngành công nghiệp BIOS, Intel, có lẽ là nhà tiêu thụ BIOS lớn nhất, đã chuyển iguwx Phoenix và AMI cho hầu hết các bo mạch chủ của họ. Intel sử dụng ban đầu nhân Phoenix BIOS cho các bo mạch chủ của họ tới năm 1995 chuyên sang nhân AMI. Intel sử dụng AMI đến năm 1997 lại chuyển về sử dụng Phoenix. Năm 1999 Intel chuyể một lần nữa , lần này sử dụng AMI, các nhân được tùy biến cao cho các bo mạch chủ riêng lẻ mà chúng được lắp đặt.
Một phát triển chính vào cuối năm 1998, khi Phoenix mua Award. Từ đó Phoenix tiếp tụ bán BIOS của Phoenix lần Award như những dùng sản phẩm khác nhau. BIOS Award được bạn như sản phẩn tiêu chuyaanr của họ trong khi BIOS Phoenix như BIOS giàu tính năng cho các hệ thống cao cấp. Hiện tại thị trường BIOS hầu như bị phân chia giữa AMI và Phoenix; tuy nhiên, Phoenix không chỉ phát triển BIOS cho nhiều hệ thống mà còn là nhà phát triển BIOS tiên phong có trách nhiệm phát triển BIOS mới và nhưng tiêu chuẩn BIOS mới.
Phát triển khác trong những năm gần đây là sự tạo ra các sản phẩn BIOS riêng biệt cho các hệ thống máy để bàn 32 bit và 64 bit, hệ thống di động, những máy chủ 32 bit và 64 bit, và các thiết bị được gắn kèm. Mặc dù tất cả các chip BIOS phải thực thi cùng một số nhiệm vụ, một sản phẩm BIOS được tối ưu hóa cho máy tính xách tay thường cần hỗ trợ cho những tính năng như là các module trạm nối (docking), quản lý nguồn pin cao cấp, cũng như thiết bị USB có thể khởi động và thiết bị bộ nhớ nhanh có thể tháo gỡ, trong khi đó một BIOS được tối ưu hóa cho máy chủ cần hỗ trợ cho những tính năng như là điều khiển phần cứng cao cấp và các Slot PCI 64 bit. Bằng cách tạo ra những phiên bản được tùy chỉnh cho các cơ số khác nhau, các người bán BIOS cung cấp hỗ trợ cho các tính năng cần thiết bởi một cơ số máy tính cụ thể và cung cấp hiệu xuất và sự ổn định tốt hơn.
Theo "Nâng cấp và sửa chữa máy tính" Scott Mueller