Sabtu, 08 Desember 2018

MEMORY

Memory Komputer
Dalam komputasi , memori mengacu pada sirkuit terpadu perangkat keras komputer yang menyimpan informasi untuk segera digunakan di komputer ; itu identik dengan istilah " penyimpanan primer ". Memori komputer beroperasi pada kecepatan tinggi, misalnya memori akses acak (RAM), sebagai pembeda dari penyimpanan yang menyediakan informasi lambat-ke-akses tetapi menawarkan kapasitas yang lebih tinggi. Jika diperlukan, isi dari memori komputer dapat ditransfer ke penyimpanan sekunder ; cara yang sangat umum untuk melakukan ini adalah melalui teknik manajemen memori yang disebut " virtual memory ". Sinonim kuno untuk memori adalah penyimpanan.
Istilah "memori", yang berarti "penyimpanan primer" atau " memori utama ", sering dikaitkan dengan memori semikonduktor yang dapatdialamatkan, yaitu sirkuit terpadu yang terdiri dari transistor berbasis silikon , yang digunakan misalnya sebagai penyimpanan primer tetapi juga tujuan lain dalam komputer dan digital lainnya. perangkat elektronik . Ada dua jenis utama memori semikonduktor, mudah menguap dan tidak mudah menguap . Contoh memori non-volatile adalah memori flash (digunakan sebagai memori sekunder) dan ROM , PROM , EPROM dan memori EEPROM (digunakan untuk menyimpan firmware seperti BIOS ). Contoh memori volatil adalah penyimpanan primer, yang biasanya merupakan memori akses acak dinamis (DRAM), dan memori cache CPU yang cepat, yang biasanya merupakan memori akses acak statis (SRAM) yang cepat tetapi memakan energi, menawarkan kepadatan area memori yang lebih rendah. dari DRAM.
Sebagian besar memori semikonduktor diatur ke dalam sel - sel memori atau flip-flop bistable , masing-masing menyimpan satu bit (0 atau 1). Organisasi memori flash mencakup baik satu bit per sel memori dan beberapa bit per sel (disebut MLC, Multiple Level Cell).Sel-sel memori dikelompokkan ke dalam kata- kata panjang kata yang tetap, misalnya 1, 2, 4, 8, 16, 32, 64 atau 128 bit. Setiap kata dapat diakses oleh alamat biner N bit, sehingga memungkinkan untuk menyimpan 2 yang dimunculkan oleh kata-kata N dalam memori.Ini berarti bahwa register prosesor biasanya tidak dianggap sebagai memori, karena mereka hanya menyimpan satu kata dan tidak termasuk mekanisme pengalamatan.
Perangkat penyimpanan sekunder yang umum adalah hard disk drive dan solid-state drive.

