• Tidak ada hasil yang ditemukan

Arsitektur komputer

N/A
N/A
Protected

Academic year: 2017

Membagikan "Arsitektur komputer"

Copied!
93
0
0

Teks penuh

(1)
(2)

>> TUJUAN INSTRUKSIONAL

UMUM

Setelah mempelajari mata kuliah Arsitektur

Setelah mempelajari mata kuliah Arsitektur

Komputer, mahasiswa dapat memahami bentuk

arsitektur komputer secara menyeluruh dan

rinci, fungsi komponen-komponen komputer,

dan fungsi keseluruhan dalam satu kesatuan

sistemkomputer.

(3)

>> TUJUAN INSTRUKSIONAL

KHUSUS

TUJUAN INSTRUKSIONAL KHUSUS

1.

Mahasiswa memahami tentang organisasi dan

1.

Mahasiswa memahami tentang organisasi dan

arsitektur komputer

(4)

>> ORGANISASI DAN ARSITEKTUR KOMPUTER

Organisasi komputer mempelajari bagian yang terkait

dengan unit-unit operasional komputer dan hubungan

antara komponen sistem komputer,contoh : sinyal

kontrol, prosesor, interface komputer dan peripheral,

kontrol, prosesor, interface komputer dan peripheral,

teknologi memori yang digunakan.

Arsitektur

komputer

mempelajari

atribut-atribut

(5)

>> KOMPUTER SEBAGAI MESIN MULTI LEVEL

(6)

Bahasa atau level yang terletak paling bawah adalah

yang paling sederhana dan dapat diproses dengan

cepat oleh mesin komputer, tetapi sulit untuk

dipahami oleh manusia.

Bahasa atau level yang paling atas adalah yang paling

rumit dan mesin akan lebih lama melakukan proses

instruksinya karena memerlukan interpreter, tetapi

manusia lebih mudah memahami bahasa level

tersebut.

(7)
(8)

Pada level 1 – 3 merupakan bahasa mesin bersifat

numerik. Program-program didalamnya terdiri

dari deretan angka yang panjang, yang tidak

menjadi masalah untuk mesin tapi merupakan

persoalan untuk manusia. Mulai pada level 4

persoalan untuk manusia. Mulai pada level 4

bahasa berisi kata/singkatan yang mempunyai arti

bagi manusia.

Komputer dirancang sebagai suatu rangkaian

level, dimana setiap level dibangun diatas level

level, dimana setiap level dibangun diatas level

sebelumnya.

Setiap level

memiliki

abstraksi

(9)

Kumpulan jenis data, operasi dan sifat dari setiap level

disebut arsitektur dari level tersebut.

Sifat-sifat yang dipahami oleh programmer,seperti

berapa besar memori yang tersedia, adalah bagian dari

berapa besar memori yang tersedia, adalah bagian dari

arsitektur.

Sedangkan aspek implementasi seperti jenis teknologi

chip

apa

yang

digunakan

untuk

mengimplementasikan memori bukan bagian dari

arsitektur.

Studi tentang cara merancang bagian-bagian suatu

Studi tentang cara merancang bagian-bagian suatu

(10)
(11)
(12)
(13)
(14)
(15)

>> 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 after 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 first stored-program computer. Diciptakan oleh Maurice Wilkes

 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)P

(16)

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

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

Kemunculan FORTRAN dan COBOL menandakan permulaan bahasa

tingkat tinggi untuk menggantikan bahasa pengantar dalam mesin yang

lebih sukar.

lebih sukar.

Minikomputer juga telah diperkenalkan yaitu yang kedua terbesar di

(17)

