Di dalam HP Nanoprocessor: prosesor berkecepatan tinggi yang tidak bisa dilipat



Nanoprocessor menggabungkan photomasks. GLB di sebelah kiri bus data adalah inisial developer George Latham dan Larry Bauer.



HP Nanoprocessor adalah prosesor yang hampir terlupakan yang dikembangkan oleh Hewlett-Packard pada tahun 1974 (untuk lebih jelasnya lihat The Forgotten Ones: HP Nanoprocessor , HP9825.com dan The HP 9845 Project ) sebagai mikrokontroler untuk berbagai produk perusahaan. Sungguh aneh bahwa prosesor ini bahkan tidak dapat menambah atau mengurangi - mungkin itulah sebabnya mereka memutuskan untuk menyebutnya bukan prosesor, tetapi "nanoprosesor". Terlepas dari keterbatasan ini, Nanoprocessor mengontrol berbagai perangkat dari Hewlett-Packard, dari panel antarmuka dan voltmeter hingga penganalisis spektrum dan terminal akuisisi data.



Saya telah menentukan bahwa Nanoprocessor telah digunakan secara khusus dalam produk berikut dari Hewlett-Packard: HP 9845B Spectrum Analyzers, HP 3585A , HP 3325A Synthesizer / Function Generator , HP 9885 Floppy Drive , HP 3070B Data Acquisition Terminal , HP 98034 HPIB antarmuka untuk kalkulator HP 9825, jam waktu nyata HP 98035 untuk komputer HP 9825, antarmuka drive film HP 7970E , router HP 4262A , penganalisis spektrum HP 3852 , voltmeter HP 3455A... Paul-Henning Camp juga memberi tahu saya bahwa Nanoprocessor digunakan dalam synthesizer / function generator HP 3336 dan pengontrol sakelar HP



9411. Fitur utama dari Nanoprocessor adalah biayanya yang rendah dan kecepatannya yang tinggi: Dibandingkan dengan Motorola 6800 saat ini, Nanoprocessor harganya $ 15, bukan $ 360 , dan mengatasi tugas-tugas manajemen yang besarnya lebih cepat.



Menariknya, pesaing Nanoprocessor dalam pengembangannya adalah Motorola 6800, dan bukan prosesor dari Intel. Hal utama yang bisa dibanggakan oleh Nanoprocessor adalah kecepatan: bekerja pada 4 MHz, mengingat 6800 bekerja pada 1 MHz. Kedua prosesor membutuhkan 2 siklus clock untuk menjalankan instruksi dasar, sedangkan 6800 membutuhkan hingga 7 siklus clock untuk mengeksekusi instruksi yang lebih kompleks.



Para pengembang Nanoprocessor mengumpulkan perbandingan kecepatan dan menyarankan bahwa Nanoprocessor dapat membaca enam kali lebih cepat daripada 6800, dan menangani interupsi lebih dari 16 kali lebih cepat. Namun, kemudian diasumsikan bahwa Nanoprocessor akan beroperasi pada 5 MHz, dan chip yang sebenarnya sedikit lebih pendek dari bar ini dengan 4 MHz. Harga awal Nanoprocessor disebut $ 15 versus $ 360 untuk Motorola 6800.



Saya kurang setuju bahwa Nanoprocessor bisa disebut mikrokontroler, karena menggunakan ROM eksternal dengan programnya, sedangkan mikrokontroler biasanya memiliki segalanya, termasuk ROM, pada satu chip (dalam aspek ini sepertinya Intel 4004). Namun, dalam hampir semua hal, Nanoprocessor menyerupai mikrokontroler: ia dirancang untuk penggunaan tertanam, arsitektur Harvardnyadan serangkaian instruksi yang dioptimalkan untuk I / O, ia menjalankan program dari ROM dengan penyimpanan data minimal.



Adapun komputer yang tidak dapat menambahkan - komputer IBM 1620 seukuran meja dari tahun 1959 tidak memiliki operasi penjumlahan, tetapi menggunakan tabel hasil untuk ini. Nama kodenya adalah CADET, dan orang-orang dengan bercanda mengartikannya sebagai "Tidak Dapat Menambahkan, Bahkan Tidak Mencoba" [tidak dapat menambahkan dan bahkan tidak mencoba].



