Anda di halaman 1dari 49

Pertemuan 1 Pengantar Arsitektur Komputer

1.1. Pengertian Arsitektur Komputer

Arsitektur komputer berkaitan dengan atribut-atribut sebuah system yang tampak (visible) bagi seorang pemrogram yang mempunyai dampak langsung pada eksekusi logis sebuah program. Contoh-contoh atribut arsitektural adalah : a. set instruksi b. jumlah bit yang digunakan untuk merepresentasikan bermacam-macam jenis data c. mekanisme I/O dan d. teknik-teknik pengalamatan memori.

1.2.

Struktur Komputer

Struktur komputer adalah cara komponen-komponen saling terkait. Secara deskripsi pendekatan yang digunakan adalah pendekatan berawal dari atas menuju kebawah (top down).

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

Struktur CPU

Struktur Unit Kontrol

1.3.

Fungsi Komputer

Fungsi komputer adalah opersi masing-masing komponen sebagai bagian dari struktur. Fungsi-fungsi dasar sebuah komputer secara umum dapat digolongkan menjadi empat bentuk yaitu :
Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam 2

a. Pengolahan data b. Penyimpanan data c. Pemindahan data dan d. Kontrol

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

Pertemuan 2 Elemen-Elemen Komputer


Elemen-elemen computer dapat dibagi menjadi empat bagian utama yaitu : a. Central Processing Unit (CPU) b. Main Memori : menyimpan data c. I/O : Memindahkan data antara computer dengan lingkungan luarnya d. System interkoneksi : mekanisme komunikasi diantara tiga strukturnya.

2.1. CPU Central Processing Unit 1. Merupakan komponen terpenting dari system komputer 2. Komponen pengolah data berdasarkan instruksi yang diberikan kepadanya 3. Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen

Komponen Utama CPU :

1. Arithmetic and Logic Unit (ALU) 2. Control Unit 3. Registers 4. CPU Interconnections

Arithmetic and Logic Unit (ALU) 1. Bertugas membentuk fungsi fungsi pengolahan data komputer. 2. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya 3. ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing masing memiliki spesifikasi tugas tersendiri

Arithmatic Logical Unit (ALU) merupakan bagian computer yang berfungsi membentuk operasi-operasi aritmatika dan logic terhadap data. Semua elemen lain system computer, control Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam 4

unit, register, memori, I/O berfungsi terutama untuk membawa data ke ALU untuk selanjutnya diproses dan kemudian mengambil kembali hasilnya. ALU dan seluruh komponen elektronik dalam computer didasarkan pada penggunaan perangkat logic digital sederhana yang dapat menyimpan digit-digit biner dan membentuk operasi logic Boolean sederhana. Data diberikan ke ALU dalam register, dan hasil operasinya disimpan didalam register. Register-register ini lokasi penyimpanan sementara di CPU yang dihubungkan ke ALU dengan menggunakan lintasan sinyal. ALU juga akan menyetel flag sebagai hasil dari suatu operasi. Misalnya overflow flag distel 1 bila hasil komputasi melampaui panjang register tempat flag disimpan. Control Unit menghasilkan sinyal yang akan mengontrol operasi ALU, dan pemindahan data ke ALU atau dari ALU. Semua operasi perhitungan dan operasi logic dilakukan di dalam ALU.

Control Unit 1. Bertugas mengontrol operasi CPU dan secara keselurahan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi fungsi operasinya. 2. Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi instruksi dari memori utama dan menentukan jenis instruksi tersebut.

Registers 1. Media penyimpan internal CPU yang digunakan saat proses pengolahan data. 2. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.

CPU Interconnections 1. Sistem koneksi dan bus yang menghubungkan komponen internal dan bus bus eksternal CPU 2. Komponen internal CPU yaitu ALU, unit control dan register register. 3. Komponen eksternal CPU :sistem lainnya, seperti memori utama, piranti masukan/keluaran

Komponen Internal CPU

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

Fungsi CPU 1. Menjalankan program program yang disimpan dalam memori utama dengan cara mengambil instruksi instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

2. Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute)

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

Pertemuan 3 Evolusi Komputer


Evolusi komputer terjadi dari beberapa generasi melalui perubahan komponen komponen pembentuknya yaitu : a. Tabung hampa b. Transistor c. Integrated Circuit (IC) d. Mikro elektronik e. Mikroprocessor Perancangan Kinerja Komputer Dari tahun ketahun harga system computer menurun drastic, sedangkan kinerja dan kapasitasnya semakin meningkat. System yang berbasis mikroprosessor saat ini memerlukan daya besar meliputi : a. Pengolahan citra b. Pengenalan pembicaraan c. Konferensi video d. Pembuatan multi media e. Anotasi suara dan video terhadap suatu file. Saat ini work station mendukung aplikasi-aplikasi rekayasa dan ilmiah yang sangat canggih, dan juga system simulasi serta memiliki kemampuan untuk menerapkan prinsip-prinsip kerja kelompok bagi aplikasi-aplikasi citra dan video. Selain itu bisnis-bisnis mempercayakan diri pada server-server yang semakin handal untuk menangani pengolahan transaksi database dan untuk mendukung jaringan client server yang besar yang telah menggantikan pusat computer mainframe dalam tahun-tahun yang silam. Seperti terjadinya evolusi pada Pentium dan power PC.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

