CG Bell, WD Strecker, "Komputer Yang Telah Kita Pelajari dari PDP-11," Simposium Tahunan ke-3 tentang Prosiding Konferensi Arsitektur Komputer, hal. ke-14, 1976.Artikel yang saya pilih hari ini adalah retrospektif dari desain komputer. Ini adalah salah satu dari beberapa artikel oleh Gordon Bell dengan berbagai penulis yang menggambarkan pengembangan, pertumbuhan, dan penggantian tiba-tiba dari lini produk kultus perusahaan, minicomputer PDP-11.
- CG Bell, R. Cady, H. McFarland, B. Delagi, J. O'Laughlin, R. Noonan dan W. Wulf, "Arsitektur Baru untuk Komputer-Komputer Kecil - DEC PDP-11," Prosiding Joint Sprint Konferensi Komputer, hlm. 657-675, AFIPS Press, 1970.
- CG Bell, WD Strecker, "Komputer Yang Telah Kita Pelajari dari PDP-11," Simposium Tahunan ke-3 tentang Prosiding Konferensi Arsitektur Komputer, hal. ke-14, 1976.
- WD Strecker, "VAX-11/780: Perpanjangan Alamat Virtual ke Keluarga DEC PDP-11," Prosiding National Computer Conference, hlm. 967-980, AFIPS Press, 1978.
- CG Bell, WD Strecker, “Retrospektif: apa yang telah kita pelajari dari PDP-11 - apa yang telah kita pelajari dari VAX dan Alpha”, Prosiding Simposium Internasional Tahunan ke 25 tentang Arsitektur Komputer, hlm. 6-10, 1998.
Tahun ini kami merayakan ulang tahun ke 60 berdirinya perusahaan yang memproduksi PDP-11. 40 tahun telah berlalu sejak artikel ini ditulis, dan saya pikir akan menarik untuk meninjau kembali artikel Bell dari sudut pandang modern kita.

Apa itu Digital Equipment Corporation?
Untuk membayangkan waktu artikel ini ditulis, pertama-tama kita perlu berbicara sedikit tentang perusahaan yang meluncurkan PDP-11, Digital Equipment Corporation dari Maynard, Massachusetts. Lebih dikenal dengan DEC.

DEC didirikan pada tahun 1957 oleh Ken Olsen dan Harlan Anderson. Olsen dan Anderson bekerja bersama di Laboratorium Lincoln di Massachusetts Institute of Technology, di mana mereka memperhatikan bahwa para siswa berbaris berjam-jam untuk menggunakan
TX-0 , sebuah komputer interaktif eksperimental yang dikembangkan oleh Wes Clark
1Clark terus mengembangkan TX-0 di TX-2 dan kemudian bergabung dengan DEC sebagai kepala LINC

Ini TX-0.

Mari kita bandingkan dengan sesuatu seperti IBM 704, sebuah komputer pada masa yang kebanyakan siswa abaikan.
2Setelah presentasi, seseorang menyarankan bahwa antipati siswa terhadap IBM dapat didasarkan pada kurangnya anggaran untuk waktu komputer dari sistem ini.
Apa yang ditemukan Olsen dan Anderson adalah keinginan untuk menggunakan komputer interaktif begitu kuat sehingga ada pasar untuk komputer "kecil" yang dirancang untuk peran ini.

