John von Neumann |
Desain sebuah arsitektur Von Neumann sederhana dari arsitektur Harvard yang lebih modern yang juga merupakan sistem disimpan-program tetapi memiliki satu set didedikasikan alamat dan bus data untuk membaca data dari dan menulis data ke memori, dan lain set alamat dan data bus untuk instruksi mengambil.
Sebuah komputer digital disimpan-program adalah salah satu yang membuat instruksi diprogram, serta data, dalam baca-tulis, random-access memory (RAM). Disimpan-program komputer itu merupakan kemajuan atas komputer program-dikendalikan dari tahun 1940-an, seperti Colossus dan ENIAC, yang diprogram dengan menetapkan switch dan memasukkan patch yang mengarah ke rute data dan mengontrol sinyal antara berbagai unit fungsional. Dalam sebagian besar komputer modern, memori yang sama digunakan untuk kedua data dan instruksi program, dan Von Neumann vs Harvard perbedaan berlaku untuk arsitektur tembolok, bukan memori utama.
Sejarah
Mesin-mesin komputasi
awal memiliki program tetap. Beberapa
komputer yang sangat sederhana masih menggunakan desain ini , baik untuk tujuan
kesederhanaan atau pelatihan . Misalnya,
kalkulator meja ( pada prinsipnya ) adalah program komputer tetap. Hal
ini dapat melakukan matematika dasar , tetapi tidak dapat digunakan sebagai
pengolah kata atau game konsol . Mengubah
program mesin tetap program membutuhkan re - kabel , restrukturisasi , atau
mendesain ulang mesin . Komputer
awal tidak begitu banyak " diprogram " karena mereka " dirancang
" . "
Pemrograman Ulang " , ketika itu mungkin sama sekali , adalah proses
melelahkan , dimulai dengan flowchart dan catatan kertas , diikuti oleh desain
teknik rinci , dan kemudian proses sering sulit secara fisik kembali kabel dan
membangun kembali mesin . Ini
bisa memakan waktu tiga minggu untuk membuat program pada ENIAC dan membuatnya
bekerja .
Dengan usulan dari komputer disimpan - program ini
berubah . Sebuah
komputer yang disimpan - program mencakup dengan desain set instruksi dan dapat
menyimpan dalam memori satu set instruksi ( program ) yang detail perhitungan.
Pada skala besar ,
kemampuan untuk mengobati instruksi sebagai data yang membuat perakit ,
compiler dan lainnya tool pemrograman otomatis mungkin. Satu
dapat " menulis program yang menulis program " . Pada skala
yang lebih kecil , operasi I / O - intensif berulang seperti manipulasi gambar
shader primitif atau pixel & vertex bitblt di grafis 3D modern, dianggap
tidak efisien untuk berjalan tanpa hardware kustom . Operasi
ini bisa dipercepat pada tujuan umum prosesor dengan " pada kompilasi fly
" ( " kompilasi just-in -time " ) teknologi , misalnya , kode -
menghasilkan program - satu bentuk kode memodifikasi diri yang tetap populer .
Ada kelemahan Neumann
desain Von . Selain
dari Von Neumann bottleneck dijelaskan di bawah ini , modifikasi program yang
bisa sangat berbahaya, baik oleh kecelakaan atau desain. Dalam
beberapa desain komputer yang disimpan - program sederhana , sebuah program
rusak dapat merusak dirinya sendiri , program lain , atau sistem operasi ,
mungkin menyebabkan crash komputer . Perlindungan
memori dan bentuk lain dari kontrol akses biasanya dapat melindungi terhadap
kedua disengaja dan modifikasi program berbahaya .
Pengembangan
konsep disimpan-program
Matematikawan Alan
Turing , yang telah diperingatkan masalah logika matematika dengan ceramah dari
Max Newman di University of Cambridge , menulis sebuah makalah pada tahun 1936
berjudul On Computable Numbers , dengan Aplikasi untuk Entscheidungsproblem ,
yang diterbitkan dalam Prosiding dari
London Masyarakat matematika . Di dalamnya ia menggambarkan sebuah mesin
hipotetis yang ia sebut " mesin komputasi universal" , dan yang
sekarang dikenal sebagai " Universal Turing mesin " . Mesin
hipotetis memiliki sebuah toko tak terbatas ( memori dalam terminologi saat ini
) yang mengandung kedua instruksi dan data . John
von Neumann berkenalan dengan Turing sementara ia adalah seorang profesor tamu
di Cambridge pada tahun 1935 , dan juga selama Turing PhD tahun di Institute
for Advanced Study di Princeton , New Jersey selama 1936-1937 . Apakah
dia tahu kertas Turing tahun 1936 pada waktu itu tidak jelas .
Pada tahun 1936
Konrad Zuse juga diantisipasi dalam dua aplikasi paten yang instruksi mesin
dapat disimpan dalam penyimpanan yang sama digunakan untuk data .
Mandiri , J. Presper
Eckert dan John Mauchly , yang mengembangkan ENIAC di Moore Sekolah Teknik
Elektro , di Universitas Pennsylvania , menulis tentang konsep program yang
disimpan pada bulan Desember 1943 . Dalam perencanaan baru mesin
, EDVAC , Eckert menulis pada Januari 1944 bahwa mereka akan menyimpan data dan
program dalam perangkat memori beralamat baru , penundaan logam line memory
merkuri . Ini
adalah pertama kalinya pembangunan mesin disimpan-program praktis diusulkan . Saat itu,
ia dan Mauchly tidak menyadari pekerjaan Turing .
Von Neumann terlibat
dalam Proyek Manhattan di Los Alamos National Laboratory , yang membutuhkan
jumlah besar perhitungan . Ini
menarik dia untuk proyek ENIAC , selama musim panas tahun 1944 . Di
sana ia bergabung ke dalam diskusi yang sedang berlangsung pada desain disimpan
- program komputer ini , EDVAC . Sebagai
bagian dari kelompok itu , ia mengajukan diri untuk menulis deskripsi dan
menghasilkan Draft Pertama Laporan di EDVAC yang termasuk ide dari Eckert
dan Mauchly . Itu
belum selesai ketika rekannya Herman Goldstine beredar dengan nama saja von
Neumann di atasnya , dengan kekhawatiran dari Eckert dan Mauchly . Makalah ini dibaca oleh puluhan rekan von Neumann di Amerika dan Eropa , dan
mempengaruhi putaran berikutnya desain
komputer .
Karena itu , Von
Neumann tidak sendirian dalam mengembangkan ide dari arsitektur program yang
disimpan , dan Jack Copeland menganggap bahwa itu adalah " historis tidak
pantas , untuk merujuk disimpan-program komputer digital elektronik sebagai '
von Neumann mesin ' " . Nya rekan
Los Alamos Stan Frankel mengatakan dari hal von Neumann untuk ide-ide Turing :
Aku tahu bahwa dalam
atau sekitar 1943 atau '44 von Neumann sangat menyadari begitu pentingnya
kertas Turing tahun 1936 ... Von
Neumann memperkenalkan saya pada kertas itu dan di mendesak , aku
mempelajarinya dengan hati-hati . Banyak
orang memiliki diakui von Neumann sebagai " bapak komputer " ( dalam
pengertian modern ) tapi saya yakin bahwa dia tidak akan pernah membuat
kesalahan sendiri . Dia
mungkin juga bisa disebut bidan , mungkin , tapi dia tegas menekankan kepada
saya , dan orang lain saya yakin , bahwa konsepsi mendasar adalah karena Turing
- sejauh tidak diantisipasi oleh Babbage ... Kedua
Turing dan von Neumann , tentu saja , juga membuat kontribusi besar untuk
" pengurangan praktek " dari konsep-konsep tetapi saya tidak akan
menganggap ini sebagai sebanding pentingnya dengan pengenalan dan penjelasan
dari konsep komputer mampu menyimpan dalam memori program
kegiatan dan memodifikasi program yang dalam perjalanan kegiatan ini .
Pada saat itu "
Pertama Draft " Laporan itu beredar , Turing menghasilkan laporan berjudul
Usulan Electronic Calculator yang dijelaskan dalam rekayasa dan detail
pemrograman , idenya dari mesin yang disebut Computing Automatic Mesin ( ACE )
. Dia disajikan
ini kepada Komite Eksekutif Laboratorium Fisika Nasional Inggris pada tanggal
19 Februari 1946. Meskipun
Turing tahu dari pengalamannya perang di Bletchley Park bahwa apa yang ia
mengusulkan adalah layak, kerahasiaan seputar Colossus , yang kemudian
dipertahankan selama beberapa dekade , mencegah dia mengatakan begitu . Berbagai
implementasi sukses dari desain ACE diproduksi .
Kedua von Neumann dan
Turing makalah dijelaskan disimpan-program komputer , tapi kertas von Neumann
sebelumnya mencapai sirkulasi besar dan arsitektur komputer itu diuraikan
menjadi dikenal sebagai " arsitektur von Neumann " . Pada
tahun 1953 publikasi cepat dari Pemikiran : Sebuah Simposium Digital Computing
Machines ( diedit oleh BV Bowden ) , bagian dalam bab Komputer di Amerika
berbunyi sebagai berikut :
MESIN DARI
LEMBAGA UNTUK ADVANCED STUDIES , PRINCETON
Pada
tahun 1945 , Profesor J. von Neumann , yang saat itu bekerja di Moore School of
Engineering di Philadelphia , di mana ENIAC telah
dibangun diterbitkan atas nama sekelompok rekan kerja sebuah laporan pada
desain logis dari komputer digital . Laporan
itu berisi proposal yang cukup rinci untuk desain mesin yang sejak itu menjadi
dikenal sebagai EDVAC ( elektronik diskrit
komputer otomatis variabel ) . Mesin
ini baru-baru ini telah selesai di Amerika , tetapi Neumann laporan von
terinspirasi pembangunan EDSAC (
elektronik penundaan penyimpanan kalkulator otomatis ) di Cambridge ( lihat
halaman 130 ) .
Pada
tahun 1947 , Burks , Goldstine dan von Neumann menerbitkan laporan lain yang
diuraikan desain jenis lain dari mesin ( mesin paralel saat ini ) yang harus
sangat cepat , mampu mungkin dari 20.000 operasi per detik . Mereka
menunjukkan bahwa masalah yang luar biasa dalam membangun komputer seperti itu
dalam pengembangan memori yang cocok , semua isi yang instan diakses , dan pada
awalnya mereka menyarankan penggunaan tabung vakum khusus - disebut "
Selectron " - yang telah
ditemukan oleh Princeton Laboratorium RCA Tabung-tabung
yang mahal dan sulit untuk membuat , sehingga von Neumann kemudian memutuskan
untuk membangun sebuah mesin didasarkan pada memori Williams . Mesin
ini , yang diselesaikan pada bulan Juni , 1952 di Princeton telah menjadi
dikenal sebagai Maniac tersebut . Desain
mesin ini telah memberikan inspirasi bahwa dari setengah lusin atau lebih mesin
yang sekarang sedang dibangun di Amerika , yang semuanya dikenal sayang sebagai
" Johniacs . " 'Dalam buku yang sama , dua paragraf pertama dari bab
tentang ACE berbunyi sebagai berikut : KOMPUTASI OTOMATIS DI NASIONAL
FISIK LABORATORIUM ' Salah
satu komputer digital yang paling modern yang mewujudkan perkembangan dan
perbaikan dalam teknik komputasi elektronik otomatis baru-baru ini
didemonstrasikan di National Physical Laboratory , Teddington , di mana telah
dirancang dan dibangun oleh tim kecil dari ahli matematika dan insinyur
penelitian elektronik pada staf Laboratorium
tersebut , dibantu oleh sejumlah insinyur produksi dari Perusahaan Listrik
Inggris , Limited .
Peralatan sejauh
didirikan di Laboratorium hanya model percontohan dari instalasi yang jauh
lebih besar yang akan dikenal sebagai Computing Otomatis Mesin , tetapi
meskipun relatif kecil dalam jumlah besar dan hanya mengandung sekitar 800
katup termionik , seperti dapat dinilai dari Pelat XII , XIII
dan XIV , itu adalah mesin penghitung sangat cepat dan serbaguna .
Konsep dasar dan
prinsip-prinsip abstrak perhitungan oleh sebuah mesin dirumuskan oleh Dr AM
Turing , FRS , dalam paper1 a. membaca
sebelum London matematika Masyarakat pada tahun 1936 , tetapi bekerja pada
mesin tersebut di Inggris tertunda oleh perang . Pada
tahun 1945 , bagaimanapun , pemeriksaan masalah itu dibuat di National Physical
Laboratory oleh Mr JR Womersley , maka pengawas Matematika Divisi Laboratorium
. Dia
bergabung oleh Dr Turing dan staf kecil spesialis , dan , pada tahun 1947 ,
perencanaan pendahuluan cukup maju untuk menjamin pembentukan kelompok khusus
yang telah disebutkan . Pada
bulan April 1948, yang terakhir menjadi Bagian Elektronika Laboratorium , di
bawah muatan Mr FM Colebrook .
Melalui dekade
1960-an dan 1970-an komputer umumnya menjadi baik kecil dan lebih cepat , yang
menyebabkan beberapa evolusi dalam arsitektur mereka . Sebagai
contoh, memori - dipetakan I / O memungkinkan perangkat input dan output harus
diperlakukan sama dengan memori Sebuah bus sistem tunggal dapat
digunakan untuk menyediakan sistem modular dengan biaya yang lebih rendah . . Ini
kadang-kadang disebut " perampingan " arsitektur . Dalam
beberapa dekade berikutnya , mikrokontroler sederhana kadang-kadang akan
menghilangkan fitur model untuk biaya yang lebih rendah dan ukuran . Komputer besar
menambahkan fitur untuk kinerja yang lebih tinggi .
Von Neumann bottleneck
Von Neumann bottleneck
Bus dibagi antara
memori program dan memori data menyebabkan Von Neumann bottleneck , throughput
terbatas ( kecepatan transfer data ) antara CPU dan memori dibandingkan dengan
jumlah memori . Karena
memori program dan memori data tidak dapat diakses pada saat yang sama ,
throughput yang jauh lebih kecil daripada tingkat di mana CPU dapat bekerja . Ini
serius membatasi kecepatan pemrosesan efektif bila CPU diperlukan untuk
melakukan pengolahan minimal pada sejumlah besar data. CPU
terus dipaksa untuk menunggu data yang diperlukan untuk ditransfer ke atau dari
memori. Karena
kecepatan CPU dan ukuran memori telah meningkat jauh lebih cepat daripada
throughput antara mereka , kemacetan telah menjadi lebih dari masalah, masalah
yang keparahan meningkat dengan setiap generasi baru dari CPU .
Istilah " von
Neumann bottleneck " diciptakan oleh John Backus tahun 1977 Turing ACM
kuliah Penghargaannya . Menurut
Backus :
Tentunya harus ada
cara yang lebih primitif membuat perubahan besar dalam toko daripada mendorong
sejumlah besar kata-kata bolak-balik melalui von Neumann bottleneck . Tidak
hanya tabung ini hambatan literal untuk lalu lintas data masalah, tetapi yang
lebih penting , itu adalah hambatan intelektual yang telah membuat kita terikat
untuk berpikir kata - at-a - time, bukan mendorong kita untuk berpikir dalam
hal unit
konseptual yang lebih besar dari tugas di tangan . Dengan
demikian pemrograman pada dasarnya perencanaan dan merinci lalu lintas besar
kata-kata melalui von Neumann bottleneck , dan banyak lalu lintas yang
menyangkut bukan data yang signifikan itu sendiri , tapi di mana menemukannya .
Masalah kinerja dapat
dikurangi ( sampai batas tertentu ) melalui beberapa mekanisme . Menyediakan
cache antara CPU dan memori utama , menyediakan cache yang terpisah atau jalur
akses terpisah untuk data dan instruksi ( yang disebut Modified arsitektur
Harvard ) , menggunakan algoritma prediksi cabang dan logika , dan menyediakan
CPU terbatas tumpukan atau lainnya on-chip papan
memori untuk mengurangi akses memori empat satu cara kinerja meningkat . Masalahnya
juga dapat mengesampingkan agak dengan menggunakan komputasi paralel , misalnya
dengan menggunakan Non - Uniform Memory Access ( NUMA ) arsitektur - pendekatan
umumnya digunakan oleh superkomputer . Hal
ini kurang jelas apakah hambatan intelektual yang mengkritik Backus telah
berubah banyak sejak tahun 1977 . Solusi
yang diusulkan Backus telah tidak memiliki pengaruh besar . [ Rujukan? ]
Pemrograman fungsional Modern dan pemrograman berorientasi obyek jauh lebih
diarahkan " mendorong sejumlah besar kata-kata bolak-balik " dari
bahasa sebelumnya seperti Fortran itu , tetapi secara internal , yang masih apa
komputer menghabiskan banyak waktu mereka lakukan, superkomputer bahkan sangat
paralel .
Pada tahun 1996,
sebuah studi benchmark database yang menemukan bahwa tiga dari empat siklus CPU
dihabiskan menunggu untuk memori . Para
peneliti berharap bahwa peningkatan jumlah simultan instruksi sungai dengan
multithreading atau multiprocessing chip tunggal akan membuat kemacetan ini
bahkan lebih buruk .
0 komentar:
Posting Komentar