Thông báo CPU không được hỗ trợ cài đặt CPU được hiển thị như thế nào?


55

Tôi có một CPU không được hỗ trợ được chèn vào máy và tôi gặp lỗi này trong khi PC của tôi đang khởi động : Unsupported CPU installed. Câu hỏi của tôi không phải là làm thế nào để sửa nó mà là:

Thông báo lỗi này được hiển thị như thế nào nếu CPU không được sử dụng? BIOS có thể làm việc mà không cần CPU?


13
Rõ ràng, CPU đủ tốt để chạy thói quen kiểm tra CPU và hiển thị một số văn bản trên màn hình, nhưng không đủ tốt để khởi động một hệ điều hành thực tế trên phần cứng của bạn.
Dmitry Grigoryev

22
@DmitryGrigoryev "Rõ ràng, CPU là [...] không đủ tốt để khởi động một hệ điều hành thực tế trên phần cứng của bạn." Không nhất thiết phải quá rõ ràng. Nếu tôi muốn khởi động, hãy nói, FreeDOS thì sao? BIOS có ý kiến ​​gì về những gì tôi khởi động trên PC? Có một lý do tại sao bất kỳ bộ tải khởi động MBR, ngay cả ngày nay, ban đầu thực thi trong chế độ thực.
một CVn

7
@ MichaelKjorling Tôi cho rằng nhà sản xuất BIOS đã quyết định rằng việc hỗ trợ TPM và đảm bảo người dùng Windows hài lòng quan trọng hơn việc cho phép bạn khởi động FreeDOS.
Dmitry Grigoryev

3
@ MichaelKjorling: BIOS có thể giữ các bản vá vi mã không áp dụng. Không có cách nào để dự đoán khả năng sử dụng của CPU tại thời điểm đó.
MSalters

2
CPU nào được cài đặt và trong bo mạch chủ nào? Ví dụ, bằng cách nào đó bạn đã cài đặt bộ xử lý Coffee Lake trên bo mạch Z270 hoặc Z170? (Sự kết hợp này sẽ không hoạt động vì Coffee Lake và chipset Z370 của nó đã thực hiện các thay đổi không tương thích với sơ đồ chân của ổ cắm, mặc dù sử dụng cùng một ổ cắm LGA1151 vật lý.)
bwDraco

Câu trả lời:


50

Không, BIOS không thể hoạt động mà không có CPU.

Điều đầu tiên máy tính của bạn làm khi bật nguồn là kiểm tra xem các kết nối giữa CPU và RAM có tốt không. Đây là một kiểm tra điện đơn giản rằng tất cả các đầu ra của tuyến xe buýt được kết nối với các đầu vào chính xác. Nếu kiểm tra đơn giản này không vượt qua, bạn sẽ nhận được mã tiếng bíp (hoặc có thể là màn hình LED trên một số bo mạch chủ). Kiểm tra này không yêu cầu CPU, tuy nhiên nếu không có CPU, bạn thậm chí có thể không nhận được mã tiếng bíp, vì thậm chí điều đó đòi hỏi một số biện pháp xử lý (phụ thuộc vào bo mạch chủ).

Tuy nhiên, khi những điều này kiểm tra, CPU sẽ bắt đầu thực thi chương trình có trong ROM BIOS thực hiện một số kiểm tra cấp cao hơn (chẳng hạn như liệu thời gian bộ nhớ có hoạt động hay không, liệu phần sụn bổ sung cho các thiết bị trên bo mạch có thể được tải chính xác hay không, v.v.). Chương trình ROM này được viết bằng ngôn ngữ lắp ráp x86 và không yêu cầu CPU thực thi nó.

Điều đã xảy ra trong trường hợp của bạn là CPU tương thích điện với bo mạch chủ và không hoạt động, nhưng thiếu một số hỗ trợ tính năng cấp thấp mà bo mạch chủ phụ thuộc vào. Có lẽ bạn đã sử dụng CPU có TDP cao hơn (tạo ra nhiều nhiệt hơn) mà bo mạch chủ có thể xử lý, có nhiều lõi hơn BIOS biết cách khởi tạo hoặc có thể không hỗ trợ một số trạng thái năng lượng mà BIOS đang cố gắng thiết lập. Bạn đã không đề cập đến kết hợp CPU / bo mạch chủ nào.

Tuy nhiên, trong mọi trường hợp, CPU đang cung cấp đủ hỗ trợ cho BIOS để nó có thể thực thi các chương trình được lưu trữ trong ROM của nó (bao gồm cả việc di chuyển byte vào và ra khỏi bộ nhớ video). Nó không thể đi xa hơn thế.

Có lẽ chỉ cần kiểm tra họ ID và bước ID từ bộ xử lý dựa vào danh sách nội bộ các loại CPU được hỗ trợ. Trong nhiều trường hợp, điều này có thể được vá bằng nâng cấp BIOS. Nhưng trước tiên bạn cần chèn CPU được hỗ trợ để flash nó.