Baru-baru ini, desainer chip Larry Bauer menerbitkan enam photomasks yang digunakan untuk memproduksi Nanoprocessor, bersama dengan detail desainnya. Photomasks dibersihkan dan dipindai di The CPU Shack, kemudian dibersihkan oleh Antoine Berkovichi (file PSD 122 MB dapat diunduh dari tautan). Gambar komposit dari photomasks di bawah ini menunjukkan sirkuit internal IC. Lapisan biru adalah lapisan logam atas dari chip, lapisan hijau adalah lapisan silikon bawah. Kotak hitam di sekeliling - 40 bantalan untuk komunikasi dengan kontak eksternal IC. Saya menggunakan photomasks ini untuk merekayasa balik prosesor untuk memahami sirkuit RISC-like sederhana namun pintar.



Nanoprocessor sangat mirip dengan prosesor Reduced Instruction Set Computer (RISC), meskipun muncul beberapa tahun sebelum konsep seperti itu. Secara khusus, Nanoprocessor dirancang dengan sistem instruksi sederhana, semua instruksi dieksekusi dalam satu siklus clock (setelah jam sampling), set register besar dan ortogonal, dan pengalamatannya sederhana. Karakteristik yang melekat pada RISC ini menghasilkan kecepatan clock yang lebih tinggi dibandingkan dengan prosesor yang lebih kompleks.



Nanoprocessor dikembangkan pada tahun 1974, bersamaan dengan pengumuman prosesor klasik Intel 8080 dan Motorola 6800. Namun, proses pembuatan silikon nanoprosesor tertinggal beberapa tahun - mereka menggunakan transistor gerbang logam dan bukan silikon.dikembangkan pada akhir 1960-an. Perbedaannya tampak membingungkan, tetapi gerbang silikon lebih baik dalam beberapa hal . Pertama, mereka lebih kecil, lebih cepat, dan lebih dapat diandalkan. Kedua, mereka memiliki lapisan polysilicon dengan konduktor selain logam; Akibatnya, tata letak chip hampir dua kali lebih padat. Ketiga, transistor gerbang logam membutuhkan tambahan catu daya + 12V Prosesor Intel 4004 menggunakan gerbang silikon pada tahun 1971, jadi saya terkejut HP masih menggunakan logam pada tahun 1974.



Mengingat keterbatasan ini, saya terkesan dengan kerapatan kabel Nanoprocessor - satu lapisan logam, tanpa polysilicon. Saya mencari chip gerbang logam lain dan kabelnya sangat tidak efisien - ada lebih banyak konduktor daripada transistor. Pada saat yang sama, rantai Nanoprosesor ditempatkan secara efisien dan tidak membuang ruang ekstra.



Teknologi nanoprosesor melampaui Intel 8080 dan Motorola 6800 dalam satu hal: ia menggunakan transistor pull-up mode deplesi, lebih maju daripada transistor mode penyempurnaan yang digunakan pada 8080 dan 6800 Teknologi pertama menyediakan gerbang logika yang lebih cepat dan mengkonsumsi lebih sedikit, tetapi membutuhkan langkah produksi tambahan. Pada Nanoprocessor, Photomask # 3 (abu-abu) digunakan dalam langkah ini. Prosesor seperti MOS Technology 6502 dan Zilog Z80, transistor pull-up dengan salurannya sendiri memungkinkan mereka untuk beroperasi pada satu voltase, bukan tiga. Sayangnya, Nanoprocessor masih membutuhkan tegangan yang berbeda karena transistor gerbang logam.



Karakteristik yang sangat aneh dari Nanoprocessor adalah tegangan panjar bolak-balik dari substrat. Untuk alasan kecepatan, banyak mikroprosesor tahun 1970-an menerapkan tegangan negatif ke wafer silikon, dengan -5 V diterapkan melalui kontak bias. Nanoprocessor memiliki pin bias, tetapi anehnya tegangan bias bervariasi dari chip ke chip, dari -2 V hingga -5 V. Selama produksi, tegangan yang diperlukan dituliskan pada chip dengan tangan (lihat di bawah). Setiap Nanoprocessor harus dipasang dengan resistor yang sesuai untuk mendapatkan tegangan yang benar. Jika Nanoprocessor diubah di papan, resistor juga harus diganti. Bias variabel tampak seperti cacat produksi - Saya tidak dapat membayangkan Intel melakukan ini pada prosesor.



