PENDAHULUAN
Apa tujuan belajar arsitektur komputer?
1. Mengetahui tentang matakuliah CPU arsitektur 2. Mengetahui hubungan antara CPU Arsitektur
dengan matakuliah lain.
3. Dapat mengikuti dan memahami perkembangan 3. Dapat mengikuti dan memahami perkembangan
CPU
Apa yang dimaksud dengan CPU Arsitektur?
Ilmu yang mempelajari tentang struktur dan f ungsi dari
CPU
• Mempelajari tentang bagaimana CPU melakukan
pekerjaannya.
• Mempelajari tentang bagaimana CPU berhubungan dengan
peralatan yang lain dalam menjalankan tugasnya.
• Mempelajari tentang komponen-komponen apa saja yang
ada didalam CPU
• Mempelajari bagaimana cara mengatur kerja
Arsitektur vs O rganisasi
Matakuliah Arsitektur Komputer merup akan
kelanjutan dari O rganisasi Komputer yang telah dipelajari sebelumnya.
Matakuliah O rganisasi Komputer yang dipelajari Matakuliah O rganisasi Komputer yang dipelajari
adalah komputer secara keseluruhan.
Matakuliah Arsitektur Komputer yang dipelajari
4 komponen struktur utama internal komputer
Central Processing Unit (CPU): Mengontrol operasi
komputer dan membentuk f ungsi-f ungsi pengolahan datanya. Sering kali CPU secara sederhana disebut sebagai processor saja.
Memori Utama: Menyimpan data
I/ O : Memindahkan data antara komputer dengan
lingkungan luarnya.
Sistem Interkoneksi: beberapa mekanisme
4 Komponen utama CPU
Unit Kontrol (Control Unit): Mengontrol operasi CPU
dan pada gilirannya juga mengontrol komputer.
Unit aritmatik dan logika ( Arithmetic and logic unit
–ALU): Membentuk f ungsi-f ungsi pengolahan data –ALU): Membentuk f ungsi-f ungsi pengolahan data komputer.
Register: Sebagai penyimpanan internal bagi CPU. CPU interkoneksi: Sejumlah mekanisme komunikasi
Perlu diketahui..
Evolusi komputer telah ditandai dengan
peningkatan kecepatan processor, pengurangan ukuran komponen, peningkatan kapasitas memori, dan kecepatan I/ O.
Satu f aktor yang berpengaruh besar dalam
Komputer Generasi Pertama 1940 -1959
ENIAC (Electronic Numerical Integrator and Calculator)
Komputer ENIAC ini diciptakan oleh Dr John Mauchly dan J. Presper Eckert pada tahun 1946 (one year af ter the war was over)
EDVAC (Electronic Discrete Variable Automatic Computer)
Penggunaan tiub tiub vakum juga telah dikurangi di dalam EDVAC, di mana proses perhitungan telah menjadi lebih cepat dibandingkan ENIAC
EDSAC (Electronic Delay Storage Automatic Calculator) the world’s f irst stored-program computer. Diciptakan oleh Maurice W ilkes
EDSAC telah memperkenalkan penggunaan raksa (merkuri) dalam tube untuk
menyimpan memori. was based on the discovery of the matematician John
von Neumann.
UNIVAC I (Universal Automatic Calculator)
Komputer Generasi Ke Dua ( 1959-1964 )
Komputer-komputer generasi kedua telah menggunakan transistor dan diode
untuk menggantikan saluran-saluran vakum dan menjadikan ukuran komputer
lebih kecil dan murah.
Cara baru menyimpan memori juga diperkenalkan melalui teknologi magnetik.
Keupayaan pemprosesan dan ukuran memori utama komputer juga bertambah
dan manjadikan ia lebih ef isien.
Kemunculan FO RTRAN dan CO BO L menandakan permulaan bahasa tingkat
tinggi untuk menggantikan bahasa pengantar dalam mesin yang lebih sukar.
Minikomputer juga telah diperkenalkan yaitu yang kedua terbesar di
dalam generasi komputer. Versinya yang pertama ialah DEC PDP 8 yang
Komputer Generasi Ke Tiga (1964-aw al 80-an)
Chip mulai menggantikan transistor sebagai bahan logis komputer
dengan terhasilnya Integrated Circuit atau lebih dikenal dengan sebutan chip.
Jenis komputer terkecil mikrokomputer telah muncul dan paling
cepat menjadi popular seperti Apple II, IBM PC dan Sinclair. cepat menjadi popular seperti Apple II, IBM PC dan Sinclair.
Banyak bahasa pemrograman telah muncul seperti BASIC, Pascal dan PL/ 1.
Kebanyakan mikrokomputer didasari dengan taf siran bahasa
Komputer Generasi Ke Empat (aw al 80-an-??)
Chip masih digunakan untuk memproses dan menyimpan memori.
Ia lebih canggih, dilengkapi hingga ratusan ribu komponen
transistor yang disebut pengamiran skala amat besar (very large scale intergartion, VLSI). Pemprosesan dapat dilakukan dengan lebih tepat,sampai jutaan bit per detik.
lebih tepat,sampai jutaan bit per detik.
Memori utama komputer menjadi lebih besar sehingga
Komputer Generasi Ke Lima (masa depan)
G enerasi kelima dalam sejarah evolusi komputer merupakan
komputer impian masa depan. Ia diperkirakan mempunyai lebih banyak unit pemprosesan yang berf ungsi bersamaan untuk menyelesaikan lebih daripada satu tugas dalam satu masa.
Komputer ini juga mempunyai ingatan yang amat besar
sehingga memungkinkan penyelesaian lebih dari satu tugas dalam waktu bersamaan.
Unit pemprosesan pusat juga dapat berf ungsi sebagai otak
Evolusi dan Kinerja Komputer
Sejarah singkat komputer
G enerasi Perta ma: Tabung Hampa Udara G enerasi Kedua: Transistor
G enerasi Kedua: Transistor
Sejarah Microprosesor
Setiap komputer didalamnya pasti terdapat
mikroprosesor
Mikroprosesor , dikenal juga dengan sebutan Central
Processing Unit (CPU) artinya Unit Pengolahan Pusat
CPU adalah pusat dari proses perhitungan dan
pengolahan data yang terbuat dari sebuah lempengan yang disebut “ Chip”
Sejarah Microprosesor
1971 = intel 4004
hanya dapat melakukan operasi penambahan dan pengurangan.
1974 = komputer dirumah adalah intel 8080 1974 = komputer dirumah adalah intel 8080
o komputer 8 bit dalam 1 chip yang diperkenalkan pada
tahun 1974
Sejarah Microprosesor
Microprosesor pertama adalah intel 4004 yang
diperkenalkan pada tahun 1971
Kegunaan mikroprosesor ini masih sangat terbatas (operasi penambahan dan pengurangan)
Perta ma yang digunakan untuk komputer dirumah adalah intel 8080
Komputer 8 bit dalam satu chip yang diperkenalkan pada tahun 1974
Sejarah Microprosesor
8088
80286
80486
Pentium
Pentium I, II, III
Perbandingan Besar Processor
Nama Processor Tahun Keluar Jumlah Transistor Micron Clock SpeedData Width MIPS
8080 1974 600 6 2 MHz 8 0,64
8088 1979 29.000 3 5 MHz 16 bits, 8 bit
bus
0,33 bus
80286 1982 134.000 1,5 6 MHz 16 bits 1
80386 1985 275.000 1,5 16 MHz 32 bits 5
80486 1989 1.200.000 1 25 MHz 32 bits 20
Pentium 1993 3.100.000 0,8 60 MHz 32 bit, 64 bit 100
Pentium II 1997 7.500.000 0,35 233 MHz 32 bit, 64 bit bus
400
Pentium III 1999 9.500.000 0,25 450 MHz 32 bit, 64 bit bus
Keterangan Tabel
Transistor berbentuk seperti tabung yang sangat kecil,
terdapat pada Chip
Micron adalah ukuran dalam Mikron (10 pangkat -6),
merupakan kabel terkecil dalam Chip
Clock Speed= Kecepatan maksimal sebuah processor Data W idth = lebar dari Aritmathic Logic Unit (ALU) /
Unit Pengelola Aritmatika, Perkalian dan sebagainya.
MIPS= Millions of Instruction per Second/ Jutaan
Perbandingan Besar Processor secara f isik
Ref erensi Buku
Computer O rganization and Architecture, W illiam
Stalling, Fif th Edition, Prentice Hall, 2000
Computer O rganization Architecture, Andrew S. ,
Tanenbaum Prentice Hall, 1999 Tanenbaum Prentice Hall, 1999
Computer Architecture, Single and Parallel Systems,
STRUKTUR CPU
Tujuan
Mengerti struktur dan f ungsi CPU yaitu dapat
melakukan Fetch instruksi, interpreter instruksi , Fetch data, eksekusi, dan menyimpan kembali.
serta struktur dari register, macam-macam register dan serta struktur dari register, macam-macam register dan f ungsinya.
Mengerti aliran data pada siklus pengambilan, siklus
tak langsung, siklus interupt.
Mengerti pipelining, dan mengerti teknik-teknik
Materi
Bagian ini membahas aspek-aspek struktur dan f ungsi
CPU untuk dasar pembahasan berikutnya, yaitu RISC.
Fokus bab struktur dan f ungsi CPU adalah organisasi
CPU
Central Processing Unit
Merupakan komponen terpenting dari sistem komputer
komponen pengolah data berdasarkan instruksi yang
diberikan kepadanya diberikan kepadanya
Dalam mewujudkan f ungsi dan tugasnya, CPU tersusun
Komponen Utama CPU
Arithmetic and Logic Unit (ALU)
Control Unit
Registers
Processor Processor Control Control Unit Unit Arithmetic Arithmetic Logic Unit (ALU) Logic Unit (ALU)
Arithmetic Arithmetic Logic Unit (ALU) Logic Unit (ALU)
Prosesor
Central Processing Unit (CPU)
Menginterpretasikan dan mengerjakan instruksi-instruksi dasar operasi
Instructions Instructions Data Data Control Control Unit Unit Input Input Devices Devices Storage Storage Devices Devices Output Output Devices Devices
instruksi dasar operasi komputer
Memory Memory
Data
Data InformationInformation
Instructions Instructions Data Data Information Information Information Information
Arithmetic and Logic Unit (ALU)
Bertugas membentuk f ungsi – f ungsi pengolahan data
komputer.
ALU sering disebut bahasa mesin ( machine language)
karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya.
ALU terdiri dari dua bagian, yaitu unit arithmetika dan
Control Unit
Bertugas mengontrol operasi CPU dan secara
keseluruhan mengontrol komputer sehingga terjadi
sinkronisasi kerja antar komponen dalam menjalankan f ungsi – f ungsi operasinya.
Termasuk dalam tanggung jawab unit kontrol adalah
Termasuk dalam tanggung jawab unit kontrol adalah
Registers
Media penyimpan internal CPU yang digunakan saat
proses pengolahan data.
Memori ini bersif at sementara, biasanya digunakan untuk
O rganisasi Register
Sistem komputer menggunakan hirarki memori
Pada tingkatan yang lebih atas, memori yang lebih
cepat, lebih kecil dan lebih mahal.
Didalam CPU terdapat sekumpulan register yang Didalam CPU terdapat sekumpulan register yang
tingkatan memorinya berada diatas hirarki memori utama dan cache.
Fungsi Register CPU
User Visible Register
Register ini memungkinkan pemogram bahasa mesin dan bahasa assembler meminimalkan ref erensi main memory dengan cara mengoptimasi penggunaan register
Control and Status RegisterControl and Status Register
Register ini digunakan oleh Control Unit untuk mengontrol operasi CPU dan oleh program sistem operasi untuk mengontrol eksekusi program
Tidak terdapat pemisahan yang jelas diantara kedua jenis
Jumlah register sangat menentukan kinerja suatu
prosesor
Jumlah register juga berpengaruh pada rancangan set
instruksi karena register yang lebih banyak akan instruksi karena register yang lebih banyak akan
memerlukan bits operand specif ier yang lebih banyak pula
Register yang berukuran antara 8 hingga 32 bit dapat
Register yang penting bagi eksekusi instruksi
Program Counter (PC) atau pencacah program
- berisi alamat instruksi yang akan diambil
Instruction Register (IR)
- berisi instruksi yang terakhir diambil
Memori Address Register (MAR)
- berisi alamat sebuah lokasi didalam memori
Memori Buf f er Register (MBR)
CPU Interconnections
Sistem koneksi dan bus yang menghubungkan komponen
internal dan bus – bus eksternal CPU
Komponen internal CPU yaitu ALU, unit kontrol dan
register – register. register – register.
Komponen eksternal CPU :sistem lainnya, seperti main
Fungsi CPU
Menjalankan program – program yang disimpan dalam
memori utama dengan cara mengambil instruksi – instruksi, menguji instruksi tersebut dan mengeksekusinya satu
persatu sesuai alur perintah.
Pandangan paling sederhana proses eksekusi program
Aksi CPU
CPU – Memori, perpindahan data dari CPU ke memori
dan sebaliknya.
CPU –I/ O, perpindahan data dari CPU ke modul I/ O
dan sebaliknya.
Pengolahan Data, CPU membentuk sejumlah operasi
aritmatika dan logika terhadap data.
Kontrol, merupakan instruksi untuk pengontrolan f ungsi
Prosesor
Siklus mesin (machine cycle)Step 1. Fetch
Mengambil data/instruksi program dari memori
Dalam satu siklus mesin terdapat empat operasi dalam CPU
Processor Control Unit Memory ALU Step 2. Decode menerjemahkan instruksi ke dalam perintah-perintah
Step 4. Store
menuliskan hasil ke dalam memory
Step 3. Execute
Siklus Instruksi
Ada beberapa sub-siklus
Sub Siklus Instruksi
Fetch adalah siklus pengambilan data ke memori atau
register
Execute: menginterpretasikan opcode dan melakukan
operasi yang diindikasikan operasi yang diindikasikan
Interupt: apabila interupt diaktif kan dan interupt telah
Siklus tidak langsung
Eksekusi sebuah instruksi melibatkan sebuah operand
atau lebih didalam memori , yang masing-masing operand memerlukan akses memori
Pengambilan alamat-alamat tak langsung dianggap Pengambilan alamat-alamat tak langsung dianggap
Siklus Fetch - Eksekusi
Pada setiap siklus instruksi, CPU awalnya akan
membaca instruksi dari memori
Terdapat register dalam CPU yang berf ungsi
mengawasi dan menghitung instruksi selanjutnya, yang mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC)
PC akan menambah satu hitungannya setiap kali CPU
Siklus Fetch - Eksekusi
Instruksi – instruksi yang dibaca akan dibuat dalam
register instruksi (IR).
Instruksi – instruksi ini dalam bentuk kode – kode biner
Siklus Eksekusi
Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan
alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan
penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi
memorinya ke CPU. memorinya ke CPU.
Instruction O peration Decoding (IO D), yaitu menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
O perand Address Calculation (OAC), yaitu menentukan alamat operand, hal
ini dilakukan apabila melibatkan ref erensi operand pada memori.
O perand Fetch (O F), adalah mengambil operand dari memori atau dari
modul I/ O.
Data O peration (DO ), yaitu membentuk operasi yang diperintahkan dalam
instruksi.
Fungsi Interupsi
Mekanisme penghentian atau pengalihan pengolahan
instruksi dalam CPU kepada routine interupsi.
Hampir semua modul (memori dan I/ O ) memiliki
Tujuan Interupsi
Secara umum untuk menejemen pengeksekusian routine
instruksi agar ef ektif dan ef isien antar CPU dan modul
– modul I/ O maupun memori.
Setiap komponen komputer dapat menjalankan
Setiap komponen komputer dapat menjalankan
tugasnya secara bersamaan, tetapi kendali terletak
pada CPU disamping itu kecepatan eksekusi masing –
masing modul berbeda.
Kelas sinyal interupsi
Program, yaitu interupsi yang dibangkitkan dengan beberapa
kondisi yang terjadi pada hasil eksekusi program. Contohnya: arimatika overf low, pembagian nol, oparasi ilegal.
Timer, adalah interupsi yang dibangkitkan pewaktuan dalam
prosesor. Sinyal ini memungkinkan sistem operasi menjalankan f ungsi tertentu secara reguler.
tertentu secara reguler.
I/ O, sinyal interupsi yang dibangkitkan oleh modul I/ O sehubungan
pemberitahuan kondisi error dan penyelesaian suatu operasi.
Hardware f ailure, adalah interupsi yang dibangkitkan oleh
Proses Interupsi
Dengan adanya mekanisme interupsi, prosesor
dapat digunakan untuk mengeksekusi instruksi –
instruksi lain.
Saat suatu modul telah selesai menjalankan
Saat suatu modul telah selesai menjalankan
Proses Interupsi
Kemudian prosesor akan menghentikan eksekusi yang
dijalankannya untuk menghandel routine interupsi.
Setelah program interupsi selesai maka prosesor akan
melanjutkan eksekusi programnya kembali.
Saat sinyal interupsi diterima prosesor ada dua
kemungkinan tindakan, yaitu interupsi
Interupsi Ditangguhkan
Apa yang dilakukan Prosessor ?
Prosesor menangguhkan eksekusi program yang
dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
Prosesor menyetel program counter (PC) ke alamat awal
Siklus eksekusi oleh prosesor
Sistem operasi kompleks
Interupsi ganda ( multiple interrupt).
Misalnya suatu komputer akan menerima permintaan
interupsi saat proses pencetakan dengan printer
selesai, disamping itu dimungkinkan dari saluran
komunikasi akan mengirimkan permintaan interupsi
komunikasi akan mengirimkan permintaan interupsi
setiap kali data tiba.
Dapat diambil dua buah pendekatan untuk menangani
Pendekatan Interupsi ganda
Ada 2 Pendekatan :
Pendekatan ini disebut pengolahan interupsi berurutan /
sekuensial
Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
ditangani prosesor.
Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru di tangani.
Pengolahan interupsi bersarang yaitu mendef inisikan
prioritas bagi interupsi
Contoh Kasus
Suatu sistem memiliki tiga
perangkat I/ O : printer, disk, dan
saluran komunikasi, masing –
saluran komunikasi, masing –
Contoh Kasus
Pada awal sistem melakukan pencetakan dengan printer, saat itu
terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi.
Proses selanjutnya adalah pengalihan eksekusi interupsi modul
komunikasi, sedangkan interupsi printer ditangguhkan.
Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun
karena prioritasnya lebih rendah maka interupsi disk ditangguhkan.
Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi
yang memiliki prioritas lebih tinggi, yaitu disk.
ARSITEKTUR VO N NEUMANN
Pada jaman modern saat ini, hampir semua
komputer mengadopsi arsitektur yang dibuat oleh John von Neumann (1903-1957).
Kunci utama arsitektur von Neumann adalah unit Kunci utama arsitektur von Neumann adalah unit
Pada dasarnya komputer arsitektur Von Neumann adalah terdiri dari
elemen sebagai berikut:
Prosesor, merupakan pusat dari kontrol dan pemrosesan instruksi pada komputer.
Memori, digunakan untuk menyimpan inf ormasi baik program maupun data.
Prosesor atau
Central Processing Unit (CPU)
CPU merupakan tempat untuk melakukan pemrosesan instruksi-instruksi dan pengendalian sistem komputer.
Perkembangan perangkat CPU mengikuti generasi dari sistem komputer. Pada generasi pertama CPU terbuat dari rangkaian tabung vakum sehingga
memiliki ukuran yang sangat besar.
Pada generasi kedua telah diciptakan transistor sehinga ukuran CPU menjadi lebih kecil dari sebelumnya.
kecil dari sebelumnya.
Pada generasi ketiga CPU telah terbuat dari rangkaian IC sehingga ukurannya menjadi lebih kecil.
Elemen CPU
Pada perkembangan komputer modern, setiap prosesor terdiri atas:
Arithmetic and Logic Unit
(ALU).
Register.
Register.
Control Unit
(CU).
Arithmatic and Logic Unit
(ALU).
Arithmatic and Logic Unit atau Unit Aritmetika dan Logika berf ungsi untuk melakukan semua
perhitungan aritmatika (matematika) dan logika yang terja di sesuai dengan instruksi program.
ALU menjalankan operasi penambahan,
Register
Register merupakan alat penyimpanan kecil yang
mempunyai kecepatan akses cukup tinggi, yang
digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih disimpan yang menunggu giliran untuk diproses masih disimpan di dalam memori utama. Setiap register dapat
menyimpan satu bilangan hingga mencapai jumlah maksimum tertentu tergantung pada ukurannya.
Register-register dapat dibaca dan ditulis dengan
A + B
A
B
Register-register
ALU
A + B
ALU Input Register
ALU Input Bus
How ALU works
9
Example:
A contains 10
B contains 2B contains 2
ALU calculates
Beberapa jenis register adalah:
Program Counter (PC), merup akan register yang menunjuk ke instruksi berikutnya yang harus diambil dan dijalankan.
Instruction Register (IR), merupakan register yang menyimpan instruksi yang sedang dijalankan.
General Purpose Register, merupakan register yang memiliki kegunaaan umum yang berhubungan dengan data yang diproses.
berhubungan dengan data yang diproses.
Memory Data Register (MDR), merup akan register yang digunakan untuk menampung data atau instruksi hasil pengiriman dari memori utama ke CPU atau menampung data yang akan direkam ke memori utama dari hasil pengolahan oleh CPU.
Memory address register (MAR), merupakan register yang digunakan untuk
menampung alamat data atau instruksi pada memori utama yang akan diambil atau yang akan diletakkan.
Control Unit
(CU)
Control Unit atau Unit Kontrol berf ungsi untuk mengatur dan
mengendalikan semua peralatan yang ada pada sistem komputer. Unit kendali akan mengatur kapan alat input menerima data dan kapan data diolah serta kapan
ditampilkan pada alat output.
Unit ini juga mengartikan instruksi-instruksi dari program Unit ini juga mengartikan instruksi-instruksi dari program
komputer, membawa data dari alat input ke memori utama, dan mengambil data dari memori utama untuk diolah.
Bila ada instruksi untuk perhitungan aritmatika atau
perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk
Bus
Bus merupakan penghubung antara semua komponen CPU.
Berdasarkan jenis mikroprosesor:
Tipe Intel untuk Personal Computer (PC), diproduksi oleh Intel Corp., Advanced Micro Devices (AMD), Cyrix, DEC, dll.
Tipe Motorola untuk komputer Macintosh, diproduksi Tipe Motorola untuk komputer Macintosh, diproduksi
Ukuran kecepatan prosesor adalah:
Hertz, yaitu jumlah clock atau ketukan prosesor tiap
satu detik. Untuk prosesor modern memakai satuan Megahertz atau G igahertz.
MIPS, singkatan dari Million Instruction Per Second, yaitu
jumlah instruksi dalam juta tiap satu detik. jumlah instruksi dalam juta tiap satu detik.
Flops, singkatan dari Floating Point per Second, yaitu
jumlah perhitungan f loating point tiap satu detik. Floating point adalah metode untuk menuliskan bilangan dengan mantisa, contoh: 3 x 10-5.
Fractions of a second, yaitu waktu eksekusi relatif dari
Dalam desain mikroprosesor, terdapat
dua jenis desain, yaitu:
CISC (Complex instruction set computing chips), dapat menampung banyak instruksi yang kompleks.
RISC (Reduced instruction set computing chips), dapat meringkas beberapa instruksi sehingga dapat
Jenis bus yang telah didukung oleh
sistem komputer saat ini adalah:
ISA, singkatan dari Industry Standard Architecture, merupakan jenis
bus standar pertama yang digunakan industri. Bus ISA beroperasi pada kecepatan 8.33 MHz. Versi perkembangan dari ISA adalah EISA (Extended ISA).
PCI, singkatan dari Peripheral Component Interconnect bus, merupakan
jenis bus yang dikembangkan dan dipatenkan oleh Intel pada tahun 1990. Versi pertama PCI beroperasi pada kecepatan 33 MHz
1990. Versi pertama PCI beroperasi pada kecepatan 33 MHz
dengan bandwidth 133 MB/ dtk. PCI 2.0 diperkenalkan tahun 1993 dan PCI 2.1 tahun 1995 dengan bandwidth 528 MB/ dtk.
AGP, singkatan dari Accelerator Graphic Port, merupakan bus hasil
perkembangan dari PCI yang dikhususkan untuk pemrosesan data graf ik dan video.
USB, singkatan dari Universal Serial Bus, pada awalnya dikembangkan
secara bersama-sama oleh tujuh perusahaan, yaitu Compaq, DEC, IBM, Intel, Microsof t, NEC, dan Northern Telecom. Saat ini USB telah menjadi standar yang digunakan secara luas dalam Personal
Von Neumann
vs
Ada dua kelas utama dari arsitektur komputer, yaitu ‘arsitektur Havard’ dan ‘arsitektur Von
Neumann (atau Princeton).
Banyak desain khusus mikrokontroler dan DSP Banyak desain khusus mikrokontroler dan DSP
Arsitektur Harvard
Arsitektur Havard menggunakan memori terpisah untuk program dan
data dengan alamat dan bus data yang berdiri sendiri.
Karena dua perbedaan aliran data dan alamat, maka tidak
diperlukan multiplexing alamat dan bus data.
Arsitektur ini tidak hanya didukung dengan bus paralel untuk alamat
dan data, tetapi juga menyediakan organisasi internal yang berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika
berbagai data sedang diambil dan dioperasikan.
Lebih lanjut lagi, bus data bisa saja memiliki ukuran yang berbeda
dari bus alamat. Hal ini memungkinkan pengoptimalan bus data dan bus alamat dalam pengeksekusian instruksi yang cepat.
Sebagai contoh, mikrokontroler Intel keluarga MCS-51 menggunakan
arsitektur Havard karena ada perbedaan kapasitas memori untuk
Arsitektur Von Neumann
Pada arsitektur Von Neumann, program dan data dibagi
pada ruang memori yang sama.
Arsitektur Von Neumann menyediakan f itur penyimpanan
dan modif ikasi program secara muda h. Bagaimanapun, penyimpanan program tidak mungkin optimal dan
membutuhkan berbagai pengumpulan program dan data membutuhkan berbagai pengumpulan program dan data untuk membentuk instruksi. Pengumpulan program dan data diselesaikan menggunakan time division multiplexing yang akan berpengaruh pada perf orma mikrokontroler itu
sendiri.
Salah satu contoh mikrokontroler yang menggunakan
The Von Neumann Computer
26
Designed by John von Neumann, Princeton, in 1940s.
Memory
…
513: 0100111100101000
• Has cells (words)
• Each cell has address (number) and contains n bits
cell cell
514: 1000101000011101 515: 0110000000100000
…
• In von Neumann computer
– 4096 word memory, 40 bit word
• Typical computer has 16 or 32 bit word and lots more memory! address
Von Neumann’s Main Ideas
Represent data as sequences of bits (0 or 1)
integer 1 as 000000000001 (on 12 bits)
Memory has 4096 cells, with 40 bits word
Represent instructions as sequences of bits
no reals! no reals!
Represent instructions as sequences of bits
code (8 bits), address of argument (12 bits)
01100000000000000001
Store both data and program instructions in memory
2 instructions per word
Instructions
Simple Modern Computer
• Just two I/ O devices.
• PC (Program Counter):
address of next instruction.
• IR (Instruction Register):
Stored Programs Stored Programs
Essentially von Neumann design.
Difference: connected by a bus (parallel wires for data transfer).
Several registers.
How It Works
■ Main memory: stores data and program
■ Bus: transfer of data, addresses and control signals from/to memory and devices
■ CPU(Central Processing Unit):
control unit: fetches instructions and executes them ALU (Arithmetic Logic Unit): performs operations
(add, subtract, etc)
registers (fast memory): store temporary results
and control information (address of next instruction)
How the Computer Executes
Fetch
instruction into
IR
Increment
PC
to point to
next
instruction
Determine
type
of instruction
Determine
type
of instruction
If contains address,
fetch contents into
register
Execute instruction
Fundamental Execution Cycle
Instruction Fetch
Instruction Decode
baca instruksi dari memori program
Menetapkan aksi-aksi yg diperlukan dan ukuran instruksi Processor regs Memory program Operand Fetch Execute Result Store Next Instruction Menetapkan lokasi dan pengambilan operand (data)
A single data path between the CPU and main memory.
A short animation
1.7 The von Neumann Model
This is a general depiction of a von Neumann system:
These computers
48
The von Neumann Model
These computers employ a fetch-decode-execute cycle to run
1.7 The von Neumann Model
The control unit fetches the next instruction from
memory using the program counter to determine where the instruction is located.
49
1.7 The von Neumann Model
The instruction is decoded into a language that the ALU can understand.
50
1.7 The von Neumann Model
Any data operands required to execute the instruction
are fetched from memory and placed into registers within the CPU.
51
1.7 The von Neumann Model
The ALU executes the instruction and places results in registers or memory.
52
Machine Language Instructions
53
Can be decoded and executed by control unit
Parts of instructions
O peration code (op code)
Unique unsigned-integer code assigned to each machine language operation
Address f ield(s)
Figure 5.14
Typical Machine Language Instruction Format
G ERBANG LO G IKA
Pendahuluan
Komputer tidak mengenal huruf dan bilangan.
Komputer hanya mengenal aliran listrik voltase tinggi
atau rendah (biasanya 5V dan 0V)
Kemampuan komputer yang terbatas ini dikelola Kemampuan komputer yang terbatas ini dikelola
sehingga dapat digunakan untuk merepresentasikan data maupun instruksi. Lebih jauh lagi komputer
digunakan untuk berbagai tujuan.
Rangkaian sederhana yang memproses sinyal masukan
dan menghasilkan sinyal keluaran dengan logika
Terdapat tiga tipe dasar gerbang logika:
AND, O R, NOT
Masing-masing gerbang dasar ini dapat
dikombinasikan satu dengan yang lain membentuk gerbang turunan yaitu:
gerbang turunan yaitu:
NAND (NOT AND), NO R (NO T O R), XO R (EXCLUSIVE O R) dan XNO R (EXCLUSIVE NOT O R).
Masing-masing gerbang memiliki perilaku logika proses
G erbang logika dapat dikombinasikan satu dengan yang lainnya membentuk rangkaian yang lebih
besar dengan f ungsi baru
Rangkaian penjumlah bilangan biner (adder)
Komponen dasar memori (f lip-f lop)
Komponen dasar memori (f lip-f lop)
Multiplekser (MUX)
Decoder
Logika Aljabar
G eorge Boole pada tahun 1854 mengenalkan perangkat untuk
menyederhanakan rangkaian yang kita kenal dengan Aljabar Boolean (Boolean Algebra)
Aturan Aljabar Boolean:
O perasi AND (.) 0.0 = 0
1.0 = 0 0.1 = 0 1.1 = 1
O perasi O R (+ ) 0.0 = 0
1.0 = 1 0.1 = 1 1.1 = 1
Hukum Asosiatif (Associative Law) (A.B).C = A.(B.C) = A.B.C
(A+ B)+ C= A+ (B+ C)= A+ B+ C
Hukum Distributif (Distributive Law) A.(B+ C)= (A.B)+ (A.C)
A+ (B.C)= (A+ B).(A+ C)
Hukum Komutatif (Commutative Law) A.B= B.A
A+ B= B+ A A+ B= B+ A
Aturan Prioritas AB= A.B
A.B+ C= (A.B)+ C A+ B.C= A+ (B.C)
Teorema DeMorgan (A.B)’= A’+ B’
Simbol
Simbol digunakan untuk menggambarkan suatu
gerbang logika
Terdapat dua jenis simbol standar yang sering
digunakan untuk menggambarkan gerbang yang didef inisikan oleh ANSI/ IEEE Std 91-1984 dan didef inisikan oleh ANSI/ IEEE Std 91-1984 dan suplemennya Std 91a-1991.
Simbol pertama menggambarkan masing-masing
gerbang dengan bentuk khusus
Simbol kedua dengan bentuk utama segi-empat untuk
semua jenis gerbang, berdasarkan standar IEC
Macam-macam gerbang logika
G erbang Dasar
AND
tanda titik (.) digunakan untuk menunjukkan operasi AND
Konvensional IEC
Masukan Keluaran
A B Q = A AND B
0 0 0
1 0 0
0 1 0
O R
Tanda tambah (+ ) digunakan untuk menunjukkan operasi O R
Konvensional IEC
Masukan Keluaran
A B Q = A O R B
0 0 0
1 0 1
0 1 1
NO T
Simbol yang menunjukkan operasi NO T adalah “ NO T, “ ’” , atau “”
Konvensional IEC Masukan Keluaran
A Q = NO T A
0 1
G erbang Turunan
NAND (NOT AND)
Konvensional IEC
Masukan Keluaran
A B Q = A NAND B
0 0 1
1 0 1
0 1 1
NO R (NOT O R)
Konvensional IEC
Masukan Keluaran
A B Q = A NO R B
0 0 1
1 0 0
0 1 0
XO R (EXCLUSIVE O R)
G erbang XO R adalah rangkaian elektronik yang
mengeluarkan nilai tinggi (1) jika salah satu, tapi tidak keduanya, masukannya bernilai 1.
Logika proses gerbang XO R adalah sbb: Logika proses gerbang XO R adalah sbb:
Q = AB = A’.B+ A.B’
Konvensional IEC
Masukan Keluaran
A B Q = A XO R B
0 0 1
1 0 0
0 1 0
XNO R (EXCLUSIVE NOT O R)
G erbang XO R adalah rangkaian elektronik yang
mengeluarkan nilai rendah (0) jika salah satu, tapi tidak keduanya, masukannya bernilai 1.
Logika proses gerbang XO R adalah sbb: Logika proses gerbang XO R adalah sbb:
Q = (AB )’= A’.B’+ A.B
Konvensional IEC
Masukan Keluaran
A B Q = A XO R B
0 0 1
1 0 0
0 1 0
1 4. ALU
4.1. ALU (Arithmetic and Logic Unit)
Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah komputer. Di dalam operasi aritmetika ini sendiri terdiri dari berbagai macam operasi diantaranya adalah operasi penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder.
4.1.1. Adder
Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Karena Adder digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika. ALU akan dijelaskan lebih detail pada bab 3. Ada 2 jenis Adder :
1. RangkaianAdder yang hanya menjumlahkandua bitdisebut Half Adder. 2. RangkaianAdder yang menjumlahkantiga bitdisebut Full Adder. 3. Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder
4.1.1.1.Half Adder
Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masing masing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap. 1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
2. Jika A=0 dan B=1 dijumlahkan, hasilnya S (Sum) = 1.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan Cy(Carry Out) = 1.
Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan Cy).
A B S Cy 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1
2 Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar berikut:
Gambar 4.1.
4.1.1.2.Full Adder
Full adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenaran dariFull adder berikut :
A B C S Cy 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
Tabel 4.2. Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut : C B A C B A C B A C B A
S= + + +
C B A S= Å Å
C B A C B A C B A C B A
Cy= + + +
[image:132.595.194.402.364.568.2]3
Gambar 4.2.
4.1.1.3.Parallel Adder
[image:133.595.96.510.425.743.2]4 4.2.1. Penjumlahan
Komputer hanya dapat melakukan proses aritmetika menggunakan bilangan biner. Semua sistem bilangan harus diubah terlebih dahulu ke biner agar dapat diproses. Proses yang biasa dilakukan oleh komputer untuk menjumlahkan sistem bilangan desimal biasanya adalah menyandikan ke 8421BCD terlebih dahulu sebelum dijumlahkan. Sebelum mempelajari tentang penjumlahan pada 8421BCD, ada baiknya mengetahui cara menjumlahkan bilangan biner.
a. Penjumlahan Biner
Ada 4 kondisi yang terjadi pada penjumlahan biner yaitu apabila 0 + 0, 0 + 1, 1 + 0, dan 1 + 1. Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah dalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalam kolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh pada bilangan desimal 2 + 5 = 7 dengancarry out= 0, 9 + 9 = 8 dengancarry out = 1. Contoh :
1. 102 + 102
1 Carry out 10
10 + 100 2. 01002 + 01112
1 Carry 0100
0111 + 1011
3. 111112 + 11112 + 111012 + 101112
3 3 3 2 2 Carry out 1 1 1 1 1
5 b. Penjumlahan 8421BCD
Sandi 8421BCD hanya menggunakan bilangan biner untuk 0 sampai 9, karena yang disandikan hanya 1 digit angka desimal. Dalam penjumlahan yang perlu diperhatikan adalah jika hasilnya lebih dari 9 sehingga akan dihasilkan auxillary carry (Carry dari bilangan keempat LSB) maupuncarry dari MSB.
Berikut adalah aturan penjumlahan sandi 8421BCD:
Jika jumlah biner dan jumlah BCD sama, yaitu AC (Auxillary Carry) = 0 dan Carry = 0 maka tidak diperlukan aturan tambahan.
Contoh :
Bilangan 1 = 0 1 1 0 0 0 1 0 (BCD) = 6 2 (desimal) Bilangan 2 = 0 0 1 0 0 1 0 1 (BCD) = 2 5 (desimal) + Biner = 1 0 0 0 0 1 1 1 (Cy=0; AC = 0) BCD = 1 0 0 0 0 1 1 1 = 8 7 (desimal)
Jika jumlah biner tidak sama dengan jumlah desimal maka memerlukan pengaturan tambahan :
Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasil penjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada nible rendah tersebut, dan tambahkan 1 pada nible yang lebih tinggi.
Contoh :
1 1 1
Bilangan 1 = 0 0 1 1 0 1 1 1 (BCD) = 3 7 (desimal) Bilangan 2 = 0 0 1 0 0 1 1 0 (BCD) = 2 6 (desimal) + Biner = 0 1 0 1 1 1 0 1
+ 1 & + 6 = 0 0 0 1 0 1 1 0 (Cy=0; AC = 0) BCD = 0 1 1 0 0 0 1 1 = 6 3 (desimal)
4.2.2. Pengurangan
6 500 – 255 = 245 (Pengurangan)
500 + ()255 = 245 (Penjumlahan)
Komputer hanya bekerja pada bilangan “0” dan “1” dan tidak mengenal bilangan negatif. Untuk menunjukkan bilangan negatif, komputer menggunakan tanda modulus (Modulus Sign). Pada penjumlahan desimal tanda modulus yang digunakan adalah “0” untuk bilangan positif dan “9” untuk bilangan negatif. Untuk bilangan negatif, pada operasi penjumlahannya, harus dikomplemen. Komplemen yang digunakan pada bilangan desimal adalah komplemen10 dan komplemen9. Pengurangan Bilangan Desimal Komplemen10 Pada komplemen10, bilangan negatif dikurangkan 9, kemudian ditambahkan 1 pada bit terakhir. Pada penjumlahannya, bila ada carry, carry tersebut dapat dihilangkan. Tanda modulus ikut dijumlahkan. Contoh : Komplemen10 dari 255.
2 5 510 = (9) 7 4 510 (angka 9 menunjukkan tanda modulusnya).
5 0 0 (0) 5 0 0 2 5 5 (9) 7 4 5 + 2 4 5 1 (0) 2 4 5
Cy Dihilangkan Komplemen9 Pada komplemen9, bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikut dijumlahkan pada hasil akhir. Contoh : Komplemen9 dari 255.
2 5 510 = (9) 7 4 410 (angka 9 menunjukkan tanda modulusnya).
5 0 0 (0) 5 0 0 2 5 5 (9) 7 4 4 + 2 4 5 1 (0) 2 4 4
1 +(Cy) (0) 2 4 5
7 Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untuk komplemen10 dan komplemen9). Jika komplemen10, maka hasil akhir setelah dikomplemen harus ditambah 1. Jika komplemen10, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1).
Contoh :
Komplemen10 dari 500.
5 0 010 = (9) 5 0 010 (angka 9 menunjukkan tanda modulusnya).
2 5 5 (0) 2 5 5 5 0 0 (9) 5 0 0 +
2 4 5 (9) 7 5 5 (9 menunjukkan negatif) 2 4 4 + 1
(9) 2 4 5
Komplemen9 dari 500.
5 0 010 = (9) 4 9 910 (angka 9 menunjukkan tanda modulusnya).
2 5 5 (0) 2 5 5 5 0 0 (9) 4 9 9 +
2 4 5 (9) 7 5 4 (9 menunjukkan negatif) 2 4 5
(9) 2 4 5 Pengurangan Bilangan Biner
Pada penjumlahan biner, komplemen yang digunakan adalah komplemen2 dan komplemen1. Untuk mendapatkan komplemen bilangan biner, cukup dengan membalik angkanya saja. Jika “0” dibalik menjadi “1”, dan jika “1” dibalik menjadi “0”. Komplemen2 mirip dengan komplemen10 pada bilangan desimal (Carry dihilangkan), sedangkan komplemen1 mirip dengan komplemen9 (Carry ditambahkan pada hasil akhir).
· Komplemen2
Contoh :
Pengurangan antara 910 (10012) dengan 510 (01012)
8 0 1 0 1 = (1) 1 0 1 1 (angka 1 menunjukkan tanda modulusnya).
9 (0) 1 0 0 1 5 (1) 1 0 1 1 + 4 1 (0) 0 1 0 0
Cy Dihilangkan
· Komplemen1
Contoh :
Komplemen1 dari –5 (0101).
0 1 0 1 = (1) 1 0 1 0 (angka 1 menunjukkan tanda modulusnya). 9 (0) 1 0 0 1
5 (1) 1 0 1 0 + 4 1 (0) 0 0 1 1
1 (0) 0 1 0 0 Cy Ditambahkan
Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untuk komplemen2 dan komplemen1). Jika komplemen2, maka hasil akhir setelah dikomplemen harus ditambah 1. Jika komplemen1, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1).
Contoh :
Pengurangan antara 510 dengan 910
Komplemen2 dari –9.
1 0 0 1 = (1) 0 1 1 1 (angka 1 menunjukkan tanda modulusnya).
5 (0) 0 1 0 1 9 (1) 0 1 1 1 +
4 (1) 1 1 0 0 (1 menunjukkan negatif) 0 0 1 1 + 1
9 Komplemen1 dari –9.
1 0 0 1 = (1) 0 1 1 0 (angka 1 menunjukkan tanda modulusnya). 5 (0) 0 1 0 1
9 (1) 0 1 1 0 +
4 (1) 1 0 1 1 (1 menunjukkan negatif) 0 1 0 0
(1) 0 1 0 0
4.2.3. Perkalian
Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem bilangan lainnya.
9 1 0 0 1 10 x 1 0 1 0 x 90 0 0 0 0
1 0 0 1 0 0 0 0
1 0 0 1 + 1 0 1 1 0 1 0
64 0 16 8 0 2 0 = 90
Pada Teknik Komputer, perkalian dilakukan menggunakan register geser kanan (Shift Right Register). Perhatikan contoh berikut :
Register A untuk menyimpan data yang akan dikalikan (Multiplicand). Register B untuk menyimpan data pengali (Multiplier).
10 9 X 10
Register A Register B Register P
1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 M M = 0, Reg. P tidak diubah
Geser Reg B & P 1 bit kekanan 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0
M M = 1, Reg A ditambahkan pada P di MSBnya. 1 0 0 1 0 0 0 0
Geser Reg B & P 1 bit kekanan 1 0 0 1 1 0 0 1 0 0 1 0 0 0
M M = 0, Reg. P tidak diubah Geser Reg B & P 1 bit kekanan 1 0 0 1 1 0 0 1 0 0 1 0 0
M M = 1, Reg A ditambahkan pada P di MSBnya 1 0 1 1 0 1 0 0
Reg. P geser lagi 0 1 0 1 1 0 1 0 0 64 0 16 8 0 2 0 =90
4.2.4. Pembagian
Kebalikan dari perkalian, pembagian (Division) adalah suatu bentuk dari pengurangan yang dilakukan berulangulang. Dan proses ini juga dapat dilakukan pada rangkaian logika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shiftleft register). Berikut adalah aturan dari pembagian:
Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi (Dividend), lihat hasil pengurangan.
Bila hasilnya 1 atau positif :
11 Bila hasilnya 0 atau negatif :
Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiri harus ditambah dulu dengan bilangan pembagi (Divisor). Setelah digeser ke kiri satu bit, dimulai lagi proses pengurangan oleh bilangan pembagi. Pengurangan oleh bilangan pembagi dilakukan dengan penjumlahan komplemen2. Bila dalam penjumlahan tersebut terdapat pindahan (Carry), maka carry tersebut diabaikan. Perhatikan contoh berikut :
1010 : 410 = 10102 : 1004
Pembagi Yang Dibagi Hasil Bagi Keterangan (0) 1 0 0 (0) 1 0 1 0 Kurangkan bil. pembagi
(1) 1 0 0
1 (0) 0 0 1 0 1 Hasil positif, hasil bagi = 1 (0) 0 1 0 0 1 Digeser ke kiri satu bit (1) 1 0 0 Kurangkan bil. pembagi (1) 1 1 0 0 1 0 Hasil negatif, hasil bagi = 0 (0) 1 0 0
1 (0) 0 1 0 0
(0) 1 0 0 0 1 0 Digeser ke kiri satu bit (1) 1 0 0 Kurangkan bil. pembagi 1 (0) 0 0 0 0 1 0 1 Hasil positif, hasil bagi = 1
ARITHMETIC & LO G ICAL UNIT
(ALU)
PENDAHULUAN
Empat metoda komputasi dasar yang dilakukan oleh
ALU komputer : penjumlahan, pengurangan, perkalian, dan pembagian.
Rangkaian ALU dasar terdiri ata s gerbang O R, AND,
dan rangkaian f ull adder 1 bit. dan rangkaian f ull adder 1 bit.
Rangkaian f ull adder 1 bit pada rangkaian ALU
dasar pada a walnya hanya melakukan penjumlahan unsigned number.
Pengembangan lebih lanjut pada rangkaian ALU
RANGKAIAN ALU DASAR KOMPUTER
0 A
B
Op
+
1
2
C
Cin
Cout
Tanpa Fungsi Pengurangan
O perasi Aritmatika Dasar
Addition / Penjumlahan
Complements
Penjumlahan Biner
0
+ 0
0
0
+ 1
1
(a) (b)
1
+ 0
1
1
+ 1
1 0
Carry Bit
Contoh Penjumlahan Biner
dengan operand lebih dari 1 bit
1011
+ 101
1010
+ 100
1011
+ 1100
(a) (b) (c)
10011001
+ 101100
Binary Complement
Operasi ( 1s Complement)
1
0
0
1
Example
1 1 0 0 1 0 1 1 0
0 0 1 1 0 1 0 0 1
Two’s Complement
Nilai Two’s complement bilangan biner
diperoleh dengan menambahkan nilai ‘1’
pada hasil One’s Complement.
1001110
1001110
0110001
+ 1
0110010
One’s Complement
Pengurangan Biner
Pengurangan Biner diimplementasikan
dengan menjumlahkan Two’s complement
bilangan yang akan dikurangkan.
Example
Tw o’s
complement
of 1001
1101
1101
- 1001
+
0111
10100
Carry yang dihasilkan dapat diabaikan.
Sehingga, hasilnya adalah 0100.
RANGKAIAN PERKALIAN
Dua Buah bilangan biner dapat dikalikan dengan
metoda yang sama dengan metoda perka lian pada bilangan desimal.
Sebagai pengantar akan ditunjukkan operasi
perkalian konvensional dengan bilangan tak perkalian konvensional dengan bilangan tak bertanda (unsigned number).
Sebagai contoh akan ditunjukkan operasi perkalian
Gambaran Proses Perkalian 4 Bit
Konsep dasar perkalian konvensional
ARRAY MULTIPLIER UNTUK BILANGAN UNSIGNED
0 m3 m2 m1 m0
q0 q1 q2 q3 p0 p1 p2 p3 p4 p5 p6 p7 Struktur Rangkaian FA qj cin cout mk
Bit of PPi
Blok Pada Baris Kedua dan Ketiga FA mk mk+1 q0 q1 cin cout
Perkalian Bilangan Bertanda
01110 01011 x 0001110 001110 Multiplicand (M) Multiplier (Q) (+14) (+11) + Partial Product 010010 01011 x 1110010 110010 Multiplicand (M) Multiplier (Q) (-14) (+11) + Partial Product 0
001110 000000 + 0010101 + 0001010 001110 + 0010011010 Partial Product 1
Partial Product 2
Product (P) (+154)
0010011
000000
+ Partial Product 3
110010 000000 + 1101011 + 1110101 110010 + 1101100110 Partial Product 1
Partial Product 2
Product (P) (-154)
1101100
000000 +
Critical Delay Path Pada Array Multiplier
0 m3 m2 m1 m0
q0
qq1
q2
q3
p0
p1
p2
p3
p4
p5
p6
Masalah & Pemecahan Pada Array Multiplier
Critical Delay Path nya besar
Untuk meningkatkan perf ormansi multiplier
digunakan konsep pipelining
Pipelining mampu mengurangi waktu siklus tetapi
tidak mengurangi waktu total proses perkallian.
Salah satu algoritma untuk mempercepat perkalian
Booth Encoding Algorithm
Merupakan salah satu a lgoritma untuk meningkatkan
kecepatan proses perkalian
Algoritma ini menggunakan ide dasar bahwa proses
adder-subtractor secara kecepatan dan tingkat kesederhanaan rangkaian ha mpir sama dengan adder sederhana.
Bentuk umum algoritma ini berhubungan dengan 3 bit
Jika dinyatakan representasi 2’s complement multiplier y :
y = -sny
n + 2n-1yn-1 +2n-2yn-2 + …
Dengan ide dasar : 2a = 2a+1 – 2a
Dua item awal persamaan pertama dapat dinyatakan sebagai :
Algoritma Booth
Dua item awal persamaan pertama dapat dinyatakan sebagai :
2n(y
n-1 –yn) + 2n-1(yn-2 – yn-1)
Tabel Recoding Bits
i
i-1 i-2
0 0 0
0 0 1
0
x
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
x
2x
-2x
Algoritma Perkalian Multioperand Dengan Fungsi Logaritmik dan MSB First BIT Adder
Salah satu algoritma untuk mengatasi masalah waktu
proses dalam multiplikasi.
Merupakan algoritma per kalian paralel yang
menggabungkan Logarithmic Multiplier dan Multioperand MSB f irst add er.
Pada algoritma Logaritmik, perkalian dilakukan
dengan menjumlahkan operand satu sama lain.
Penjumlahan multioperand dengan metode MSB First
Algoritma dan Model Arsitektur Perkalian
Logaritmik 2 O perand
Ide dasar perkalian dengan metode logaritmik
dilakukan dalam bentuk penjumlahan sesuai dengan persamaan sebagai berikut :
Log(AxB) = Log A + Log B
Log2(AxB) = Log2A + Log2B
AxB = Antilog2 (Log2A + Log2B)
Yang perlu diperhatikan dalam operasi perkalian
Algoritma Perkalian Logaritmik antara 2
buah bilangan
Berdasarkan persamaan di atas, langkah yang harus ditempuh adalah sebagai berikut :
Ambil 2 buah bilangan biner, masukkan kedua bilangan ke dalam register A dan B.
Konversikan kedua bilangan tersebut dalam nilai logaritma Konversikan kedua bilangan tersebut dalam nilai logaritma basis 2 dan masukkan ke dalam register C dan D.
Lakukan penjumlahan isi register C dan D, simpan hasilnya pada Accumulator.
Algoritma dan Model Arsitektur Penjumlahan Multioperand Dengan MSB First Bit Process
Diaplikasikan untuk sistem waktu nyata.
Perbedaan dengan algoritma penjumlahan
konvensional terletak pada urutan penjumlahan yang dilakukan.
Pada algoritma ini bit yang pertama kali dijumlahkan Pada algoritma ini bit yang pertama kali dijumlahkan
adalah bit MSB
MSB-1
LSB. (Tenggat waktu yang ditetapkan dapa t dipenuhi). Dengan algoritma ini, sebelum penjumlahan sampai
Arsitektur Penjumlahan Multioperand MSB
First Bit
Counter Register d0 d1 d2 d9 d10 16 bitBit Placer synch. Binary counter)Counter Pulsa (4 bit
Tahapan Algoritma yang dilakukan
Masukkan semua operand n bit ke dalam N register.
Untuk N operand dengan n bit data, lakukan
langkah-langkah berikut :
Jumlahkan semua MSB dari setiap operand dan letakkan hasilnya pada accumulator.
hasilnya pada accumulator.
Jumlahkan semua MSB-1 dan jumlahkan hasilnya dengan yang tersimpan pada accumulator lalu simpan hasilnya kembali pada accumulator.
Algoritma Perkalian Logaritmik Multioperand
Secara konsep akan melakukan perkalian dengan banyak operand dengan cara menjumlahkan nilai logaritmik setiap operand.
Konsep dasar secara matematis :