Tại sao chip ROM của BIOS không được tạo bằng công nghệ CMOS?


9

Sau khi đọc khóa học phần cứng máy tính trên BIOS / CMOS, tôi vẫn không thể xác định lý do tại sao chip ROM của BIOS không được xây dựng bằng công nghệ CMOS và tại sao nó được kết nối với một chip riêng gọi là "CMOS" để lưu trữ thông tin cấu hình.

Đây là từ ghi chú bài giảng :

Các chương trình được lưu trữ trên chip BIOS hệ thống, trong khi dữ liệu có thể thay đổi được lưu trữ trên chip CMOS

Nhóm phần cứng CMOS : Phần cứng phổ biến, cần thiết nhưng có thể thay đổi - RAM, ổ cứng, ổ đĩa mềm, cổng nối tiếp và song song

Tôi biết rằng BIOS được lưu trữ trong một bộ nhớ flash và công nghệ MOS MOS CMOS tiêu hao ít năng lượng hơn so với các triển khai khác.

Tại sao chỉ ROM ROM không sử dụng CMOS, như các thiết bị lưu trữ khác - lợi thế chính xác là gì? Và tại sao thông tin cấu hình BIOS không thể được lưu trữ trong chip ROM của chính nó thay vì "chip CMOS"?


1
Không phải CMOS yêu cầu pin để giữ lại dữ liệu? Đó là một điều mất cấu hình và cài đặt đồng hồ khi pin chết nhưng sẽ là một thảm họa nếu mất BIOS. Bạn có thể chỉnh sửa câu cuối cùng của bạn. Tôi không thể hiểu bạn đang hỏi gì.
Transitor

1
Bios là ROM trong khi cài đặt là RAM
Tony Stewart Sunnyskyguy EE75

1
@Kais không có phần nào của ROM có thể ghi. Nó trái với chính ý nghĩa của thuật ngữ này. Ở giữa các công nghệ - ROM lập trình Eraseble bắt đầu thực hiện những gì bạn đang đề xuất, và bây giờ trong lập trình mạch đơn giản, thực tế điều này thường được thực hiện. Nhưng đồng thời, việc giữ một góc năng lượng thấp của con chip còn sống trên pin là đồng hồ và giữ lại một số cài đặt cũng trở nên khả thi, do đó, đó cũng là một tùy chọn được sử dụng trong một số hệ thống.
Chris Stratton

2
"ROM" có nghĩa là " Bộ nhớ chỉ đọc ". Đó là theo định nghĩa không thể viết. Thông thường một ROM thực tế liên quan đến việc tùy chỉnh các lớp kim loại hóa hoặc thậm chí các bóng bán dẫn cấu thành thực tế. Ngược lại, có nhiều loại ký ức "Đọc chủ yếu" (PROM, EPROM, EEPROM, Flash, v.v.) có thể thay đổi nội dung của chúng, nhưng có nhiều hạn chế hơn về tốc độ và số lần so với RAM. Thông thường ngày nay bạn chỉ tìm thấy một ROM thực sự bên trong bộ xử lý (và thậm chí sau đó nó có thể là thứ bạn bị khóa khi viết), trong khi một thiết bị bên ngoài sẽ có thể ghi được với các kết nối phù hợp.
Chris Stratton

1
Ví dụ, trong một hệ thống hiện đại, bạn có thể có một ROM nhỏ bên trong bộ xử lý, biết cách đọc nội dung của đèn flash NOR nối tiếp vào bộ nhớ và bắt đầu thực hiện chúng. BIOS trong flash NOR sau đó được đưa ra để nâng cấp, trong khi cuống khởi động nhỏ sao chép nó từ flash sang RAM và nhảy vào nó được cố định vĩnh viễn tại thời điểm sản xuất chip.
Chris Stratton

Câu trả lời:


33

Bạn đang trộn lẫn công nghệ triển khai với các thuật ngữ thông tục cho chức năng.

CMOS - Chất bán dẫn oxit kim loại bổ sung - là phương pháp tạo ra logic và mạch liên quan bằng cách sử dụng cả bóng bán dẫn hiệu ứng trường N-Channel và P-Channel. Một trong những đặc điểm xác định của nó là tiêu thụ năng lượng tĩnh cực thấp - năng lượng hầu như chỉ được sử dụng khi thay đổi trạng thái. Do đó, chip bộ nhớ tĩnh CMOS có thể giữ lại nội dung của nó trong nhiều năm trên pin và là nơi thuận tiện để lưu trữ thông tin bán cố định.

BIOS và mã khởi động liên quan thường được lưu trữ trong các thiết bị PROM hoặc EPROM. Các EPROM trong kỷ nguyên của PC IBM thường được chế tạo bằng các công nghệ tiền CMOS như NMOS, nhưng điểm khác biệt quan trọng là chúng không thể ghi được khi cài đặt trong máy tính, mà chỉ trong một lập trình viên đặc biệt. Hơn nữa, trong khi nhiều hệ thống và bản sao hiện đại sử dụng EPROM, các phiên bản sản xuất thực tế của IBM-PC đã sử dụng các Prom không thể lập trình lại rẻ hơn (các sơ đồ chân thường tương thích trong sử dụng).