Sejarah :
Pada awal 1940-an, teknologi memori sering diizinkan kapasitas beberapa byte. Komputer digital pertama yang diprogram elektronik, ENIAC, menggunakan ribuan tabung vakum radio oktal-base, dapat melakukan perhitungan sederhana yang melibatkan 20 angka dari sepuluh digit desimal yang disimpan dalam akumulator tabung vakum.
Kemajuan penting berikutnya dalam memori komputer datang dengan memori delay line akustik, yang dikembangkan oleh J. Presper Eckertpada awal 1940-an. Melalui pembangunan tabung gelas yang diisi dengan merkuri dan dicolokkan pada setiap ujungnya dengan kristal kuarsa, garis penundaan dapat menyimpan bit informasi dalam bentuk gelombang suara yang menyebar melalui merkuri, dengan kristal kuarsa bertindak sebagai transduser untuk membaca dan menulis bit. Delay line memory akan terbatas pada kapasitas hingga beberapa ratus ribu bit agar tetap efisien.
Dua alternatif untuk garis penundaan, tabung Williams dan tabung Selectron , berasal pada tahun 1946, keduanya menggunakan berkas elektron dalam tabung gelas sebagai sarana penyimpanan. Menggunakan tabung sinar katoda , Fred Williams akan menciptakan tabung Williams, yang akan menjadi memori komputer akses-acak pertama. Tabung Williams akan terbukti lebih luas daripada tabung Selectron (Selectron terbatas hingga 256 bit, sedangkan tabung Williams bisa menyimpan ribuan) dan lebih murah. Namun tabung Williams akan terbukti sangat sensitif terhadap gangguan lingkungan.
Upaya dimulai pada akhir 1940-an untuk menemukan memori non-volatile . Jay Forrester , Jan A. Rajchman dan An Wang mengembangkan memori magnetik-inti , yang memungkinkan untuk mengingat memori setelah daya hilang. Memori inti magnetik akan menjadi bentuk memori yang dominan sampai perkembangan memori berbasis transistor di akhir 1960-an.
Perkembangan teknologi dan skala ekonomi telah memungkinkan apa yang disebut komputer Memori Sangat Besar (VLM).
Istilah "memori" ketika digunakan dengan referensi ke komputer umumnya mengacu pada memori akses acak (RAM).
Memory Volatil : Memori volatile adalah memori komputer yang membutuhkan kekuatan untuk menjaga informasi yang tersimpan. Kebanyakan memori volatilsemikonduktor modern adalah RAM statis ( SRAM ) atau RAM dinamis ( DRAM ). SRAM mempertahankan kontennya selama daya tersambung dan mudah untuk berinteraksi, tetapi menggunakan enam transistor per bit. RAM dinamis lebih rumit untuk antarmuka dan kontrol, membutuhkan siklus penyegaran teratur untuk mencegah kehilangan kontennya, tetapi hanya menggunakan satu transistor dan satu kapasitor per bit, memungkinkannya untuk mencapai kepadatan yang jauh lebih tinggi dan biaya per-bit yang jauh lebih murah.
SRAM tidak bermanfaat untuk memori sistem desktop, di mana DRAM mendominasi, tetapi digunakan untuk memori temboloknya. SRAM merupakan hal yang biasa dalam sistem embedded kecil, yang mungkin hanya membutuhkan puluhan kilobyte atau kurang. Teknologi memori volatile yang akan datang yang bertujuan untuk menggantikan atau bersaing dengan SRAM dan DRAM termasuk Z-RAM dan A-RAM.
Memory Non-Volatile : Memori non-volatile adalah memori komputer yang dapat menyimpan informasi yang disimpan bahkan ketika tidak didukung. Contoh memori non-volatil termasuk memori read-only (lihat ROM ), memori flash , sebagian besar jenis perangkat penyimpanan komputer magnetik (misalnya hard disk drive , floppy disk dan pita magnetik ), cakram optik , dan metode penyimpanan komputer awal seperti kertas tape dan kartu berlubang .
Teknologi memori non-volatile yang akan datang termasuk FeRAM , CBRAM , PRAM , STT-RAM , SONOS , RRAM , memori pacuan kuda ,NRAM , 3D XPoint , dan memori millipede.
Memory Semi-Volatile : Kategori memori ketiga adalah "semi-volatile". Istilah ini digunakan untuk menggambarkan memori yang memiliki beberapa durasi non-volatil yang terbatas setelah daya dihapus, tetapi kemudian data akhirnya hilang. Sasaran umum ketika menggunakan memori semi-volatil adalah untuk menyediakan kinerja / daya tahan tinggi / dll. terkait dengan memori yang mudah berubah, sambil memberikan beberapa manfaat dari memori non-volatil yang benar.
Misalnya, beberapa jenis memori non-volatile dapat aus, di mana sel "aus" mengalami peningkatan volatilitas tetapi sebaliknya terus bekerja. Lokasi data yang sering ditulis dapat diarahkan untuk menggunakan sirkuit yang sudah aus. Selama lokasi diperbarui dalam waktu retensi yang diketahui, data tetap valid. Jika waktu retensi "kedaluwarsa" tanpa pembaruan, maka nilainya disalin ke sirkuit yang tidak luntur dengan retensi lebih lama. Menulis pertama ke area yang aus memungkinkan tingkat menulis yang tinggi sambil menghindari keausan pada sirkuit yang tidak luntur. Sebagai contoh kedua, STT-RAM dapat dibuat tidak mudah menguap dengan membangun sel besar, tetapi biaya per bit dan daya tulis naik, sementara kecepatan tulis turun.Menggunakan sel kecil meningkatkan biaya, daya, dan kecepatan, tetapi mengarah ke perilaku semi-volatil. Dalam beberapa aplikasi, peningkatan volatilitas dapat dikelola untuk memberikan banyak manfaat dari memori non-volatile, misalnya dengan menghapus daya tetapi memaksa bangun sebelum data hilang; atau dengan menyimpan data read-only dan membuang data yang di-cache jika waktu mematikannya melebihi ambang non-volatile.
Istilah semi-volatile juga digunakan untuk menggambarkan perilaku semi-volatil yang dibangun dari tipe memori lain. Sebagai contoh, sebuah memori volatile dan non-volatile dapat digabungkan, di mana sinyal eksternal menyalin data dari memori volatile ke memori non-volatil, tetapi jika daya dihapus tanpa menyalin, data hilang. Atau, memori volatil yang didukung baterai, dan jika daya eksternal hilang ada beberapa periode yang diketahui di mana baterai dapat terus menyalakan memori yang mudah menguap, tetapi jika daya mati untuk waktu yang lama, baterai akan mati dan data hilang.
Sistem Komputer Awal : Pada sistem komputer awal, program biasanya menetapkan lokasi untuk menulis memori dan data apa yang akan dimasukkan ke sana. Lokasi ini adalah lokasi fisik pada perangkat keras memori yang sebenarnya. Proses yang lambat dari komputer seperti itu tidak memungkinkan untuk sistem manajemen memori kompleks yang digunakan saat ini. Juga, karena sebagian besar sistem tersebut adalah sistem tugas tunggal, sistem canggih tidak diperlukan sebanyak mungkin.
Pendekatan ini memiliki perangkapnya. Jika lokasi yang ditentukan tidak benar, ini akan menyebabkan komputer untuk menulis data ke bagian lain dari program. Hasil kesalahan seperti ini tidak dapat diprediksi. Dalam beberapa kasus, data yang salah mungkin menimpa memori yang digunakan oleh sistem operasi. Kerupuk komputer dapat memanfaatkan ini untuk membuat virus dan malware.
Memory Virtual : Memori virtual adalah sistem di mana semua memori fisik dikendalikan oleh sistem operasi. Ketika suatu program membutuhkan memori, ia memintanya dari sistem operasi. Sistem operasi kemudian memutuskan lokasi fisik apa untuk menempatkan memori.
Ini menawarkan beberapa keuntungan. Pemrogram komputer tidak perlu lagi khawatir tentang di mana memori disimpan secara fisik atau apakah komputer pengguna akan memiliki cukup memori. Ini juga memungkinkan beberapa jenis memori yang akan digunakan. Sebagai contoh, beberapa memori dapat disimpan dalam chip RAM fisik sementara memori lain disimpan pada hard drive (misalnya dalam swapfile ), berfungsi sebagai perpanjangan dari hirarki cache . Ini secara drastis meningkatkan jumlah memori yang tersedia untuk program. Sistem operasi akan menempatkan memori aktif yang digunakan dalam RAM fisik, yang jauh lebih cepat daripada hard disk. Ketika jumlah RAM tidak cukup untuk menjalankan semua program saat ini, itu dapat menghasilkan situasi di mana komputer menghabiskan lebih banyak waktu memindahkan memori dari RAM ke disk dan kembali daripada menyelesaikan tugas-tugas; ini dikenal sebagai labrakan .
Sistem memori virtual biasanya mencakup memori yang dilindungi, tetapi ini tidak selalu terjadi.
Memory yg dilindungi : Memori yang dilindungi adalah sistem di mana setiap program diberi area memori untuk digunakan dan tidak diizinkan keluar dari jangkauan itu. Penggunaan memori terlindung sangat meningkatkan keandalan dan keamanan sistem komputer.
Tanpa memori yang dilindungi, ada kemungkinan bahwa bug dalam satu program akan mengubah memori yang digunakan oleh program lain. Ini akan menyebabkan program lain untuk lari dari memori rusak dengan hasil yang tidak dapat diprediksi. Jika memori sistem operasi rusak, seluruh sistem komputer mungkin macet dan harus di- boot ulang .Terkadang program dengan sengaja mengubah memori yang digunakan oleh program lain. Ini dilakukan oleh virus dan malware untuk mengambil alih komputer. Ini juga dapat digunakan dengan baik oleh program yang diinginkan yang dimaksudkan untuk memodifikasi program lain; di era modern, ini umumnya dianggap sebagai praktik pemrograman yang buruk untuk program aplikasi, tetapi dapat digunakan oleh alat pengembangan sistem seperti debugger, misalnya untuk memasukkan breakpoint atau hook.
Memori yang dilindungi menugaskan program pada area memori mereka sendiri. Jika sistem operasi mendeteksi bahwa program telah mencoba mengubah memori yang bukan miliknya, program dihentikan (atau dibatasi atau dialihkan). Dengan cara ini, hanya program yang melanggar crash, dan program lain tidak terpengaruh oleh perilaku buruk (apakah disengaja atau disengaja).
Sistem memori yang dilindungi hampir selalu menyertakan memori virtual juga.