Chip DRAM dan mikroprosesor awal sering kali membutuhkan tiga tegangan suplai: +5 V (Vcc), +12 V (Vdd), dan tegangan offset -5 V (Vbb). Pada akhir 1970-an, peningkatan teknologi manufaktur memungkinkan penggunaan tegangan tunggal. Mikrokontroler Intel 8080 1974 menggunakan transistor saluran terinduksi yang membutuhkan tiga voltase, tetapi versi yang disempurnakan dari 8085 (1976) menggunakan transistor dengan salurannya sendiri dan didukung oleh voltase + 5V tunggal. Sejak akhir 1970-an, banyak mikroprosesor telah menggunakan generator pompa pengisian daya. terletak di chip untuk menghasilkan tegangan bias negatif.





Nomor komponen HP Nanoprocessor 1820-1691. Perhatikan tegangan tulisan tangan: -2,5 V. Digit terakhir dari nomor bagian (1) juga ditulis tangan dan mewakili kecepatan chip.



Seperti kebanyakan prosesor pada masa itu, Nanoprocessor adalah 8-bit. Namun, itu tidak menggunakan memori akses acak, tetapi menjalankan kode dari ROM eksternal 2KB. Itu memiliki 16 register 8-bit - lebih dari kebanyakan prosesor dan cukup untuk mengimbangi kurangnya memori di banyak aplikasi. Dalam hal jumlah transistor, Nanoprocessor lebih kompleks dari Intel 8008 (1972) dan sedikit lebih mudah dari 6800 (1974) atau 6502 (1975).



Menurut perhitungan saya, Nanoprocessor memiliki 4639 transistor. Dekoder instruksi terdiri dari pasangan transistor kecil berdasarkan pertimbangan lokasi. Kombinasi pasangan ini menghasilkan 3829 transistor unik. Dari jumlah tersebut, 1061 adalah pull-up dan 2668 aktif. Sebagai perbandingan, 6502 memiliki 4237 transistor, 3218 di antaranya aktif, 8008 memiliki 3500 transistor, sedangkan Motorola 6800 memiliki 4100.



Tetapi arsitekturnya menggunakan transistor untuk tujuan yang berbeda dari prosesor ini. Nanoprocessor tidak memiliki ALU, tetapi memiliki sekumpulan register yang besar yang menempati sebagian besar area die. Nanoprocessor memiliki 48 tim, secara signifikan kurang dari 6800 dengan 72 tim. Namun, Nanoprocessor memiliki operasi set, reset dan bit check yang nyaman yang tidak dimiliki oleh prosesor yang disebutkan. Nanoprocessor mendukung akses indeks ke register, tetapi tidak memiliki mode pengalamatan yang kompleks seperti prosesor lainnya.



Mikroprosesor awal tidak memiliki operasi bit set, reset dan check (meskipun mereka dapat diimplementasikan melalui AND dan OR). Z80 (1976) menambahkan operasi bitwise, tetapi masing-masing adalah dua byte dan jauh lebih lambat daripada Nanoprocessor.



Diagram blok di bawah ini menunjukkan struktur internal Nanoprocessor. Fitur utama I / O adalah 4-bit "I / O Instruction Device Select", yang memungkinkan 15 perangkat menerima perintah I / O. Dengan kata lain, pin yang dipilih menentukan perangkat I / O mana yang membaca atau menulis dari bus data. Sirkuit eksternal menggunakan sinyal ini untuk semua yang dibutuhkan aplikasi tertentu - menyimpan data dalam kait, mengirim ke sistem lain, membaca nilai. Bahkan lebih banyak I / O disediakan melalui pin Direct Control I / O (pin GPIO), cocok untuk input dan output. Jika pin ini tidak terhubung ke sirkuit eksternal, mereka bertindak sebagai penanda bit kenyamanan; Nanoprocessor dapat menetapkan nilai dan kemudian membacanya.Dengan tidak adanya modul logika aritmatika, modul logika kontrol melakukan operasi increment, decrement, shift, dan operasi bit pada adder.





Diagram blok dari panduan pengguna Nanoprocessor