>> Komputer Generasi Ke Tiga (1964-awal 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.

Banyak bahasa pemrograman telah muncul seperti BASIC, Pascal

dan PL/1.

Kebanyakan mikrokomputer didasari dengan tafsiran bahasa

Kebanyakan mikrokomputer didasari dengan tafsiran bahasa

(18)

Komputer Generasi Ke Empat (awal 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

komponen transistor yang disebut pengamiran skala amat besar

(very large scale intergartion,VLSI).

Pemprosesan dapat dilakukan dengan lebih tepat,sampai jutaan

bit per detik.

Memori utama komputer menjadi lebih besar sehingga

menyebabkan memori sekunder kurang penting.

menyebabkan memori sekunder kurang penting.

Teknologi chip yang maju ini telah mewujudkan satu lagi kelas

(19)

Komputer Generasi Ke Lima (masa depan)

Generasi kelima dalam sejarah evolusi komputer merupakan

komputer impian masa depan. Ia diperkirakan mempunyai lebih

banyak unit pemprosesan yang berfungsi bersamaan untuk

banyak unit pemprosesan yang berfungsi 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 berfungsi sebagai otak

(20)
(21)
(22)

3. ALU

Tugas utama adalah melakukan semua perhitungan

Tugas utama adalah melakukan semua perhitungan

aritmatika dan melakukan keputusan dari suatu

(23)

4. I/O Interconection

Input-Output (/O) Interconection merupakan sistem

koneksi yang menghubungkan antar komponen

internel dalam sebuah CPU, yaitu ALU, unit kontrol,

dan register serta menghubugkan CPU dengan

(24)

>> SIKLUS INSTRUKSI

Program yang ada di memori komputer terdiri dari sederetan

instruksi. Setiap instruksi dieksekusi melalui suatu siklus. Setiap

siklus instruksi terdiri dari tahap-tahap :

siklus instruksi terdiri dari tahap-tahap :

1. Instruction fetch, yaitu mengambil instruksi dari memori dan

mentransfernya ke unit kontrol.

2. Mengartikan (decode) instruksi dan menentukan apa yang harus

dikerjakan serta data apa yang digunakan.

3. Baca alamat efektif, jika instruksi beralamat indirect.

4. Proses eksekusi instruksi dengan memilih operasi yang

diperlukan dan mengendalikan perpindahan data yang terjadi.

5. Terdapat register dalam CPU yang berfungsi mengawasi dan

5. Terdapat register dalam CPU yang berfungsi mengawasi dan

menghitung instruksi selanjutnya yaitu Program Counter

6. PC akan menambah satu hitungan setiap kali CPU membaca

instruksi

(25)

 Berikut ini beberapa istilah yang digunakan di dalam aktifitas atau proses-proses pada siklus tersebut :

Instruction Address Calculation (IAC), yaitu proses mengkalkulasi

atau menentukan alamat

instruksi berikutnya yang akan dieksekusi

 instruksi berikutnya yang akan dieksekusi

Instruction Fetch (IF) yaitu membaca atau mengambil instruksi

dari lokasi memorinya ke CPU

 Instruction Operation Decoding (IOD) yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.

Operand Address Calculation (OAC) yaitu menentukan alamat

operand, hal ini dilakukan apabila melibatkan referensi operand pada memori

pada memori

Operand Fetch (OF) yaitu mengambil operand dari memori atau

dari modul I/O

Data Operation (DO) yaitu proses membentuk operasi yang

diperintahkan dalam instruksi.

Operand Store (OS) yaitu proses menyimpan hasil eksekusi ke

(26)

5. INTERUPSI

Fungsi interupsi adalah mekanisme penghentian atau

pengalihan pengolahan instruksi dalam CPU kepada

routine interupsi.

routine interupsi.

Hampir semua modul (memori dan I/O) memiliki

mekanisme yang dapat menginterupsi kerja CPU.

Tujuan

interupsi

secara

umum

untuk

manajemen

pengeksekusian routine instruksi agar efektif dan efisien

antar CPU dan modul-modul I/O maupun memori.

Setiap komponen komputer dapat menjalankan tugasnya

(27)

Dalam CPU terdapat sinyal-sinyal interupsi sebagai berikut :

Program

nterupsi yang dibangkitkan dengan beberapa kondisi yang

terjadi pada hasil eksekusi program,

terjadi pada hasil eksekusi program,

contoh : aritmatika overflow, pembagian nol, operasi ilegal

Timer

Interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal

ini memungkinkan sistem operasi menjalankan fungsi

tertentu secara reguler

I/O

Sinyal interupsi yang dibangkitkan oleh modul I/O

Sinyal interupsi yang dibangkitkan oleh modul I/O

sehubungan pemberitahuan kondisi error dan penyelesaian

suatu operasi.

Hardware failure

(28)
(29)
(30)

Tahap eksekusi program :

Tahap 1

PC (Program Counter) berisi alamat 300 untuk instruksi

pertama. Instruksi yang berada di alamat 300 dimuatkan ke IR

pertama. Instruksi yang berada di alamat 300 dimuatkan ke IR

(Instruction

Register).Tentunya

proses

ini

melibatkan

penggunaan MAR (Memory Address Register) dan MBR

(Memory Buffer Register)

Tahap 2

Instruksi dalam IR : untuk 4 bit pertama menunjukkan opcode,

bit berikutnya yaitu 12 bit menunjukkan alamat. Jadi instruksi

1940 maksudnya 1 = opcode 0001 = isi AC dari memori alamat

1940 maksudnya 1 = opcode 0001 = isi AC dari memori alamat

940

Tahap 3

(31)

Tahap 4

Tahap 4

Instruksi dalam IR yaitu 5941 maksudnya 5 = opcode

0101 = tambahkan AC dengan isi memori alamat 941

dan hasilnya disimpan dalam AC.

Tahap 5

PC bertambah nilainya dan instruksi berikutnya

diambil yaitu di alamat 302 dan dimasukkan di dalam

diambil yaitu di alamat 302 dan dimasukkan di dalam

IR.

Tahap 6

(32)
(33)
(34)

>> CISC BANDING RISC

Ada dua buah konsep popuker yang berhubungan sengan

desain cpu dan set instruksi:

1.

Complex Instruction Set Computing (CISC)

2.

Reduce Instruction Set Computing (RISC)

Semua sistem yang lama ( komputer mainframe,

komputer mini atau komputer mikro) relatif saat ini

lebih populer karena tingkat kinerjanya, dibandingkan

dengan sistem CISC.

dengan sistem CISC.

(35)

1. Trend Teknologi CISC

Umumnya set instruksi pada sistem CISC dibuat efisien

dengan memasukkan sejumlah besar

complex instruction

(instruksi kompleks).

(instruksi kompleks).

Tujuannya adalah mengurangi ukuran program yang telah

terkompilasi (bahasa mesin) dengan instruksi-instruksi

yang terbatas.

(36)

Keuntungan Instruksi Kompleks antara lain:

1.

Jumlah instruksi di dalam sebuah program (terkompilasi)

lebih sedikit,hal tersebut bisa mengurangi harga sistem

(penggunaan memori kecil).

2.

Waktu yang digunakan CPU untuk pengambilan (

fetching)

2.

Waktu yang digunakan CPU untuk pengambilan (

fetching)

instruksi lebih sedikit, sehingga bisa mengurangi waktu

eksekusi program.

Diperlukan compiler efisiensi tinggi untuk menggunakan

instruksi kompleks yang lebih sering pada saat translasi

program bahasa tingkat tinggi ke program bahasa mesin.

Karena itu, software sistem

(compiler)

menjadi sangat besar

Karena itu, software sistem

(compiler)

menjadi sangat besar

untuk membuat kode objek yang kecil.

(37)
(38)

>> Kelemahan CISC

>> Beberapa kelemahan sistem CISC adalah:

1. Komplesitas CPU: desainunit kontrol (utamanya pendekodean instruksi) menjadi kompleks karena mempunyai set instruksi yang instruksi) menjadi kompleks karena mempunyai set instruksi yang besar.

2. Ukuran sistem dan biaya: mempunyai banyak sirkuit hardware yang menyebabkan CPU manjadi kompleks. Hal ini meningkatkan biaya hardware pada sistem dan juga kebutuhan daya listrik.

3. Kecepatan Clock: karena sirkuit yang besar maka progagation delay (tunda propagasi) lebih besar dan waktu siklus CPU yang besar sehingga kecepatan clock efektif menurun.

sehingga kecepatan clock efektif menurun.

4. Keandalan: dengan hardware yang besar maka cenderung mudah menjadi kegagalan.

(39)

2. Konsep RISC

Istilah “KISS” sering digunakan dalam konsep RISC yang merupakan

singkatan dari “ Keep Is short and simple)”.

 Arsitektur RISC mempunyai fitur sebagai berikut:

1. Instruksinya sederhana

1. Instruksinya sederhana

2. Set instruksi kecil

3. Panjang instruksinya sama untuk semua instruksi

4. Register untuk penyimpanan operand jumlahnya besar

5. Arsitektur Load/Store: operand untuk instruksi aritmatika seperti “ADD” tersedia di register dan bukan di memori. Demikian halnya hasil instruksi “ADD” disimpan di register bukan di memori. Jadi Instruksi “LOAD” akan mendahului instruksi “ADD” dan instruksi “STORE” akan mengikuti instruksi “ADD”, jika diperlukan. Karena itu compiler akan memberikan banyak instruksi “LOAD” dan itu compiler akan memberikan banyak instruksi “LOAD” dan “STORE”.

(40)
(41)

CPU RISC yang berbasis mikroprosesor maupun yang

non-mikroprosesor hingga saat ini telah didesain dan

dipasarkan. Berikut beberapa CPU RISC:

1.

IBM RS/6000 atau Arsitektur POWER

1.

IBM RS/6000 atau Arsitektur POWER

2.

Keluarga Sun’s SPARC

3.

HP’s PA (precision architecture)

4.

Keluarga Motorola 88000

5.

Intel 860

6.

Seri MIPS

6.

Seri MIPS

(42)

>> Mikroprosesor RISC

Pabrik mikroprosesor dari dulu tidk memberikan prioritas

pengembangan prosesor.

Salah satu alasannya adalah ketersediaan kompatibilitas

(pada

mikroprosesor

baru)