DEC pada awalnya memperkenalkan PDP-1, versi komersial efisien dari TX-0.
Amandemen : Michael Cheponis, kepala proyek pemulihan PDP-1, dengan ramah menulis kepada saya hal berikut:
Angin puyuh dan PDP-1 memiliki kode operasi 5-bit, TX-0 dimulai dengan kode operasi 2- atau 3-bit, tetapi nilai ini meningkat dengan peningkatan ukuran memori TX-2. Perbandingan urutan kode PDP-1 dan Whirlwind mengungkapkan bahwa PDP-1 adalah versi arsitektur Whirlwind yang lebih murah dan agak ditingkatkan.
- Peningkatan: Menambahkan pengalamatan tidak langsung.
- Pengurangan biaya: "live-register" dihapus dan instruksi panggilan subrutin ditambahkan, dan penghitung shift dihapus karena fakta bahwa instruksi perkalian dan pembagian bilangan bulat digantikan oleh instruksi dari langkah penggandaan dan pembagian, yang membuat pergeseran dengan satu digit. Penurunan harga PDP-1 terbesar dibandingkan dengan Whirlwind adalah karena perubahan dalam desain logika dan desain.
Kontras antara PDP-1 dan IBM 704 sangat bagus, tetapi beberapa tahun sebelumnya komputer interaktif kecil dan lambat, seperti Librascope LGP-30 dan Bendix G-15, telah muncul, dan mereka dijual dalam jumlah yang sama.
Perlu juga dicatat bahwa nama PDP adalah akronim untuk "Pemrogram Data yang Diprogram," karena komputer pada waktu itu berarti mesin yang besar, kompleks, dan mahal, dan pemodal ventura mungkin tidak mendukung DEC jika mereka menghasilkan "komputer"
3Salah satu game komputer pertama, "
Spacewar " oleh Steve Russell, ditulis untuk PDP-1
Menyusul keberhasilan PDP-1, DEC menawarkan beberapa keluarga komputer, banyak di antaranya dirancang, setidaknya sebagian, oleh Gordon Bell.
Pendahuluan
Komputer tidak sepenuhnya ditentukan oleh arsitektur; itu mencerminkan aspek teknologi, ekonomi dan kemanusiaan dari waktu dan tempat di mana ia dirancang dan dibangun. Komputer jadi adalah produk dari jamannya.Sejak awal, Bell memberi tahu kami bahwa untuk keberhasilan setiap proyek komputer, Anda tidak perlu membangun komputer abstrak terbaik di dunia, tetapi membangun komputer yang tepat dengan mempertimbangkan konteksnya.
Dalam bab ini, kita akan melihat pada PDP-11: tujuan penciptaan, arsitektur, berbagai implementasi, dan orang-orang yang menciptakannya. Kami akan mempelajari desainnya, dimulai dengan spesifikasi arsitektur, dan mempertimbangkan bagaimana mereka dipengaruhi oleh teknologi, organisasi pengembangan, penjualan, aplikasi, organisasi produksi, dan sifat pengguna akhir.Pada saat ini, pada tahun 1976, Bell adalah kepala pengembangan DEC selama hampir empat tahun. Jelas bahwa ia memandang keberhasilan PDP-11 dalam konteks pasar yang lebih luas, kebutuhan yang seharusnya mereka puaskan, dan yang kemudian memengaruhi evolusi seluruh keluarga PDP-11.
Berumur dalam semangat kata-kata Bell, presentasi ini berfokus pada dua aspek dari artikel, teknologi, dan orang-orang.
Fundamental: pemikiran di balik desain
Bell diawali dengan pengamatan seperti itu,
karena sifatnya, teknik komputer berorientasi pada tujuan menciptakan produk akhir. Karena itu, sulit untuk membangun rencana jangka panjang di dalamnya.Ini adalah prinsip lincah. Saat itu. 25 tahun sebelum Snowbird dan menulis manifesto lincah. Ketika itu ditulis, DEC tidak lagi menjadi startup yang berjuang untuk keberadaannya, itu adalah perusahaan yang matang dengan beberapa lini produk yang sukses di pasar, dan Bell mengatakan bahwa kebutuhan untuk merilis produk dengan permintaan minimum (produk yang layak minimum) lebih penting daripada semua jangka panjang lainnya rencana.
Seperti IBM / 360, PDP-11 tidak dikembangkan sebagai model komputer tunggal, tetapi sebagai serangkaian model, sedangkan perangkat lunak yang ditulis untuk PDP-11 kecil akan kompatibel dengan yang besar.
“Istilah“ arsitektur ”digunakan di sini untuk menggambarkan atribut-atribut sistem, seperti yang dilihat oleh programmer, mis. "struktur konseptual dan perilaku fungsional, dan bukan untuk menggambarkan organisasi aliran data dan manajemen, desain logis dan implementasi fisik." - GM Amdahl GA Blaauw dan FP Brooks Jr. Arsitektur Sistem IBM / 360, 1964Karena sifat terbuka PDP-11, apa pun yang menginterpretasikan instruksi sesuai dengan spesifikasi prosesor adalah PDP-11, dan DEC, segera setelah pasar PDP-11 memanas, mulai membangun implementasi arsitektur ini, mereka memiliki beberapa kelompok, satu dimana mereka membangun komputer yang cepat dan mahal, sementara yang lain mendesain yang lebih lambat dengan harga lebih murah.
Meskipun gaya perencanaan evolusionernya, PDP-11 berhasil di pasar: lebih dari 20.000 unit terjual dalam enam tahun mereka di pasar (1970-1975). Desain dalam hal ini tidak begitu penting: organisasi pemasaran yang besar dan agresif, dipersenjatai dengan perangkat lunak untuk memperbaiki kekurangan dan kekurangan arsitektur, dapat menyelamatkan hampir semua desain.Di sini, Bell dalam artikelnya mengajukan pertanyaan: apakah PDP-11 memiliki desain yang bagus, atau hanya mendapatkan keuntungan melalui pemasaran yang hiperaktif? Untuk menjawab pertanyaannya sendiri, Bell mempertimbangkan produk dalam hal kriteria desain yang dia dan rekan penulis identifikasi enam tahun sebelumnya.
Ruang alamat
Kelemahan pertama dari mikrokomputer adalah ruang alamat yang terbatas. Kesalahan terbesar dan paling umum adalah merancang komputer yang tidak memiliki ruang alamat yang cukup untuk menangani dan mengelola memori.
Komputer mini pada zaman itu memiliki ruang alamat 12-bit, yang memungkinkan hanya 4096 alamat untuk diatasi, masing-masing menyimpan kata 12-bit.
Perlu dicatat bahwa kata "komputer mini", yang kemudian menjadi ukuran fisik, pada awalnya dibentuk dari frasa "komputer minimal". Contoh kanonik adalah PDP-8, model DEC sebelumnya, yang hanya memiliki delapan instruksi.