Saya merekayasa balik Nanoprocessor berdasarkan photomasks dan memetakan penempatan blok fungsional pada die. Elemen terbesar adalah satu set 16 register di sebelah kiri tengah. Di sebelah kanan adalah pembanding dan penambah, bersama dengan rangkaian kenaikan, penurunan, pergeseran, dan komplemennya. Dekoder instruksi menempati sebagian besar ruang di atas dan di sebelah kanan komparator baterai. Bagian bawah chip terutama ditempati oleh penghitung instruksi 11-bit, serta tumpukan interupsi entri tunggal dan tumpukan subrutin. Sirkuit kontrol menerapkan sinkronisasi perintah paling sederhana: satu siklus ekstraksi diikuti oleh satu siklus eksekusi. Kebanyakan mikroprosesor memiliki sirkuit kontrol yang mengambil porsi signifikan dari chip, tetapi sirkuit kontrol Nanoprocessor adalah blok kecil.



Nanoprocessor mengikuti modelnya dalam menjalankan instruksi dalam satu siklus, bahkan untuk instruksi byte ganda: byte kedua diminta selama siklus eksekusi, sehingga total waktu eksekusi perintah tidak berubah.





Komponen fungsional HP Nanoprocessor



Memahami photomasks



Chip tersebut dibuat menggunakan enam photomasks, yang masing-masing digunakan untuk menghasilkan salah satu lapisan prosesor melalui fotolitografi . Foto di bawah ini menunjukkan photomasks. Masing-masing adalah lembaran Mylar 47,2 x 39,8 cm Ini adalah fotomask yang diperbesar 100x yang digunakan untuk menghasilkan kristal silikon 4,72 x 3,98 mm (33% lebih kecil dari kristal 6800). Tiap wafer silikon berukuran 3 inci berisi sekitar 200 IC yang diproduksi secara bersamaan, kemudian diuji, dipotong, dan ditempatkan dalam satu paket.







Untuk menjelaskan peran topeng, saya akan mulai dengan menjelaskan struktur MOS gerbang logam yang digunakan dalam Nanoprocessor. Pada diagram di bawah, dua bagian silikon (hijau) dibuat konduktif dengan bantuan kotoran, dan membentuk sumber dan saluran transistor. Sepotong logam di antara mereka membentuk gerbang, dipisahkan dari silikon oleh lapisan tipis oksida isolasi (oleh karena itu nama strukturnya - Logam, Oksida, Semikonduktor). Transistor dapat dianggap sebagai sakelar yang dikendalikan oleh gerbang. Selain itu, lapisan logam menyediakan metode utama untuk menghubungkan komponen IC dengan konduktor, meskipun beberapa konduktor juga melalui lapisan silikon.





Skema struktur MOS dengan gerbang logam



Photomasks adalah bagian penting dari proses pembuatan IC saat mereka menemukan komponen. Diagram di bawah menunjukkan bagaimana pengotor ditambahkan ke beberapa area silikon menggunakan photomasks. Pertama, lapisan oksida isolasi dibentuk pada substrat silikon, kemudian ditambahkan fotoresis fotosensitif... Sinar ultraviolet (1) mempolimerisasi dan menyembuhkan photoresist di mana-mana kecuali jika topeng menghalangi jalannya cahaya (2). Kemudian fotoresis lunak yang belum terkena radiasi ultraviolet dihilangkan (3). Substrat terkena asam fluorida, yang menghilangkan lapisan oksida yang tidak dilindungi oleh fotoresis (4). Lubang muncul di oksida yang sesuai dengan pola pada masker foto. Kemudian substrat terkena gas panas yang menembus ke area silikon yang tidak terlindungi dan mengubah sifat konduktifnya (5). Proses ini menghasilkan area kecil silikon dengan pengotor, sesuai dengan gambar pada photomask (6). Fotomask lain digunakan untuk langkah produksi lain, tetapi menggunakan proses yang sama menggunakan fotoresis.





Bagaimana kotoran ditambahkan ke patch silikon menggunakan photomasks Saya akan



memperbesar satu patch Nanoprocessor untuk menunjukkan bagaimana satu rangkaian dibentuk dari enam photomasks (yang merupakan inverter yang mengubah nilai biner yang masuk ke input). Dengan menggunakan masker foto pertama dan proses fotolitografi yang dijelaskan di atas, daerah silikon dibuat konduktif. Area bertanda hijau dengan kotoran akan membentuk sumber / drain dari transistor atau sambungan komponen.





