Saya mengerti perbedaan antara kedua arsitektur ini adalah pemisahan instruksi dari data dalam arsitektur Harvard. Tetapi bagaimana saya tahu jenis sistem yang saya gunakan? Apakah mungkin untuk menulis suatu program sedemikian rupa sehingga program menentukan apakah sistem itu von Neumann atau Harvard? Mungkinkah ada arsitektur lain atau arsitektur ini satu-satunya yang dikenal?
12
Jawaban:
Komputer Anda adalah mesin von Neumann. Semua komputer untuk keperluan umum. Satu-satunya pengecualian adalah co-prosesor khusus seperti GPU. Bukannya Anda tidak dapat memiliki mesin Harvard (atau arsitektur lainnya). Hanya saja tidak ada yang membangunnya, terutama tidak untuk dijual (modulo co-prosesor, tentu saja).
sumber
CPU tujuan umum terkini menggunakan Arsitektur Harvard yang Dimodifikasi . Core CPU dapat mengakses program dan data secara terpisah dalam cache L1 mereka yang terpisah. Di luar, tidak ada memori program dan data yang terpisah (atau tingkat cache lainnya dipisahkan).
Semua arsitektur lain agak terbatas dalam penggunaannya. Karena kerumitan ekstrem dan biaya yang terkait dengan pengembangan prosesor, saya tidak berpikir siapa pun akan mencobanya dengan serius lagi.
Namun, sementara CPU modern pada dasarnya von Neumann, mereka menggabungkan banyak ide seperti Arsitektur Dataflow secara internal.
sumber
Baik arsitektur Von Neumann dan Harvard termasuk dalam paradigma aliran kontrol.
Ada paradigma lain, yaitu aliran data .
Contoh umum komputasi aliran data, meskipun diimplementasikan pada komputer aliran kontrol, adalah spreadsheet (dari Visicalc dan Multiplan ke Excel).
Jaringan saraf juga termasuk dalam kategori ini.
FPGA adalah contoh lain arsitektur dataflow. Mereka diprogram dengan bahasa deskripsi perangkat keras seperti VHDL .
sumber
Arsitektur Harvard biasanya hanya digunakan dalam mikroprosesor tertanam di mana program disimpan dalam memori eeprom on-board. Satu-satunya yang cenderung Anda lihat adalah Atmel AVR seperti yang digunakan dalam Arduino
sumber
Saat Anda memprogramnya: Ubah wilayah memori dan kemudian lompat ke sana dan jalankan.
Jika itu adalah Havard, Anda tidak dapat melakukannya.
sumber