Arsitektur
Harvard adalah arsitektur komputer dengan fisik terpisah penyimpanan dan sinyal jalur untuk
instruksi dan data. Istilah ini berasal dari Harvard Mark I komputer berbasis
relay, yang disimpan petunjuk pada pita menekan (24 bit lebar) dan data dalam
counter elektro-mekanis. Mesin-mesin awal memiliki penyimpanan data seluruhnya
terkandung dalam central processing unit , dan tidak
memberikan akses ke penyimpanan instruksi sebagai data. Program perlu dimuat
oleh operator; prosesor tidak bisa booting sendiri.
Saat ini,
sebagian besar prosesor menerapkan jalur sinyal yang terpisah tersebut untuk
alasan kinerja tetapi sebenarnya menerapkan arsitektur Harvard dimodifikasi ,
sehingga mereka dapat mendukung tugas-tugas seperti memuat program dari penyimpanan
disk sebagai data dan kemudian dijalankan.
Rincian memori
Dalam
arsitektur Harvard, tidak perlu untuk membuat dua memori berbagi karakteristik.
Secara khusus, kata lebar, waktu, penerapan teknologi, dan alamat memori struktur bisa berbeda. Dalam
beberapa sistem, instruksi dapat disimpan dalam read-only memory sementara
memori data umumnya memerlukan baca-tulis memori . Dalam beberapa sistem,
ada lebih banyak memori instruksi dari memori data sehingga alamat instruksi
yang lebih lebar dari alamat data.
Kontras dengan
arsitektur von Neumann
Dalam murni arsitektur
von Neumann yang CPU dapat berupa membaca instruksi atau data membaca / menulis
dari / ke memori. Keduanya tidak dapat terjadi pada saat yang sama sejak
instruksi dan data menggunakan sistem bus yang sama. Dalam komputer menggunakan
arsitektur Harvard, CPU dapat baik membaca instruksi dan melakukan akses data
memori pada saat yang sama, bahkan tanpa cache. Sebuah arsitektur komputer
Harvard sehingga bisa lebih cepat untuk kompleksitas rangkaian diberikan karena
instruksi menjemput dan akses data tidak bersaing untuk memori jalur tunggal.
Juga, mesin
arsitektur Harvard memiliki kode dan data alamat ruang yang berbeda: Alamat
instruksi nol tidak sama dengan data alamat nol. Alamat Instruksi nol mungkin
mengidentifikasi nilai dua puluh empat bit, sedangkan data alamat nol mungkin
menunjukkan byte delapan bit yang bukan bagian dari itu nilai dua puluh empat
bit.
Kontras dengan
modifikasi Harvard arsitektur
Arsitektur Harvard diubah mesin sangat banyak seperti mesin arsitektur Harvard, tetapi
melemaskan pemisahan yang ketat antara instruksi dan data sementara masih
membiarkan CPU secara bersamaan mengakses dua (atau lebih) bus memori. Modifikasi
yang paling umum termasuk terpisah instruksi dan data cache yang didukung oleh
address space yang sama. Sementara CPU mengeksekusi dari cache, ia bertindak
sebagai mesin Harvard murni. Ketika mengakses memori dukungan, itu bertindak
seperti mesin von Neumann (di mana kode dapat dipindahkan sekitar seperti data,
yang merupakan teknik yang kuat). Modifikasi ini tersebar luas di prosesor
modern seperti arsitektur ARM dan x86 prosesor. Kadang-kadang longgar disebut
arsitektur Harvard, mengabaikan fakta bahwa itu benar-benar "diubah".
Modifikasi
lainnya menyediakan jalur antara memori instruksi (seperti ROM atau flash) dan
CPU untuk memungkinkan kata-kata dari memori instruksi harus diperlakukan
sebagai read-only data. Teknik ini digunakan dalam beberapa mikrokontroler,
termasuk Atmel AVR . Hal ini memungkinkan data konstan,
seperti string teks atau tabel fungsi, untuk diakses tanpa terlebih dahulu
harus disalin ke dalam memori data, melestarikan langka (dan haus kekuasaan)
memori data untuk membaca / menulis variabel. Khusus instruksi bahasa mesin
yang tersedia untuk membaca data dari memori instruksi. (Ini berbeda dari
instruksi yang sendiri menanamkan data konstan, meskipun untuk konstanta
individu dua mekanisme dapat menggantikan satu sama lain.)
Kecepatan
Dalam beberapa
tahun terakhir, kecepatan CPU telah tumbuh berkali-kali dibandingkan dengan
kecepatan akses memori utama. Perawatan harus diambil untuk mengurangi jumlah
kali memori utama diakses untuk mempertahankan kinerja. Jika, misalnya, setiap
instruksi dijalankan dalam CPU memerlukan akses ke memori, keuntungan komputer
tidak untuk meningkatkan kecepatan CPU-masalah disebut sebagai "memori
terikat".
Hal ini
dimungkinkan untuk membuat memori yang sangat cepat tapi ini hanya praktis
untuk sejumlah kecil memori untuk biaya, tenaga dan routing sinyal alasan. Solusinya
adalah untuk menyediakan sejumlah kecil memori yang sangat cepat yang dikenal
sebagai CPU cache yang menyimpan data yang baru
diakses. Selama data yang perlu CPU dalam cache, kinerja yang jauh lebih tinggi
daripada ketika cache harus mendapatkan data dari memori utama.
Internal vs
eksternal desain
Kinerja tinggi
desain chip CPU modern menggabungkan aspek kedua Harvard dan arsitektur von
Neumann. Secara khusus, "tembolok split" versi arsitektur Harvard termodifikasi sangat
umum. CPU memori cache dibagi menjadi cache instruksi dan data cache. Arsitektur
Harvard digunakan sebagai CPU mengakses cache. Dalam kasus cache miss,
bagaimanapun, data diambil dari memori utama, yang tidak secara resmi dibagi
menjadi beberapa bagian instruksi dan data terpisah, meskipun mungkin memiliki
kontroler memori yang terpisah digunakan untuk akses bersamaan ke RAM, ROM dan
(NOR ) memori flash.
Jadi, sementara
arsitektur von Neumann terlihat dalam beberapa konteks, seperti ketika data dan
kode datang melalui memory controller yang sama, implementasi hardware
keuntungan efisiensi dari arsitektur Harvard cache mengakses dan setidaknya
beberapa memori akses utama.
Selain itu, CPU
sering memiliki write buffer yang memungkinkan CPU melanjutkan setelah menulis
ke daerah non-cache. The von Neumann sifat memori kemudian terlihat ketika
instruksi ditulis sebagai data oleh CPU dan perangkat lunak harus memastikan
bahwa cache (data dan instruksi) dan menulis penyangga disinkronisasi sebelum
mencoba untuk menjalankan instruksi tersebut hanya ditulis.
Penggunaan
modern dari arsitektur Harvard
Keuntungan
utama dari Harvard murni Akses arsitektur-simultan lebih dari satu memori
sistem-telah dikurangi oleh prosesor Harvard dimodifikasi menggunakan moderen cache CPU sistem. Relatif murni Harvard mesin
arsitektur digunakan terutama dalam aplikasi di mana pengorbanan, seperti
penghematan biaya dan tenaga dari menghilangkan cache, melebihi hukuman
pemrograman dari menampilkan kode dan data alamat ruang yang berbeda.
- Prosesor sinyal digital (DSP) umumnya mengeksekusi kecil, audio atau video algoritma pengolahan yang sangat optimal. Mereka menghindari cache karena perilaku mereka harus sangat direproduksi. Kesulitan mengatasi beberapa ruang alamat menjadi perhatian sekunder untuk kecepatan eksekusi. Akibatnya, beberapa DSP memiliki beberapa kenangan data dalam ruang alamat yang berbeda untuk memfasilitasi SIMD dan VLIW pengolahan. Texas Instruments TMS320 prosesor C55x, untuk satu contoh, memiliki beberapa bus data paralel (dua menulis, membaca tiga) dan satu instruksi bus.
- Mikrokontroler ditandai dengan memiliki sejumlah kecil program ( flash memory ) dan data ( SRAM ) memori, tanpa cache, dan mengambil keuntungan dari arsitektur Harvard untuk kecepatan pemrosesan instruksi oleh bersamaan dan akses data. Penyimpanan terpisah berarti program dan kenangan data mungkin memiliki lebar bit yang berbeda, misalnya menggunakan 16-bit instruksi lebar dan 8-bit data yang lebar. Mereka juga berarti bahwa instruksi prefetch dapat dilakukan secara paralel dengan kegiatan lain. Contohnya termasuk, yang AVR oleh Atmel Corp dan PIC oleh Microchip Technology, Inc .
Bahkan dalam
kasus ini, itu adalah umum untuk menggunakan instruksi khusus untuk memori
program akses seolah-olah itu data untuk tabel-hanya membaca, atau untuk
pemrograman ulang; prosesor tersebut yang dimodifikasi arsitektur Harvard prosesor.
sip min
BalasHapussolder uap