Struktur Komputer Von Nuemann

Struktur Komputer IAS

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

Pertemuan 4 Disain Komputer


4.1. Arsitektur Umum Mikroprosesor Secara umum, mikroprosesor berisi unit aritmetika/logika (ALU), register, bus internal, serta unit kendali, seperti terlihat pada gambar dibawah ini. Register dan ALU dihubungkan dengan bus internal dalam mikroprosesor sehingga register dan memori (melalui bus data) dapat mensuplai data ke ALU dan menerima hasilnya. Dalam contoh ini, terdapat 2 buah register, A dan B, yang digunakan untuk secara temporer menyimpan hasil komputasi. Bus internal X dan Y digunakan untuk mentransfer data sebagai operand yang akan diolah ALU. Bus internal Z digunakan untuk mentransfer hasil operasi ALU ke register atau memori (melalui bus data). Register MA(2) (Memory Address) berisi informasi alamat memori yang akan diakses. Unit kendali mengendalikan semua operasi dalam mikroprosesor. Perhatikan kepala panah yang menunjukkan arah aliran data.

Sebagai contoh. misalkan kita hendak menjumlahkan data dari suatu lokasi di memori dengan data dari register A serta menyimpannya di register B. Register MA diisi dengan alamat memori yang akan dibaca, lalu register A dihubungkan ke bus X, bus data dihubungkan ke bus Y, dan bus Z dihubungkan dengan register B, kemudian ALU melakukan operasi penjumlahan. Instruksi yang dijalankan oleh mikroprosesor ada di memori, berupa urutan data-data biner yang merupakan bahasa mesin mikroprosesor. Mikroprosesor mengambil instruksi biner tersebut dari memori yang ditunjuk oleh sebuah register yang bernama Program Counter atau

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

10

register PC. Mula-mula bus alamat diisi dengan informasi alamat di mana letak instruksi berikutnya yang hendak dijalankan dengan register PC. Lalu mikroprosesor mengambil instruksi tersebut melalui bus data dan menyimpannya di Instruction Register atau register IR. Selanjutnya isi register PC ditambah satu, dengan demikian akan menunjuk ke alamat memori berikutnya di mana instruksi berikutnya akan dijalankan lagi. Secara simbolik kejadian di atas dapat dituliskan sebagai berikut : Mem(PC) IR PC + 1 PC Apabila instruksi yang sudah terambil belum merupakan instruksi yang utuh (setiap instruksi bisa tersusun atas lebih dari 1 byte) maka kejadian di atas diulang lagi. Setelah register IR berisi instruksi biner, unit kendali lalu menerjemahkannya dan mengeksekusinya. Apa yang dilakukan oleh mikroprosesor tergantung dari instruksi yang diberikan tersebut. Misalnya instruksinya adalah operasi menjumlahan isi register B dengan isi suatu memori dan hasilnya disimpan di dalam register B lagi (alamat memori yang hendak ditambahkan merupakan bagian dari instruksi), maka operasi yang akan dijalankan adalah oleh mikroprosesor adalah: Mem(PC) MA PC + 1 PC B + Mem(MA) B 4.2. Arsitektur Intel 8086 Intel 8086 adalah mikroprosesor 16 bit, di mana dia dapat bekerja secara internal menggunakan operasi 16 bit dan secara eksternal dapat mentransfer data 16 bit melalui bus data. Prosesor 8086 dapat dihubungkan dengan bus alamat yang berukuran 20 bit, sehingga mampu mengalamati memori maksimal 220 = 1.048.576 byte (1 MB). Diagram blok arsitektur 8086 dapat dilihat pada gambardibawah ini. Mikroprosesor 8086 terbagi atas 2 unit, yaitu unit antarmuka bus (bus interface unit, BIU) dan unit pengeksekusi (execution unit, EU).

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

11

4.3. Unit Antarmuka Bus (BIU) Unit ini merupakan bagian yang berhubungan langsung dengan pihak luar: bus alamat dan bus data. BIU mengirim alamat ke bus alamat, mengambil instruksi (fetch) dari memori, membaca data dari port dan memori, serta menulis data ke port dan memori (menangani transfer data antara bus dan unit eksekusi). BIU tersusun atas: Instruction Stream Byte Queue (ISBQ). BIU memfetch instruksi dari memori sebanyak-banyaknya 6 buah instruksi ke depan. Hal ini dilakukan agar eksekusi progam menjadi lebih cepat. Instruksi yang sudah diambil ini ditaruh di ISBQ yang berupa 6 buah register first-in-first-out. BIU dapat melakukan fetching selagi EU menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus (misalnya operasi matematis menggunakan register internal). Ketika EU selesai melaksanakan suatu instruksi, maka dia tinggal mengambil perintah berikutnya di ISBQ, tanpa harus mengirim alamat ke memori untuk mengambil instruksi berikutnya, sehingga eksekusi akan lebih cepat. Kegiatan fetching instruksi berikutnya selagi menjalankan suatu instruksi disebut sebagai: ukuran ISBQ tidak hanya 6 byte tetapi

