Micro-code là một mức độ trừu tượng khác ngoài mã máy. CPU thực tế đang chạy microcode và một công cụ dịch chuyển đổi mã máy thành microcode khi đang di chuyển. Điều này được thực hiện vì nhiều lý do, bao gồm các bộ xử lý nhanh hơn, nhỏ hơn, dễ dàng tạo ra một bộ xử lý phức tạp với ít gỡ lỗi hơn và để tương thích ngược. Chẳng hạn, tập lệnh x86 chứa một số lệnh xử lý chuỗi hiếm khi được sử dụng. Tuy nhiên, để vẫn tương thích ngược, chúng vẫn phải có sẵn trong các bộ xử lý x86 hiện đại. Thay vì tạo ra một đường dẫn thực thi cho các hướng dẫn này, chúng được chuyển đổi thành microcode và được thực thi. Điều này tiết kiệm silicon, trong khi vẫn còn tương thích ngược.
Trường hợp cả hai loại chương trình cư trú trong khi được thực hiện?
Mã máy nằm trong bộ đệm (sau khi được kéo từ RAM). Mã vi mô nằm trong bộ đệm mã vi, tùy thuộc vào kiến trúc máy cụ thể. Bộ đệm chỉ có thể đủ lớn để chứa đủ microcode để giữ microcode được chuyển đổi từ hướng dẫn mã máy lớn nhất có thể hoặc có thể là bộ đệm lớn hơn lưu trữ kết quả đã chuyển đổi của nhiều mã máy để không cần phải chuyển đổi tất cả mã máy trên mỗi lần lặp cho các vòng nhỏ.
Trong một số kiến trúc, microcode được chuyển đổi không được lưu trữ ở bất cứ đâu - đơn vị tìm nạp / dịch chỉ đơn giản là tạo ra một loạt các hướng dẫn về microcode dựa trên mã máy hiện đang thực thi. Trong trường hợp này, microcode đang thực thi từ một loại ROM nào đó và mã máy về cơ bản là một chỉ mục vào ROM - chỉ vào chuỗi các lệnh vi mã phải được chạy để thực hiện đầy đủ lệnh mã máy.
Bạn có ánh xạ 1: 1 để hướng dẫn ngôn ngữ lắp ráp đúng không?
Mã máy và mã lắp ráp, nói chung là ánh xạ 1: 1 theo hướng dẫn lắp ráp. Nó phụ thuộc vào trình biên dịch. Trình biên dịch cấp cao có thể có một bộ macro lớn cho phép một người viết một dòng mã lắp ráp và trình biên dịch sẽ tạo ra một số mã máy.
Nhưng nói chung, ngôn ngữ lắp ráp "thuần túy" có thể được chuyển đổi trực tiếp thành mã máy bằng cách sử dụng bảng tập lệnh trong hướng dẫn của bộ xử lý.
Tôi không chắc ý của bạn là gì bởi "hướng dẫn đúng". Có lẽ bạn có thể giải thích các tài liệu tham khảo.
Là định dạng của một trong hai được xác định bởi kiến trúc bộ xử lý?
Định dạng của cả mã máy và vi mã được xác định bởi kiến trúc bộ xử lý.