Sumber :
https://translate.google.co.id/translate?hl=id&sl=en&u=https://en.wikipedia.org/wiki/Computer_memory&prev=search

Central Logic Unit & Set Register

Aritmatika Central Logic Unit

Judul Alternatif: ALU










Unit logika aritmatika ( ALU ) adalah rangkaian elektronik digital kombinasional yang melakukan operasi aritmatika dan bitwise padabilangan biner bilangan bulat . Ini berbeda dengan floating-point unit (FPU), yang beroperasi pada angka floating point . ALU adalah blok bangunan fundamental dari banyak jenis sirkuit komputasi, termasuk unit pemrosesan pusat (CPU) komputer, FPU, dan unit pemrosesan grafis (GPU). Satu CPU, FPU, atau GPU dapat berisi beberapa ALU.
Masukan ke ALU adalah data yang akan dioperasikan, disebut operand , dan kode yang menunjukkan operasi yang akan dilakukan; output ALU adalah hasil dari operasi yang dilakukan. Dalam banyak desain, ALU juga memiliki status input atau output, atau keduanya, yang menyampaikan informasi tentang operasi sebelumnya atau operasi saat ini, masing-masing, antara ALU dan register status eksternal.
Sinyal : ALU memiliki berbagai input dan output jaring , yang merupakan konduktor listrik yang digunakan untuk menyampaikan sinyal digital antara ALU dan sirkuit eksternal. Ketika ALU beroperasi, sirkuit eksternal menerapkan sinyal ke input ALU dan, sebagai tanggapan, ALU menghasilkan dan menyampaikan sinyal ke sirkuit eksternal melalui outputnya.
Data : ALU dasar memiliki tiga bus data paralel yang terdiri dari dua input operand ( A dan B ) dan output hasil ( Y ). Setiap bus data adalah sekelompok sinyal yang menyampaikan satu bilangan bulat biner. Biasanya, lebar bus A, B, dan Y (jumlah sinyal yang terdiri dari setiap bus) adalah identik dan sesuai dengan ukuran kata asli dari sirkuit eksternal (misalnya, enkapsulasi CPU atau prosesor lainnya).
Opcode : Input opcode adalah bus paralel yang menyampaikan ke ALU kode pemilihan operasi, yang merupakan nilai yang disebutkan yang menentukan operasi aritmatika atau logika yang diinginkan untuk dilakukan oleh ALU. Ukuran opcode (lebar busnya) menentukan jumlah maksimum operasi yang berbeda yang dapat dilakukan ALU; misalnya, opcode empat-bit dapat menentukan hingga enam belas operasi ALU yang berbeda. Secara umum, opcode ALU tidak sama dengan opcode bahasa mesin , meskipun dalam beberapa kasus mungkin langsung dikodekan sebagai bidang bit dalam opcode bahasa mesin.
Operasi Sirkuit :
ALU adalah rangkaian logika kombinasional , yang berarti bahwa outputnya akan berubah secara asynchronous sebagai respons terhadap perubahan input. Dalam operasi normal, sinyal stabil diterapkan untuk semua input ALU dan, ketika waktu yang cukup (dikenal sebagai " delay propagasi ") telah berlalu untuk sinyal untuk merambat melalui sirkuit ALU, hasil dari operasi ALU muncul di ALU. keluaran. Sirkuit eksternal yang terhubung ke ALU bertanggung jawab untuk memastikan stabilitas sinyal input ALU di seluruh operasi, dan untuk memungkinkan waktu yang cukup bagi sinyal untuk merambat melalui ALU sebelum sampling hasil ALU.
Secara umum, sirkuit eksternal mengontrol ALU dengan menerapkan sinyal ke inputnya. Biasanya, sirkuit eksternal menggunakan logika sekuensial untuk mengontrol operasi ALU, yang digerakkan oleh sinyal clockdengan frekuensi yang cukup rendah untuk memastikan cukup waktu bagi output ALU untuk menetap dalam kondisi terburuk.
Sebagai contoh, CPU memulai operasi tambahan ALU dengan routing operand dari sumber mereka (yang biasanya register) ke input operan ALU, sementara unit kontrol secara bersamaan menerapkan nilai ke input opcode ALU, mengkonfigurasi untuk melakukan penambahan. Pada saat yang sama, CPU juga mengarahkan output hasil ALU ke register tujuan yang akan menerima penjumlahan. Sinyal input ALU, yang dipertahankan stabil sampai jam berikutnya, diizinkan untuk menyebar melalui ALU dan ke register tujuan ketika CPU menunggu jam berikutnya. Ketika jam berikutnya tiba, register tujuan menyimpan hasil ALU dan, sejak operasi ALU selesai, input ALU dapat diatur untuk operasi ALU berikutnya.