Alasan untuk ruang alamat kecil adalah harga. Memori itu sangat mahal di tahun 60-an dan awal 70-an, ketika masing-masing bit terdiri dari inti magnetik kecil, yang ditenun ke dalam jaringan kabel kontrol.
Inti disusun dalam panel, dalam hal ini masing-masing 4096 bit, yang disusun untuk mendapatkan kata, jadi 4096 kata memori terdiri dari 16 juta dering (di
sini, jelas, kesalahan dalam teks asli, 4096 kata * 16 bit = 65536 cincin terjemahan kira-kira. ), yang masing-masing, setidaknya sebagian, dirakit secara manual. Sekarang sudah jelas mengapa memori begitu mahal.

Bell dan perancang PDP-11 lainnya tahu bahwa harga inti akan terus turun, dan memori semikonduktor, walaupun tidak seefektif biaya saat itu, akan terus menjadi lebih murah berdasarkan satu byte yang disimpan. Dengan demikian, jumlah memori yang mampu dibeli pembeli akan meningkat seiring waktu, karena pengguna cenderung membeli "sistem dengan harga yang sama dalam dolar." Tapi tetap saja
PDP-11 mengikuti tradisi buruk dalam menghemat bit alamat ini, tetapi diselamatkan oleh prinsip bahwa desain yang baik dapat bertahan setidaknya satu perubahan besar.Bahkan dengan mempertimbangkan prediksi para pengembang, Bell mencatat bahwa kurang dari dua tahun telah berlalu sejak diperkenalkannya arsitektur PDP-11, itu memerlukan dimasukkannya modul manajemen memori dalam arsitektur untuk memberikan akses ke ruang alamat yang lebih besar, 18-bit dengan biaya meningkatnya kompleksitas perangkat lunak . Beberapa tahun kemudian 4 bit lainnya ditambahkan.
Dalam keadilan, meskipun Bell mencela dirinya sendiri karena tergesa-gesa, tradisi membuat ruang alamat yang tidak memadai berlanjut hingga hari ini. Ingat batasan 640K dalam DOS? Ingat pertempuran dengan himem.sys? Menghadapi situasi di mana program 32-bit membutuhkan lebih dari 2 GB untuk data?
Jadi tidak ada yang sempurna.
Register tidak cukup
Kelemahan kedua dari minicomputer adalah kecenderungan jumlah register yang tidak mencukupi. Ini diperbaiki di PDP-11, yang memiliki delapan register 16-bit. Kemudian, enam register 32-bit ditambahkan untuk aritmatika floating point. Lebih banyak register dapat meningkatkan waktu pengalihan konteks tugas.Itu tidak biasa, bahkan untuk mainframe saat itu, hanya menyediakan satu register - baterai. Jika register tambahan disediakan, mereka hanya digunakan sebagai register indeks, bukan sebagai register tujuan umum.
Menarik juga untuk dicatat komentar Bell bahwa register tambahan dapat merepotkan bagi pengguna. Pada awal 1970-an, yang paling umum adalah mesin pemrograman langsung di assembler.
Ada korelasi yang kuat antara jumlah register dalam arsitektur, jumlah bit alamat, dan ukuran instruksi. Semua faktor ini menyebabkan memori tidak mencukupi, dan masuk akal untuk dengan cermat memikirkan sistem perintah.
Dalam mesin Von Neumann (yang praktis semua komputer tahun 60-an), program dan data berbagi ruang alamat yang sama dan terbatas, dan program yang tidak efektif tidak hanya menghabiskan waktu komputer, tetapi juga memori. Program yang lambat dapat ditoleransi, tetapi jika program tersebut tidak sesuai dengan memori, itu berakibat fatal, yaitu, metode pengkodean instruksi harus seefisien mungkin.
Mari kita lihat kasus perpindahan yang sangat umum dari satu lokasi memori ke lokasi lainnya. Berapa banyak bit yang diperlukan untuk menggambarkan operasi ini? Berikut ini adalah salah satu implementasi yang mungkin:
MOV addr addr
Anda memerlukan 16 bit untuk alamat sumber, 16 lainnya untuk alamat tujuan, dan sejumlah bit untuk menyandikan instruksi MOV itu sendiri. Biar ada total 40 bit, ini bukan kelipatan 16, yang berarti pengodean instruksi 2,5-bit yang kompleks. Namun, bagaimana jika kita memuat alamat ke dalam register?
MOV (R0), (R1)
Dalam hal ini, kita hanya perlu menggambarkan register, PDP-11 memiliki 8 register, dan hanya 3 bit yang cukup untuk menggambarkan register, ditambah beberapa bit untuk menggambarkan operator. Perintah seperti itu dapat dengan mudah dimasukkan ke dalam kata 16-bit, dan tidak memerlukan pengkodean instruksi yang rumit dengan panjang variabel.