terhadap

mikroprosesor

sebelumnya yaitu CPU tipe CISC.

Pada umumnya mikroprosesor keluarga Intel (8008 sampai

pentium 4) adalah tipe CISC kecuali Intel 860.

Keluarga Motorola 88000 termasuk dalam tipe RISC.

Sedangkan powerPC merupakan CPU tipe RISC yang

Sedangkan powerPC merupakan CPU tipe RISC yang

dikembangkan bersama oleh IBM, Motorola dan Apple.

(43)
(44)
(45)

>> KLASIFIKASI ARSITEKTURAL

Ada 3 skema klasifikasi arsitektural sistem komputer,

yaitu:

yaitu:

1. Klasifikasi Flynn

Didasarkan pada penggandaan alur instruksi dan alur

data dalam sistem komputer.

2. Klasifikasi Feng

Didasarkan pada pemrosesan paralel dan serial

Didasarkan pada pemrosesan paralel dan serial

3. Klasifikasi H ndler

(46)

>> KLASIFIKASI FLYNN

Klasifikasi sistem komputer yang didasarkan pada

penggandaan

alur

instruksi

dan

alur

data

penggandaan

alur

instruksi

dan

alur

data

diperkenalkan oleh Michael J. Flynn

Alur instruksi (instruction stream) adalah urutan

instruksi yang dilaksanakan oleh mesin

Alur data adalah urutan data yang dipanggil oleh

alur instruksi

Baik instruksi maupun data diambil dari modul

Baik instruksi maupun data diambil dari modul

memori

Instruksi didecode (diartikan) oleh Control Unit.

(47)

Ada 4 kategori sistem komputer dalam klasifikasi

Flynn:

1. Single Instruction stream – Single Data stream (SISD)

1. Single Instruction stream – Single Data stream (SISD)

2. Single Instruction stream – Multiple Data stream

(SIMD)

3. Multiple Instruction stream – Single Data stream

(MISD)

4. Multiple Instruction stream – Multiple Data stream

4. Multiple Instruction stream – Multiple Data stream

(48)

>> Tabel klasifikasi Flynn

Instruksi Tunggal Instruksi Majemuk Instruksi Tunggal

(Single instruction)

Instruksi Majemuk

(multiple instruction) Data Tunggal

(single data)

SISD

(Single instructin single data)

MISD

(multiple instruction single data)

Data majemuk (multiple data) SIMD (Single instruction multiple data) MIMD

(multiple instruction multiple data )

(49)

1. Single Instruction Single Data Stream

Sebuah komputer yang instruksi-instruksinya

dijalankan satu per satu dan sebuah instruksi tunggal

berhubungan dengan paling banyak satu operasi data.

berhubungan dengan paling banyak satu operasi data.

Dapat juga menggunakan pipelining untuk

mempercepat pemrosesan dan kebanyakan komputer

SISD di-pipelin-kan ke beberapa saluran tambahan.

Karakteristik SISD yang penting adalah pelaksanaan

instruksi secara sekuensial (secara berurut) dalam arti

instruksi secara sekuensial (secara berurut) dalam arti

instruksi dan data diproses secara serial.

(50)

>> ilustrasi Single Instruction Single Data Stream

Keterangan:

Keterangan:

(51)

2. Multiple Instruction stream – Single Data stream (MISD)

Sebuah komputer yang dapat melakukan banyak

instruksi terhdap satu aliran data.

instruksi terhdap satu aliran data.

(52)

Ada dua kategori:

Ada dua kategori:

1.Mesin dengan Unit pemroses berbeda dengan

instruksi yang berbeda dengan data yang sama

(sampai sekarang tidak ada mesin yang seperti ini)

(53)

>> lanjutan

Keterangan gambar:

CU1,CU2,..Cu-n : Control Unit

CU1,CU2,..Cu-n : Control Unit

PU1,PU2,PU-n : Processor Unit

MM : Memory Module

Sejumlah PU, masing-masing menerima instruksi

yang berbeda dan mengoperasikan data yang sama.

Output salah satu prosesor menjadi input bagi

Output salah satu prosesor menjadi input bagi

prosesor berikutnya.

Struktur komputer ini tidak praktis, sehingga tidak

(54)

3. Single Instruction stream – Multiple Data stream (SIMD)

Sebuah komputer yang mampu memproses banyak

aliran data dengan hanya satu instruksi.

Operasi yang dilakukan adalah paralel.

Contoh dari SIMD adalah prosesor larik (array

processor) atau GPU.

(55)

>> Ilustrasi Single Instruction stream – Multiple Data stream (SIMD)

PE : Processing Element

CU : Control Unit

CU : Control Unit

PU : Processor Unit