pipelining. Pada mikroprosesor yang lebih baru,

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

12

mencapai 512 byte, ini efektif untuk program yang mempunyai banyak kalang (struktur program yang berulang). Register segmen. BIU berisi 4 buah register segmen 16 bit, yaitu: code segment (CS), data segment (DS), extra segment (ES), dan stack segment (SS). Sistem komputer 8086 mempunyai bus alamat 20 bit, tetapi ukuran register - termasuk register alamat (memory address register) yang dimilikinya hanya 16 bit, lantas bagaimana cara mengatasinya. Cara pemberian alamat 20 bit dilakukan menggunakan 2 komponen alamat: segmen dan offset, yang masingmasing berukuran 16 bit. BIU akan menggeser ke kiri nilai segmen sebanyak 4 bit (mengalikan dengan 16), kemudian menambahkan offset untuk memperoleh alamat fisik memori yang

dikirimkan melalui bus alamat. Untuk lebih jelasnya, diberi contoh untuk memberi alamat fisik $38AB4( ) 3, segmen dapat diisi dengan angka $348A, dan offset diisi dengan angka $4214, lihat pada gambar dibawah ini. Cara penulisan kombinasi segmen dan offset adalah:

segmen:offset
Sehingga untuk contoh ini, penulisannya adalah $348A:$4214. Perlu diingat bahwa kita bisa menggunakan kombinasi nilai segmen dan offset yang bervariasi untuk memberi alamat fisik yang sama, misalnya $38AB:$0004, $3800:$0AB4, dsb.

Secara umum, suatu program terdiri atas 4 bagian: segmen code yang berisi instruksi; segmen data, berisi data yang telah dialokasikan sebelumnya (statik); segmen ekstra, untuk variabel dinamik; serta segmen stack yang dipakai untuk menyimpan informasi pada saat

pemanggilan subrutin. Informasi segmen disimpan dalam keempat register segmen sesuai dengan namanya. Instruction Pointer (IP), adalah register berisi informasi offset yang bersama-sama CS menunjuk posisi dalam memori di mana instruksi berikutnya berada. Unit Eksekusi (EU) Unit ini memberitahu BIU di mana mengambil instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya. EU tersusun atas:

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

13

Dekoder instruksi, yang mengambil urut-urutan instruksi dari ISBQ kemudian menerjemahkannya ke runtutan aksi yang harus dikerjakan oleh EU. Sistem kontrol, merupakan rangkaian yang mengendalikan kerja mikroprosesor berdasarkan instruksi yang telah diterjemahkan oleh dekoder instruksi tadi. Arithmetic Logic Unit (ALU), yaitu bagian dari mikroprosesor yang dapat melakukan operasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, dan pembagian) dan logika (misalnya operasi AND, OR, XOR, geser, dan rotasi) 16 bit. Register flag (bendera), yaitu register flip-flop 16 bit yang menunjukkan kondisi yang dihasilkan oleh eksekusi suatu operasi oleh EU. Selain itu flag juga mengatur beberapa operasi tertentu. Terdapat 9 flag dalam register flag 8086, seperti terlihat pada gambar dibawah ini.

Sebanyak 6 buah flag merupakan flag kondisi yang menunjukkan keadaan setelah eksekusi suatu instruksi, yaitu: Carry Flag (CF), Parity Flag (PF), Auxiliary Carry Flag (AF), Zero Flag (ZF), Sign Flag (SF), dan Overflow Flag (OF). Sedangkan, 3 buah flag sisanya berupa flag kontrol yang mengendalikan operasi tertentu, yaitu: Single Step Trap Flag (TF), Interrupt Flag (IF), dan String Direction Flag (DF). CF akan diset (bernilai 1) jika sebuah operasi menghasilkan simpanan (carry) melebihi bit terpenting (most significat bit, MSB, atau bit 15), dan sebaliknya direset (bernilai 0) apabila tidak ada simpanan. PF diset jika suatu operasi memberikan hasil dengan parity genap, dan direset jika hasilnya berparity ganjil. AF mirip dengan CF, namun diset oleh operasi BCD (binary coded decimal). ZF diset jika suatu operasi menghasilkan nol. SF merupakan nilai MSB hasil operasinya, yang menunjukkan tanda; diset jika hasil bertanda negatif dan direset jika hasil bertanda positif. OF diset jika hasil operasi melebihi tempat yang disediakan. Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam 14

