Làm thế nào tôi có thể giải thích sự khác biệt giữa trình giả lập và giả lập về ngôn ngữ kỹ thuật điện?


Câu trả lời 1:

Trình giả lập là phần mềm chạy mô hình phần cứng trên các bộ xử lý thông thường (như X86), trình giả lập là phần cứng chạy mô hình phần cứng. Phần cứng cho một trình giả lập thường là một cái gì đó giống như các GPU hoặc ASIC có thể thực thi các FSM nhanh - như được mô tả trong HDL ở cấp RTL cho thiết kế vi mạch thực tế.

Trình giả lập chủ yếu hữu ích để xác nhận phần mềm sẽ chạy trên hệ thống trước khi nhận được Silicon thực sự, bởi vì chúng có thể chạy gần hơn với tốc độ thực. Họ không mô hình hóa các khía cạnh của Silicon như quản lý thời gian hoặc năng lượng, có thể được mô hình hóa trong các trình mô phỏng phần mềm.


Câu trả lời 2:

Đừng coi đây là phúc âm, nhưng có lẽ đó là nơi để bắt đầu. Theo tôi biết, một trình giả lập sao chép, trong phần mềm và phần cứng, phần mềm và phần cứng thực tế của một sản phẩm khác. Rằng, nó tái tạo phần cứng thực tế dưới dạng phần mềm, và sau đó tạo lại phần mềm hoạt động trên phần cứng đó. Vì vậy, bạn sẽ có một lớp phần mềm (HĐH, chương trình, v.v.) sẽ có một lớp phần mềm khác (phần cứng của thiết bị được sao chép) sẽ có một lớp phần mềm khác (phần mềm được chạy trong phần cứng giả lập). Nếu tôi chạy một chương trình mô phỏng điện trong đó tôi đã tạo lại phần cứng của Super Nintendo và lần lượt tải ROM cho Super Mario Brothers, đó là trình giả lập.

Mặt khác, một trình giả lập sẽ tạo lại hiệu ứng của phần trên, nhưng không tìm cách làm như vậy bằng cách sao chép phần cứng thực tế. Nó chỉ có nghĩa là làm điều tương tự, tức là, Super Mario chạy trên máy tính của tôi.

Tôi hi vọng cái này giúp được.