Pada kenyataannya, PDP-11 menggunakan 6 bit per register, dan 4 bit per operasi jika instruksi memiliki dua operan.
Tumpukan perangkat keras
Kelemahan ketiga dari minicomputer adalah kurangnya dukungan perangkat keras untuk stack. PDP-11 menerapkan mekanisme penambahan otomatis dan pengurangan otomatis untuk alamat tersebut. Solusi ini unik untuk PDP-11 dan telah terbukti sangat berguna. (Dan solusi ini disalin oleh pengembang sistem lain.)Saat ini, sulit membayangkan perangkat keras yang tidak memiliki tumpukan, tetapi sebenarnya tumpukan tidak terlalu penting jika Anda tidak menggunakan rekursi.
Desain PDP-11 tanggal kembali ke 1969, dan jika kita melihat bahasa pemrograman saat itu, FORTRAN dan COBOL, mereka tidak mendukung pemanggilan fungsi rekursif. Urutan panggilan fungsi termasuk menyimpan alamat kembali dalam kata kosong di awal prosedur, yang membuat rekursi menjadi tidak mungkin.

PDP-11 mendefinisikan penunjuk tumpukan seperti yang kita pahami hari ini, sebagai register yang dikendalikan oleh operasi PUSH dan POP, tetapi PDP-11 melangkah lebih jauh dan mengizinkan register apa pun untuk berfungsi sebagai penunjuk tumpukan dengan menambahkan pengubah kenaikan / penurunan otomatis ke register operan.
Sebagai contoh, satu instruksi:
MOV R4, -(R6)
akan menurunkan nilai dalam R6 dua, kemudian menyimpan nilai R4 di alamat yang tersimpan di R6. Jadi, dalam assembler PDP-11 kita menempatkan nilai pada stack. Jika ada di antara Anda yang diprogram untuk ARM, ini seharusnya tidak asing bagi Anda.
Ini berarti bahwa tidak perlu untuk instruksi PUSH atau POP khusus, ini menghemat ruang instruksi, memungkinkan Anda untuk menggunakan register apa pun sebagai penunjuk tumpukan, meskipun secara tradisional penunjuk tumpukan adalah R6, dan digunakan oleh peralatan saat melakukan panggilan subprogram.
Keterlambatan Interupsi
Kelemahan keempat dari minicomputer pada waktu itu adalah dukungan terbatas untuk interupsi dan perpindahan konteks yang lambat, dan masalah ini diselesaikan dengan menggunakan pengontrol interupsi vektor UNIBUS dengan koneksi langsung dari gangguan perangkat.Pada titik ini dalam kehidupan DEC, hampir semua produknya memiliki arsitektur PDP-10, mainframe DEC yang dirancang untuk aplikasi interaktif, laboratorium, dan kontrol proses. Respons terhadap interupsi, penundaan antara aktivasi sinyal interupsi dan dimulainya pemrosesan interupsi, adalah kunci untuk mendapatkan kinerja real-time yang tinggi.
Dalam PDP-11, perangkat yang memicu interupsi menyediakan alamat penangan interupsi. Bell dengan jujur menulis tentang ini:
Mekanisme utamanya sangat cepat, hanya membutuhkan empat siklus mengakses memori sejak saat interupsi diminta sampai instruksi pertama dari interrupt handler dijalankan.Dukungan Karakter
Kelemahan kelima dari kebanyakan minicomputer adalah dukungan string yang buruk, yang diselesaikan dalam PDP-11 oleh kemampuan untuk secara langsung mengatasi byte.Pentingnya mendukung string dan karakter mulai tumbuh selama 1960-an ketika solusi untuk sains dan bisnis mulai muncul. Metode pengkodean dominan pada waktu itu adalah set karakter 6-bit, yang menyediakan ruang yang cukup untuk huruf besar, angka dari 0 hingga 9, spasi dan beberapa tanda baca, cukup untuk mencetak laporan keuangan.