Flag kondisi akan digunakan oleh perintah tertentu untuk menentukan pencabangan atau lompatan. Sedangkan flag kontrol dapat diatur dengan perintah tertentu. Jika TF diset bernilai 1, maka mikroprosesor akan bekerja langkah demi langkah, sehingga dapat digunakan untuk mencek jalannya suatu program. IF digunakan untuk mengatur apakah kerja mikroprosesor dapat diinterupsi atau tidak. Hal yang menyangkut interupsi akan dijelaskan secara lebih detil pada bab berikutnya. DF digunakan untuk menentukan arah operasi string. Register serbaguna, merupakan register yang dapat digunakan untuk menyimpan data yang akan diolah atau hasil suatu operasi oleh ALU. Terdiri atas 8 buah register 8 bit, yaitu AH, AL, BH, BL, CH, CL, DH, dan DL. Register-register ini juga dapat digunakan secara berpasangan sehingga membentuk register 16 bit, yaitu; AX (gabungan dari AH dan AL), BX, CX, dan DX. AX biasanya digunakan untuk menyimpan hasil operasi, sehingga disebut akumulator. CX biasanya digunakan untuk pencacah untuk keperluan perulangan/kalang (loop), sehingga disebut counter. BX dan DX biasanya digunakan sebagai offset dari alamat data di memori (dengan segmen DS). Register pointer dan indeks, terdiri atas Stack Pointer (SP), Base Pointer (BP), Source Index (SI), dan Destination Index (DI). Stack (tumpukan) adalah bagian dari memori yang digunakan untuk menyimpan informasi alamat program yang ditinggalkan pada saat terjadi pemanggilan subrutin/subprogram. Demikian juga apabila subrutin tersebut berupa fungsi yang menggunakan parameter, maka data parameter akan disimpan pula di stack. Alamat tumpukan terluar dari stack ditunjuk oleh SS:SP. Sedangkan BP digunakan sebagai offset yang menunjuk ke parameter-parameter fungsi yang dipanggil. SI dan DI biasanya digunakan sebagai offset (masing-masing berpasangan dengan ES dan DS) yang menunjuk ke suatu variabel/data untuk operasi string (larik data).

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

15

Pertemuan 5 Sistem Bilangan


Bilangan dapat disajikan dalam beberapa cara. Cara penyajiannya tergantung pada Basis (BASE) bilangan tersebut. Terdapat 4 cara utama dalam penyajian bilangan.

1. Sistem Bilangan Desimal

Manusia umumnya menggunakan bilangan pada bentuk desimal. Bilangan desimal adalah sistem bilangan yang berbasis 10. Hal ini berarti bilangan bilangan pada sistem ini terdiri dari 0 sampai dengan 9. Berikut ini beberapa contoh bilangan dalam bentuk desimal :

12610 (umumnya hanya ditulis 126) 1110 (umumnya hanya ditulis 11)

2. Sistem Bilangan Biner Bilangan dalam bentuk biner adalah bilangan berbasis 2. Ini menyatakan bahwa bilangan yang terdapat dalam sistem ini hanya 0 dan 1. Berikut ini contoh penulisan dari bilangan biner :

11111102 10112

3. Sistem Bilangan Oktal Bilangan dalam bentuk oktal adalah sistem bilangan yang berbasis 8. Hal ini berarti bilanganbilangan yang diperbolehkan hanya berkisar antara 0 7. Berikut ini contoh penulisan dari bilangan oktal :

1768 138 Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam 16

4. Sistem Bilangan Heksadesimal Bilangan dalam sistem heksadesimal adalah sistem bilangan berbasis 16. Sistem ini hanya memperbolehkan penggunaan bilangan dalam skala 0 9, dan menggunaan huruf A F, atau a f karena perbedaan kapital huruf tidak memiliki efek apapun. Berikut ini contoh penulisan bilangan pada sistem heksadesimal : 7E 16 B 16

Berikut adalah perbandingan keseluruhan sistem penulisan bilangan :

Konversi Bilangan

1. Desimal ke Biner / Biner ke Desimal

Untuk mengubah angka desimal menjadi angka biner digunakan metode pembagian dengan angka 2 sambil memperhatikan sisanya. Ambil hasil bagi dari proses pembagian sebelumnya, dan bagi kembali bilangan tersebut dengan angka 2. Ulangi langkah-langkah tersebut hingga hasil bagi akhir bernilai 0 atau 1. Kemudian susun nilainilai sisa dimulai dari nilai sisa terakhir sehingga diperoleh bentuk biner dari angka bilangan tersebut.

Sebagai Contoh :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

17

Dengan menuliskan nilai sisa mulai dari bawah ke atas, didapatkan angka biner 11111102. Konversi bilangan biner ke desimal didapatkan dengan menjumlahkan perkalian semua bit biner dengan perpangkatan 2 sesuai dengan posisi bit tersebut. Sebagai Contoh :

Angka desimal 205 diperoleh dari penjumlahan angka yang diarsir. Setiap biner yang bernilai 1 akan mengalami perhitungan, sedangkan yang bernilai 0 tidak akan dihitung karena hanya akan menghasilkan nilai 0.

2. Desimal ke Oktal/Heksadesimal dan Oktal/Heksadesimal ke Desimal

