Category

Xây dựng CPU mới, lẻ trong FPGAS

Sự phổ biến của các FPGA cho thị trường sở thích cho thấy rất nhiều nhiều hơn rất nhiều so với các bộ điều khiển LED tùy chỉnh cũng như các hệ thống máy tính truyền thống. FPGA cũng là một công cụ tuyệt vời để khám phá kiến ​​trúc máy tính, sản xuất mới, kỳ lạ, CPU không tuân thủ các quy ước mà thị trường đã được sử dụng trong 40 năm. [Victor] đang tạo ra một CPU mới khiến các quy ước chính xác cách có quyền truy cập vào các vị trí bộ nhớ khác nhau, cũng như trong quá trình thậm chí còn đưa ra một mã ví dụ chạy trên một bộ vi điều khiển ARM.

Hầu hết thời gian, mã nhà sản xuất chạy trên máy tính để bàn hoặc máy tính xách tay của bạn không thú vị; Đó chỉ là những đường dài của các hướng được xử lý tuyến tính. Sự kỳ diệu của máy tính đi kèm với các so sánh, một câu lệnh IF hoặc một bước nhảy trong mã, trong đó CPU có thể chạy một trong hai phần mã, tùy thuộc vào một giá trị trong một thanh ghi. Tuy nhiên, có vấn đề về tầm với: Nếu một đoạn mã thực hiện liên lạc trực tiếp với chúng tôi với một đoạn mã nữa, địa chỉ của mã mới cần có hình dạng trong một lệnh. Trên bộ xử lý ARM, chỉ có 24 bit được cung cấp để mã hóa địa chỉ, cho biết một bước nhảy trong mã chỉ có thể đi 16 MB ở hai bên của cuộc gọi. Đi bất kỳ loại nào cũng cần nhiều hướng dẫn hơn, cũng như hiệu suất đạt được với cùng với điều đó.

[Victor] đã đưa ra quyết định một tùy chọn cho vấn đề này sẽ là tạo ra một chút mạch sẽ là một cửa sổ di chuyển để lưu trữ địa điểm địa chỉ. Thay vì lưu trữ địa chỉ theo nghĩa đen để nhảy vào mã, mỗi nhánh trong mã được giữ dưới dạng thành viên của gia đình đến bất cứ điều gì trong bộ đếm chương trình. Kết quả là một phương thức đơn giản để JMP để mã cực xa trong bộ nhớ, với ít hiệu suất.

Có một ứng dụng cho điều mã thông báo cửa sổ di chuyển này [Victor] đã đánh bại bộ vi xử lý Cortex M3 của NXP, cũng như anh ta sẽ làm việc trên một ứng dụng của ý tưởng này trong một CPU mới trên Git của mình.