Karena ingatannya sangat mahal, menempatkan satu karakter dalam kata 12-bit atau 18-bit tidak dapat diterima, dan karakter-karakter tersebut dikemas dalam kata-kata.
Ini meningkatkan efisiensi penyimpanan, tetapi sulit untuk operasi seperti memindahkan, membandingkan, dan menggabungkan, yang harus mempertimbangkan bahwa karakter dapat berada di bagian bawah atau atas kata, yang meningkatkan jumlah memori mahal yang ditempati oleh program.
Masalahnya diselesaikan di PDP-11, mesin dapat beroperasi dengan kata-kata 16-bit dan 8-bit yang mendapatkan popularitas. Memperpanjang panjang karakter dengan dua bit operasi string yang disederhanakan, dan membuatnya lebih mudah untuk beradaptasi dengan standar ASCII 7-bit yang semakin populer, yang didukung oleh DEC pada saat itu. Bell mengakhiri paragraf ini seperti ini:
Terlepas dari kenyataan bahwa instruksi untuk memproses string tidak ada dalam peralatan, operasi string biasa (bergerak, membandingkan, menyatukan) dapat diprogram sebagai siklus yang sangat singkat.Dan ini sebenarnya benar. Anda dapat menulis prosedur penyalinan hanya dalam dua instruksi, dengan asumsi bahwa sumber dan alamat tujuan ada dalam register.
loop: MOVB (src)+, (dst)+ BNE loop
Kode ini mengambil keuntungan dari kenyataan bahwa perintah MOV menetapkan bendera. Siklus akan berlanjut sampai nilai di alamat sumber menjadi nol, dan pada titik ini kontrol berlanjut ke instruksi berikutnya. Inilah sebabnya mengapa garis C diakhiri dengan nol.
ROM
Titik lemah keenam dari minicomputer adalah ketidakmampuan untuk menggunakan ROM, dan PDP-11 tidak memiliki kelemahan ini. Sebagian besar kode yang ditulis untuk PDP-11 adalah "bersih" dan memungkinkan masuk kembali tanpa upaya programmer khusus, yang memungkinkan penggunaan langsung ROM.Dalam aplikasi kontrol proses, di mana program relatif tetap, mereka harus mengunduh program setiap kali dari pita magnetik atau pita berlubang, yang mahal. Anda harus membeli dan memelihara perangkat I / O yang jarang digunakan. Lebih nyaman bila program selalu ada di komputer. Namun, karena keterbatasan yang kuat pada jumlah memori, dan kurangnya dukungan perangkat keras untuk stack, kode modifikasi sendiri sering tidak dapat dihindari, yang sangat membatasi penggunaan ROM. Bell dengan bangga mengatakan bahwa PDP-11 telah mengubah situasi.
I / O primitif
Kelemahan ketujuh dari minicomputer adalah kemampuan I / O primitif.Selama 60-an, ketika PDP-11 dikembangkan, perangkat I / O sangat mahal. Mainframe waktu itu menggunakan apa yang disebut saluran I / O, di mana prosesor pusat mengirim program kecil ke pengontrol saluran, yang mengeksekusi program dan melaporkan hasilnya. Suatu program dapat, misalnya, memuat data dari pita magnetik atau menembus kartu punch.
Saluran I / O penting, memungkinkan untuk membongkar prosesor dari operasi I / O, dan melakukan tindakan I / O pada saat yang sama, yang meningkatkan pemanfaatan prosesor. Kelemahannya adalah bahwa saluran I / O memerlukan CPU terpisah di setiap pengontrol saluran, yang meningkatkan biaya seluruh sistem secara cukup signifikan.