Pengubahan bilangan desimal ke bilangan oktal atau bilangan heksadesimal pada dasarnya sama dengan konversi bilangan desimal ke biner. Perbedaannya terletak pada bilangan pembagi. Jika pada konversi biner pembaginya adalah angka 2, maka pada konversi oktal pembaginya adalah angka 8, sedangkan pada konversi heksadesimal pembaginya adalah 16.

Contoh konversi Oktal :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

18

Dengan menuliskan nilai sisa dari bawah ke atas, kita peroleh bilangan oktal 1768

Dengan menuliskan nilai sisa dari bawah ke atas, kita peroleh bilangan Heksadesimal 7E16 Konversi bilangan Oktal dan Heksadesimal sama dengan konversi bilangan Biner ke Desimal. Perbedaanya hanya terdapat pada penggunaan angka basis. Jika sistem Biner menggunakan basis 2, maka pada bilangan Oktal, basis yang digunakan adalah 8 dan pada bilangan Heksadesimal adalah angka 16.

Contoh konversi Oktal :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

19

Contoh konversi Heksadesimal :

3. Biner ke Oktal dan Oktal ke Biner Untuk mengubah bilangan biner ke oktal, kita pilah bilangan tersebut menjadi 3 bit bilangan biner dari kanan ke kiri. Tabel berikut ini menunjukkan representasi bilangan biner terhadap bilangan oktal :

4. Biner ke Heksadesimal dan Heksadesimal ke Biner Pengubahan bilangan Biner ke Heksadesimal dilakukan dengan pengelompokan setiap empat bit Biner dimulai dari bit paling kanan. Kemudian konversikan setiap kelompok menjadi satu digit Heksadesimal. Tabel berikut menunjukkan representasi bilangan Biner terhadap digit Heksadesimal :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

20

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

21

Pertemuan 6 Analisis Instruksi


Instruksi mesin yang dieksekusi membentuk suatu opersasi dan berbagai macam fungsi CPU. Kumpulan fungsi yang dapat dieksekusi CPU disebut set instruksi (instruction set) CPU.

6.1. Elemen Instruksi Mesin Untuk dapat dieksekusi CPU, suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas. Elemen-elemen tersebut terdiri dari: 1. Operation Code (Op Code), menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner. 2. Source Operand Reference, Operasi dapat berasal lebih dari satu sumber. Operand adalah input operasi. 3. Result Operand Reference, merupakan hasil atau keluaran operasi. 4. Next Instruction Reference, elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi.

Operand Dari Operasi Melihat dari sumbernya, operand dari operasi dapat berada di salah satu dari ketiga daerah berikut ini : Memori utama atau memori virtual Register CPU Perangkat I/O

Representasi Instruksi Instruksi computer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field. Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU. Layout instruksi dikenal dengan format instruksi. Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam 22

Format Instruksi

Opcode

Alamat

Opcode direpresentasikan dengan singkatan-singkatan yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU. Contoh mnemonic adalah : ADD = Penambahan SUB = Pengurangan LOAD = Muatkan data ke memori

Contoh : Suatu expresi bilangan : X = X + Y; X dan Y berkorespondensi dengan lokasi 210 dan 211.

Pernyataan dalam bahasa tingkat tinggi tersebut menginstruksikan computer untuk melakukan langkah berikut ini : Muatkan sebuah register dengan isi lokasi 210. Tambahkan isi lokasi memori 211 ke register. Simpan isi register ke lokasi memori 210.

Korelasi Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin. Dalam bahasa tingkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel. Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register. Instruksi-instruksi mesin harus mampu mengolah data sebagai implementasi keinginankeinginan manusia. Terdapat kumpulan unik set instruksi yang dapat digolongkan kedalam jenis-jenisnya yaitu : Pengolahan data, Perpindahan data, Penyimpanan data dan Kontrol aliran program.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

23

Pertemuan 7 Alamat Register


Jumlah register atau alamat yang digunakan dalam operasi CPU tergantung format operasi masing-masing CPU. Ada format operasi yang menggunakan 3,2,1 dan 0 register. Umumnya yang digunakan adalah 2 register dalam suatu operasi. Disain CPU saat ini telah menggunakan 3 alamat dalam suatu operasi terutama dalam MIPS (Million Instruction Per Second). Alamat per instruksi yang lebih sedikit akan membuat instruksi lebih sederhana dan pendek, tetapi lebih sulit mengimplementasikan fungsi-fungsi yang kita inginkan. Karena instruksi CPU sederhana maka rancangan CPU juga lebih sederhana. Jumlah bit dan referensi per instruksi lebih sedikit sehingga fetch dan eksekusi lebih cepat. Jumlah instruksi per program biasanya jauh lebih banyak. Pada jumlah alamat per instruksi banyak, jumlah bit dan referensi instruksi lebih banyak sehingga waktu eksekusi lebih lama. Diperlukan register CPU yang banyak namun operasi antar register lebih cepat. Lebih mudah mengimplementasikan fungsifungsi yang kita inginkan. Jumlah instruksi per program jauh lebih sedikit. Perhatikan contoh instruksi-instruksi dengan jumlah register berbeda untuk menyelesaikan persolan yang sama. Contoh penggunaan set instruksi dengan alamat 1,2, dan 3 untuk menyelesaikan operasi perhitungan :