Photomask pertama membuat tambalan silikon konduktif



Kristal tersebut kemudian ditutup dengan lapisan oksida isolasi. Sungkup foto kedua (ungu) digunakan untuk mengetsa lubang di oksida yang mengekspos silikon di bawahnya. Lubang-lubang ini dapat digunakan untuk membuat gerbang transistor serta untuk menghubungkan konduktor logam dan silikon.





Photomask kedua membuat lubang pada lapisan oksida,



photomask ketiga (abu-abu) memperlihatkan area implantasi ion yang mengubah sifat silikon dan, oleh karena itu, transistor. Ini mengubah transistor atas menjadi transistor tersalurkan yang menarik output dari gerbang logika ke atas.





Sungkup foto ketiga (abu-abu) menciptakan kotoran pada silikon di transistor atas



Silikon kemudian dilapisi dengan lapisan tipis tambahan oksida isolasi untuk membentuk gerbang oksida untuk transistor. Sungkup foto keempat (oranye) menghilangkan oksida ini dari area yang akan menjadi kontak antara silikon dan lapisan logam. Setelah langkah ini, sebagian besar kristal ditutup dengan oksida penyekat yang tebal. Di atas gerbang transistor (ungu), lapisan oksida sangat tipis, dan memiliki lubang untuk kontak dari photomask saat ini (oranye).





Photomask keempat membuat lubang di oksida



Photomask kelima (biru) digunakan untuk membuat konduktor logam dari atas - untuk ini, lapisan logam seragam pertama kali diterapkan, dan bagian yang tidak perlu kemudian dietsa. Di tempat-tempat di mana topeng keempat membuat lubang di oksida, lapisan logam bersentuhan dengan silikon dan membentuk kontak konduktif. Dimana topeng ketiga telah menciptakan lapisan tipis oksida, lapisan logam membentuk gerbang transistor antara dua bagian silikon. Akhirnya, seluruh substrat ditutup dengan lapisan vitreous pelindung. Photomask keenam digunakan untuk membuat lubang pada lapisan ini di atas kontak di tepi chip. Setelah memotong seluruh substrat menjadi kristal individu, pengelasan kawat disolder ke kontak ini, menghubungkannya ke kontak eksternal.





Photomask kelima membuat tata letak metalik



Diagram di bawah ini menunjukkan bagaimana rangkaian ini membentuk inverter dengan dua transistor. Kedua simbol transistor tersebut sesuai dengan dua transistor yang diperoleh dengan menggunakan photomask. Dengan tidak adanya sinyal input, transistor atas (terhubung ke +5 V) menarik output ke atas. Ketika sinyal input tinggi, transistor yang lebih rendah akan menyala. Ini menghubungkan outlet ke ground, menarik outlet ke bawah. Jadi, rangkaian membalikkan sinyal input.





Rangkaian inverter N-MOS sesuai dengan template di atas



Meskipun diagram di atas menunjukkan inverter tunggal, langkah-langkah ini menggunakan photomasks untuk membuat prosesor lengkap dengan semua 4.639 transistor. Diagram di bawah ini menunjukkan bagian yang lebih besar dari dadu, di mana lusinan transistor membentuk gerbang dan sirkuit yang lebih kompleks. Saya melihat satu hal yang menyentuh pada salah satu photomasks - hati mungil dengan huruf HP di dalamnya, di bawah nomor chip.



Nanoprocessor memiliki dua nomor bagian yang berbeda. 1820-1691 menunjukkan versi 2,66 MHz dan 1820-1692 menunjukkan versi 4 MHz. Digit terakhir ditulis secara manual pada setiap chip setelah diverifikasi dalam case. Nomor bagian tidak terkait dengan nomor chip 9-4332A pada dadu.





Gambar chip



Bagaimana Nanoprocessor mengontrol jam



