2011-01-27 9 views
14

Về mặt hướng dẫn thiết lập và sự đơn giản của mô phỏng. Tôi muốn thực hiện một CPU ảo và tìm ra lý do tại sao không mô phỏng một hiện tại, do đó, để có thể biên dịch mã C cho nó.CPU nhỏ nhất, đơn giản nhất mà GCC có thể biên dịch là gì?

+0

Một tuyến đường khác là tìm kiếm các phụ trợ cho kiến ​​trúc bộ lệnh đơn: https://stackoverflow.com/questions/3711443/minimal-instruction-set-to-solve-any-problem-with-a-computer-program Con người dường như đã thực hiện một phụ trợ clang cho subleq: https://stackoverflow.com/questions/3711443/minimal-instruction-set-to-solve-any-problem-with-a-computer-program/38523869#38523869 –

Trả lời

17

Moxie là mục tiêu tuyệt vời vì nó được thiết kế đặc biệt để trở thành mục tiêu lý tưởng cho GCC. Tôi là tác giả và rất sẵn lòng trả lời bất kỳ câu hỏi nào. màu xanh lá cây tại moxielogic dot com

+0

Có tài liệu tham khảo về kiến ​​trúc và hướng dẫn được thiết lập? –

+0

Điều gì tồn tại tại http://moxielogic.org/wiki ... mặc dù nó sẽ đưa tôi một chút để hoàn tác thiệt hại từ các vụ bê bối wiki. Hãy kiểm tra lại sớm. –

+1

Cảm ơn, nó trông giống như một cái gì đó tôi đã có trong tâm trí. –

1

Có thể có nội dung nào đó từ chuỗi Ti MSP430.

3

ZPU (bộ xử lý 32 bit được nhắm mục tiêu theo FPGA) rất nhỏ.

5

GCC hỗ trợ Moxie (ban đầu là ggx), một kiến ​​trúc nhỏ được Anthony Green phát minh để thử nghiệm.

Bạn cũng có thể làm theo các bước mà anh đã thực hiện để phát minh ra CPU đơn giản nhỏ của riêng bạn và cổng GCC cho nó.

1

Đây có thể không phải là một câu hỏi không phổ biến; Tôi hy vọng rằng hầu hết các bộ công cụ mô phỏng CPU/máy sẽ bao gồm một ví dụ thực hiện đơn giản, nhưng một số thì không.

Tôi chưa từng làm việc với nó, nhưng Knuth's MMIX architecture (wikipedia) có vẻ thú vị. Giống như Moxie, nó được tạo ra để "minh họa các khía cạnh lập trình cấp máy" và đơn giản hơn các máy thực. Nó được GCC hỗ trợ và dường như có nhiều trình mô phỏng hiện tại có thể được sử dụng như một tham chiếu trong nỗ lực của bạn.