Y = (A B) : (C + D * E)

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

24

Contoh instruksi 2 dan 3 alamat :

Instruksi 1 Alamat :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

25

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

26

Pertemuan 8 Set Instruksi


Set instruksi menentukan banyak fungsi yang akan dilakukan oleh CPU. Set instruksi merupakan alat bagi pemrogram untuk mengontrol kerja CPU. Kebutuhan pemrogram menjadi bahan pertimbangan dalam merancang set instruksi. Masalah rancangan yang fundamental meliputi : 1. Operation Repertoire : - Berapa banyak dan operasi-opersai apa yang harus tersedia. - Sekomplek apakah operasi itu seharusnya. 2. Data Types : - Jenis data - Format data 3. Instruction Format - Panjang instruksi - Jumlah alamat - Ukuran field 4. Registers Jumlah register CPU yang dapat direfernsikan oleh instruksi dan fungsinya. 5. Addressing Mode untuk menspesifikasikan alamat suatu operand.

Tipe Operasi Dalam perancangan arsitektur computer, jumlah kode operasi akan sangat berbeda untuk masing-masing computer, tetapi terdapat kemiripn dalam jenis operasinya.

Jenis Operasi Komputer - Transfer data - Aritmatika - Logika.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

27

Operasi set instruksi secara umum :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

28

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

29

Pertemuan 9 Komunikasi Internal


Komunikasi internal dalam arsitektur computer terjadi melalui media komunikasi yang dapat menghubungkan perangkat-perangkat computer sehingga dapat terjadi hubungan atau komunikasi antar perangkat. Media yang digunakan umumnya adalah bus. Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat. Karakteristik sebuah bus adalah bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus dan suatu signal yang ditransmisikan oleh salah satu perangkat ini dapat diterima oleh salah satu perangkat yang terhubung ke bus. Apabila dua perangkat melakukan transmisi dalam waktu yang bersamaan, maka signal-signalnya akan bertumpang tindih dan menjadi rusak. Dengan demikian hanya sebuah perangkat saja yang akan berhasil melakukan transmisi pada suatu saat tertentu. Komponen Sistem Bus Komponen system bus dapat diklasifikasikan menjadi 3 bagian yaitu : 1. Saluran data, memberikan lintasan bagi perppindahan data antara dua modul system. Saluran-saluran ini disebut dengan bus data. 2. Saluran alamat, menandakan sumber atau tujuan data pada bus data dari mana data berasal dan kemana tujuannya. 3. Saluran control, merupakan akses control ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

30

Struktur Interkoneksi Adalah kumpulan lintasan yang menghubungkan berbagai modul. Rancangan struktur bergantung pada pertukaran data yang harus dibuat antara modul-modul. Struktur interkoneksi harus mendukung jenis perpindahan berikut : a. Memori ke CPU b. CPU ke Memori c. I/O ke CPU d. CPU ke I/O e. I/O ke Memori

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

31

Bus Tradisional

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

32

Bus Berkinerja Tinggi (Multiple Bus)

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

33

Pertemuan 10 Model-Model Arsitektur Komputer


Model-model arsitektur computer dinyatakan dengan besarnya bit instruksi sebagai dasar dalam perancangannya. Model instruksi ini terdiri dari instruksi 8 bit, 16 bit, 32 bit, 64 bit, 128 bit dan seterusnya. Semakin besar kapasitas bit maka semakin banyak dan semakin kompleks operasi yang dapat dilakukan oleh CPU.

ALU melaksanakan penjumlahan, pengurangan dan operasi logika khusus pada pasangan byte masukan.

Akumulator merupakan register yang berfungsi sebagai penyimpan data sementara dalam CPU (mikroprosesor). Ia dapat berstatus sebagai sumber masukan dan tujuan hasil operasi ALU, dapat diakses oleh pemrogram.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

34

Instruksi Aritmatika dan Logika

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

35

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

36

Pertemuan 11 Organisasi Memori

Internal Memory Komputer

Dalam internal memori computer berhubungan dengan satuan transfer yaitu jumlah saluran data yang masuk ke dan keluar dari modul memori. Jumlah saluran ini sering kali sama dengan panjang word, tapi mengkin juga tidak sama. Konsep yang berhubungan dengan internal memori : Word adalah satuan alami organisasi memori biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi. Addressable Units adalah word yang mengijinkan pengalamatan pada tingkatan byte. Pada semua kasus, hubungan antara panjang A suatu alamat dan jumlah N addressable unit adalah 2A=N. Unit of Transfer adalah jumlah bit yang dibaca atau dituliskan kedalam memori pada suatu saat. Bagi eksternal memori seringkali data ditransferkan dalam jumlah yang jauh lebih besar dari word yang disebut block. Metode pengaksesan data terdiri dari : Sequential Access, Direct Access, Random Access dan Assosiative.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