Dalam dunia minicomputer, I / O biasanya dilakukan langsung ke CPU, biasanya menggunakan instruksi khusus yang dikodekan secara keras untuk setiap perangkat tertentu, seperti tape drive atau printer konsol.
PDP-11 memperkenalkan sesuatu yang tidak biasa, memetakan I / O. I / O yang dipetakan dengan memori seperti itu dapat Anda gunakan dengan panggilan sistem mmap (2), tetapi hanya kesepakatan bahwa beberapa alamat dalam memori bukan hanya sel memori, dan isinya ditampilkan pada papan yang dimasukkan ke dalam backplane, yang dalam DEC disebut UNIBUS.

Misalnya, nilai yang tercatat di 777566
4Alamat diberikan dalam oktal, seperti biasa pada mesin DEC 12, 18, dan 36-bit sebelumnya
akan ditulis ke perangkat yang terhubung ke konsol, biasanya terminal pencetakan.

Jika Anda membaca nilai dari alamat 777570, Anda menerima nilai yang dimasukkan oleh sakelar di panel depan. Ini sering digunakan untuk mengkonfigurasi bootloader.

Demikian pula, drive RK05 diakses dengan menulis nomor sektor yang ingin Anda akses ke alamat 777412, alamat tempat Anda ingin menulis data ke 777410, dan jumlah kata menjadi 777406. Kemudian, atur bit nol pada 777404 ke 1 ( bit GO), dan drive akan mentransfer jumlah kata yang diinginkan langsung ke memori.

Perangkat favorit saya adalah KW11-L. Menulis bit 6 ke alamat 777546 memicu interupsi setiap 20 ms. Mengapa 20 ms? Karena itu adalah periode frekuensi AC
5Jika Anda memesan mobil untuk wilayah dengan frekuensi jaringan 60 Hz, ia memiliki nomor yang berbeda (nomor)
Ya, seperti jam rumah tangga, PDP-11 menghitung waktu dengan periode tegangan dalam jaringan.
Biaya pemrograman yang tinggi
Kelemahan kesembilan dari minicomputer adalah tingginya biaya pemrograman. Banyak pengguna yang diprogram dalam bahasa assembly tanpa editor dan IDE yang nyaman, sistem file, dan debugger tersedia di sistem besar. PDP-11 tidak dapat mengatasi kelemahan ini, meskipun PDP-11 membangun sistem yang lebih kompleks dari model sebelumnya, PDP-8 dan PDP-15.Karena sifatnya yang minimalis, minicomputer tidak menyediakan lingkungan yang nyaman untuk mengembangkan program. Sering menggunakan pergantian sakelar sakelar yang membosankan, atau, mungkin, mengedit dan merakit program di komputer lain yang besar, dan memindahkannya ke pita kertas.
Itu mirip dengan bagaimana mikrokontroler diprogram hari ini, kami mengedit program pada workstation besar, mengkompilasi file biner target, dan mentransfernya ke memori flash mikrokontroler.