Thiết kế PC-AT sau đó đã thêm bộ nhớ CMOS hỗ trợ pin để lưu trữ các cài đặt có thể tùy chỉnh và cũng có thể (có lẽ trong cùng một thiết bị) đồng hồ thời gian thực liên tục. Điều này đã được người dùng cuối gọi chung là CMOS, mặc dù tất nhiên đó chỉ là một cách sử dụng cụ thể được kích hoạt bởi công nghệ chip lan truyền nhanh chóng.

Tất nhiên ngày nay chúng ta không còn sử dụng E / Proms song song cho BIOS nữa mà thay vào đó sử dụng flash NOR nối tiếp và chuyển nội dung vào RAM nhanh hơn để thực thi. Chip FLASH hiện đại trong thực tế làm bằng công nghệ CMOS có nguồn gốc từ. Và chúng thường có thể được lập trình lại trong mạch. Điều này thực sự tùy thuộc vào nhà thiết kế hệ thống nếu họ muốn đưa thông tin cấu hình bán cố định vào RAM được hỗ trợ bằng pin hoặc trong đèn flash có thể lập trình lại - người dùng cuối hoặc hệ điều hành sau khởi động có thể có ít khả năng hiển thị thực tế.

Nhưng ngay cả khi đèn flash được sử dụng cho cài đặt, thông thường vẫn sẽ là đồng hồ thời gian thực năng lượng thấp, luôn chạy bằng pin.


1
Khi CPU khởi động lần đầu tiên, RAM thậm chí không được khởi tạo (DRAM init rất phức tạp). Tất cả những gì nó làm là thực thi mã tại một vị trí cụ thể (thường là chip BIOS qua SPI, nhưng được cho là bạn có thể lập trình các lần khởi động tiếp theo để tìm BIOS qua PCI hoặc LPC kế thừa vì lý do gỡ lỗi). Thứ duy nhất được đưa vào RAM là những thứ như IVT (Bảng Vector ngắt) và mã liên quan chỉ hữu ích trước khi chuyển khỏi chế độ thực. Việc thực thi BIOS thực tế khi CPU khởi động không xảy ra trong bộ nhớ. Xem wiki.osdev.org/System_Initialization_(x86) để biết thêm chi tiết.
rừng

1
@forest - điều đó không chắc là đúng và không thực sự được hỗ trợ bởi mô tả khá rộng tại liên kết của bạn. Nó có thể kết thúc việc thực hiện một số ram bộ nhớ cache được sửa lại hoặc một cái gì đó, nhưng thực thi trực tiếp từ SPI chỉ không hoạt động tốt và rất có thể tránh được. Sau đó, một điều khá rõ ràng là một khi RAM hệ thống chính hoạt động thì bios sẽ thực hiện được điều đó - việc tạo bóng như vậy là phổ biến ngay cả trong những ngày của EPROM song song.
Chris Stratton

1
Có, một khi bộ nhớ chính được khởi tạo, IVT, BDA, EBDA, v.v ... được sao chép ở đó. Tuy nhiên, trước đó, nó được thực hiện trực tiếp. Nó không được thực thi trong bộ đệm (đó sẽ là chế độ CAR, Cache-As-RAM, yêu cầu khởi tạo rõ ràng bởi BIOS).
rừng

1
Vui lòng xem stackoverflow.com/questions/5300527/ mà giải thích điều này chi tiết hơn. Cụ thể, cách khối khởi động BIOS được thực thi trực tiếp qua SPI. Điều này có thể bằng cách ánh xạ khu vực đó của BIOS vào bộ nhớ (tất nhiên, trước khi bộ nhớ thực sự được khởi tạo, vì vậy nó giống như MMIO). Vì vậy, nó không chỉ có khả năng là sự thật, nó là sự thật.
rừng

Chris Stratton, "thay vì sử dụng flash NOR nối tiếp và chuyển nội dung vào RAM nhanh hơn để thực thi" Và làm thế nào để bạn hình dung chính xác "chuyển nội dung" này ngoài việc thực hiện một số mã "di chuyển dữ liệu" ban đầu trực tiếp từ SPI?
Ale..chenski

12

Quay lại khi PC lần đầu tiên được phát minh, hầu hết logic trên nó là các chip NMOS và TTL ngốn điện. CMOS rất mới và các mạch duy nhất trong PC sử dụng nó được kết hợp với những thứ cần chạy bằng pin khi tắt nguồn, chẳng hạn như RAM cấu hình và đồng hồ thời gian thực.

Ngày nay, gần như tất cả logic là CMOS, bao gồm CPU ngốn pin và EEPROM flash giữ BIOS. Vì vậy, theo một nghĩa nào đó, câu hỏi của bạn dựa trên tiền đề không hợp lệ - EEPROM flash CMOS. Tuy nhiên, vì bất kỳ lý do gì, thuật ngữ "CMOS" trong PC vẫn chỉ đề cập đến các chức năng RAM và RTC.