Untuk memahami bagaimana Nanoprocessor digunakan dalam praktiknya, saya merekayasa balik kode dari modul jam HP 98035. Modul ini dihubungkan ke komputer desktop HP 9825 dan berfungsi sebagai jam waktu nyata, dan juga dapat mengukur interval dan memicu kejadian berkala dengan presisi milidetik. Rangkaian modul jam agak tidak biasa. Untuk menjaga waktu saat ini ketika komputer mati, modul jam dibangun atas dasar chip jam digital dengan baterai cadangan. Chip jam tidak dirancang untuk kontrol komputer, yang menyebabkan ketidaknyamanan: ia menghasilkan sinyal 7-segmen untuk mengontrol LED, dan dikonfigurasi dengan tiga tombol. Untuk mengetahui waktu, Nanoprocessor harus mengubah keluaran dari tampilan 7-segmen kembali ke angka.Untuk mengatur waktu Nanoprocessor, Anda harus meniru urutan penekanan tombol yang benar.



HP 9825 adalah komputer desktop 16-bit dengan dukungan bahasa yang mirip dengan BASIC. Diperkenalkan pada tahun 1976, lima tahun sebelum IBM PC, itu adalah sistem yang cukup canggih pada masanya. Di bagian belakang, ada tiga konektor untuk menambahkan modul seperti modul jam waktu nyata.





HP 9825 dengan tampilan LED, tape drive dan printer



Untuk menghemat energi, clock chip dari Texas Instruments diimplementasikan pada integrated injection logic (I2L). Chip berdaya rendah akan menggunakan CMOS hari ini, tetapi itu jarang terjadi saat itu. I2L dibangun di atas transistor bipolar, mirip dengan TTL, tetapi menggunakan sirkuit yang berbeda dengan kepadatan tinggi dan konsumsi daya rendah. Mungkin itu adalah chip X-902 dalam paket DIP.





Nanoprocessor (chip putih) sebagai bagian dari modul jam HP. Di sebelah kirinya adalah ROM 2KB. Di sebelah kanan adalah dua chip memori 256-bit x 4. Chip jam Texas Instruments adalah chip hitam besar di bawah baterai NiCad hijau.



Komputer mengontrol modul jam dengan mengirimkan string karakter ASCII seperti "S 12: 07: 12: 45: 00", yang seharusnya menyetel waktu ke 12:45:00 7 Desember (atau 12 Juli dalam notasi Eropa). Berbagai penghitung waktu interval, alarm, dan penghitung modul dimulai dengan cara yang sama, melalui perintah seperti "Unit 2 Periode 12345". Modul ini mendukung 24 perintah, dan Nanoprocessor perlu mengenalinya .



Berikut adalah potongan kode yang direkayasa dari ROM papan jam. Ini adalah kode dari penangan interupsi yang menambah timer dan tanggal setiap detik. Kode menentukan jumlah hari dalam sebulan sehingga tahu kapan harus mengubah bulan ke bulan berikutnya. Kolom - nilai byte, perintah dan penjelasan saya. Kode ini mendapatkan nomor bulan (01-12 BCD), menyimpannya di akumulator, dan mengembalikan jumlah hari dalam sebulan (28, 30 atau 31 BCD) di register 0. Lumayan untuk 16 byte kode, meski mengabaikan tahun kabisat. Bagaimana cara kerjanya? Untuk bulan setelah 7 (Juli) dikurangi 1. Kemudian, jika bulan ganjil, maka memiliki 31 hari, dan jika genap - 30. Untuk memproses Februari, kode menghapus bit 1 bulan. Jika bulan menjadi 0 (Februari), maka itu memiliki 28 hari.



d0 STR-0 (7) 0.

07

0c SLE , <= 0.

03 DED 1

5f NOP

d0 STR-0 (0x31) 0

31

30 SBZ-0 , 0 0

81 JMP-1 0x1c9 ( )

c9

a1 CBN-1 1

d0 STR-0 (0x30) 0

30

0f SAN , 0

d0 STR-0 (0x28) 0

28








Anda dapat melihat dari kode bahwa meskipun prosesor tanpa operasi penambahan tampaknya tidak berguna, operasi bitwise dan penambahan / penurunan Nanoprocessor memungkinkan lebih banyak penghitungan daripada yang Anda kira.



Dalam kode, saya menemukan tempat di mana saya perlu menambahkan dua nomor BCD dan membentuk satu byte. Ini dilakukan dengan siklus yang menurunkan satu angka dan menambah angka lainnya. Ketika angka pertama mencapai nol, angka kedua mendapatkan jumlahnya. Jadi, tanpa ALU pun, penambahan bisa dilakukan meski lambat.



