Membangun CPU yang baru dan aneh di FPGA

Popularisasi FPGA untuk pasar hobi menunjukkan banyak lebih banyak daripada pengontrol LED yang dibuat khusus serta klon sistem komputer tradisional. FPGA juga merupakan alat yang fantastis untuk menjelajahi arsitektur komputer, menghasilkan CPU baru, aneh, yang tidak mematuhi konvensi yang dimanfaatkan pasar selama 40 tahun. [Victor] menciptakan CPU baru yang kesulitan konvensi tentang bagaimana mendapatkan akses ke lokasi memori yang berbeda, serta dalam proses bahkan muncul dengan sedikit contoh kode yang berjalan pada mikrokontroler lengan.

Sebagian besar waktu, kode pembuat yang berjalan di desktop atau laptop Anda tidak begitu menarik; Itu hanya string panjang arah yang akan diproses secara linear. Keajaiban komputer dilengkapi dengan perbandingan, pernyataan IF atau lompatan dalam kode, di mana CPU dapat menjalankan salah satu dari dua potong kode, tergantung pada nilai dalam register. Ada masalah jangkauan: Jika sepotong kode membuat kontak langsung kami ke satu lagi kode, alamat kode baru perlu dalam bentuk dalam instruksi. Pada prosesor ARM, hanya 24 bit yang ditawarkan untuk menyandikan alamat, menunjukkan lompatan dalam kode hanya dapat berjalan 16 MB di kedua sisi panggilannya. Pergi jenis tambahan juga membutuhkan lebih banyak instruksi, serta kinerja hit yang datang bersama dengan itu.

[Victor] membuat keputusan pilihan untuk masalah ini adalah menghasilkan sedikit sirkuit yang akan menjadi jendela bergerak untuk menyimpan lokasi alamat. Alih-alih menyimpan alamat literal untuk lompatan dalam kode, setiap cabang dalam kode disimpan sebagai tempat anggota keluarga untuk apa pun yang ada di penghitung program. Hasilnya adalah metode sederhana untuk JMP ke kode sangat jauh dalam memori, dengan lebih sedikit hit kinerja.

Ada aplikasi untuk hal-hal token jendela yang bergerak [Victor] akan menyerah untuk mikroprosesor Lengan Cortex M3 NXP, serta dia akan mengerjakan aplikasi ide ini di CPU baru di gitnya.

Leave a Reply