“Hukum penskalaan Dennard dan hukum Moore sudah mati, sekarang bagaimana?” - lakon dalam empat babak oleh David Patterson“Kami membakar jembatan yang kami buru-buru di sini, tidak memiliki bukti lain dari gerakan kami, kecuali untuk ingatan tentang bau asap dan asumsi bahwa itu menyebabkan air mata” - “Rosencrantz dan Guildenstern sudah mati”, sebuah permainan absurd oleh Tom StoppardPada 15 Maret, Dr. David Patterson berpidato di hadapan sekitar 200 insinyur pemakan pizza. Dokter secara singkat memberi tahu mereka tentang sejarah setengah abad membangun komputer dari tribun di ruang konferensi besar Building E di kampus Texas Instruments di Santa Clara selama kuliah IEEE berjudul "50 Tahun Arsitektur Komputer: Dari Unit Pemrosesan Pusat ke DNN TPU dan Open RISC-V." Ini adalah kisah pasang surut, kemiringan dan lubang hitam acak yang menelan seluruh arsitektur.
Patterson dimulai pada 1960-an dengan proyek IBM System / 360 yang inovatif, berdasarkan karya pemrograman awal Maurice Wilks tahun 1951. Menurut standar TI, itu sudah lama sekali ... Menjelang akhir pidato, Patterson menunjukkan diagram yang luar biasa. Ini jelas menunjukkan bagaimana sebenarnya kematian hukum skala Dennard, diikuti oleh kematian hukum Moore, benar-benar mengubah metode desain sistem komputer. Pada akhirnya, ia menjelaskan konsekuensi teknologi anumerta dari guncangan ini.
Selalu menyenangkan untuk melihat bagaimana seorang master sejati terlibat dalam kerajinan favoritnya, dan Patterson benar-benar ahli dalam arsitektur komputer dan kekuatan yang mengaturnya. Dia mengajarkan topik ini sejak 1976 dan ikut menulis buku terlaris sejati
, Arsitektur Komputer. Pendekatan Kuantitatif ” dengan Dr. John Hennessy. Buku ini baru saja selamat dari edisi keenam. Jadi Patterson adalah urutan besarnya lebih besar dari tonggak 10.000 jam yang dirumuskan oleh
Malcolm Gladwell untuk mencapai penguasaan dalam subjek apa pun. Dan itu terlihat.
Patterson menarik perhatian penonton selama 75 menit, membagi pertunjukan menjadi empat babak. Seperti drama konyol Tom Stoppard, "Rosencrantz and the Guildenstern are Dead," tampaknya tidak ada dalam cerita ini - tidak ada sama sekali - berjalan sesuai rencana.
David Patterson di Bagian IEEE Santa Clara Valley pada 15 Maret 2018, sebelum memberinya penghargaan ACM Turing Award 2017. Sumber: Steve LeibsonAct One: IBM System / 360, DEC VAX, dan CISC Prelude
Pada 1950-an dan 1960-an, eksperimen muluk dilakukan dengan arsitektur set perintah (ISA) untuk mainframe (pada waktu itu, hampir tidak ada komputer yang dirancang kecuali mainframe). Hampir setiap mainframe memiliki ISA "baru dan lebih baik". Pada awal 1960-an, hanya IBM yang merilis empat lini komputer: 650, 701, 702, dan 1401, yang dirancang untuk aplikasi bisnis, ilmiah, dan real-time. Semuanya dengan arsitektur set perintah yang saling tidak kompatibel. Empat SPA yang tidak kompatibel berarti bahwa IBM sedang mengembangkan dan memelihara empat set periferal yang sepenuhnya independen (tape drive, disk / drum drive, dan printer), serta empat set alat pengembangan perangkat lunak (assembler, compiler, sistem operasi, dll.) .
Situasinya jelas tidak stabil. Karena itu, IBM berjudi besar. Dia memutuskan untuk mengembangkan satu set instruksi biner yang kompatibel untuk semua mesinnya. Satu set instruksi independen perangkat untuk semuanya. Kepala Arsitek Gene Amdahl dan timnya telah mengembangkan arsitektur System / 360, yang dirancang untuk diimplementasikan dalam rentang dari seri berbiaya rendah hingga mahal dengan bus data 8-, 16-, 32-, dan 64-bit.
Untuk menyederhanakan pengembangan prosesor untuk IBM System / 360, tim pengembangan memutuskan untuk menggunakan mikrokode untuk logika kontrol yang sulit dirancang. Maurice Wilkes menemukan mikrokode pada tahun 1951, dan pertama kali digunakan untuk komputer EDSAC 2 pada tahun 1958. Di satu sisi, mikrokode sudah menjadi teknologi yang terbukti pada saat proyek System / 360 diluncurkan. Dan dia kembali membuktikan nilainya.
Mikrokode prosesor segera tercermin dalam desain mainframe, terutama ketika chip memori semikonduktor membebani hukum Moore. Mungkin contoh terbesar dari penggunaan besar-besaran mikrokode adalah DEC VAX, yang diperkenalkan pada tahun 1977. VAX 11/780, minicomputer inovatif berbasis pada TTL dan chip memori, menjadi tolok ukur untuk kinerja hingga akhir abad ini.
Insinyur DEC menciptakan ISA untuk VAX pada saat pemrograman assembler menang, sebagian karena inersia teknik ("kami selalu melakukan ini"), dan sebagian karena kompiler tingkat tinggi yang belum sempurna pada saat itu menghasilkan kode mesin yang hilang ke ringkasan tulisan tangan. kode perakitan. Instruksi VAX ISA mendukung sejumlah besar mode pengalamatan ramah-programmer dan termasuk instruksi mesin terpisah yang melakukan operasi kompleks, seperti memasukkan / menghapus antrian dan menghitung polinomial. Insinyur VAX senang dengan pengembangan perangkat keras yang membuat hidup lebih mudah bagi programmer. Mikrokode membuatnya mudah untuk menambahkan instruksi baru ke ISA - dan kontrol firmware VAX 99-bit meningkat menjadi 4.096 kata.
Fokus pada terus-menerus memperluas jumlah instruksi untuk membuat hidup lebih mudah bagi programmer assembler telah terbukti menjadi keunggulan kompetitif nyata untuk VAX dari DEC. Pemrogram menyukai komputer yang membuat pekerjaan mereka lebih mudah. Bagi banyak sejarawan komputer, VAX 11/780 menandai kelahiran arsitektur prosesor CISC (dengan serangkaian instruksi lengkap).
Babak Kedua: Kesuksesan Acak dan Kegagalan Besar
Komputer mini DEC VAX 11/780 memuncak ketika boom mikroprosesor dimulai. Hampir semua mikroprosesor pertama adalah mesin CISC, karena meringankan beban pada programmer tetap merupakan keunggulan kompetitif bahkan ketika komputer dikompresi menjadi satu chip. Intel Gordon Moore, yang menciptakan hukum Moore di Fairchild, ditugaskan mengembangkan ISA berikutnya untuk menggantikan ISA yang populer secara tidak sengaja untuk Intel 8080/8085 8-bit (dan Z80). Mengambil satu bagian dari proyek IBM System / 360 yang sangat sukses (satu ISA untuk mengatur semuanya) dan yang lain dari jalur DEC dari minicomputer CISC dari DEC, Gordon Moore juga mencoba mengembangkan arsitektur set instruksi universal - satu Intel ISA, yang akan hidup sampai akhir berabad-abad.
Pada saat itu, mikroprosesor 8-bit berjalan dalam ruang alamat 16-bit, dan arsitektur kumpulan instruksi Intel ISA yang baru memiliki ruang alamat 32-bit dan perlindungan memori bawaan. Dia mendukung instruksi dengan panjang berapa pun yang dimulai dengan satu bit. Dan itu diprogram dalam bahasa tingkat tinggi terbaru dan terhebat: Ada.
ISA ini seharusnya menjadi bagian dari prosesor Intel iAPX 432, dan itu adalah proyek yang sangat besar, sangat ambisius untuk Intel.
Jika Anda mempelajari sejarah "revolusioner" iAPX 432, Anda akan mendapati bahwa itu berakhir dengan kegagalan yang mengerikan. Perangkat keras yang diperlukan untuk arsitektur IAPX 432 sangat kompleks. Alhasil, chip itu dirilis dengan penundaan besar. (Diperlukan siklus pengembangan 6 tahun dan hanya muncul pada tahun 1981.) Dan ketika mikroprosesor akhirnya muncul, ternyata sangat lambat.
Moore pada awal proyek menyadari bahwa mengembangkan iAPX 432 akan memakan banyak waktu, jadi pada tahun 1976 ia meluncurkan proyek paralel untuk mengembangkan mikroprosesor 16-bit yang jauh lebih ambisius, berdasarkan pada perluasan ISA 8-bit yang sukses dari 8080, dengan kompatibilitas di tingkat sumber kode. Para pengembang hanya memiliki satu tahun untuk merilis chip, sehingga mereka hanya diberi waktu tiga minggu untuk mengembangkan ISA. Hasilnya adalah prosesor 8086 dan satu ISA universal, setidaknya untuk beberapa dekade berikutnya.
Hanya ada masalah: menurut deskripsi orang dalam Intel sendiri, mikroprosesor 8086 keluar sangat lemah.
Kinerja Intel 8086 tertinggal dari pesaing terdekatnya: Motorola 68000 yang elegan (prosesor 32-bit dalam pakaian 16-bit) dan Zilog Z8000 16-bit. Meskipun kinerjanya buruk, IBM memilih Intel 8086 untuk proyek IBM PC-nya, karena insinyur Intel di Israel mengembangkan varian 8088 - 8086 dengan bus 8-bit. Mikroprosesor 8088 bekerja sedikit lebih lambat daripada 8086, tetapi bus 8-bitnya tampaknya lebih kompatibel dengan chip periferal yang ada dan mengurangi biaya pembuatan motherboard PC.
Menurut perkiraan IBM, direncanakan untuk menjual sekitar 250.000 komputer PC IBM. Sebaliknya, penjualan melebihi 100 juta, dan Intel 8088 adalah hit acak tetapi mutlak.
Babak ketiga: kelahiran RISC, VLIW dan tenggelamnya "Itanika"
Pada tahun 1974, segera setelah mikroprosesor komersial pertama muncul, IBM John Kok mencoba mengembangkan prosesor kontrol untuk switchboard telepon elektronik. Dia memperkirakan bahwa prosesor kontrol perlu menjalankan sekitar 10 juta instruksi per detik (MIPS) untuk memenuhi persyaratan aplikasi. Mikroprosesor pada waktu itu adalah urutan besarnya lebih lambat, dan bahkan mainframe IBM System / 370 tidak cocok untuk tugas ini: itu menghasilkan sekitar 2 MIPS.
Jadi, tim Kok, dalam kerangka proyek 801, mengembangkan arsitektur prosesor yang dimodernisasi secara radikal dengan bus konveyor dan sirkuit kontrol cepat tanpa mikrokode - ini dimungkinkan dengan mengurangi jumlah instruksi hingga minimum untuk menyederhanakan manajemen. (Mesin itu dinamai IBM 801 karena dikembangkan di gedung 801 dari Thomas J. Watson IBM Research Center). Untuk pertama kalinya, IBM 801 mengimplementasikan arsitektur RISC (set instruksi yang dikurangi).
Komputer prototipe 801 dibangun di atas chip kecil Motorola MECL 10K, yang bersama-sama memberikan kinerja 15 MIPS yang belum pernah terjadi sebelumnya dan dengan mudah masuk ke dalam persyaratan teknis. Karena set instruksi yang diperpendek kurang nyaman bagi programmer daripada set instruksi CISC, tim Coca harus mengembangkan kompiler yang mengoptimalkan. Mereka mengambil beban tambahan untuk menciptakan kode mesin yang efisien dari algoritma kompleks yang ditulis dalam bahasa tingkat tinggi.
Setelah itu, Kok dikenal sebagai "bapak RISC." IBM tidak pernah merilis saklar telepon, tetapi prosesor 801 berevolusi dan akhirnya menjadi dasar bagi jajaran prosesor RISC IBM yang luas, yang banyak digunakan dalam mainframe dan servernya.
Kemudian, beberapa insinyur di DEC menemukan bahwa sekitar 20% dari instruksi CISC VAX menempati sekitar 80% dari mikrokode, tetapi hanya 0,2% dari total waktu pelaksanaan program. Biaya seperti itu! Mengingat hasil proyek IBM 801 dan temuan para insinyur DEC, dapat diasumsikan bahwa arsitektur CISC tidak terlalu bagus.
Asumsi itu dikonfirmasi.
Pada tahun 1984, profesor Stanford John Hennessey menerbitkan sebuah artikel penting dalam jurnal
IEEE Transactions on Computers yang berjudul
"arsitektur prosesor VLSI" , di mana ia membuktikan keunggulan arsitektur dan ISA pada RISC untuk implementasi prosesor VLSI. Patterson merangkum bukti Hennessey dalam ceramahnya: RISC menurut definisi lebih cepat karena mesin CISC membutuhkan 6 kali lebih banyak siklus instruksi daripada mesin RISC. Meskipun mesin CISC perlu menyelesaikan setengah instruksi untuk tugas yang sama, komputer RISC pada dasarnya tiga kali lebih cepat daripada CISC.
Oleh karena itu, prosesor x86 di komputer modern tampaknya hanya menjalankan instruksi perangkat lunak yang kompatibel dengan CISC, tetapi segera setelah instruksi dari RAM eksternal memasuki prosesor, mereka segera dicincang / dipotong-potong menjadi "perintah mikro" yang lebih sederhana (seperti Intel menyebut instruksi RISC), kemudian antri dan dieksekusi di beberapa pipa RISC. Prosesor x86 saat ini menjadi lebih cepat, berubah menjadi mesin RISC.
Beberapa pengembang arsitektur prosesor telah memutuskan untuk mengembangkan ISA, yang akan jauh lebih baik daripada RISC atau CISC. Dengan bantuan instruksi mesin yang sangat panjang (VLIW), menjadi mungkin untuk mengemas banyak operasi paralel menjadi satu instruksi mesin besar. Arsitek menjuluki versi ISA ini sebagai VLIW (Very Long Instruction Word). Mesin VLIW meminjam salah satu prinsip operasi RISC, mempercayakan kompiler dengan tugas perencanaan dan pengemasan dalam kode mesin Instruksi VLIW dihasilkan dari kode sumber tingkat tinggi.
Intel memutuskan bahwa arsitektur VLIW terlihat sangat menarik - dan memulai pengembangan prosesor VLIW, yang akan menjadi aplikasi untuk memasuki dunia prosesor 64-bit yang tak terhindarkan. Intel menyebut VLIW ISA IA-64-nya. Seperti biasa, Intel telah mengembangkan nomenklaturnya sendiri dan namanya untuk istilah-istilah yang lazim. Dalam Intel Jargon, VLIW telah berkembang menjadi EPIC (Explicitly Parallel Instruction Computing). Arsitektur EPIC tidak boleh didasarkan pada set instruksi x86, sebagian untuk mencegah AMD menyalin.
Kemudian, para insinyur HP PA-RISC juga memutuskan bahwa potensi pengembangan RISC hampir habis - dan mereka juga terinfeksi VLIW. Pada tahun 1994, HP bergabung dengan Intel untuk mengembangkan arsitektur VLIW / EPIC 64-bit bersama. Hasilnya akan disebut Itanium. Tujuannya diumumkan untuk meluncurkan prosesor Itanium pertama pada tahun 1998.
Namun, segera menjadi jelas bahwa akan sulit untuk mengembangkan prosesor dan kompiler VLIW. Intel tidak mengumumkan nama Itanium sampai 1999 (kecerdasan di Usenet langsung menjuluki prosesor "Itanik"), dan prosesor yang berfungsi pertama dirilis hanya pada tahun 2001. Itanic akhirnya tenggelam dengan aman pada tahun 2017 ketika Intel mengumumkan penyelesaian pekerjaan pada IA-64. (Lihat
“Intel sank Itanium: mungkin proyek prosesor gagal termahal di dunia.” )
Arsitektur EPIC juga telah menjadi kegagalan epik - versi mikroprosesor JJ Jinx dari Star Wars. Meskipun pada suatu waktu sepertinya ide yang bagus.
Prosesor Itanium, EPIC, dan VLIW telah mati karena beberapa alasan, Patterson mengatakan:
- Cabang yang tidak dapat diprediksi yang menyulitkan perencanaan dan pengemasan operasi paralel menjadi kata-kata perintah VLIW.
- Kehilangan cache yang tidak dapat diprediksi memperlambat eksekusi dan menyebabkan penundaan eksekusi variabel.
- Set instruksi VLIW menggembungkan jumlah kode.
- Ternyata terlalu sulit untuk membuat kompiler pengoptimal yang bagus untuk mesin VLIW.
Mungkin Donald Knuth, spesialis paling terkenal di dunia dalam algoritma komputer, mengatakan: "Pendekatan Itanium ... tampak begitu hebat - sampai ternyata kompiler yang diinginkan pada dasarnya tidak mungkin untuk ditulis."
Compiler tampaknya lebih baik dengan arsitektur sederhana seperti RISC.
Arsitektur VLIW tidak membuat mikroprosesor universal. Tetapi kemudian mereka masih menemukan panggilan mereka, yang membawa kita ke babak keempat dari drama itu.
Babak Empat: Hukum skala Dennard dan hukum Moore sudah mati, tetapi DSA, TPU, dan Open RISC-V masih hidup
Dalam drama Tom Stoppard, Rosencrantz dan Guildenstern are Dead, dua karakter tidak penting yang diambil dari Hamlet Shakespeare akhirnya mengerti pada akhir tindakan terakhir bahwa mereka mati sepanjang permainan. Dalam aksi terakhir sejarah prosesor, Patterson meninggal karena hukum skala Dennard dan hukum Moore. Ini adalah gambar dari buku Hennessey and Patterson edisi terbaru, yang secara grafik menunjukkan keseluruhan cerita:
Sumber: John Hennessey dan David Patterson, “Arsitektur Komputer. Pendekatan Kuantitatif ”, edisi ke-6. 2018Grafik menunjukkan bahwa mikroprosesor RISC menyediakan hampir dua puluh tahun pertumbuhan produktivitas yang cepat dari 1986 hingga 2004, karena mereka berevolusi sesuai dengan hukum Moore (dua kali lebih banyak transistor pada setiap putaran baru dari teknologi proses) dan hukum skala Dennard (kecepatan dua kali lipat dengan pengurangan dua kali lipat dalam konsumsi daya per transistor oleh setiap cabang baru dari teknologi proses). Kemudian hukum skala Dennard meninggal - dan prosesor individu berhenti berakselerasi. Konsumsi energi dari transistor juga berhenti mengurangi separuh pada setiap tahap.
Industri mengkompensasi hal ini dengan hanya mengandalkan hukum Moore untuk menggandakan jumlah transistor - dan dengan cepat meningkatkan jumlah prosesor pada sebuah chip, memasuki era multi-core. Interval penggandaan produktivitas meningkat dari 1,5 menjadi 3,5 tahun selama era ini, yang berlangsung kurang dari sepuluh tahun, sebelum hukum Amdahl mulai berlaku (diulangi sebagai "ada eksploitasi paralelisme terbatas dalam setiap aplikasi"). Beberapa aplikasi dapat sepenuhnya memuat puluhan prosesor.
Kemudian hukum Moore juga meninggal.
Menurut Patterson, hasilnya sedemikian rupa sehingga sejak 2015 pertumbuhan kinerja prosesor telah turun menjadi 3% per tahun diabaikan. Penggandaan hukum Moore sekarang terjadi dalam 1,5 dan bahkan 3,5 tahun. Sekarang
usianya dua puluh tahun .
Akhir dari game? "Tidak," kata Patterson. Dalam arsitektur prosesor, Anda dapat mencoba beberapa hal yang lebih menarik.
Salah satu contoh: Arsitektur Spesifik Domain (DSA) adalah prosesor yang dirancang khusus yang mencoba untuk mempercepat pelaksanaan sejumlah kecil tugas untuk aplikasi tertentu. Arsitektur VLIW tidak cocok untuk prosesor universal, tetapi mereka masuk akal untuk aplikasi DSP dengan cabang yang jauh lebih sedikit. Contoh lain: Google TPU (Tensor Processing Unit), yang mempercepat eksekusi DNN (Deep Neural Network, menggunakan blok 65.536 unit penambahan multiplikasi (MAC) pada satu chip.
Ternyata komputasi matriks dengan akurasi berkurang adalah kunci untuk mewujudkan DNN yang sangat cepat. 65.536 blok MAC delapan bit di Google TPU beroperasi pada 700 MHz dan menghasilkan 92 TOPS (teraoperations per detik) kinerja. Ini sekitar 30 kali lebih cepat dari CPU server dan 15 kali lebih cepat dari GPU.
Lipat gandakan setengah konsumsi daya dalam TPU 28-nanometer dibandingkan dengan server CPU atau GPU - dan dapatkan keuntungan dalam energi / daya masing-masing sebesar 60 dan 30 kali.Dengan kebetulan yang aneh, Profesor David Patterson baru-baru ini mengundurkan diri dari University of California di Berkeley setelah mengajar dan bekerja di sana selama 40 tahun. Dia sekarang memegang posisi "Insinyur Terhormat" di Google untuk proyek pengembangan TPU.Hal lain yang menarik adalah penciptaan arsitektur sumber terbuka ISA, kata Patterson. Upaya-upaya sebelumnya, termasuk OpenRISC dan OpenSPARC , tidak lepas landas, tetapi Patterson berbicara tentang ISA open source yang sepenuhnya baru - ini adalah RISC-Vyang dia bantu kembangkan di Berkeley. Lihatlah SoC, kata Patterson, dan Anda akan melihat banyak prosesor dengan ISA yang berbeda. "Kenapa?" Dia bertanya.Mengapa kita memerlukan ISA universal, ISA lain untuk pemrosesan gambar, serta ISA untuk pemrosesan video, untuk pemrosesan audio dan ISA DSP pada satu chip? Mengapa tidak membuat hanya satu atau lebih ISA sederhana (dan satu set alat pengembangan perangkat lunak) yang dapat digunakan kembali untuk aplikasi tertentu? Mengapa tidak membuat ISA open source sehingga semua orang dapat menggunakan arsitektur ini secara gratis dan memperbaikinya? Satu-satunya jawaban Patterson untuk pertanyaan-pertanyaan ini adalah RISC-V ISA.Baru-baru ini membentuk Yayasan RISC-Vmirip konsepnya dengan Linux Foundation yang sukses. Ini sudah termasuk lebih dari 100 perusahaan, dan dia mengambil pekerjaan standardisasi RISC-V ISA. Misi IMF adalah untuk berkontribusi pada implementasi RISC-V ISA dan pengembangannya di masa depan. Secara kebetulan, Dr. David Patterson, "pensiun," adalah wakil ketua Yayasan RISC-V.Seperti Rosencrantz dan Guildenstern, hukum scaling Dennard dan hukum Moore berakhir mati pada akhir permainan bersejarah Patterson, tetapi peristiwa menarik dalam arsitektur komputer baru saja dimulai."Tidak ada yang lebih meyakinkan daripada kematian yang tidak meyakinkan," kata drama itu.Epilog: Pada tanggal 21 Maret, hanya seminggu setelah berbicara di IEEE, Computing Technology Association (ACM) mengakui kontribusi Patterson dan Hennessey terhadap arsitektur komputer dengan memberi mereka penghargaan ACM Turing Award 2017 “untuk pendekatan komputasi yang inovatif, sistematis, komputasi untuk merancang dan mengevaluasi arsitektur komputer yang menyediakan dampak abadi pada industri mikroprosesor. "