Minggu, 22 September 2013

Sejarah Von Neumann arsitektur




John von Neumann
   Istilah Von Neumann arsitektur, juga dikenal sebagai model Neumann Von atau arsitektur Princeton, berasal dari 1.945 komputer arsitektur deskripsi oleh matematikawan dan ilmuwan komputer John von Neumann awal dan lain-lain, Draft Pertama Laporan di EDVACini menggambarkan arsitektur desain untuk komputer digital elektronik dengan subdivisi dari unit pengolahan yang terdiri dari unit aritmatika logika dan register prosesor, unit kontrol yang berisi register instruksi dan program counter, memori untuk menyimpan data dan instruksi, mass storage eksternal, dan input dan mekanisme keluaran arti dari istilah tersebut telah berkembang berarti sebuah komputer disimpan-program di mana instruksi mengambil dan operasi data yang tidak dapat terjadi pada saat yang sama karena mereka berbagi bus umum.. Hal ini disebut sebagai Von Neumann bottleneck dan sering membatasi kinerja sistem.

      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.



Sebuah desain yang disimpan - program yang juga memungkinkan untuk kode diri memodifikasi . Satu motivasi awal untuk fasilitas tersebut adalah perlunya program untuk kenaikan atau memodifikasi bagian alamat instruksi , yang harus dilakukan secara manual dalam desain awal . Hal ini menjadi kurang penting ketika register indeks dan tidak langsung menangani menjadi fitur biasa dari arsitektur mesin . Penggunaan lain adalah untuk menanamkan data yang sering digunakan dalam aliran instruksi menggunakan pengalamatan langsung . Self- memodifikasi kode sebagian besar jatuh dari nikmat , karena biasanya sulit untuk memahami dan debug , serta menjadi tidak efisien dalam prosesor modern yang pipelining dan cache skema .
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 .

Evolusi sistem bus arsitektur

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
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