Terjemahan artikel Ken Shirriff
Hampir setiap smartphone menggunakan prosesor berbasis chip ARM1 yang diperkenalkan pada tahun 1985. Lebih dari sepuluh miliar core ARM telah digunakan di berbagai gadget, termasuk salah satu kegagalan terbesar Apple, Newton Pocket PC, dan salah satu keberhasilannya yang paling gemilang, iPhone. Pada artikel ini, kami akan mempertimbangkan bagian-bagian penting dari prosesor ARM1: kami akan menjelaskan struktur umum chip, melihat bagaimana transistor diatur dan bagaimana mereka berfungsi, berinteraksi satu sama lain untuk menyimpan dan memproses data, dan juga melihat
simulasi visual mikroprosesor ini dan mencari tahu apa yang terjadi di dalam ARM1 selama operasinya.

Ikhtisar Chip ARM1
Mikroprosesor ARM1 dibangun dari blok fungsional, yang masing-masing memiliki tujuan tertentu. Mendaftarkan menyimpan data, ALU melakukan aritmatika sederhana, decoder perintah menentukan cara menjalankan setiap perintah, dan sebagainya. Dibandingkan dengan kebanyakan prosesor, rangkaian chip ARM1 sederhana, dan masing-masing blok fungsi dapat dibedakan dengan baik. Sebagai perbandingan, tata letak chip, seperti 6502 atau Z-80, dioptimalkan secara manual untuk menghindari bintik-bintik kosong pada media. Dalam prosesor ini, blok fungsional direkatkan, yang membuatnya sulit untuk dipahami.
Komponen utama chip ARM1. Kontak yang tidak ditandai adalah sinyal kontrol yang berbeda.Sekarang Anda melihat gambar yang menunjukkan bagian fungsional paling penting dari mikroprosesor ARM. Pemrosesan aktual terjadi di bagian bawah chip, yang mengacu pada jalur data. Chip memproses 32 bit sekaligus, sehingga strukturnya mencakup 32 lapisan horizontal: 31 bit dari atas, 0 bit dari bawah. Beberapa bus data beroperasi secara horizontal untuk mengomunikasikan berbagai komponen chip. Pada gambar Anda dapat melihat bagian besar dari dua puluh lima register. Penghitung instruksi (register kelima belas) ada di sebelah kiri bagian register, dan register nol ada di sebelah kanan. Sembilan dari dua puluh lima register adalah opsional, karena ada salinan dari beberapa register untuk digunakan dalam penanganan interupsi.
Semua perhitungan berlangsung di unit logika aritmatika (ALU), yang terletak di sebelah kanan blok register. ALU melakukan 16 operasi berbeda: penambahan, penambahan dengan transfer, pengurangan, penambahan logis, dan sebagainya ... ALU menggunakan dua input 32-bit dan output 32 bit pada output. Anda dapat membaca lebih lanjut tentang perangkat ALU di
sini . Di sebelah kanan ALU adalah perangkat shift 32-bit. Komponen besar ini melakukan operasi pergeseran siklik input biner. Di sebelah kiri adalah garis alamat yang menyediakan akses ke alamat dalam memori melalui kontak alamat. Di sebelah kanan adalah baris data yang membaca dan menulis nilai data ke memori.
Unit kontrol terletak di atas. Garis kontrol ditarik secara vertikal dari unit kontrol ke diagram garis data di bawah ini. Sinyal-sinyal ini memilih register, beri tahu ALU operasi mana yang harus dilakukan, dan seterusnya. Rangkaian penguraian kode instruksi memproses setiap instruksi dan menghasilkan sinyal kontrol yang diperlukan. Unit decoding register memproses bit pemilihan register dalam instruksi dan menghasilkan sinyal kontrol untuk memilih register yang diperlukan.
Rincian kontak
Kotak di sekitar permukaan luar gambar adalah bantalan yang menghubungkan prosesor ke dunia luar. Foto di bawah ini menunjukkan delapan puluh empat pin housing dari mikroprosesor ARM1. Kontak berlapis emas terhubung ke bantalan pada chip silikon di dalam case.
Prosesor ARM1 dipasang di Sistem Evaluasi Acorn ARMSebagian besar situs digunakan untuk jalur alamat dan jalur data yang mengarah ke memori. Chip ini memiliki 26 baris alamat yang memungkinkannya untuk mengakses 64 megabita memori dan 32 jalur data, memungkinkannya untuk membaca atau menulis 32 bit sekaligus. Baris alamat ada di sudut kiri bawah, dan baris data ada di kanan. Dalam model simulasi chip, Anda dapat melihat bahwa sinyal dikirim ke jalur alamat memori, dan informasi dari memori dibaca di sepanjang jalur data. Sisi kanan simulator menunjukkan nilai alamat dan data yang disajikan dalam format heksadesimal. Jika Anda mengetahui sistem angka heksadesimal, Anda dapat dengan mudah menghubungkan nilai-nilai ini dengan status kontak.
Setiap sudut chip memiliki saluran listrik (+) dan kabel arde (-), memberikan tegangan pasokan 5 volt, yang diperlukan untuk pengoperasian chip. Berbagai sinyal kontrol terletak di bagian atas chip. Dalam simulator, mudah untuk melihat dua sinyal jam yang mengatur pulsa jam. Frekuensi fase 1 dan fase 2 bergantian, memberikan sinyal clock yang diperlukan untuk pengoperasian chip. Dalam simulasi visual kami, ia menjadi aktif sekitar dua kali per detik, tetapi chip sebenarnya memiliki frekuensi 8 megahertz, yang lebih dari satu juta kali lebih cepat. Perhatikan nama pabrikan "ACORN" pada chip, bukan 82 pin.
Dua sinyal waktuRiwayat prosesor ARM
Mikroprosesor ARM1 dirancang pada tahun 1985 oleh insinyur Sophie Wilson dan Steve Farber dari Acorn Computers. Awalnya, chip itu disebut Acorn RISC Machine dan dimaksudkan sebagai coprocessor untuk komputer
Mikro BBC .
Sophie Wilson dan Steve FarberSecara total, beberapa ratus mikroprosesor ARM1 diproduksi, jadi Anda mungkin berpikir bahwa mikroprosesor itu hilang dalam sejarah mikroprosesor tahun 1980-an. Namun, chip ARM1 pertama menghasilkan arsitektur ARM yang sangat sukses, dengan lebih dari 50 miliar chip. Apa yang terjadi
Pada awal 1980-an, penelitian ilmiah menyarankan bahwa jika Anda menyederhanakan serangkaian instruksi untuk prosesor, pengembang akan mendapatkan kinerja yang lebih baik - prosesor akan lebih sederhana tetapi lebih cepat: komputer dengan set instruksi yang dikurangi atau RISC (komputer set instruksi yang dikurangi). Penelitian di
Stanford dan
Berkeley menginspirasi pengembang ARM untuk memilih arsitektur RISC. Selain itu, mengingat tim pengembangan Acorn kecil, memilih RISC adalah solusi praktis.
Pada komputer berbasis RISC, set instruksi terbatas pada yang paling sering digunakan, dioptimalkan untuk kinerja tinggi, dan dieksekusi dalam satu siklus clock tunggal. Instruksi, pada gilirannya, adalah ukuran tetap yang menyederhanakan logika instruksi decoding. Untuk prosesor RISC, lebih sedikit sirkuit yang diperlukan untuk kontrol perintah dan decoding, yang memungkinkan Anda untuk menempatkan lebih banyak komponen pada chip.
Kesederhanaan desain RISC terbukti ketika membandingkan mikroprosesor ARM1 dan Intel 80386 yang dirilis pada tahun yang sama: ARM1 memiliki sekitar dua puluh lima ribu transistor, dan 80386 memiliki dua ratus tujuh puluh lima ribu. Di bawah ini adalah dua foto prosesor pada skala yang sama. Luas kristal ARM1 adalah lima puluh milimeter persegi, dibandingkan dengan seratus empat milimeter persegi ke-386.