21
Tôi nghĩ rằng những phần quan trọng của câu trả lời này là sai. Các BIOS không thể hoạt động mà không có một CPU vì nó là chương trình đầu tiên CPU đang thực hiện . Nó không thể tự làm bất cứ điều gì. ( Không có CPU, không có mã tiếng bíp nào xảy ra , BTW; nó có thể thực hiện mã tiếng bíp với RAM do chỉ cẩn thận với các thanh ghi). Thông báo có thể là do nó mong đợi các tính năng từ CPU mà nó không cung cấp, nhưng do là một khởi tạo đủ x86 có thể được thực hiện để in thông báo nói.
DarkDust

21
Một nhà sản xuất bo mạch chủ có thể tạo ra một hệ thống tương tự đơn giản sẽ phát ra tiếng bíp 5 giây sau khi khởi động, trừ khi BIOS chủ động tắt . Vì vậy, về mặt kỹ thuật, đây không phải là một tính năng của BIOS, mà là một tính năng thiếu BIOS.
MSalters

5
Ngay cả sau khi chỉnh sửa, điều này không chính xác: Đây là một kiểm tra điện đơn giản rằng tất cả các đầu ra của tuyến xe buýt được kết nối với các đầu vào chính xác. Nếu kiểm tra đơn giản này không vượt qua, bạn sẽ nhận được mã tiếng bíp (hoặc có thể là màn hình LED trên một số bo mạch chủ). Kiểm tra này không yêu cầu CPU Ngoài ra, đó không phải là BIOS bắt đầu thực thi một chương trình trong ROM, CPU thực hiện điều đó và chương trình này là BIOS. Xin lỗi vì nitpicking, nhưng từ câu trả lời của bạn, có vẻ như BIOS là một phần cứng độc lập một phần với CPU khi trên thực tế, BIOS "chỉ" là một chương trình trong ROM (hoặc flash).
DarkDust

5
@TobySpeight: Không phải phép thuật. Chỉ là một CPU khác. Đó là một EC, một bộ điều khiển nhúng giống như tất cả các máy tính xách tay. Trong một máy tính xách tay, nó quản lý sạc pin và đèn trạng thái. Trong một máy tính để bàn, nó có thể quản lý các bản cập nhật BIOS. Ngoài ra, đôi khi họ quản lý các cài đặt nguồn của bo mạch và những thứ như cổng sạc USB.
Zan Lynx

4
@WesSayeed: Bạn có chắc đây là trường hợp? Vì AFAIK, không có thứ gọi là "kiểm tra xe buýt", vì kiểm tra dây điện thuần túy sẽ yêu cầu sửa đổi rất tốn kém đối với chip DRAM và cung cấp thêm ít giá trị. Ngay khi CPU có nguồn, nó bắt đầu đọc và thực hiện các hướng dẫn từ ROM BIOS, nó sẽ đọc từng SPD của DIMM và các cài đặt từ RAM RAM và cố gắng khởi tạo bộ điều khiển DRAM. Sau đó, nó sẽ nhanh chóng kiểm tra DRAM (POST), tiếp theo là khởi tạo tất cả các thiết bị ngoại vi có liên quan khác. Xem video này: youtube.com/watch?v=xc08SN6Dhz4
mic_e

11

Có thể do tính năng không được hỗ trợ là từ chế độ được bảo vệ, nhưng tại thời điểm nó hiển thị thông báo này, nó chưa nhập vào và vẫn ở chế độ 8086. Vì vậy, nó không hoạt động mà không có CPU, BIOS chỉ là một chương trình, nó không thể hoạt động mà không có CPU. Chỉ là nó phát hiện ra rằng nó không thể đi qua một điểm nào đó trong vụ hành quyết và dừng lại trước khi đến nơi đó.

Tôi sẽ giải thích: các máy tính DOS đầu tiên không có tất cả các chế độ thực thi phức tạp cần thiết cho việc sử dụng đa nhiệm và đa người dùng chính xác. Khi Intel giới thiệu nó trong CPU của mình, họ muốn duy trì khả năng tương thích với các CPU cũ hơn. Đó là lý do tại sao họ giới thiệu các chế độ đó: Đầu tiên họ khởi động CPU 8086, họ thực hiện một số thử nghiệm và khởi tạo và chỉ sau đó họ mới chuyển sang chế độ được bảo vệ.