Fungsi : 
Sejumlah fungsi aritmatika dan logika bitwise dasar umumnya didukung oleh ALU. ALU dasar dan tujuan umum biasanya memasukkan operasi ini dalam repertoar mereka:
Operasi Aritmatika :

  • Tambahkan : A dan B dijumlahkan dan jumlahnya muncul di Y dan dibawa keluar.
  • Tambahkan dengan membawa : A, B dan bawa-di dijumlahkan dan jumlahnya muncul di Y dan dibawa keluar.
  • Kurangi : B dikurangi dari A (atau sebaliknya) dan perbedaan muncul di Y dan carry-out. Untuk fungsi ini, melaksanakan secara efektif adalah indikator "meminjam". Operasi ini juga dapat digunakan untuk membandingkan besaran A dan B; dalam kasus seperti itu, output Y dapat diabaikan oleh prosesor, yang hanya tertarik pada bit status (terutama nol dan negatif) yang dihasilkan dari operasi.
  • Kurangi dengan meminjam : B dikurangi dari A (atau sebaliknya) dengan meminjam (carry-in) dan perbedaan muncul di Y dan melaksanakan (meminjam keluar).
  • Dua komplemen (meniadakan) : A (atau B) dikurangi dari nol dan perbedaan muncul di Y.
  • Kenaikan : A (atau B) dinaikkan sebesar satu dan nilai yang dihasilkan muncul di Y.
  • Decrement : A (atau B) dikurangi satu dan nilai yang dihasilkan muncul di Y.
  • Melalui : semua bit A (atau B) muncul tidak dimodifikasi di Y. Operasi ini biasanya digunakan untuk menentukan paritas operan atau apakah nol atau negatif, atau memuat operand ke dalam register prosesor.



