3 poin oleh GN⁺ 2025-03-04 | 1 komentar | Bagikan ke WhatsApp
  • Pada 1993, Intel merilis prosesor Pentium berperforma tinggi
    • Saat menganalisis rangkaian Pentium, ditemukan sebuah rangkaian kompleks untuk mengalikan dengan 3
    • Rangkaian ini merupakan bagian dari sirkuit pengali floating-point Pentium, yang melakukan perkalian bilangan 64-bit berbasis oktal
  • Kebutuhan akan perkalian berbasis oktal
    • Perkalian biner secara konsep sederhana, tetapi lambat
    • Pentium melakukan perkalian berbasis oktal untuk mengurangi rangkaian dan meningkatkan kecepatan
    • Perkalian oktal rumit karena harus mengalikan dengan angka dari 0 hingga 7
  • Algoritma Booth dan rangkaian ×3
    • Algoritma Booth digunakan untuk mengoptimalkan perkalian
    • Rangkaian ×3 harus ditangani sebagai kasus khusus dalam perkalian floating-point
    • Rangkaian ini harus bekerja cepat, dan menggunakan teknik seperti carry lookahead untuk memaksimalkan performa
  • Carry lookahead dan parallel prefix adder
    • Adder carry lookahead menghitung semua bit carry secara paralel sehingga penjumlahan dapat dilakukan dengan cepat
    • Carry lookahead diimplementasikan dalam chunk 8-bit menggunakan parallel prefix adder
    • Algoritma Kogge-Stone digunakan untuk meminimalkan delay dan menyusun rangkaian secara efisien
  • Carry select adder
    • Carry select adder melakukan dua penjumlahan sekaligus sehingga hasil dapat langsung diberikan begitu carry ditentukan
    • Pentium menggunakan carry select adder untuk setiap chunk 8-bit dalam rangkaian ×3
  • Driver output BiCMOS
    • Output dari rangkaian ×3 membutuhkan arus tinggi, dan proses BiCMOS digunakan untuk mengurangi delay sinyal
    • BiCMOS menggabungkan CMOS dan transistor bipolar untuk memberikan performa tinggi
  • Kesimpulan
    • Rangkaian ×3 pada Pentium adalah desain yang kompleks dan menggunakan lebih banyak transistor dibanding mikroprosesor generasi sebelumnya
    • Ini menunjukkan seberapa jauh kompleksitas prosesor telah meningkat

1 komentar

 
GN⁺ 2025-03-04
Opini Hacker News
  • Dalam emulasi komputer trinary, ada cara mengubah pembagian dengan pangkat 3 menjadi bit shift dan penjumlahan

    • 1/3 dapat dinyatakan sebagai 1/2 - 1/2(1/3)
    • Dengan mengulang ini tanpa batas, 1/3 dapat dinyatakan sebagai -(-1/2)^N
    • Ini juga dapat dilakukan untuk pasangan pangkat 2 dan 3 yang arbitrer
    • Dengan cara ini, rangkaian pembagi konstanta dalam waktu tetap dapat dibangun hanya dengan adder dan subtractor
  • Prosesor game arcade Cinematronics memiliki dua akumulator 12-bit

    • Instruksi perkalian menggeser nilai 24-bit dan menambahkan isi memori
    • Delapan operasi perkalian dijalankan secara berurutan untuk mendapatkan hasil 24-bit
    • Ini terutama digunakan untuk perkalian matriks 2x2 guna merotasi koordinat objek game
    • Pada pertengahan 1970-an, ia memiliki throughput puncak 5 MIPS menggunakan komponen seri 7400
  • Peter Kogge memperoleh gelar doktor di Stanford dan, sebagai IBM Fellow, merupakan tokoh yang menciptakan CPU multi-core

  • Dalam perhitungan alamat, perkalian dengan 3 adalah operasi yang umum

    • Dapat dilakukan dalam satu siklus menggunakan instruksi LEA
    • Menggunakan anggaran transistor untuk ini adalah pilihan yang baik
  • Dalam multiplier, ada cara mengalikan dengan 8 lalu mengurangkan 1 alih-alih langsung mengalikan dengan 7

    • Ini mirip dengan rangkaian carry lookahead
    • 7 = 8-1, 6 = 8-2, 5 = 8-3, 4 = 8-4 dapat dinyatakan demikian
  • Multiplier ×3 mencakup sekitar 9000 transistor, lebih banyak daripada mikroprosesor Z80 pada 1976

    • Ini menunjukkan pertumbuhan kompleksitas prosesor yang sangat besar
    • Kini kita telah mencapai batas teknologi semikonduktor silikon, dan saatnya bekerja dengan lebih cerdas
  • Multiplier Booth radix-8 memerlukan rangkaian x3

    • Ini adalah trade-off area/kinerja untuk mendorong fmax
  • 8086: 29,000

    • 386: 275,000
    • 486: 1.2 million
    • Pentium: 3.1 million
    • NSA mulai terlibat setelah tahun 2000
  • Kekurangan perkalian radix-8 adalah bahwa mengalikan dengan angka 0 hingga 7 itu rumit

    • Mengalikan dengan 2 sama dengan menggeser bit 1 posisi ke kiri
    • Mengalikan dengan 4 sama dengan menggeser bit 2 posisi ke kiri
    • Mengalikan dengan 7 dapat diselesaikan dengan mengalikan 8 lalu mengurangkan 1
    • ×3 dapat dihitung sebagai penjumlahan 2x dan 1x, atau selisih 4x dan 1x
    • Jika ×6 dapat dihitung dengan mudah, maka ×3 bisa diperoleh dengan menggeser nilainya ke kanan