Karena jumlah transistor yang sedikit, prosesor ARM1 memiliki daya rendah: sekitar sepersepuluh watt dibandingkan dengan hampir dua watt pada 386. Kombinasi kinerja tinggi dan konsumsi daya yang rendah menjadikan mikroprosesor ARM versi terbaru sangat populer untuk sistem embedded. Apple telah memilih prosesor ARM untuk sistem Pocket Newton yang bernasib buruk. Pada tahun 1990, Acorn Computers, Apple, dan pembuat chip VLSI Technology menciptakan Advanced RISC Machines untuk terus mengembangkan ARM.
Sejak itu, ARM telah menjadi arsitektur paling populer dengan lebih dari lima puluh miliar prosesor. Sebagian besar perangkat seluler menggunakan mikroprosesor ARM. Misalnya, prosesor Apple A8 di dalam iPhone 6 menggunakan ARMv8-A 64-bit. Terlepas dari permulaannya yang sederhana, ARM1 membuat daftar
25 chip IEEE
yang mengejutkan dunia dan menjadi mikroprosesor paling berpengaruh menurut PC World untuk semua waktu.
Menariknya, ARM tidak memproduksi chip. Sebaliknya, properti intelektual ARM dilisensikan ke ratusan perusahaan berbeda yang memproduksi chip menggunakan arsitektur ARM.
Struktur chip level rendah
Mikroprosesor ARM1 terdiri dari lima lapisan. Jika Anda meningkatkan skala chip dalam model simulasi, Anda dapat melihat komponen chip yang dibangun dari lapisan ini. Model simulasi menggunakan warna tertentu untuk setiap lapisan dan menunjukkan garis aktivitas dengan warnanya. Lapisan bawah terdiri dari silikon, di mana transistor berada. Selama produksi, area silikon dimodifikasi (paduan) menggunakan berbagai kotoran. Silikon dapat didoping secara positif untuk membentuk transistor P-MOS (biru) atau negatif untuk transistor N-MOS (merah). Silicon unalloyed pada dasarnya adalah isolator (hitam).
Simulator ARM1 menghadirkan berbagai lapisan dengan warna tersendiri.Garis polisilikon ditandai dengan warna hijau diaplikasikan di atas silikon. Ketika polisilikon melintasi silikon yang diolah, ia membentuk gerbang transistor (kuning). Akhirnya, dua lapisan logam, ditunjukkan oleh abu-abu, terletak di atas polisilikon dan memberikan konduktivitas. Kotak hitam adalah kontak yang membentuk ikatan antara berbagai lapisan.
Untuk keperluan kami, transistor MOS dapat dianggap sebagai saklar yang dikendalikan oleh gerbang. Ketika dihidupkan (ditutup), saluran dan sumber di daerah silikon terhubung. Ketika terputus (terbuka), saluran dan sumber terputus.
Struktur MOSFETSeperti kebanyakan prosesor modern, ARM1 dibangun menggunakan teknologi CMOS, yang menggunakan dua jenis transistor MOS: N-channel dan P-channel. MOSFET N-channel dihidupkan hanya ketika sinyal tingkat tinggi diterapkan ke gerbang dan output ditarik ke tanah. MOSFET P-channel menyala ketika sinyal level rendah diterapkan ke gerbang dan tegangan hingga lima volt diterapkan ke output.
Konsep file register
File register adalah komponen kunci ARM1 yang menyimpan informasi di dalam chip. File register terdiri dari dua puluh lima register, yang masing-masing berisi tiga puluh dua bit.
Gambar di bawah ini menunjukkan dua transistor yang membentuk inverter. Jika sinyal level tinggi adalah input, transistor N-MOS (merah) menyala, menghubungkan output ke ground, sehingga output memiliki sinyal level rendah. Jika input menerima sinyal level rendah, transistor P-MOS (biru) menyala, menghubungkan kabel daya ke output, sehingga output memiliki sinyal level tinggi. Dengan demikian, output berlawanan dengan input, menciptakan inverter.
InverterKombinasi dua inverter dalam satu lingkaran membentuk skema penyimpanan sederhana. Jika pada output dari inverter pertama 1, yang kedua menghasilkan 0, yang masuk ke input inverter pertama dan 1 dibuat pada outputnya - rangkaian stabil. Dengan demikian, sirkuit akan tetap dalam keadaan ini tanpa batas, "mengingat" sedikit, sampai secara paksa dipindahkan ke keadaan lain.
Dua inverter membentuk register yang dapat menyimpan 1 bitUntuk membuat skema seperti itu di sel register yang digunakan, baris baca dan tulis ditambahkan, serta garis pilihan untuk menghubungkan sel ke jalur bus. Ketika jalur perekaman diaktifkan, bus dihubungi dengan inverter, memungkinkan Anda untuk menimpa nilai saat ini dengan bit baru. Demikian pula, transistor menghubungkan bit ke bus baca ketika jalur pilih yang sesuai diaktifkan, memungkinkan Anda membaca nilai yang disimpan.
Skema satu bit dari file register ARM1Untuk membuat file register, sel register harus diulang 32 kali secara vertikal untuk setiap bit, dan 25 kali secara horizontal untuk membentuk setiap register. Setiap register memiliki tiga garis horizontal - garis rekaman dan dua garis bacaan. Setiap register memiliki tiga garis kontrol vertikal - jalur pilihan rekaman dan dua jalur pilihan baca. Saat mengaktifkan jalur kontrol yang diinginkan, dua register dapat dibaca dan satu register dapat ditulis sekaligus. Dalam model simulasi - Anda dapat melihat jalur kontrol vertikal aktif untuk memilih register dan bit data yang bergerak pada jalur bus horizontal.
Dengan melihat sel memori di simulator, Anda dapat menentukan inverter mana yang aktif dan menentukan apakah bit 0 atau 1. Jika input dari inverter atas aktif, maka bitnya nol. Jika input dari inverter lebih rendah aktif, maka bitnya sama dengan satu. Dengan demikian, setelah melihat dengan seksama, Anda dapat membaca nilai register langsung dari simulator.
Gambar dari file register ARM1Perangkat pergeseran cepat
Perangkat quick shift melakukan shift biner dan merupakan komponen ARM1 yang menarik. Sebagian besar instruksi menggunakan shifter yang memungkinkan Anda untuk menggeser argumen biner ke kanan, kiri, atau mengganti karakter apa pun (dari 0 hingga 31 bit). Selama dimulainya simulator, Anda dapat melihat garis diagonal bergerak ke kanan dan kiri dalam pergantian cepat.
Gambar di bawah ini menunjukkan struktur perangkat geser. Bit digeser secara vertikal sehubungan dengan bit nol dan tiga puluh satu. Bit output digeser secara horizontal antara bit nol dari bawah dan bit ketiga puluh satu dari atas. Garis-garis diagonal menunjukkan di mana garis-garis vertikal terhubung ke garis-garis horizontal, menghasilkan pergeseran dalam output. Posisi yang berbeda dari garis diagonal menyebabkan pergeseran yang berbeda. Garis diagonal atas menggeser bit ke kiri, dan garis diagonal bawah ke kanan. Selama shift, kedua diagonal aktif; mungkin tidak kelihatan, tetapi di bagian kata yang bergeser, bagian itu bergerak ke kanan, dan sering ke kiri.
Struktur perangkat geser cepatMari memperbesar area pada perangkat geser untuk melihat komponen utamanya dengan lebih baik. Ini berisi 32 oleh 32 lintas-bagian dari transistor, yang masing-masing menghubungkan satu garis vertikal ke satu horisontal. Gerbang transistor dihubungkan oleh garis kontrol diagonal; transistor sepanjang diagonal aktif menghubungkan garis vertikal dan horizontal yang sesuai. Jadi, dengan mengaktifkan diagonal yang sesuai, jalur output dihubungkan ke jalur input yang digeser oleh sejumlah bit. Karena jalur input dari rangkaian mikro beroperasi secara horizontal, ada 32 koneksi antara jalur input dan garis bit vertikal yang sesuai.
Melihat lebih dekat pada perangkat quick-shift ARM1Kesimpulan
Mikroprosesor ARM1 telah menghasilkan arsitektur prosesor ARM yang sangat sukses, yang merupakan jantung dari ponsel cerdas Anda dan semua perangkat seluler pada umumnya. Arsitektur RISC sederhana dari chip ARM1 menyederhanakan pemahaman tentang sirkuit mikroprosesor dibandingkan dengan struktur 80386. Simulasi visual yang menarik dari mikroprosesor ARM membantu memahami apa yang terjadi di dalamnya.
Video kami dibuat oleh artikel ini:
Di dalam CPU: ARM1