MM : Memory Modul

SM : Shared Memory

IS : Instruction Stream

(56)

Beberapa Processor Unit (Processing Element) disupervisi

oleh Control Unit yang sama.

Semua Processing Element menerima instruksi yang sama

Semua Processing Element menerima instruksi yang sama

dari control

unit tetapi mengeksekusi data yang berbeda dari alur data

yang berbeda pula.

Subsistem memori berisi modul-modul memori.

Processor vektor dan processor array termasuk dalam

(57)
(58)
(59)

1. Desain Set Instruksi

Pekerjaan

yang

paling

signifikan/penting

dan

kompleks

dalam

mendesain

komputer

adalah

kompleks

dalam

mendesain

komputer

adalah

membuat set instruksi.

Komputer

era

sebelumnya

tidak

melakukan

perencanaan set instruksi.

(60)

 Seorang arsitektur komputer harus mempertimbangkan aspek-aspek berikut sebelum menyelesaikan set instruksi:

1. Kenyamanan Pemrograman: Jumlah instruksi; pemrogram lebih suka mempunyai sebanyak mungkin instruksi supaya operasi yang suka mempunyai sebanyak mungkin instruksi supaya operasi yang tepat dapat dikerjakan oleh rangkaian instruksi. Tetapi mempunyai terlalu banyak instruksi dalam set instruksi menghasilkan desain unit kontrol yang kompleks. Pendekokean instruksi memerlukan sirkuit dan waktu yang besar.

2. Pengalamatan yang fleksibel: pemrogram senang jika memungkinkan semua mode pengalamatan operand ada di dalam arsitektur. Hal ini memberikan fleksibilas yang banyak kepada pemrogram. Walaupun desain unit kontrol menjadi kompleks.

pemrogram. Walaupun desain unit kontrol menjadi kompleks.

(61)

>> Lanjutan

4

. Target Segmen Pasar: sasaran bidang aplikasi untuk komputer memerlukan operasi-operasi khusus untuk pemrosesan data yang efisien. Komputer saintifk harus mempunyai aritmetika floating-point

yang tingkat presisinya baik/tidak terlalu jelek. Sedangkan komputer yang tingkat presisinya baik/tidak terlalu jelek. Sedangkan komputer bisnis harus mendukung aritmetika desimal, komputer iburan harus mempunyai operasi-operasi multimedia.

(62)

2

. CPU berbasis Akumulator

Pada mulanya komputer adalah berbasis akumulator. Hal ini

merupakan CPU yang sederhana, dimana akumulator berisi satu

operand pada instruksi, demikian juga hasilnya disimpan pada

operand pada instruksi, demikian juga hasilnya disimpan pada

akumulator. Isi akumulator disertakan di dalam operasi-0perasi

aritmetika seperti penjumlahan, pengurangan dan sebagainya.

Hal ini dikenal sebagai

mesin satu-alamat.

PDP-8 merupakan minicomputer pertama yang mempunyai

jenis CPU seperti ini dan digunakan untuk kendali proses dan

aplikasi-aplikasi laboratorium.

Komputer Mark I juga merupakan komputer khas yang berbasis

akumulator.

(63)

Keuntungan CPU berbasis akumulator adalah:

1.

Isi akumulator diperuntukkan bagi satu operand. Karena