37

Melalui spectrum teknologi memori hubungan dibawah ini perlu dijaga : Semakin kecil waktu access, semakin besar harga per bit. Semakin besar kapasitas, semakin kecil harga per bit Semakin besar kapasitas, semakin besar waktu access

Semakin menurunnya hirarki memori, maka hal-hal dibawah ini akan terjadi : Penurunan harga per bit Peningkatan kapasitas Peningkatan waktu akses Penurunan frekuensi akses memori oleh CPU

Memory Utama Semikonduktor

Memori utama sebuah computer menggunakan sejumlah piringan ferromagnetic berlubang yang dikenal sebagai core, sebuah istilah yang tetap dipertahankan hingga saat ini. Sekarang penggunaan keeping semikonduktor untuk memori utama hamper bersifat universal. Elemen dasar memori semikonduktor adalah sel memori yang memiliki dua keadaan stabil , yang dapat digunakan untuk merepresentasikan bilangan biner 1 atau 0. Contoh-contoh memori utama semikonduktor adalah RAM, ROM, PROM, EPROM dan EEPROM.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

38

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

39

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

40

Pertemuan 12 Format Instruksi


Format Instruksi 16 bit

0 Op Code

4 Alamat

15

Format Integer

0 1 S Bilangan

15

Register CPU Internal

Program Counter (PC) = alamat instruksi Instruction Register (IR) = instruksi yang sedang di eksekusi Accumulator (AC) = Penyimpanan Temporer

Kumpulan Parsial Opcode

0001 = Muatan AC dari memori 0010 = Simpan AC ke memori 0011 = Kurangkan AC dari memori 0100 = Kalikan AC dari memori

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

41

0101 = Tambahkan AC dari memori 0110 = Bagikan AC dari memori 0111 = Pangkatkan AC dari memori 1000 = Moduluskan AC dari memori

Apabila dalam memori komputer dengan alamat 300,301 dan 302 berisi instruksi :

1940 5941 2941 Memori pada alamat 940 dan 941 berisi data 003 dan 002 Bagaimana CPU membaca dan mengeksekusi instruksi tersebut :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

42

Memori 300 301 302 1940 5941 2941

CPU Register 300 PC AC 1940 IR 300 301 302

Memori 1940 5941 2941

CPU Register 300 003 1940 PC AC IR

940 941

003 002

940 941

003 002

Step1 Memori 300 301 302 1940 5941 2941 CPU Register 301 003 5941 PC AC IR 300 301 302

Step2 Memori 1940 5941 2941 CPU Register 301 003 005 5941 PC AC IR

940 941

003 002

940 941

003 002

3(16)+2(16)=5(16)

Step3

Step4

Memori 300 301 302 1940 5941 2941

CPU Register 302 005 2941 PC AC IR 300 301 302

Memori 1940 5941 2941

CPU Register 302 005 2941 PC AC IR

940 941

003 002

940 941

003 002 005 Step6

Step5

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

43

Pertemuan 13 Mode Pengalamatan


Merupakan cara memberikan perintah transfer/pemindahan data dari lokasi satu ke lokasi lainnya. Terdapat 7 mode pengalamatan yaitu :

1. Mode Pengalamatan Segera (Immediate Addressing) Yaitu mode pengalamatan yang digunakan untuk mengisi suatu register dengan data.

Contoh Mode Pengalamatan Segera: MOV AX,A1B2 MOV BL,03 MOV BP,1234

Register yang dapat diisi data dengan mode pengalamatan segera: AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH, BP,SP,SI,DI Register segmen tidak dapat diisi dengan mode pengalamatan segera Alamat memori juga tidak dapat diisi secara immediate

2. Mode Pengalamatan Register (Register Addressing) Yaitu mode pengalamatan yang digunakan untuk mentransfer data (byte/word) dari register sumber ke register tujuan.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

44

Contoh Mode Pengalamatan Register: MOV AL, BL MOV AX, CX MOV CS, AX MOV CS, DS tidak diijinkan karena segment to segment MOV BL, BX Tidak dijinkan karena berbeda ukuran (mixed size)

3. Mode Pengalamatan Langsung (Direct Addressing) Yaitu mode pengalamatan untuk mentransfer data antar memori dan register

Contoh Bentuk 1: Susun instruksi assembly untuk memindahkan isi alamat 10120 heksadesimal ke register AL, isi alamat 10150 heksadesimal ke register BL, dan isi alamat 10160 heksadesimal ke register CL! Anggap segment base 1000 tersimpan pada register DS!

MOV AX,1000 immediate addressing MOV DS,AX register addressing

MOV AL,[0120] direct addressing MOV BL,[0150] direct addressing MOV CL,[0160] direct addressing

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

45

Contoh: susun instruksi untuk mengisi alamat 10120 dengan data 5 heksadesimal! Anggap segment base yang digunakan adalah1000 tersimpan dalam DS!

MOV AX,1000 MOV DS,AX MOV AL,5

IMMEDIATE ADDRESSING REGISTER ADDRESSING IMMEDIATE ADDRESSING