Nếu bạn hỏi tại sao BIOS không được lưu trữ trong RAM dễ bay hơi thay vì flash không dễ bay hơi, thì đó là do pin bị hỏng và việc xóa BIOS sẽ "làm hỏng" máy tính một cách hiệu quả, đòi hỏi phải có phần cứng chuyên dụng để hoạt động trở lại.


1
"Vì vậy, theo một nghĩa nào đó, câu hỏi của bạn dựa trên tiền đề không hợp lệ - EEPROM flash là CMOS" - Cụm từ "Chương trình được lưu trữ trên chip BIOS hệ thống, trong khi dữ liệu có thể thay đổi được lưu trữ trên CMOS", hiện tại tôi đã nhầm lẫn một chút Tôi đã hiểu.
Kais

"Nếu bạn hỏi tại sao BIOS không được lưu trữ trong RAM dễ bay hơi thay vì flash không dễ bay hơi, thì đó là do pin bị hỏng" Không, ý tôi là ngược lại - tại sao thông tin về chip CMOS không được lưu trữ trong flash BIOS.
Kais

3
@Kais vì bộ nhớ flash có thể được ghi đè tùy ý và việc quản lý viết lại toàn bộ trang của bộ nhớ flash làm phức tạp mọi thứ theo cách dễ bị lỗi. Ngoài ra, có những thứ như nhật ký sự kiện được lưu trữ bởi một số BIOSen, điều này đi kèm với nguy cơ làm hao mòn đèn flash của bạn và / hoặc kết thúc với dữ liệu bị hỏng nếu mất điện sai thời điểm. Bộ nhớ EEPROM đúng sẽ có thể - nhưng a) nó là chậm để viết, và b) bạn có một pin công suất thấp cho đồng hồ nào .
rackandboneman

1
... cũng bởi vì toàn bộ hệ thống được thiết kế trước khi flash thường có sẵn, do đó BIOS được lưu trữ trong cả PROM (sử dụng cầu chì để xác định xem mỗi bit là 1 hay 0 và chỉ có thể thay đổi từ 1 thành 0 nhưng không thể thay đổi trở lại một lần nữa) hoặc ROM bị che (sử dụng một lớp dây kim loại phủ trên chip để lập trình và hoàn toàn không thể sửa đổi sau khi sản xuất), do đó, một thiết bị riêng biệt là cần thiết và mọi thứ cần thiết để duy trì khả năng tương thích ngược từ đó .
Jules

8

Tôi nghĩ rằng bạn đang nhầm lẫn hai cách sử dụng từ viết tắt "CMOS". Có những con chip được chế tạo hoàn toàn bằng công nghệ bóng bán dẫn bổ sung MOS. Trên thực tế, hầu hết tất cả các chip ngày nay đều được chế tạo theo cách này bao gồm phần lớn mạch điều khiển kỹ thuật số trên chip Flash.

Việc sử dụng CMOS khác vẫn tồn tại trong ngành công nghiệp PC kể từ những ngày đầu tiên đề cập đến chip lưu trữ một số cài đặt và đồng hồ thời gian thực với pin đi kèm. Quay trở lại những ngày đó (đầu thập niên 80), phần lớn các chip lớn trong PC là công nghệ NMOS và các chip logic linh tinh là logic bóng bán dẫn lưỡng cực (TTL, LSTTL, v.v.). Chip CMOS duy nhất được sử dụng là chip RTC và do đó được gọi là "CMOS".

Ngày nay, RTC không còn là một con chip riêng biệt trên thiết bị kiến ​​trúc PC. Thay vào đó, nó được tích hợp ngay trong chipset bo mạch chủ (được sản xuất với mạch MOS bổ sung). Rất hiếm khi bất kỳ BIOS nào ngày nay sử dụng RAM được hỗ trợ pin trong phần RTC của chipset để lưu trữ cài đặt. Thay vào đó, BIOS sử dụng một vài trang của thiết bị lưu trữ SPI Flash để lưu các cài đặt của nó theo cách không biến động. Như vậy, có những cài đặt tối thiểu bị mất trong PC khi pin hết hoặc bị ngắt kết nối. Các cài đặt tối thiểu bị mất khi loại bỏ năng lượng pin là một số cài đặt kiểm soát hoạt động cấp nguồn và thiết lập lại của chipset và trên thực tế thậm chí không được lưu trữ trong các tế bào RAM chạy bằng pin mà thay vào đó là các chốt lật có năng lượng thấp đặc biệt được cung cấp từ đồng xu pin di động.


2

Xem thêm /superuser/989499/what-does-a-cmos-chip-look-like : điều này cung cấp cho chúng tôi một liên kết tiện dụng đến bảng dữ liệu MC146818 ban đầu .

Con chip này được ánh xạ bộ nhớ và cung cấp các vị trí 64 byte. 14 trong số này là dành cho đồng hồ, phần còn lại là RAM đa năng. Toàn bộ con chip được giữ bằng pin trong khi PC tắt, để giữ cho đồng hồ thời gian thực tích tắc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.