itu tidak memerlukan medan alamat operand (untuk

itu tidak memerlukan medan alamat operand (untuk

satu operand) dalam instruksi. Hal ini menghasilakn

instruksi yang pendek dan ruang memori yang sedikit.

Karena tidak adanya medan alamat, maka jenis CPU ini

mendukung instruksi-instruksi non-alamat dan

satu-alamat. Instruksi satu-alamat mempunyai satu operand

di dalam memori utama dan yang lainnya di dalam

akumulator.

akumulator.

(64)

Kekurangan CPU berbasis akumulator adalah:

1.

Ukuran programnya menjadi panjang karena banyak

menggunakan

instruksi

dalam

ekspresi-ekspresi

kompleks. Karena itu ukuran memori bertambah.

kompleks. Karena itu ukuran memori bertambah.

(65)

>> Contoh1:

 Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU berbasis akumulator untuk menyelesaikan statement X=(A+B)-(C+D)

 Solusi:

 Solusi:

LOAD A : Salin A ke dalam akumulator

ADD B : Jumlahkan B dengan isi akumulator dan

hasilnya disimpan di akumulator ( akumulator berisi A+B) STORE T : simpan hasil AB dalam T, suatu lokasi memori sementara LOAD C : salin C ke dalam akumulator

ADD D : Jumlahkan D ke dalam akumulator dan simpan hasilnya ADD D : Jumlahkan D ke dalam akumulator dan simpan hasilnya

dalam akumulator (akumulator berisi C+D)

SUB T : Perkurangkan isi akumulator dari T dan simpan hasilnya dalam akumulator

(66)

3. CPU Berbasis Register

Pada CPU jenis ini, banyak register yang digunakan sebagai

akumulator. Dengan kata lain, ada lebih dari satu

akumulator. Dengan kata lain, ada lebih dari satu

akumulator.

CPU seperti ini mempunyai organisasi register umum GPR

(general purpose register). Penggunaan register-register

tersebut menghasilkan program yang pendek dengan

instruksi yang sedikit. IBM System/360 dan PDP-11

merupakan contoh khas.

(67)

>> Contoh2:

Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU

berbasis register untuk menyelesaikan statement

X=(A+B)-(C+D)

X=(A+B)-(C+D)

Solusi:

LOAD R1,A :

salin A ke dalam register

ADD R1,B

:

Jumlahkan B dengan isi R1 dan hasilnya disimpan di R1

LOAD R2,C :

salin C ke dalam R2

ADD R2,D

:

Jumlahkan D ke dalam R2 dan simpan hasilnya di R2

SUB R1,R2

:

SUB R1,R2

:

perkurangkan isi R2 dan R1 dan simpan hasilnya dalam R1
(68)

Dibandingkan dengan contoh1 terlihat bahwa CPU

berbasis register (arsitektur GPR) menghasilkan ukuran

program yang lebih pendek daripada CPU berbasis

program yang lebih pendek daripada CPU berbasis

akumulator.

Dan juga program pada CPU yang berbasis akumulator

memerlukan lokasi memori untuk menyimpan asil

sementara(parsial).

Karena itu diperlukan akses memori tambahan selama

eksekusi program.

eksekusi program.

(69)

3.CPU Berbasis Stack

 Stack merupakan daftar yang didorong ke bawah dengan mekanisme akses LIFO (Last In Firs Out).

Stack yang menyimpan operand-operand.Stack yang menyimpan operand-operand.

 Penggunaan stack dapat berada di dalam CPU atau merupakan bagian dari memori.

 Suatu register(atau lokasi memori) digunakan untuk menunjuk ke alamat lokasi kosong pada puncak stack. Register ini dikenal dengan

Stack Pointer (SP).

 Bila tidak ada yang tersimpan dalam stack, berarti stack kosong dan SP menunjuk ke bagian stack terbawah.

menunjuk ke bagian stack terbawah.

Bila suatu item disimpan di dalam stack, maka dinamakan oerasi

PUSH; dan isi SP diturunkan (decrement)

 Bila stack penuh, SP menunjuk ke bagian stack teratas.

(70)
(71)
(72)

Keterangan konsep stack & operasi stack:

Item yang terakhr didorong ke dalam stack, akan

keluar pertama jika ada operasi POPberikutnya.

keluar pertama jika ada operasi POPberikutnya.

Pada CPU berbasis stack, semua operasi oleh CPU

dikerjakan pada isi stack.

Demikian halnya,hasil suatu operasi juga disimpan

pada stack.

Pada eksekusi suatu instruksi aritmetika seperti ADD,

Pada eksekusi suatu instruksi aritmetika seperti ADD,

operand-operand teratas yang di-

pop

(73)

Contoh3:

 Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU berbasis stack untuk menyelesaikan statement X=(A+B)-(C+D)

Statement Isi Stack setelah Lokasi stack yang Statement Isi Stack setelah

eksekusi instruksi

Lokasi stack yang diduduki

PUSH A A 1

PUSH B A,B 2

ADD A+B 1

PUSH C (A+B),C 2

PUSH D (A+B),C,D 3

PUSH D (A+B),C,D 3

ADD (A+B),(C+D) 2

SUB (A+B),(C+D) 1

(74)

Dari isi stack, dapat dilihat bahwa stack berubah bil

beberapa operasi PUSH mendapat tempat.

Bila suatu instruksi dieksekusi, operand dipindahkan

Bila suatu instruksi dieksekusi, operand dipindahkan

dari stack dan hasilnya menempati posisi pada puncak

stack.

Contoh3 menunjukkan bahwa ukuran program untuk

(75)

Keuntungan CPU berbasis Stack adalah:

1.

Pemrograman mudah/efisiensi compiler tinggi

2.

Sangat cocok untuk bahasa-bahasa blok-terstruktur

(block-structered language)

(block-structered language)

3.

Instruksi tidak mempunyai fieldalamat; instruksi

pendek.

Kelemahan CPU berbasis Stack:

1.

Diperlukan sirkuit hardware

tambahan

untuk

implementasi stack

implementasi stack

(76)

4. Panjang Istruksi

Intruksi yang terlalu panjang mempunyai kekurangan:

1.

Instruksi menempati ruang memori yang lebih besar, yang

meningkatkan kebutuhan memori sistem

meningkatkan kebutuhan memori sistem

2.

lebar luas data besar atau pengambilan instruksi lebih

memakan waktu. Kondisi pertama menambah biaya hardware

sedangkan yang kedua menambah waktu siklus instruksi.

Instruksi yang terlalu pendek mempunyai kekurangan:

1.

Terlalu banyak instruksi di dalam program. Karena itu banyak

waktu yang terbuang untuk fase pengambilan

waktu yang terbuang untuk fase pengambilan

(77)

5. Format Instruksi

Umumnya format instruksi terdiri dari kode operasi dan operand.

 Suatu instruksi memberikan palng banyak empat informasi pada CPU :

 Suatu instruksi memberikan palng banyak empat informasi pada CPU :

1. Operasi yang akan dikerjakan oleh instruksi

2. Operand (data) yang harus dioperasikan

3. Lokasi (memori atau register) di mana hasil operasi harus disimpan

4. Lokasi memori dimana instruksi berikutnya harus diambil

(78)

contoh4

Medan panjang instruksi dan medan alamat operand

masing-masing adalah 36 bit dan 14 bit. Jika instruksi

masing-masing adalah 36 bit dan 14 bit. Jika instruksi

dua-operand yang digunakan sebanyak 240, berapa

banyak instruksi satu-operand yang memungkinkan?

Solusi:

Panjang instruksi = 36 bit

sebuah instruksi dua-operand membutuhkan 28 bit

untuk alamat operand (2x14 bit).karena itu

untuk alamat operand (2x14 bit).karena itu

Ukuran opcode=36-28 = 8bit

Total instruksi yang mungkin =

2

pangkat 8 = 256

(79)
(80)
(81)

5. Pengalamatan Register

Format instruksi perngalamatan register

Secara konseptual, pengalamatan register mirip dengan

pengalamatan langsung kecuali lokasi memori digantikan

dengan register untuk menyimpan operand.

dengan register untuk menyimpan operand.

Instruksi berisi nomor register yang mempunyai operand.

Mode pengalamatan ini sangat berguna untuk suatu

(82)

>> Lanjutan:

Contoh berikut adalah ilustrasi mode pengalamatan

register:

register:

ADD R1,R2

Jumlah isi register R1 dan R2 dan

hasilnya

disimpan

di

R1.

Kedua

operand

menggunakan pengalamatan register.

STORE

R1,MEM1

isi

dari

register

R1

disimpan/disalin ke alamat memori MEM1; operand

pertama menggunakan pengalamatan register dan

pertama menggunakan pengalamatan register dan

operand

kedua

menggunakan

pengalamatan

(83)

>> Keuntungan dan Kelemahan Pengalamatan Register

Keuntungan:

pengambilan operand lebih cepat tanpa akses

pengambilan operand lebih cepat tanpa akses

memori

Kelemahan:

Jumlah register terbatas dan karena itu utilisasi

efektif oleh programmer merupakan hal yang

esensial.

(84)

6. Pengalamatan Indeks

Format instruksi pengalamatan Indeks

Pada mode pangalamatan indeks, alamat operand diperoleh dengan

menambahkan sebuah konstanta ke suatu register, yang disebut menambahkan sebuah konstanta ke suatu register, yang disebut register indeks.

 Instruksi ini mengisi register Ri dengan isi lokasi memori yang alamatnya adalah hasil jumlah isi register Rind dan nilai X

Contoh:

(85)

>> lanjutan 1:

Mode ini berbeda sedikti dengan mode pengalamatan

base

register.

Register

indeks

berisi

sebuah

offset

atau

perpindahan

(

displacement).

(

displacement).

Instruksi berisi alamat yang akan ditambahkan pada offset

dalam register indeks, untuk mendapatkan alamat operand

efektif.

Umumnya medan alamat dalam instruksi memberikan alamat

awal array dalam memori.

Register indeks berisi ‘

nilai indeks’

untuk operand yaitu selisih

antara alamat awal dan alamat operand.

antara alamat awal dan alamat operand.

Dengan mengubah register indeks, maka operand dalam array

dapat diakses.

Umumnya

operand-operand(elemen-elemen

array)

berada

dalam lokasi yang berurutan. Mereka diakses dengan

increment

(86)

>> lanjutan2:

Beberapa CPU mendukung fitur ‘

autoindexing’

, yang

melibatkan

auto-increment

(dengan hardware) pada

melibatkan

auto-increment

(dengan hardware) pada

register indeks kapanpun sutu instruksi dengan

pengalamatan indeks dieksekusi.

Hal ini mengurangi penggunaan instruksi terpisah

dalam menambah(increment) isi register indeks.

Hal ini juga lebih mempercepat aksi serta lebih

mengurangi ukuran program. Namun memberikan

mengurangi ukuran program. Namun memberikan

tanggungjawab tambahan ‘

autoindexing’

pada unit

(87)

7. Pengalamatan Relatif

Format instruksi pengalamatan relatif

Pengalamatan relatif sama seperti pengalamatan indeks

kecuali register indeks diganti dengan program counter

kecuali register indeks diganti dengan program counter

(PC).

(88)

>> Lanjutan3:

Pada mode ini,instruksi menetapkan alamat operand

(lokasi memori) sebagai posisi relatif dari alamat

instruksi sekarang yaitu isi PC. Karena itu operand

instruksi sekarang yaitu isi PC. Karena itu operand

terletakpada ‘jarak pendek’ dari isi PC.

Jumlah mode ini digunakan untuk menetapkan alamat

pencabangan dalam instruksi branch, alamat

pencabangan berada dekat dengan alamat instruksi.

Contoh:

Contoh:

(89)

>> Keuntungan Pengalamatan Relatif

Keuntungan:

Keuntungan:

(90)

8. Pengalamatan Base Register

Mode ini digunakan untuk relokasi program di dalam memori

(dari satu area ke area lain).

Pada mode pengalamatan

base register,

instruksi tidak berisi

Pada mode pengalamatan

base register,

instruksi tidak berisi

alamat. Dia memberikan perpindahan relatif terhadap area

memori sekarang ke area memori yang lain,

base register

diisi

dengan alamat

base

baru.

Instruksi tidak perlu dimodifikasi/diubah. Dengan cara ini,

keseluruhan program atau suatu segment dri program dapat

dipindahkan dari satu area di memori ke yang lain tanpa

mempengaruhi instruksi, dengan perubahan sederhana ini

base

register.

register.

Hal ini penting untuk sistem multiprogramming karena waktu

yang berbeda (

run)

, area berbeda dari memori tersedia untuk

sebuah program.

(91)

>>Format Instruksi & keuntungan Pengalamatan Base Register

Format instruksi pengalamatan

base register

Keuntungan:

medan alamat operand dalam instruksi sangat

medan alamat operand dalam instruksi sangat

pendek

karena

dia

hanya

memberikan

(92)

9. Pengalamatan Stack

Pada pengalamatan stack(tumpukan), semua operand

untuk suatu instruksi diambl dari bagian teratas stack.

untuk suatu instruksi diambl dari bagian teratas stack.

Instruksi tidak mempunyai medan operand.

Misalnya, sebuah instruksi ADD hanya memberikan

opcode (ADD). Kedua operand dalam stack, di dalam

lokasi yang berurutan. Bila instruksi ADD dieksekusi,

dua operand di-pop-off dari stack satu persatu.

Setelah penjumlahan, hasilnya di-push ke dalam stack.

Setelah penjumlahan, hasilnya di-push ke dalam stack.

Keuntungan:

Tidak ada menda operand dalam instruksi, karena itu

(93)

Referensi

Garis besar

Dokumen terkait

28 Sept 2006 Pengantar Sistem Komputer: Organsasi CPU 12 CPU yang bertugas untuk mengeksekusi program yang tersimpan dalam memori utama dengan melakukan:. • Fetching

dilakukan.. Lock bit 2, isi Flash PEROM tidak dapat di- verifi oleh programmer. Lock bit 3, akses ke memori external tidak dapat dilakukan. 2.1.1.2 Set Instruksi

 Instruksi memerlukan data yang di simpan dalam register  Register lebih cepat dari memory, tetapi jumlahnya terbatas  Komputer menggunakan clock untuk mensinkronkan

Sistem operasi adalah program yang menjembatani antara perangkat keras komputer dengan programmer dan program - program aplikasi yang digunakan pengguna dijelaskan dalam bab

 Instruksi memerlukan data yang di simpan dalam register  Register lebih cepat dari memory, tetapi jumlahnya terbatas  Komputer menggunakan clock untuk mensinkronkan

• Set Instruksi Mirip atau Identik, dalam kelompok komputer ini berbagai model yang dikeluarkan menggunakan set instruksi yang sama sehingga mendukung kompabilitas

1) Set instruksi mirip atau identik, dalam kelompok komputer ini berbagai model yang dikeluarkan menggunakan set instruksi yang sama sehingga mendukung

Dalam semua implementasi SMT yang ada, semua masalah berasal dari satu thread, walaupun instruksi dari berbagai thread  bisa berbeda memulai eksekusi dalam siklus yang sama,