Operasi Logis Bitwise :





  • DAN : bitwise DAN dari A dan B muncul di Y.
  • ATAU : ATAU bitwise A dan B muncul di Y.
  • Exclusive-OR : bitwise XOR dari A dan B muncul di Y.
  • Pelengkap yang dimiliki: semua bit A (atau B) dibalik dan muncul di Y.

  • Operasi Pengalihan Bit :
    Operasi pemindahan ALU menyebabkan operan A (atau B) bergeser ke kiri atau ke kanan (tergantung pada opcode) dan operan bergeser muncul di Y. ALU sederhana biasanya dapat menggeser operan hanya dengan satu posisi bit, sedangkan ALU yang lebih kompleks menggunakan shifter barel yang memungkinkan mereka untuk menggeser operan dengan jumlah bit yang sewenang-wenang dalam satu operasi. Dalam semua operasi penggeseran bit-tunggal, bit bergeser keluar dari operan muncul pada carry-out; nilai bit bergeser ke operan tergantung pada jenis shift.
    • Pergeseran aritmatik : operan diperlakukan sebagai bilangan bulat komplementer dua , yang berarti bahwa bit paling signifikan adalah "tanda" sedikit dan dipertahankan.
    • Pergeseran logis : logika nol digeser ke operan. Ini digunakan untuk menggeser bilangan bulat tak bertanda.
    • Rotasikan : operand diperlakukan sebagai buffer lingkaran bit sehingga bit terkecil dan paling signifikan berdekatan secara efektif.
    • Putar melalui carry : carry bit dan operand secara kolektif diperlakukan sebagai buffer lingkaran bit.

    Contoh bit shift untuk ALU delapan-bit
    MengetikKiriKanan
    Pergeseran aritmatikaPutar ke kiri secara logis.svgPutar ke kanan secara aritmetis.svg
    Pergeseran logisPutar ke kiri secara logis.svgPutar ke kanan secara logis.svg
    MemutarPutar ke kiri.svgPutar ke kanan.svg
    Putar melalui carryPutar ke kiri melalui carry.svgPutar ke kanan melalui carry.svg

    Aplikasi :
    Aritmatika Multi-presisi : Dalam perhitungan aritmatika bilangan bulat, aritmatika multi-presisi adalah algoritma yang beroperasi pada bilangan bulat yang lebih besar dari ukuran kata ALU. Untuk melakukan hal ini, algoritma memperlakukan setiap operand sebagai kumpulan fragmen berukuran-ALU yang terurut, disusun dari yang paling-signifikan (MS) hingga yang paling tidak signifikan (LS) atau sebaliknya. Misalnya, dalam kasus ALU 8-bit, integer 24-bit 0x123456 akan diperlakukan sebagai kumpulan tiga fragmen 8-bit: 0x12 (MS), 0x34 , dan 0x56 (LS). Karena ukuran fragmen sama persis dengan ukuran kata ALU, ALU dapat langsung beroperasi pada "operan" ini.
    Algoritma menggunakan ALU untuk beroperasi secara langsung pada fragmen operan tertentu dan dengan demikian menghasilkan fragmen yang sesuai ("parsial") dari hasil multi-presisi. Setiap parsial, ketika dihasilkan, ditulis ke daerah penyimpanan terkait yang telah ditetapkan untuk hasil presisi ganda. Proses ini diulang untuk semua fragmen operand sehingga menghasilkan kumpulan parsial lengkap, yang merupakan hasil dari operasi multi-presisi.
    Dalam operasi aritmatik (misalnya, penjumlahan, pengurangan), algoritme dimulai dengan menjalankan operasi ALU pada fragmen LS operand, sehingga menghasilkan baik sebagian LS dan bit yang melaksanakan. Algoritme menulis penyimpanan parsial ke yang ditunjuk, sedangkan mesin negara prosesor biasanya menyimpan bit yang dibawa ke register status ALU. Algoritma kemudian maju ke fragmen berikutnya dari masing-masing kumpulan operand dan memanggil operasi ALU pada fragmen ini bersama dengan bit carry yang disimpan dari operasi ALU sebelumnya, sehingga menghasilkan yang lain (lebih signifikan) parsial dan sedikit melaksanakan. Seperti sebelumnya, bit carry disimpan ke register status dan sebagian ditulis ke penyimpanan yang ditentukan. Proses ini berulang sampai semua fragmen operand telah diproses, menghasilkan kumpulan parsial lengkap dalam penyimpanan, yang terdiri dari hasil aritmatika multi-presisi.
    Dalam operasi pergeseran multi-presisi, urutan pemrosesan fragmen operan tergantung pada arah pergeseran. Dalam operasi penggeseran-kiri, fragmen diproses LS terlebih dahulu karena bit LS dari setiap parsial — yang disampaikan melalui bit carry yang disimpan — harus diperoleh dari bit MS operan sebelumnya yang kurang bergeser kiri dan kurang signifikan. Sebaliknya, operand diproses MS pertama dalam operasi pengalihan-kanan karena bit MS masing-masing parsial harus diperoleh dari bit LS operan sebelumnya yang lebih kanan, operan yang lebih signifikan.
    Dalam operasi logis bitwise (misalnya, logis AND, OR logis), fragmen operand dapat diproses dalam urutan arbitrer karena masing-masing parsial hanya bergantung pada fragmen operan yang sesuai (bit carry yang disimpan dari operasi ALU sebelumnya diabaikan).
    Operasi Rumit :
    Meskipun ALU dapat dirancang untuk melakukan fungsi yang kompleks, kompleksitas sirkuit, biaya, konsumsi daya yang lebih tinggi dan ukuran yang lebih besar membuat hal ini tidak praktis dalam banyak kasus. Akibatnya, ALU sering terbatas pada fungsi-fungsi sederhana yang dapat dijalankan pada kecepatan yang sangat tinggi (mis., Penundaan propagasi yang sangat singkat), dan sirkuit prosesor eksternal bertanggung jawab untuk melakukan fungsi kompleks dengan mengatur urutan operasi ALU yang lebih sederhana.
    Sebagai contoh, menghitung akar kuadrat dari suatu nomor dapat diimplementasikan dengan berbagai cara, tergantung pada kompleksitas ALU:
    • Perhitungan dalam satu jam : ALU yang sangat kompleks yang menghitung akar kuadrat dalam satu operasi.
    • Perhitungan pipeline : sekelompok ALU sederhana yang menghitung akar kuadrat secara bertahap, dengan hasil antara melewati ALU yang diatur seperti jalur produksi pabrik.Sirkuit ini dapat menerima operan baru sebelum menyelesaikan yang sebelumnya dan menghasilkan hasil secepat ALU yang sangat kompleks, meskipun hasilnya tertunda oleh jumlah penundaan propagasi dari tahap ALU. Untuk informasi lebih lanjut, lihat artikel tentang pipelining instruksi .
    • Perhitungan berulang : ALU sederhana yang menghitung akar kuadrat melalui beberapa langkah di bawah arahan unit kontrol .
    Implementasi di atas transisi dari yang tercepat dan termahal ke yang paling lambat dan paling tidak mahal. Akar kuadrat dihitung dalam semua kasus, tetapi prosesor dengan ALU sederhana akan membutuhkan waktu lebih lama untuk melakukan perhitungan karena beberapa operasi ALU harus dilakukan.
    Implementasi :
    ALU biasanya diimplementasikan baik sebagai sirkuit terpadu yang berdiri sendiri (IC), seperti 74181 , atau sebagai bagian dari IC yang lebih kompleks. Dalam kasus terakhir, ALU biasanya dipakai dengan mensintesisnya dari deskripsi yang ditulis dalam VHDL , Verilog atau beberapa bahasa deskripsi perangkat keras lainnya. Sebagai contoh, kode VHDL berikut menjelaskan ALU 8-bit yang sangat sederhana:
    entitas alu
    port ( - koneksi alu ke sirkuit eksternal:
    A : dalam tanda tangan ( 7 downto 0 ); - operan A
    B : dalam tanda tangan ( 7 downto 0 ); - operan B
    OP : di unsigned ( 2 downto 0 ); - opcode
    Y : out signed ( 7 downto 0 )); - hasil operasi
    akhir alu ;
    perilaku arsitektur dari alu
    mulai
    kasus OP - decode opcode dan melakukan operasi:
    ketika "000" => Y <= A + B ; - tambahkan
    ketika "001" => Y <= A - B ; - kurangi
    ketika "010" => Y <= A - 1 ; - penurunan
    ketika "011" => Y <= A + 1 ; - pertambahan
    ketika "100" => Y <= bukan A ; - 1 komplemen
    ketika "101" => Y <= A dan B ; - bitwise AND
    ketika "110" => Y <= A atau B ; - bitwise OR
    ketika "111" => Y <= A xor B ; - bitwise XOR
    ketika orang lain => Y <= ( orang lain => 'X' );
    kasus akhir ;
    mengakhiri perilaku ;

    Sejarah :

    Matematikawan John von Neumann mengusulkan konsep ALU pada tahun 1945 dalam sebuah laporan tentang fondasi untuk komputer baru yang disebut EDVAC .

    Biaya, ukuran, dan konsumsi daya sirkuit elektronik relatif tinggi sepanjang masa informasi . Akibatnya, semua komputer seri dan banyak komputer awal, seperti PDP-8 , memiliki ALU sederhana yang beroperasi pada satu bit data pada suatu waktu, meskipun mereka sering menyajikan ukuran kata yang lebih luas untuk pemrogram. Salah satu komputer paling awal yang memiliki beberapa rangkaian ALU tunggal diskrit adalah 1948 Whirlwind I , yang menggunakan enam belas "unit matematika" semacam itu untuk memungkinkannya beroperasi pada kata-kata 16-bit.

    Pada tahun 1967, Fairchild memperkenalkan ALU pertama yang diimplementasikan sebagai sirkuit terintegrasi, Fairchild 3800, yang terdiri dari ALU delapan-bit dengan akumulator. ALU sirkuit terpadu lainnya segera muncul, termasuk ALU empat bit seperti Am2901 dan 74181 . Perangkat ini biasanya " bit slice " mampu, yang berarti mereka memiliki "membawa melihat ke depan" sinyal yang memfasilitasi penggunaan beberapa chip ALU yang saling berhubungan untuk membuat ALU dengan ukuran kata yang lebih luas.Perangkat ini dengan cepat menjadi populer dan banyak digunakan dalam minicomputer bit-slice.

    Mikroprosesor mulai muncul pada awal 1970-an. Meskipun transistor telah menjadi lebih kecil, sering ada ruang mati yang tidak cukup untuk ALU kata penuh dan, sebagai hasilnya, beberapa mikroprosesor awal menggunakan ALU sempit yang membutuhkan beberapa siklus per instruksi bahasa mesin. Contoh ini termasuk Zilog Z80 yang populer, yang melakukan penambahan delapan bit dengan ALU empat-bit. Seiring waktu, geometri transistor semakin menyusut, mengikuti hukum Moore , dan menjadi layak untuk membangun ALU yang lebih luas pada mikroprosesor.
    Transistor sirkuit terpadu modern (IC) adalah orde yang besarnya lebih kecil daripada mikroprosesor awal, sehingga memungkinkan untuk menyesuaikan ALU yang sangat kompleks pada IC. Saat ini, banyak ALU modern memiliki lebar kata lebar, dan peningkatan arsitektur seperti shifter barel dan pengganda biner yang memungkinkan mereka untuk melakukan, dalam siklus clock tunggal, operasi yang akan membutuhkan beberapa operasi pada ALU sebelumnya.

    Register Prosesor
    Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
    Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.
    Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tetapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

    Jenis Register :
    Register terbagi menjadi beberapa kelas:
    • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
    • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
    • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
    • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
    • Register konstanta (constant regispter), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phinulltruefalse dan lainnya.
    • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
    • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
    • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.

    Ukuran Register :

    Tabel berikut berisi ukuran register dan padanan prosesornya :


    Sumber :

    http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://www.britannica.com/EBchecked/topic/34754/arithmetic-logic-unit



    http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://en.wikipedia.org/wiki/Arithmetic_logic_unit

    Arsitektur Family ibm PC dan Turunannya

    IBM PC IBM PC  adalah sebutan untuk keluarga  komputer pribadi  buatan  IBM . IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipens...