• Tidak ada hasil yang ditemukan

ARSITEKTUR KOMPUTER

N/A
N/A
Protected

Academic year: 2017

Membagikan "ARSITEKTUR KOMPUTER"

Copied!
434
0
0

Teks penuh

(1)

PENDAHULUAN

(2)

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

(3)

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

(4)

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

(5)
(6)

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

(7)

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

(8)

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

(9)

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)

(10)

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

(11)

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

(12)

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

(13)

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

(14)

Evolusi dan Kinerja Komputer

Sejarah singkat komputer

G enerasi Perta ma: Tabung Hampa Udara G enerasi Kedua: Transistor

G enerasi Kedua: Transistor

(15)

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”

(16)

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

(17)

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

(18)

Sejarah Microprosesor

8088

80286

80486

Pentium

Pentium I, II, III

(19)

Perbandingan Besar Processor

Nama Processor Tahun Keluar Jumlah Transistor Micron Clock Speed

Data 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

(20)

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

(21)

Perbandingan Besar Processor secara f isik

(22)

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,

(23)

STRUKTUR CPU

(24)

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

(25)

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

(26)

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

(27)

Komponen Utama CPU

 Arithmetic and Logic Unit (ALU)

 Control Unit

 Registers

(28)

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

(29)

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

(30)

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

(31)

Registers

 Media penyimpan internal CPU yang digunakan saat

proses pengolahan data.

 Memori ini bersif at sementara, biasanya digunakan untuk

(32)

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.

(33)

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

(34)

 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

(35)

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)

(36)

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

(37)
(38)
(39)

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

(40)

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

(41)

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

(42)

Siklus Instruksi

 Ada beberapa sub-siklus

(43)

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

(44)

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

(45)
(46)

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

(47)

Siklus Fetch - Eksekusi

 Instruksi – instruksi yang dibaca akan dibuat dalam

register instruksi (IR).

 Instruksi – instruksi ini dalam bentuk kode – kode biner

(48)

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.

(49)
(50)

Fungsi Interupsi

 Mekanisme penghentian atau pengalihan pengolahan

instruksi dalam CPU kepada routine interupsi.

 Hampir semua modul (memori dan I/ O ) memiliki

(51)

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.

(52)

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

(53)

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

(54)

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

(55)

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

(56)

Siklus eksekusi oleh prosesor

(57)

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

(58)

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

(59)
(60)
(61)

Contoh Kasus

Suatu sistem memiliki tiga

perangkat I/ O : printer, disk, dan

saluran komunikasi, masing –

saluran komunikasi, masing –

(62)

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.

(63)

ARSITEKTUR VO N NEUMANN

(64)

 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

(65)

 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.

(66)

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.

(67)

Elemen CPU

 Pada perkembangan komputer modern, setiap prosesor terdiri atas:

Arithmetic and Logic Unit

(ALU).

Register.

Register.

Control Unit

(CU).

(68)

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,

(69)

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

(70)

A + B

A

B

Register-register

ALU

A + B

ALU Input Register

ALU Input Bus

(71)

How ALU works

9

Example:

 A contains 10

 B contains 2B contains 2

 ALU calculates

(72)

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.

(73)

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

(74)

Bus

 Bus merupakan penghubung antara semua komponen CPU.

(75)
(76)

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

(77)

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

(78)

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

(79)

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

(80)

Von Neumann

vs

(81)

 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

(82)
(83)

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

(84)
(85)

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

(86)
(87)
(88)

The Von Neumann Computer

26

 Designed by John von Neumann, Princeton, in 1940s.

(89)

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

(90)

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

(91)

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.

(92)

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)

(93)

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

(94)

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)

(95)

 A single data path between the CPU and main memory.

(96)

A short animation

(97)
(98)
(99)
(100)
(101)
(102)
(103)
(104)
(105)
(106)
(107)
(108)
(109)
(110)

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

(111)

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

(112)

1.7 The von Neumann Model

The instruction is decoded into a language that the ALU can understand.

50

(113)

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

(114)

1.7 The von Neumann Model

The ALU executes the instruction and places results in registers or memory.

52

(115)

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)

(116)
[image:116.792.112.692.175.286.2]

Figure 5.14

Typical Machine Language Instruction Format

(117)

G ERBANG LO G IKA

(118)

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

(119)

 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

(120)

 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

(121)

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

(122)

 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’

(123)

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

(124)

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

(125)

 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

(126)

 NO T

Simbol yang menunjukkan operasi NO T adalah “ NO T, “ ’” , atau “”

Konvensional IEC Masukan Keluaran

A Q = NO T A

0 1

(127)

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

(128)

 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

(129)

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 = AB = A’.B+ A.B’

Konvensional IEC

Masukan Keluaran

A B Q = A XO R B

0 0 1

1 0 0

0 1 0

(130)

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 = (AB )’= A’.B’+ A.B

Konvensional IEC

Masukan Keluaran

A B Q = A XO R B

0 0 1

1 0 0

0 1 0

(131)

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 

(132)
[image:132.595.184.416.154.281.2]

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]
(133)
[image:133.595.124.501.61.294.2]

Gambar 4.2. 

4.1.1.3.Parallel Adder 

[image:133.595.96.510.425.743.2]
(134)

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 

(135)

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 

(136)

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 komplemen­10 dan komplemen­9.  Pengurangan Bilangan Desimal  ­ Komplemen­10  Pada komplemen­10, bilangan negatif dikurangkan 9, kemudian ditambahkan 1 pada  bit terakhir. Pada penjumlahannya,  bila ada carry, carry tersebut dapat dihilangkan.  Tanda modulus ikut dijumlahkan.  Contoh :  Komplemen­10 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  ­ Komplemen­9  Pada komplemen­9, bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikut  dijumlahkan pada hasil akhir.  Contoh :  Komplemen­9 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 

(137)

7  Bila  hasil  akhir  bernilai  negatif,  maka  nilainya  harus  dikomplemen  lagi  (Berlaku  untuk  komplemen­10  dan  komplemen­9).  Jika  komplemen­10,  maka  hasil  akhir  setelah  dikomplemen  harus  ditambah  1.  Jika  komplemen­10,  hasil  akhirnya  merupakan hasil sebenarnya (tidak perlu ditambah 1). 

Contoh : 

Komplemen­10 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 

Komplemen­9 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  komplemen­2  dan  komplemen­1.  Untuk  mendapatkan  komplemen  bilangan  biner,  cukup  dengan  membalik angkanya saja. Jika “0” dibalik menjadi “1”, dan jika “1” dibalik menjadi  “0”.  Komplemen­2  mirip  dengan  komplemen­10  pada  bilangan  desimal  (Carry  dihilangkan),  sedangkan  komplemen­1  mirip  dengan  komplemen­9  (Carry  ditambahkan pada hasil akhir).

·  Komplemen­2 

Contoh : 

Pengurangan antara 910 (10012) dengan 510 (01012) 

(138)

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

·  Komplemen­1 

Contoh : 

Komplemen­1 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 komplemen­2 dan komplemen­1). Jika komplemen­2, maka hasil akhir setelah  dikomplemen  harus ditambah 1. Jika komplemen­1, hasil akhirnya  merupakan  hasil  sebenarnya (tidak perlu ditambah 1). 

Contoh : 

Pengurangan antara 510 dengan 910 

Komplemen­2 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 

(139)

9  Komplemen­1 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). 

(140)

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 berulang­ulang. Dan proses ini juga dapat dilakukan pada rangkaian  logika  dengan  cara  pengurangan  dan  penggeseran  ke  kiri  (menggunakan  shift­left  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 : 

(141)

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  komplemen­2.  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 

(142)

ARITHMETIC & LO G ICAL UNIT

(ALU)

(143)

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

(144)

RANGKAIAN ALU DASAR KOMPUTER

0 A

B

Op

+

1

2

C

Cin

Cout

Tanpa Fungsi Pengurangan

(145)

O perasi Aritmatika Dasar

Addition / Penjumlahan

Complements

(146)

Penjumlahan Biner

0

+ 0

0

0

+ 1

1

(a) (b)

1

+ 0

1

1

+ 1

1 0

Carry Bit

(147)

Contoh Penjumlahan Biner

dengan operand lebih dari 1 bit

1011

+ 101

1010

+ 100

1011

+ 1100

(a) (b) (c)

10011001

+ 101100

(148)

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

(149)

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

(150)

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.

(151)

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

(152)
[image:152.792.37.743.80.529.2]

Gambaran Proses Perkalian 4 Bit

Konsep dasar perkalian konvensional

(153)

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

(154)

Perkalian Bilangan Bertanda

01110 01011 x 0001110 001110 Multiplicand (M) Multiplier (Q) (+14) (+11) + Partial Product 0

10010 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 +

(155)

Critical Delay Path Pada Array Multiplier

0 m3 m2 m1 m0

q0

qq1

q2

q3

p0

p1

p2

p3

p4

p5

p6

(156)

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

(157)

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

(158)

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)

(159)
[image:159.792.178.585.161.545.2]

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

(160)

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

(161)

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

(162)
(163)

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.

(164)

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

(165)

Arsitektur Penjumlahan Multioperand MSB

First Bit

Counter Register d0 d1 d2 d9 d10 16 bit

Bit Placer synch. Binary counter)Counter Pulsa (4 bit

(166)

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.

(167)
(168)

Algoritma Perkalian Logaritmik Multioperand

 Secara konsep akan melakukan perkalian dengan banyak operand dengan cara menjumlahkan nilai logaritmik setiap operand.

 Konsep dasar secara matematis :

Gambar

Figure 5.14Typical Machine Language Instruction Format
Gambar 4.1. 
Gambar 4.2. 
Gambaran Proses Perkalian 4 Bit
+7

Referensi

Garis besar

Dokumen terkait

0Kita menediakan bibit buah !engkeng ang biasa di-ua! dipasaran dengan harga berkisar antara p)** ribu di tempat ini di-ua! dengan harga hana p/ ribu0 kata

Untuk meningkatkan peran serta masyarakat dalam pengendalian DBD melalui kegiatan PSN-PJB, maka kegiatan yang dilaksanakan oleh Puskesmas :..

Tidore Timur sendiri m erupakan pemekaran dari kecamat an t idore, yang sebelumya 4 Kelurahan yait u kelurahan dow ora, kelurahan kalaodi, kelurahan t osa dan kelurahan mafut ut

Analisis data dilakukan secara deskriptif menggunakan software Minitab 16 statistical data dan program exelanalitik menentukan pola hubungan keterkaitan antara iklim, dengan

Disamping faktor harga yang dipilih oleh konsumen, kualitas sebuah produk juga menjadi bahan pertimbangan sebelum menentukan pilihan, Karena itu perusahaan harus

change in capital structure was a 1 for 2 rights issue, on 1 July 2008, at $7 per share when the market value of the shares was $10 (IGNORE THE BONUS. ISSUE IN b AND THE ISSUE

HEPPY INDAH HAPSARI, E0013213, STUDI PUTUSAN YANG TIDAK DAPAT DIEKSEKUSI (NON EKSEKUTABLE) DALAM PERKARA PERDATA (Studi Putusan Nomor 16/Pdt.Plw/2014/PN.Kdl)

Berdasarkan Tabel 1.1 dapat dijelaskan bahwa karakteristik demografis perempuan sebanyak 5 responden menggunakan media sosial sebagai sarana hiburan, 8 responden