Namun, Bell tampaknya tidak tahu tentang karya Thompson dan Richie, yang sibuk membangun lingkungan perangkat lunak mereka sendiri pada PDP-11 di New Jersey.
Orang yang membangun desain
Mari kita beralih ke bagian kedua: orang
Bagian ini paling menarik bagi saya, sebagai penggemar sejarah, karena mempelajari sejarah komputer, seperti subjek sejarah lainnya, pada dasarnya mempelajari sejarah orang dan konteks di mana mereka membuat keputusan.
Bell mencatat bahwa sementara komputer berbasis teknologi, mereka adalah buatan manusia, dan oleh karena itu ia mengabdikan bagian ini untuk menggambarkan dinamika kelompok DEC selama pengembangan PDP-11.
Masalah yang dihadapi oleh pengembang komputer dapat dibagi menjadi dua bagian: masalah karena kurang pengalaman dan masalah yang bersifat sistemik.Di sini, Bell mengingat kata-kata Fred Brooks dari buku terakhirnya pada waktu itu,
Mythical Man-Month .
Brooks, kepala proyek OS / 360, telah berjuang selama bertahun-tahun untuk menciptakan sistem operasi serba guna yang dapat dijalankan pada semua model IBM / 360, yang merupakan tujuan dari proyek tersebut. Kata-kata Brooks segar dalam ingatan Bell ketika ia menulis paragraf ini.
Garis waktu desain
Bagian ini adalah jendela ke dalam karya DEC Corporation di akhir 1960-an.
Organisasi internal tim desain di DEC selama bertahun-tahun telah berfluktuasi antara orientasi pasar dan orientasi produk. Ketika perusahaan tumbuh 30 atau 40% per tahun, ada kebutuhan untuk reorganisasi berkelanjutan. Pada waktu tertentu, sekitar sepertiga karyawan bekerja di perusahaan selama kurang dari satu tahun.
Angkat tangan Anda jika ini biasa bagi Anda.
Selama pengembangan PDP-11, perusahaan terstruktur di sekitar lini produk. Pengembang perusahaan diorganisasikan dalam kelompok kecil: grup PDP-10, grup PDP-15 (mesin 18-bit), grup PDP-8, subkelompok PDP-8 / S, grup LINC-8. Setiap kelompok termasuk pemasar dan insinyur yang bertanggung jawab untuk pengembangan produk, perangkat lunak dan perangkat keras. Sebagai hasil dari organisasi seperti itu, pengalaman dalam arsitektur dibagi menjadi beberapa kelompok.Bell mencurahkan waktu untuk meninjau setiap kelompok, mendaftar kekuatan dan kelemahannya, dan kontribusi mereka untuk PDP-11. Saya tidak akan mencantumkan semua ini di sini, dengan satu pengecualian.
Grup PDP-10 adalah yang terkuat di perusahaan. mereka membangun mesin yang besar, kuat, dan berbagi waktu. Dalam banyak hal itu adalah divisi terpisah dari perusahaan, dengan interaksi minimum dengan kelompok lain. Meskipun kelompok PDP-10 secara keseluruhan memiliki pemahaman terbaik tentang bagaimana arsitektur sistem bekerja, mereka tidak tahu tentang berbagai sistem, mereka tertarik untuk membangun hanya komputer berkecepatan tinggi.Saya baru-baru ini bekerja untuk perusahaan perangkat lunak di mana satu atau dua produk tertua menghasilkan hampir semua keuntungan perusahaan, dan saya memahami posisi Bell dengan sangat baik. PDP-10 adalah versi DEC dari mainframe, sangat cepat, dan tersedia hanya dengan satu harga tetap.
Pekerjaan pertama tentang menciptakan komputer 16-bit dimulai di bawah pengawasan seorang manajer PDP-15, seorang pemasar dengan pengalaman teknik. Proyek pertama disebut PDP-X, dan termasuk spesifikasi untuk sejumlah mesin. Ini adalah arsitektur keluarga mesin, dan itu dirancang lebih baik daripada PDP-11 kemudian, tetapi tidak terlalu inovatif. Sayangnya, manajer grup menyalahkan manajemen bahwa proyek mereka berpotensi serumit PDP-10 (bukan itu), dan bahwa ia yakin akan kegagalan proyek, dan karena itu tidak ada orang lain yang ingin membuat komputer besar lain selain satu komputer besar. perusahaan.Dan di sini Bell memberi kita pelajaran yang baik: jika kompetensi Anda dalam rantai yang sama dengan proyek-proyek manajer lain, mereka memiliki alat yang efektif untuk membunuh proyek Anda sebelum memasuki pasar.
Dalam retrospeksi, orang-orang yang terlibat dalam pengembangan PDP-X tampaknya telah bekerja pada pengembangan Data General pada saat yang sama.Ini mungkin tidak diperhatikan oleh pembaca rata-rata, tetapi ini merujuk pada "delapan pengkhianat" Shockley satu dekade sebelumnya.
6Kelompok ini termasuk Robert Noyce dan Gordon Moore, yang sepuluh tahun kemudian meninggalkan Fairchild dan mendirikan perusahaan mereka sendiri Intel.
Edson de Castro, manajer produk PDP-8, dan manajer proyek PDP-X meninggalkan DEC, bersama beberapa orang dari timnya, untuk membentuk Data General. Tidak jelas dari catatan apakah de Castro pergi karena PDP-X dihentikan, atau apakah kepergiannya adalah tantangan terakhir untuk membunuh proyek. Bagaimanapun, hasilnya jelas, seperti yang ditulis Bell.
Ketika proyek PDP-X ditutup, proyek DCM (Desk Calculator Machine, nama kode yang dipilih untuk privasi) dimulai. Desain dan perencanaan tidak menentu karena Data General berkompetisi dengan komputer 16-bitnya yang sangat kecil.Data General tidak bersaing dengan DEC dengan komputer Nova 16-bit di pasar tempat PDP-8 dikembangkan dan yang de Castro tahu seperti bagian belakang tangannya: peralatan laboratorium yang dipasang di rak

12-bit PDP-8 vs Data General 16-bit Nova

