- Intel Pentium yang dirilis pada 1993 adalah chip kompleks dengan 3,3 juta transistor, tetapi tidak seperti chip modern, transistornya masih bisa dilihat dengan mikroskop sehingga implementasi gerbang di dalamnya dapat ditelusuri secara langsung
- Desain sel standar adalah pendekatan yang membuat rangkaian level rendah seperti gerbang dan flip-flop sebagai sel yang dapat digunakan ulang, lalu menatanya per baris agar cocok untuk penempatan dan perutean otomatis
- Pada die Pentium, area sel standar tampak sebagai garis-garis teratur, sedangkan blok yang dioptimalkan secara manual seperti cache, datapath, dan ROM microcode terlihat lebih rapat dan lebih gelap
- Pentium keluarga P54C menggunakan proses 600nm, 3,3V, dan 4 lapisan interkoneksi logam, serta secara luas memanfaatkan rangkaian BiCMOS yang mengurangi delay sinyal hingga 35%
- Inverter, NAND, OR-NAND, latch, flip-flop, dan buffer BiCMOS semuanya merupakan gabungan rangkaian transistor kecil, dan Pentium menjadi contoh yang bisa dipakai untuk mengamati desain digital sel standar dan BiCMOS era 1990-an
Struktur sel standar yang terlihat pada die Pentium
- Intel merilis prosesor Pentium pada 1993, dan lini ini kemudian berlanjut ke Pentium Pro, Pentium II, dan seterusnya, bertahan sebagai merek prosesor performa tinggi hingga lini utama digantikan oleh prosesor Core pada 2006
- Pentium asli adalah chip kompleks dengan 3,3 juta transistor, tetapi tidak seperti chip modern, transistornya masih dapat dilihat dengan mikroskop
- Pada foto die setelah lapisan interkoneksi logam dihilangkan, silikon dan transistor individual menjadi terlihat
- Rangkaian sel standar disusun dalam baris seragam sehingga tampak dalam bentuk garis-garis
- Blok fungsional yang dioptimalkan secara manual tampak lebih rapat, lebih terstruktur, dan lebih gelap
- Contohnya adalah cache di kiri, datapath di tengah, dan ROM microcode di kanan
Dari penataan manual ke sel standar
- Prosesor awal pada 1970-an umumnya menata transistor satu per satu secara manual
- Cara ini dapat menghasilkan kepadatan tinggi, tetapi lambat, sulit, dan rawan kesalahan
- Perancang Z80 Federico Faggin pernah harus menghapus pekerjaan selama 3 minggu dan memulai ulang karena beberapa transistor terakhir tidak muat
- Sel standar adalah pendekatan yang membuat pustaka sel untuk mengimplementasikan tiap gerbang, flip-flop, dan komponen level rendah agar bisa digunakan ulang
- Setiap sel memiliki tinggi tetap dan lebar yang berubah sesuai kebutuhan
- Sel dapat disusun per baris sehingga cocok untuk otomatisasi
- Baris sel standar CMOS biasanya tampak seperti dua pita yang berdekatan
- Salah satunya adalah area transistor NMOS
- Yang lainnya adalah area transistor PMOS
- Ruang di antara baris dipakai sebagai kanal perutean untuk interkoneksi antar sel
- Catu daya dan ground ditempatkan di sepanjang bagian atas dan bawah tiap baris
Apa yang ditangani penempatan dan perutean otomatis
- Struktur tetap sel standar memudahkan perangkat lunak penempatan dan perutean otomatis untuk membuat layout
- Tahap penempatan mencari susunan sel yang mengurangi jarak antar sel yang saling terhubung
- Interkoneksi yang panjang memboroskan area die
- Jalur yang panjang menambah kapasitansi sehingga memperlambat sinyal
- Tahap perutean menghubungkan sel yang sudah ditempatkan dengan interkoneksi logam nyata
- Penempatan maupun perutean sama-sama merupakan masalah optimisasi NP-complete
- Intel mulai menggunakan teknik penempatan dan perutean otomatis sejak prosesor 386
- Penempatan dilakukan dengan program Timberwolf yang dikembangkan mahasiswa pascasarjana Berkeley
- Perutean menggunakan perangkat lunak kustom buatan Intel dengan metode heuristik iteratif
- Desain sel standar masih digunakan pada prosesor saat ini, tetapi perangkat lunaknya sudah jauh lebih maju
Struktur dasar CMOS pada Pentium
- Prosesor modern menggunakan rangkaian CMOS, yang menggabungkan dua jenis transistor: NMOS dan PMOS
- Transistor NMOS menyala saat gate tinggi, sedangkan transistor PMOS menyala saat gate rendah
- NMOS cocok untuk menarik keluaran ke tegangan rendah
- PMOS cocok untuk menarik keluaran ke tegangan tinggi
- Huruf “C” pada CMOS berarti Complementary, karena NMOS dan PMOS bekerja bersama untuk membuat keluaran menjadi tinggi atau rendah
- NMOS dan PMOS tidak sepenuhnya simetris karena sifat fisika semikonduktor, dan PMOS biasanya harus lebih besar daripada NMOS
- Perbedaan ini menjadi petunjuk untuk membedakan PMOS dan NMOS pada foto die
Interkoneksi yang terdiri dari 4 lapisan logam
- Pentium versi P54C menggunakan 4 lapisan interkoneksi logam
- Pentium awal memakai 3 lapisan logam, tetapi mulai die P54C beralih ke proses 4 lapisan
- Pada permukaan silikon terdapat area terdoping, dan di atasnya dibentuk interkoneksi polisilikon
- Saat polisilikon melintasi silikon terdoping, bagian itu menjadi gate transistor
- Polisilikon juga dipakai untuk interkoneksi jarak pendek
- Lapisan logam diberi nomor dari M1 sampai M4
- M1 adalah lapisan logam paling bawah
- M4 adalah lapisan paling atas dan paling tebal, sehingga terutama dipakai untuk daya, ground, dan sinyal clock
- Koneksi antar lapisan logam dibuat dengan via berupa plug tungsten
- Hanya M1 yang terhubung langsung ke silikon atau polisilikon melalui contact
- Lapisan interkoneksi biasanya secara lokal bergantian memakai arah horizontal dan vertikal agar sinyal bisa saling bersilangan
- Perangkat lunak penempatan dan perutean otomatis harus menghasilkan jutaan jalur interkoneksi kompleks sepadat mungkin
Gerbang inverter dan NAND
- Inverter CMOS terdiri dari 1 PMOS dan 1 NMOS
- Jika input bernilai 1, NMOS menyala dan keluaran turun menjadi 0
- Jika input bernilai 0, PMOS menyala dan keluaran naik menjadi 1
- Inverter sel standar pada Pentium juga memiliki struktur dua transistor yang sama
- Input terhubung ke gate polisilikon kedua transistor
- Interkoneksi logam keluaran terhubung ke kedua transistor
- N-doped well tempat PMOS berada dijaga pada tegangan positif oleh well tap yang terhubung ke +3,3V
- Pentium dibuat dengan proses 600nm, dan lebar jalur polisilikonnya juga sekitar 600nm
- Ukurannya mirip panjang gelombang cahaya tampak 400~700nm, sehingga foto mikroskop tampak agak buram
- Gerbang NAND CMOS terdiri dari 2 PMOS dan 2 NMOS
- Jika kedua input tinggi, dua NMOS menyala dan keluaran menjadi rendah
- Jika salah satu input rendah, PMOS menyala dan keluaran menjadi tinggi
- Pada sel standar NAND Pentium, dua jalur polisilikon melintasi silikon terdoping untuk membentuk empat transistor
- Keluaran di sisi PMOS keluar dari tengah dan membentuk koneksi paralel
- Keluaran di sisi NMOS keluar dari kanan dan membentuk koneksi seri
- Bahkan untuk sel standar NAND yang sama, detail interkoneksi dan panjang polisilikon berbeda sesuai posisi input, output, dan sambungan daya
- Sel standar bukan sekadar salinan sederhana, tetapi disesuaikan dengan posisi masing-masing
- Sel yang bersebelahan dipadatkan agar transistor PMOS saling menempel, sedikit meningkatkan kepadatan
Gerbang majemuk dan latch
- Pustaka sel standar tidak hanya berisi gerbang sederhana, tetapi juga gerbang majemuk
- Gerbang OR-NAND 5 input menghitung
~((A+B+C+D)⋅E)- Pada rangkaian NMOS,
A~Dtersusun paralel danEseri - Pada rangkaian PMOS, kebalikannya:
A~Dseri danEparalel - Untuk menyediakan arus yang cukup, sisi PMOS memiliki dua set transistor
A~D, sehingga jauh lebih besar daripada blok NMOS
- Pada rangkaian NMOS,
- Latch adalah salah satu komponen inti dalam rangkaian Pentium, yaitu rangkaian penyimpanan 1-bit yang dikendalikan clock
- Saat clock tinggi, latch menjadi transparan sehingga input langsung muncul di output
- Saat clock rendah, latch mempertahankan nilai sebelumnya
- Latch diimplementasikan dengan loop umpan balik tempat output kembali ke sisi input
- Di tengahnya ada multiplexer yang memilih antara output sebelumnya dan input baru
- Inverter memperkuat sinyal umpan balik agar tidak melemah, sekaligus memungkinkan output menggerakkan rangkaian lain
Multiplexer pass transistor
- Multiplexer di dalam latch menggunakan pass transistor
- Tidak seperti gerbang logika biasa yang menarik output ke daya atau ground, komponen ini meneruskan sinyal input ke output
- Saat sinyal select rendah, pasangan transistor yang terhubung ke input pertama menyala dan input kedua terputus
- Saat sinyal select tinggi, pasangan transistor yang terhubung ke input kedua menyala dan input pertama terputus
- Polaritas gate transistor pada multiplexer berbeda dari gerbang logika biasa
- Gerbang logika memakai sinyal gate dengan polaritas yang sama agar salah satu dari NMOS atau PMOS menyala dan menarik output ke rendah atau tinggi
- Multiplexer mengharuskan PMOS dan NMOS pasangannya menyala bersamaan untuk meneruskan sinyal, sehingga dibutuhkan sinyal gate dengan polaritas berlawanan
- Karena itu, multiplexer menyertakan inverter untuk membuat sinyal berpolaritas lawan yang diperlukan
Implementasi flip-flop
- Pentium menggunakan flip-flop secara luas
- Flip-flop mirip latch, tetapi bereaksi terhadap tepi clock, bukan level clock
- Flip-flop menyimpan input pada saat clock berubah dari rendah ke tinggi
- Nilai itu kemudian diberikan sebagai output
- Karena perbedaan ini, flip-flop lebih berguna dalam counter, state machine, dan rangkaian ber-clock lainnya
- Flip-flop Pentium terdiri dari dua latch
- primary latch meneruskan nilai saat clock rendah dan menahannya saat clock tinggi
- secondary latch memiliki perilaku clock yang berlawanan
- Saat clock berubah dari rendah ke tinggi, primary latch berhenti diperbarui dan pada saat yang sama secondary latch meneruskan nilainya
- Beberapa varian memiliki input set atau reset lewat perubahan logika kecil
- Set dan reset melewati clock untuk memaksa output ke keadaan yang diinginkan
- Ini berguna untuk menginisialisasi flip-flop ke nilai yang diinginkan saat prosesor mulai berjalan
Buffer BiCMOS dan ciri Pentium era 1990-an
- Pentium dibuat tidak hanya dengan CMOS tetapi juga proses BiCMOS
- Beberapa langkah tambahan ditambahkan ke proses manufaktur CMOS biasa agar dapat membuat transistor bipolar NPN dan PNP
- Rangkaian BiCMOS digunakan secara luas di Pentium dan mengurangi delay sinyal hingga 35%
- Intel juga menggunakan BiCMOS pada Pentium Pro, Pentium II, Pentium III, dan Xeon, tetapi tidak pada Pentium MMX
- Saat tegangan chip menurun, keunggulan transistor bipolar ikut berkurang, dan BiCMOS akhirnya tidak lagi dipakai pada rangkaian digital
- Buffer BiCMOS sel standar pada Pentium lebih kompleks daripada buffer CMOS
- 2 inverter
- transistor pull-up NPN
- transistor pull-down NMOS
- transistor pull-up PMOS
- Pada foto die, transistor NPN tampak berbentuk bulat dan jauh lebih besar, tidak seperti struktur linear NMOS dan PMOS
- Interkoneksi logam output juga lebih tebal daripada interkoneksi sinyal biasa, menunjukkan kemampuan menggerakkan arus yang tinggi
Perbedaan yang dikonfirmasi pada versi P54C
- Analisis ini membahas versi P54C dari Pentium asli
- Produk Pentium pertama, 80501 dengan nama kode P5, berjalan pada 60 atau 66MHz, memakai 5V, serta memiliki proses 800nm dan 3,1 juta transistor
- Intel memperbaiki masalah konsumsi daya dengan membuat 80502 bernama kode P54C
- Menggunakan 3,3V
- Berjalan pada 75~120MHz
- Dukungan multiprosesor ditambahkan sehingga jumlah transistor naik menjadi 3,3 juta
- Memiliki rangkaian clock yang lebih maju sehingga kecepatan clock internal bisa dinaikkan hingga 100MHz sambil mempertahankan kecepatan bus eksternal tetap rendah di 50~66MHz
- Menggunakan proses 600nm dan 4 lapisan logam
- Die P54C secara visual hampir sama dengan P5, tetapi memiliki logika multiprosesor tambahan di bagian bawah dan rangkaian clock di bagian atas
- Sel standar tampaknya serupa pada versi Pentium asli lainnya
Rangkaian sederhana yang membentuk prosesor kompleks
- Layout sel standar masih digunakan secara luas pada chip modern
- Prosesor modern terlalu kecil untuk diteliti dengan mikroskop karena transistornya berskala nanometer, tetapi Pentium masih cukup besar sehingga rangkaiannya dapat diamati dan direkayasa balik
- Pustaka sel standar lengkap Pentium jauh lebih besar dan mencakup puluhan hingga ratusan jenis sel
- Berbagai gerbang logika
- Berbagai ukuran
- Sel dengan berbagai kekuatan penggerak
- Penggunaan BiCMOS pada Pentium adalah ciri teknis yang mencapai puncak popularitasnya pada 1990-an
- Walau BiCMOS menjadi kurang praktis untuk rangkaian digital karena perubahan trade-off, teknologi ini tetap penting pada IC analog, terutama untuk aplikasi frekuensi tinggi
- Jika dilihat dari dekat, Pentium menunjukkan bahwa prosesor kompleks pun tersusun dari gabungan rangkaian transistor sederhana
1 komentar
Komentar Hacker News
Intel mulai menggunakan teknik penempatan dan perutean otomatis sejak prosesor 386, karena jauh lebih cepat daripada layout manual dan secara signifikan mengurangi kesalahan
Penempatannya dilakukan dengan program bernama Timberwolf yang dikembangkan oleh mahasiswa pascasarjana Berkeley, Carl Sechen, dengan pembimbing Alberto Sangiovanni-Vincentelli
https://ieeexplore.ieee.org/document/1052337
https://archive.computerhistory.org/resources/text/Oral_Hist...
Di internal Intel tidak ada penempatan otomatis maupun perutean otomatis, sehingga mereka khawatir apakah bisa selesai tepat waktu dan apakah luas chip akan membesar hingga tidak muat. Mereka mendapatkan program penempatan otomatis bernama Timberwolf dari seorang mahasiswa pascasarjana Berkeley, meninjaunya, dan karena tampak cukup layak, mereka menggunakannya
Setelah mahasiswa itu pindah ke MIT karena proyek lain, ia tetap menaruh terminal di kamar kampusnya dan memperbaiki setiap bug yang muncul; kadang mereka harus terhenti dan menunggu sampai perbaikannya selesai. Ada juga pernyataan bahwa “kalau manajemen tahu kami memakai alat milik seorang mahasiswa pascasarjana untuk metodologi inti, mereka pasti tidak akan pernah mengizinkannya”
Right-o juga pernah memuat artikel tentang penempatan dan perutean sel standar pada i386, dan bersama tautan wawancara panel, artikel itu juga menandai area spesifik pada die i386 tempat sel standar digunakan
https://www.righto.com/2024/01/intel-386-standard-cells.html
Gambar sama sekali tidak terlihat; penyebabnya tampaknya Cloudflare
Saat masuk ke halaman, verifikasi “are you human” dari CF bisa dilewati, tetapi pemuatan tiap gambar juga terkena verifikasi yang sama, dan layar verifikasi itu tidak ditampilkan kepada pengguna. Akhirnya, alih-alih gambar, yang dikembalikan adalah halaman HTML sehingga gambar tidak termuat
Rasanya seperti sudah ditolak sebelum captcha lalu dipermainkan sekadar untuk mengganggu. Yang lebih aneh, VirusTotal menampilkan formulir unggah kedua di halaman captcha, tetapi formulir itu sendiri tidak memiliki captcha
Dashboard juga tidak menunjukkan Cloudflare terlibat
Kalau “prosesor modern terlalu kecil untuk dilihat dengan mikroskop karena transistor berskala nanometer”, rasanya kita semua perlu patungan untuk membelikan Ken mikroskop elektron yang layak
Bukankah perangkat lunak EDA modern sudah cukup canggih untuk menempatkan transistor sendiri tanpa bergantung pada sel standar?
Saya pernah mengerjakan proyek untuk merancang dan membuat perangkat lunak EDA yang lebih baik; alat ini dapat menyimulasikan dan mengoptimalkan tiap transistor agar bisa dibentuk dan ditempatkan untuk mencapai daya rendah, kecepatan tinggi, dan biaya rendah
Kekurangannya adalah karena menangani unit transistor yang jauh lebih banyak daripada EDA yang ada, alat ini harus dijalankan di superkomputer kecil kelas 100 ribu dolar atau klaster FPGA. Meski begitu, menurut saya ini tetap lebih murah daripada EDA yang ada, dan bisa membuat chip serta wafer yang lebih cepat, lebih baik, dan lebih murah dengan jumlah transistor lebih sedikit
Gambaran besar perangkat lunaknya dibahas secara tidak langsung dalam presentasi ini: https://vimeo.com/731037615
Saya juga ingin mempresentasikan perangkat lunak EDA itu sendiri, jadi akan menyenangkan kalau ada yang mengundang
Peneliti dan perusahaan lain juga telah menunjukkan bahwa desain dan penempatan transistor bisa dioptimalkan melampaui pustaka sel standar dan PDK; misalnya kasus ini dilakukan dengan perangkat lunak EDA buatan sendiri: https://www.micromagic.com/news/Ultra-Low-Power_PressRelease...
Saya sangat yakin Apple menggunakan pendekatan seperti ini pada M1, M2, M3, M4, M5, terutama chip M2 kelas atas dan M5 Ultra, tetapi saya tidak punya bukti pasti
Saya pikir hanya dengan memakai perangkat lunak EDA yang lebih baik daripada yang digunakan sekarang (CAD=> SYM=> FAB), umat manusia bisa merancang chip komputer 3–4 orde magnitudo lebih cepat dan membuat chip jauh lebih murah dengan energi setidaknya 2 orde magnitudo lebih rendah. Hukum Moore belum berakhir, dan untuk membuktikannya diperlukan usaha lebih besar daripada komentar HN
Bahkan penempatan sel standar pun harus diselesaikan dengan heuristik; jika turun dari tingkat sel ke tingkat transistor, ukuran masalah membesar dan menjadi lebih buruk
Bagaimanapun, logika tersusun dari gerbang standar dan blok logika seperti flip-flop, jadi overhead dari memakai sel standar yang mengimplementasikan building block semacam itu kemungkinan tidak terlalu besar
Karena itu, kompleksitas masalah relatif terhadap daya komputasi yang tersedia tetap cukup konstan, dan desain sel standar tetap menjadi cara efisien untuk mengurangi kompleksitas masalah yang harus diselesaikan alat EDA
Saya tidak melihat hal itu akan berubah pada generasi sekarang atau generasi berikutnya. Saya bekerja di EDA
Kalau tidak, yield bisa menjadi tidak stabil atau semaunya
Salah satu perbedaan antara standard cell yang disebutkan dalam tulisan dan standard cell saat ini adalah bahwa sekarang, karena ada lebih banyak lapisan logam, kanal routing sudah hilang
Pada masa itu, sulit membuat logam melintasi jalur Vdd dan ground di bagian atas dan bawah cell, jadi jalur polisilikon diperpanjang hingga tepi atas dan bawah. Routing dilakukan dengan meneruskan poli ke dalam kanal lalu menghubungkan cell-cell dengan logam
Karena itu, pada foto jalur poli yang terbuka terlihat seperti satu kesatuan, tetapi dari sudut pandang desain, bagian di dalam cell adalah bagian standar, sementara bagian di dalam kanal adalah kustom
Cara ini bisa bekerja hanya dengan poli dan lapisan logam 1, tetapi jika lapisan logamnya cukup, routing dapat dilewatkan melalui bagian dalam cell. Namun, via yang menurunkan input dan output ke transistor harus dihindari
Jika setiap selang satu baris cell dibalik, PMOS dari dua baris akan saling menumpuk pada rail Vdd, dan NMOS dari dua baris akan saling menumpuk pada rail ground, sehingga ada keuntungan tambahan juga
Membedah prosesor seperti ini bisa menjadi kegiatan edukatif yang menarik di sekolah, seperti membedah katak
Keuntungannya, tidak ada masalah hak hewan
Kalau bukan chip yang tertutup epoksi, itu tidak sulit, dan melihat bagian dalamnya juga menarik. Untuk melihat secara detail diperlukan mikroskop metalurgi, tetapi dengan mata telanjang pun struktur yang menarik bisa terlihat
Jika ditangani dengan benar, prosesor jauh lebih awet daripada katak dan, secara kasar, tidak aus, jadi bisa digunakan ulang berkali-kali. Menurut saya, proses pembuatan prosesor baru mungkin menimbulkan penderitaan yang lebih besar bagi lebih banyak katak daripada membunuh satu katak untuk dibedah
Selain itu, sekarang kita punya pemutar video di dalam saku. Membedah satu katak sendiri mungkin lebih edukatif daripada menonton orang lain membedahnya, tetapi saya ragu apakah itu lebih edukatif daripada menonton 20 video pembedahan dengan penjelasan yang baik. Menurut saya keduanya tidak harus dilakukan
Ada juga standard cell open source bagi yang berminat
https://www.vlsitechnology.org/html/libraries.html
https://opensource.googleblog.com/2022/07/SkyWater-and-Googl...