3
Có lẽ không thiếu các phần mở rộng tập lệnh là vấn đề. Nhiều khả năng là một thứ gì đó giống như CPU ​​quá mới đối với BIOS (ví dụ như IvyBridge trong mobo Sandybridge không có BIOS cập nhật), vì vậy nó không biết cách lập trình các cài đặt điều khiển của nó đúng cách. (ví dụ: các thanh ghi cấu hình quản lý năng lượng CPU đặt ngưỡng công suất cho Turbo, công cụ định thời DRAM của bộ điều khiển bộ nhớ hoặc bất cứ thứ gì. Và nếu CPU quá mới, có thể có những điều mới mà BIOS phải làm nhưng đó là không biết về. Ngoài ra phần cứng đồ họa là khác nhau trong các CPU mới.
Peter Cordes

8

"CPU không được hỗ trợ" không cho bạn biết rằng CPU không hoạt động. Điều này có thể có nghĩa là phần sụn trên bo mạch chủ (dù là BIOS hay UEFI) đã thực thi một số mã trên CPU, điều này xác định rằng CPU không tương thích với một số tính năng cụ thể mà bo mạch chủ phụ thuộc trong quá trình hoạt động bình thường. Hoặc đơn giản là bo mạch chủ chưa được thử nghiệm với CPU này và nhà sản xuất không muốn mạo hiểm.

Nhưng không có gì trong số này có nghĩa là CPU không thể thực hiện các hướng dẫn khi khởi động. Ví dụ, tất cả các CPU x86 hiện đại đều có lệnh CPUID có thể được sử dụng để xác định xem các tính năng khác nhau của bộ xử lý có khả dụng hay không. Mã khởi động có thể thực thi hướng dẫn này và hiển thị thông báo lỗi nếu các tính năng cần thiết không có sẵn.


... và khi Artelius viết "CPU x86 hiện đại", nếu chúng ta có thể tin vào đoạn giới thiệu của Wikipedia về chủ đề này, thì điều đó đề cập đến bất cứ điều gì gần đây hơn CPU Pentium hoặc 80486SL năm 1993, nghe có vẻ đúng. Lưu ý rằng rõ ràng (tôi chưa kiểm tra tài liệu của Intel để xác minh) CPUID dựa vào thanh ghi EAX, được giới thiệu với 80386 vào năm 1985 ...
CVn

-10

BIOS có một danh sách kiểm tra (POST) mà nó đi qua để khởi tạo tất cả các bộ phận của máy tính. Khi họ không vượt qua kiểm tra, thì bạn sẽ gặp một lỗi như của bạn. Một phần của tập lệnh POST là gán một ngắt cho thành phần. Nếu tất cả các thành phần có ngắt đúng thì HĐH được tải và các ngắt được truyền cho HĐH để HĐH có thể tương tác với các thành phần. Đây là một phiên bản đơn giản hóa của những gì đang xảy ra cho ngắn gọn. Dưới đây là danh sách chi tiết hơn về những gì đang xảy ra: chi tiết khởi động

BIOS có quyền kiểm soát ban đầu của các thiết bị để nó có thể kiểm tra và hiển thị lỗi nếu cần. Nhiều lỗi mà tôi đã thấy là tiếng bíp, hoặc đèn LED nhấp nháy phải được tìm kiếm cho ý nghĩa của chúng. Nó thường không hiển thị lỗi trên màn hình như trong trường hợp của bạn (vì nếu thẻ video là vấn đề). BIOS có khả năng chỉ chạy chuỗi khởi tạo cơ bản nhất và trong một số trường hợp chỉ chuyển tiếp mã lỗi cơ bản nhất. BIOS đã có các ngắt cho các thành phần hoạt động như đã nêu ở trên, do đó, CPU không cần xử lý bất cứ điều gì để gửi tín hiệu bằng bo mạch chủ để tạo ra tiếng bíp hoặc đèn nhấp nháy hoặc trong trường hợp của bạn, thẻ video sẽ hiển thị thông điệp.


4
Điều này là không đúng. BIOS không thể làm điều gì đó phức tạp như hiển thị thông tin trên màn hình mà không có một số khả năng xử lý thô sơ từ CPU hoạt động chính xác.
Wes Sayeed

6
Bạn dường như bị ấn tượng rằng các ngắt được sử dụng để kiểm soát phần cứng. Họ không phải. Ngoài ra, các ngắt được thực hiện rất nhiều thông qua CPU, vì vậy nếu CPU không thể thực thi mã, nó không thể thực hiện một ngắt (ít hơn một lệnh nhảy gián tiếp được tôn vinh một chút) và chắc chắn nó sẽ không thể để thiết lập bất kỳ vectơ ngắt. BIOS không có khả năng thiết lập làm mới bộ nhớ, thậm chí, do đó, bộ nhớ lưu giữ các vectơ ngắt (trong x86, 1 KiB thấp nhất của không gian địa chỉ) sẽ không thể sử dụng được.
CVn

6
Có một vấn đề cơ bản hơn với câu trả lời này: BIOS chỉ đơn giản là mã chạy trên CPU. Nó không tách rời khỏi CPU và không thể tự hoạt động.
duskwuff
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.