PDP-11: nilai
Pada bagian terakhir artikel, PDP-11 dibandingkan dengan pendahulunya, dan kemudian Bell melanjutkan untuk mengevaluasi arsitektur PDP-11 itu sendiri. Terobosan terbesar adalah UNIBUS.
Secara umum, bus UNIBUS melampaui semua harapan. Ratusan jenis perangkat penyimpanan dan periferal dapat dihubungkan dengannya, ia menjadi komponen arsitektur sistem standar dalam kisaran harga dari $ 3K hingga $ 100K (1975).Apa itu UNIBUS?

Komputer komersial paling awal dirancang sebagai satu set modul yang terhubung ke backplane dengan koneksi kabel. Pada masa lampu, ini adalah keharusan karena lampu tidak dapat diandalkan dan modul perlu diganti dengan cepat.

Kemudian, keinginan untuk membangun komputer dari modul standar menyebabkan pembangunan blok logis umum yang terhubung menggunakan backplane kompleks.
Berikut adalah contoh modul DEC awal.

Anda dapat memasang mereka di backplane kompleks dengan koneksi kabel, dan membangun komputer dari mereka, dalam hal ini PDP-8.
UNIBUS adalah pengembangan dari pengembangan DEC sebelumnya dan merupakan abstraksi dari bus kontrol yang ideal. Ketersediaan komponen integrasi menengah menghilangkan kebutuhan untuk backplane yang kompleks dan memindahkan kompleksitas utama ke modul yang dipasang di backplane. Ini memungkinkan untuk membangun modul standar yang terhubung ke komputer.
Bus UNIBUS, sebagai standar, adalah komponen arsitektur yang memungkinkan Anda membangun sistem yang mudah dikonfigurasi. Perusahaan mana pun, tidak hanya DEC, dapat dengan mudah membuat komponen yang berinteraksi dengan bus. Ban yang baik menciptakan lingkungan rekayasa yang baik di mana orang dapat berkonsentrasi pada desain yang terstruktur. UNIBUS menciptakan industri sekunder yang menawarkan sumber pasokan alternatif untuk memori dan periferal. Selain bus IBM 360, UNIBUS adalah standar bus paling umum di industri komputer.Sebelum munculnya UNIBUS, perangkat input / output mana yang dapat didukung oleh komputer mini hanya ditentukan oleh pengembangnya. Cara berinteraksi dengan perangkat diberi kode-keras oleh sirkuit logika komputer. Dengan munculnya UNIBUS, bidang yang luas dibuka untuk menyesuaikan komputer oleh pengguna akhir dan bidang untuk eksperimen.
Apa yang diajarkan PDP-11 kepada kita?

Retrospektif Bell berakhir pada saat artikel itu ditulis, yaitu pada 1976-77, tetapi dari sudut pandang kami, empat puluh tahun kemudian, pengaruh PDP-11 sangat besar.
RISC
Pada awalnya, ketika PDP-11 belum dikembangkan, dan, apalagi, tidak dianggap sebagai mesin RISC, istilah ini tidak ada sebelum diperkenalkan oleh John Coke pada tahun 1976 sehubungan dengan IBM 801. Namun, untuk semua orang yang memiliki pengalaman pemrograman Prosesor ARM, prosesor RISC modern, kesamaan mereka jelas. Sama seperti desain bahasa pemrograman adalah proses pengembangan evolusi serta meminjam, hal yang sama terjadi dengan desain sistem perintah.
PDP-11 -, -, . , -, Intel 8080 Z80.
UNIX
PDP-11 . PDP-11 , UNIX Bell Labs
7UNIX
PDP-7 . 1970 PDP-11/20, PDP-11/45.
PDP-11 UNIX . PDP-11 , , . , int 16 , - PDP-11.
UNIX (pipes), « » .
VAX-11/780
, , PDP , PDP-11.
, 1977, PDP-11, VAX-11, “virtual address extension”.
BSD
UNIX 1974 , , BSD — Berkley Systems Distribution.
Berkeley UNIX VAX 1980- DEC- VMS. Berkeley UNIX , , Sun Microsystems, Self, Java.
UNIX 80- « UNIX-» BSD-, .
NeXT
4BSD, , NeXT . Apple NeXT 1997 , NextSTEP BSD Darwin, OSX iOS.
Windows NT
, , DEC .
, VAX VMS, , VAX, Microsoft 1988, , Windows NT. , Windows VMS, , .
Xerox Alto
, Data General Nova , , , , Apple Macintosh.
Data General Nova
Data General DEC 32- , , 1981 , "
The Soul of a New Machine ".
PDP-11?
, , PDP-11 .
, , , , PDP-11.
What did devops mean ?Introducing gb, a project based build tool for the Go programming languageavr11: how to add 256 kilobytes of ram to an ArduinoPadding is hard