Anda juga dapat melihat bahwa kode Nanoprocessor kompak dan efisien. Anda dapat melakukan banyak hal dalam satu byte, yang di prosesor lain membutuhkan beberapa byte. Sejumlah besar register Nanoprocessor memungkinkan Anda untuk menghindari pertukaran data yang suram ke sana kemari. Sementara beberapa menganggap Nanoprocessor lebih sebagai mesin negara daripada mikroprosesor, ini akan menjadi meremehkan kemampuan dan peran Nanoprocessor.



Meskipun Nanoprocessor tidak memiliki ALU atau perintah memori akses acak, mereka dapat dihubungkan sebagai perangkat I / O tambahan. Arloji ini memiliki memori akses acak 256-byte yang menyimpan nilai-nilai penghitung dan pengatur waktu, akses yang diatur melalui port I / O. Produk lain menambahkan ALU untuk mendukung operasi aritmatika.



Diagram papan jam menunjukkan bagaimana dua chip RAM 256x4 dihubungkan ke Nanoprocessor. Port I / O Nanoprocessor memilih pin dan menghubungkan ke "3-8 Decoder" U5, yang mengeluarkan sinyal terpisah untuk masing-masing port I / O. Tiga dari mereka pergi ke pin kontrol chip RAM, dan satu mengontrol chip dari kait data U9 dan U10, yang menyimpan data tertulis.







Semua port I / O menggunakan bus data Nanoprocessor (atas) untuk bertukar data, sehingga bus terhubung ke pin alamat chip RAM dan pin data. Untuk membaca, alamat memori ditulis ke chip melalui satu port I / O, dan kemudian data dibaca dari memori melalui port lain. Dalam kedua kasus, nilai melewati bus data, dan sinyal dari "3-8 Decoder" menunjukkan apa yang harus dilakukan dengan nilai. Untuk penulisan, operasi I / O pertama menyimpan nilai byte di kaitnya, dan kemudian operasi I / O kedua mengirimkan alamat ke chip memori. Ini mungkin terdengar seperti pendekatan gaya mesin Goldberg yang kikuk , tetapi dalam praktiknya ini bekerja dengan baik dan membaca / menulis dapat dilakukan dengan dua byte instruksi.



Banyak prosesor, seperti 6502, menggunakan I / O yang dipetakan memori - perangkat yang dipetakan ke ruang alamat memori dan diakses melalui operasi baca / tulis. Nanoprocessor bekerja sebaliknya, menghubungkan memori ke port I / O dan mengaksesnya melalui operasi I / O.



Saat menambahkan ALU, pendekatan serupa digunakan- seperti pada voltmeter HP 3455A menggunakan dua Nanoprosesor. Voltmeter menggunakan dua chip ALU 74LS181 untuk menerapkan ALU 8-bit, yang digunakan untuk mengukur nilai dan menghitung persentase kesalahan. Dua port keluar memberikan argumen, dan satu lagi mendefinisikan operasi. Hasil 8-bit dibaca dari port, dan prosesor membaca transfer melalui pin GPIO (membuat Anda bertanya-tanya apakah lebih mudah menggunakan prosesor dengan dukungan aritmatika).



Hasil



Nanoprocessor adalah prosesor yang tidak biasa. Pada pandangan pertama, itu bahkan bagi saya seperti "prosesor palsu", karena kurangnya operasi aritmatika dasar. Chip ini didasarkan pada teknologi gerbang logam usang yang tertinggal dari mikroprosesor lain selama beberapa tahun. Hal yang paling aneh adalah bahwa setiap chip membutuhkan voltase sendiri, yang ditulis secara manual pada casing, yang menunjukkan kesulitan dengan kualitas yang stabil dalam produksi. Namun, Nanoprocessor dalam perannya sebagai mikrokontroler bekerja dengan cepat, jauh lebih cepat dibandingkan prosesor modern lainnya. Hewlett-Packard menggunakan Nanoprocessor di banyak produk pada tahun 1970-an dan 1980-an, dalam peran yang lebih canggih dari yang diharapkan.



Meskipun Nanoprocessor sudah lama dilupakan, dan bahkan tidak ditulis di Wikipedia, photomasks yang baru-baru ini diterbitkan oleh penciptanya menjelaskan sudut sejarah prosesor yang tidak biasa ini.



All Articles