MOV [0120],AL DIRECT ADDRESSING

4. Mode Pengalamatan Tak Langsung (Indirect Addressing) Merupakan mode pengalamatan untuk mentransfer DATA/byte/word antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register. Contoh MOV [BX], AX Pindahkan isi register AX ke dalam alamat memori yang ditunjukkan oleh isi register BX.

5. Base Plus Index Addressing Yaitu mode pengalamatan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh jumlah register base dan index. Bentuk1: MOV [BX + SI], AX Bentuk2: MOV AX,[BX+SI]

6. Register Relative Addressing Yaitu mode pengalamatan untuk tranfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh isi suatu register dan jaraknya (displacement) Contoh : MOV [BX + 4], AX Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam 46

7. Base Relative Plus Index Addressing Merupakan mode pengalamtan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh suatu register base dan register index ditambah displacement nya Contoh : MOV AX, [BX + DI + 4].

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

47

Pertemuan 14 Pemrograman
Bahasa Mesin dan Bahasa Assembly Instruksi yang difetch dari memori untuk kemudian diseksekusi oleh mikroprosesor berformat biner (kombinasi angka 0 dan 1), yang disebut bahasa mesin. Sebagai contoh,

perintah untuk memindahkan data dalam register BX ke register CX adalah 10001011 11001011 ($8B CB), sedangkan bahasa mesin untuk menjumlahkan data dalam register AL dengan angka 7 adalah 00000100 00000111 ($04 07), dan perintah membaca dari port 5 diberikan dengan 11100100 00000101 ($E4 05). Seperti terlihat pada ketiga contoh di atas, bahasa mesin tidak mudah untuk dimengerti dan dihapalkan oleh seorang programer, apalagi jumlah instruksi yang tersedia berkisar ribuan perintah. Di samping itu, akan mudah sekali terjadi kesalahan ketika menuliskan angka-angka biner yang tersusun atas angka 0 dan 1 yang banyak sekali. Oleh karena itu biasanya kita tidak memprogram komputer langsung dalam bahasa mesin, namun dalam bahasa assembly. Dalam bahasa assembly, setiap instruksi diberi kata (mnemonic) yang sesuai dengan maksud perintah itu, sehingga dapat membantu pemrogram dalam mengingat instruksi kepada mikroprosesor tersebut. Kata yang dipakai biasanya berupa singkatan atau beberapa huruf awal dari kata dalam bahasa Inggris untuk perintah tersebut. Misalnya, mnemonic untuk perintah penjumlahan adalah ADD, untuk perintah pengurangan adalah SUB (dari kata subtract), dan untuk memindahkan data dari suatu register atau memori ke lokasi lain adalah MOV (dari kata move). Sebagian besar instruksi terdiri atas mnemonic dan operand yang merupakan parameter dari instruksi tersebut, yang dituliskan di belakang mnemonic tersebut. Contoh bahasa assembly dari perintah-perintah dengan bahasa mesin di atas diberikan dalam Tabel dibawah ini :

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

48

Secara umum instruksi mikroprosesor dikelompokkan menjadi (beserta contoh): 1. Operasi transfer data, yaitu operasi pemindahan (pengkopian) data antara register, memori, dan port. Di antaranya: MOV AX, BX ; mengkopi isi BX ke AX MOV BL, [437AH] ; mengkopi data byte dari DS:437AH ke BL IN AL, 34H ; membaca input byte dari port 34H ke AL OUT 220H, AX ; menulis output word ke port 220H PUSH CX ; menyimpan register CX ke stack (SS:SP) 2. Operasi aritmatika, yaitu operasi matematis antara register/memori (dilakukan ALU). ADD DL, BL ; menambahkan isi BL ke DL SUB CX, 437AH ; mengurangi isi CX dengan angka 437AH MUL CX ; mengalikan AX dengan CX, hasil disimpan di AX 3. Operasi bit, yaitu operasi logika antara register/memori (dilakukan ALU). AND BH, CL ; meng-AND-kan isi BH dengan CL NOT DX ; menginvers isi register DX 4. Operasi string, yaitu operasi yang melibatkan sekumpulan data yang berurutan dalam memori/port. REP MOVSB ; mengkopi isi byte dari DS:SI ke ES:DI sebanyak CX 5. Operasi kontrol aliran program, untuk mengatur loop, lompatan, dan perulangan. CALL 2323H ; memanggil subrutin di alamat CS:2323H RET ; kembali ke pemanggil subrutin JZ LBL1 ; lompat ke instruksi yang diberi label LBL1 jika flag ZF bernilai 1 (set) 6. Operasi kontrol prosesor, yang mengatur kerja mikroprosesor. STI ; menset flag interupsi (TF), membolehkan interupsi CLI ; mereset TF, menghambat interupsi

Setiap instruksi mungkin merubah nilai flag tergantung dari instruksi itu sendiri dan hasil operasinya.

Hand Out Arsitektur Komputer, TI 1,2,3,4,Malam

49

Anda mungkin juga menyukai