Sistem Komputer - Organisasi dan Arsitektur Komputer (Bab 7)(Kelas X)
BAB 7
Organisasi dan Arsitektur Komputer
Kompetensi Dasar
3.7 Menganalisis blok diagram dari sistem mikrokomputer (arsitektur komputer).
4.7 Menyajikan gambar minimal sistem mikro komputer berdasarkan blok diagram dan sistem rangkaian (arsitektur komputer).
Pendahuluan
Ketika Anda mengetik sebuah kalimat seperti "Pemrograman Java di Linux" melalui keyboard, input tersebut akan di-encode dalam bentuk data digital dan diatur dalam susunan antrian instruksi yang akan dikerjakan oleh CPU. Setelah itu, data tersebut akan diproses oleh bagian ALU dan menghasilkan output untuk ditampilkan pada output device. Bagaimana dan apa saja peranti yang mendukung proses tersebut? Amati dan pahami materi organisasi dan arsitektur komputer pada bab ini.
(A) Organisasi Komputer
Istilah komputer berasal dari bahasa Latin computare atau to compute yang berarti menghitung. Komputer sebenarnya adalah mesin penghitung yang hanya melakukan proses aritmatika, yaitu penjumlahan dan pengurangan. Setiap nilai masukan (input) yang diberikan oleh pengguna akan di-decode menjadi biner. Tahap berikutnya, dilakukan proses aritmatika terhadap data tersebut dan hasilnya ditampilkan melalui alat peraga (output device) setelah melalui proses decoding. Dengan kata lain, komputer adalah mesin hitung elektronik yang dapat merespons secara cepat setiap informasi yang di-input-kan. Informasi tersebut akan diproses berdasarkan urutan prosedur piranti dan instruksi yang tersimpan dalam komputer tersebut dan menghasilkan keluaran (output) berupa informasi melalui peranti output.
Organisasi komputer adalah keterkaitan setiap bagian-bagian dalam komputer, baik unit-unit operasional yang mendukung proses compute maupun proses interkoneksi antarkomponen penyusun sistem komputer dalam menjalankan fungsinya. Dengan demikian, konsep organisasi komputer secara teoritis akan menjelaskan konsep tentang komponen-komponen hardware dalam komputer yang bekerja secara terintegrasi sebagai kesatuan komputer. Sebagai contoh, processor, interface, signal control, memori, dan lain sebagainya.
Sebuah sistem komputer dapat bekerja dengan baik jika memiliki tiga komponen penting, yaitu hardware, software, dan brainware. Hardware berfungsi sebagai peranti keras (elektronika) yang melakukan proses digital. Software berfungsi sebagai peranti lunak untuk mengatur dan memanajemen hardware. Brainware berperan dalam memberikan dan mengendalikan setiap input dan output dari hardware melalui software yang terpasang.
Gambar 7.2 Struktur sistem komputer.
Secara umum, komputer memiliki fungsi sebagai berikut.
1. Melakukan pengolahan data (data processing).
2. Melakukan penyimpanan data (data storing).
3. Melakukan pemindahan data (data moving).
4. Melakukan operasi kontrol.
Dalam melakukan prosesnya, hardware komputer secara prinsip terdiri atas empat bagian, yaitu sebagai berikut.
1. CPU, berfungsi sebagai pusat pengolah data.
2. Memory, berfungsi melakukan penyimpanan data.
3. Input output device, berfungsi untuk menjembatani proses masukan (input) dan keluaran (output) data.
4. System interconnection, merupakan proses komunikasi data antara CPU, memori, dan I/O device tersebut.
Gambar 7.3 Struktur hardware komputer.
Gambar 7.4 Struktur organisasi komputer.
(B) Arsitektur Komputer
Arsitektur komputer adalah ilmu yang membahas Atribut sistem yang oleh programmer atribut sistem yang dirancang oleh programmer untuk mendapatkan hasil kerja yang optimal terhadap kinerja sebuah komputer. Contohnya adalah melakukan beberapa set instruksi, metode pengalamatan, teknik input output, dan operasi aritmatika. Arsitektur komputer sebagai sebuah mesin multilevel dapat diartikan sebagai sebuah komunikasi antara user (programmer) dengan mesin melalui bahasa pemrograman dengan mesin komputer.
Pada level 0, struktur mesin komputer dianggap sebagai dasar yang berhubungan dengan rekayasa digital dengan bahasa tingkat mesin dapat dijalankan secara langsung tanpa memerlukan penerjemah. Pada level 1, bahasa mesin yang dijalankan pengguna memerlukan interpreter untuk meng- interrupt mesin. Begitu juga pada level ke-2 hingga ke-n, bahasa pemrograman yang dijalankan pada mesin virtual memerlukan interpreter ke dalam bentuk bahasa mesin agar dapat mengeksekusi perintah yang dijalankannya.
Pada era tahun 1940, arsitektur komputer digital memiliki
dua level sebagai berikut.
1. Level ISA (Instruction Set Architecture)
Level ini berisi instruksi-instruksi mesin yang akan diterjemahkan secara langsung oleh rangkaian digital hardware.
2. Level Digital Logic
Digital logic merupakan komponen yang dapat menjalankan instruksi program secara langsung.
Arsitektur komputer tersebut kemudian diperbaiki menjadi tiga level pada tahun 1951 oleh Maurice Wilkes sebagai berikut.
1. Level ISA berisi perintah-perintah yang akan dinterpretasi oleh digital circuit hardware.
2. Level interpreter adalah penerjemah yang terintegrasi dengan ISA yang berguna menjalankan setiap instruksi pada level ISA.
3. Level digital logic merupakan komponen hardware yang menjalankan instruksi secara langsung.
Arsitektur komputer dengan tiga tingkatan tersebut menyebabkan rangkaian digital menjadi lebih efisien. Hal tersebut karena tugas dan fungsi peranti keras digantikan oleh interpreter. Jika diuraikan lebih lanjut, mesin komputer terbagi menjadi enam level sebagai berikut.
Gambar 7.6 Tingkatan komputer sebagai mesin enam level.
1. Level 0 atau level logika digital merupakan level paling rendah yang berupa rangkaian gerbang logika dalam susunan rangkaian hardware komputer.
2. Level 1 atau level arsitektur mikro terdiri atas rangkaian dasar processor yang berupa ALU (Arithmetic Logic Unit) untuk melakukan operasi aritmatika. Selain itu, pada level ini juga terdapat micro program yang berfungsi sebagai interpreter setiap perintah dari level di atasnya.
3. Level 2 atau level arsitektur perangkat instruksi yang sering disebut level ISA mengandung perintah atau instruksi dasar sebuah komputer.
4. Level 3 atau level sistem operasi merupakan tingkat dengan kondisi mesin diatur oleh program yang disebut sebagai sistem operasi.
5. Level 4 atau level bahasa assembler (bahasa rakitan). Pada level ini, instruksi-instruksi program sudah mulai dikerjakan oleh programmer aplikasi.
6. Level 5 merupakan level bahasa tingkat tinggi. Pada level ini, programmer dapat melakukan pemrograman dengan bahasa yang lebih dimengerti oleh manusia. Hal tersebut memudahkan manusia untuk memberikan instruksi-instruksi pada mesin. Namun, level ini juga memiliki kelemahan, yaitu prosesnya lebih lama karena memerlukan interpreter.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan I)
1. Jelaskan pengertian organisasi komputer.
2. Jelaskan pengertian arsitektur komputer.
3. Tuliskan tiga faktor penting sebuah sistem komputer dapat bekerja dengan baik.
4. Tuliskan dan jelaskan tiga level sebuah arsitektur komputer modern menurut Maurice Wilke.
5.Gambarkan cara kerja sebuah sistem komputer.
B. Tugas Praktikum (Nilai Praktik !)
1. Buat kelompok dengan jumlah maksimal sebanyak tiga orang.
2. Gambarkan struktur arsitektur komputer menurut pemahaman Anda sendiri setelah mempelajari materi dalam bentuk bagan terstruktur menggunakan Microsoft Visio.
3. Presentasikan di depan kelas dan lakukan diskusi terhadap pemikiran Anda tersebut.
C. Tugas Eksperimen (Nilai Proyek 1)
1. Buat kelompok dengan jumlah maksimal sebanyak tiga orang.
2. Terdapat sebuah persamaan A + B = C. Selesaikan persamaan tersebut dengan menggambarkan struktur logika yang mengombinasikan rangkaian Full Adder, encoder, dan decoder dengan alat peraga seven segment display dalam bentuk bagan terstruktur menggunakan Microsoft Visio.
3. Setelah itu, presentasikan di depan kelas dan lakukan diskusi terhadap pemikiran Anda tersebut
(C) Sejarah Perkembangan Komputer
Pada awalnya, proses penghitungan masih menggunakan metode manual. Namun pada perkembangannya, penghitungan sudah menggunakan alat bantu berupa mesin untuk mempercepat prosesnya sehingga lebih efisien, ringkas, dan cepat. Tahap perkembangan mesin komputer dibagi menjadi empat evolusi, yaitu sebagai berikut.
1. Tahap Manual
Pada tahap ini, proses penghitungan masih menggunakan metode bantuan jari tangan, tanah liat, abascus, hingga model pencatatan pada kertas yang popular pada tahun 1150 di daratan Eropa.
2. Tahap Mekanis
Gambar 7.7 Mesin Pascal.
Era penghitungan aritmatika menggunakan bantuan alat secara mekanis dimulai dengan munculnya Pascal's Machine Arithmetique yang lebih dikenal dengan The Pascaline oleh ahli matematika dari Prancis yang bernama Blaise Pascal (1623-1662). Selanjutnya, muncul mesin untuk memecahkan soal matematika dalam bentuk logika dan probabilitas yang diciptakan Charles Mahon pada tahun 1777 yang disebut Logic Demonstrator. Tahun 1833, Professor Charles Babbage mengembangkan mesin Babbage'ss Analytical Engine untuk memproses data yang menjadi dasar pengembangan teknologi komputer pada saat ini.
3. Tahap Mekanik-Elektronik
Evolusi teknologi mesin penghitung pada tahap ini, sudah memadukan model mekanis dan konsep semielektronik. Mesin tabulasi kartu plong yang dikembangkan tahun 1890 dapat bekerja secara mekanis- elektronis, dikembangkan oleh Dr. Herman Holerith untuk mempercepat proses sensus data penduduk di Amerika.
Hollerith melihat bahwa data dapat diletakkan pada lokasi spesifik di sebuah kartu (punchde card). Setelah itu, kartu diurutkan atau dihitung dengan mesin sehingga data dapat disimpan.
4. Tahap Elektronik
Era mesin penghitung elektronik dimulai pada tahun 1942 yang memanfaatkan tabung hampa udara dan dikenal dengan nama komputer ABC (Atanasoff-Berry Computer). Mesin ABC diciptakan oleh Professor John V. Atanasoft dan Clifford Berry di IOWA State College. Tahun 1944, muncul mesin MARK I dengan tinggi 8 kaki dan panjang 55 kaki dengan 760.000 komponen dan total panjang kabel 5.000 mil yang diciptakan oleh Professor Howard Aiken sebagai mesin komputer generasi pertama.
Jika dilihat dari cara kerjanya, komputer elektronik dapat dibedakan menjadi beberapa generasi, yaitu sebagai berikut. Interrupt berarti peristiwa berupa perminataan khusus pada mikroprosesor untuk melakukan sesuatu.
a. Generasi Pertama (1945-1959)
ENIAC (Electronic Numerical Integrator and Calculator) yang dikembangkan oleh Sr. John W. Mauchly dan J. Presper Eckert Jr. ENIAC merupakan generasi komputer dengan konsep stored program yang nantinya di setiap proses komputer akan di-interrupt oleh program yang tersimpan dalam sebuah memori. Dengan teknologi vacuum tube, mesin ini dapat melakukan 300 perkalian tiap detik. Tahun 1946, muncul gagasan dari John Von Neuman tentang penggunaan konsep biner, yaitu "0" dan "1" dalam melakukan operasi mesin komputer.
Gambar 7.8 ENIAC.
b. Generasi Kedua (1959-1963)
Komponen transistor dan dioda sudah mulai digunakan pada komputer sebagai komponen pengganti teknologi vacuum tube. Pada generasi ini, komputer mempunyai beberapa kelebihan, yaitu mendukung penggunaan bahasa pemrograman tingkat tinggi (COBOL, ALGOL, atau FORTRAN), dukungan memori yang lebih besar kapasitasnya, dan mendukung konsep real time dan time sharing. Contoh jenis komputer pada generasi ini adalah PDP1, PDP 8, IBM 1400, IBM 1600, IBM 7070, UNIVAC III, UNIVAC 1107, UNIVAC SS80, dan NRC300.
Gambar 7.9 Komputer PDP-1.
C. Generasi Ketiga (1963-1965)
Komputer generasi ketiga sudah menerapkan teknologi mini circuit dalam bentuk hybrid integrated circuit dengan komponen elektronika seperti transistor dan dioda ditempatkan dalam sebuah sirkuit yang sama dengan bentuk yang lebih ramping dari sebelumnya. Di samping itu, pengintegrasian. hardware dan software dalam sebuah kesatuan kerja yang serempak, membuat mesin ini bekerja lebih cepat. Contoh komputer pada generasi ini adalah IBM S/360.
Gambar 7.10 IBM S-360.
d. Generasi Keempat (1970-1980)
Pemadatan ribuan IC (Integrated Circuit) dalam sebuah chip yang dikenal dengan teknologi LSI (Large Scale Integration) merupakan ciri khas komputer generasi keempat. Pada era ini, lahir teknologi mikroprosessor dan memori internal berbasis semikonduktor berbentuk chip. IBM 370 adalah salah satu contohnya.
e. Generasi Kelima (1980-sekarang),
Metode LSI pada generasi ini mulai ditinggalkan, beralih ke sistem VLSI (Very Large Scale Integration) yang dirintis oleh Jepang. Meskipun bentuknya lebih kecil, tetapi telah memiliki kapasitas dan kecepatan yang lebih baik dari generasi sebelumnya.
(D) Arsitektur CPU
Central Processing Unit arta yang lebih dikenal central Processing Unit (CPU) atau yang lebih dikenal dengan processor merupakan inti dari sebuah komputer. CPU berguna untuk menjalankan setiap instruksi yang tersimpan dalam memori utama. Perkembangan teknologi CPU dapat dikategorikan menjadi tiga arsitektur, yaitu arsitektur Babbage, arsitektur Von Neumann, dan arsitektur modern.
1. Arsitektur Babbage (1843)
Arsitektur mesin ini diciptakan oleh Professor Charles Babbage dengan memanfaatkan sistem mekanis. Sistem ini dimaksudkan untuk menjalankan soal algoritma dan penerapan bahasa pemrograman paling tua, ADA, yang langsung dikerjakan oleh programmer bernama Augusta Ada Lovelace.
Gambar 7.11 Bagian-bagian mesin Babbage.
Adapun penjelasan bagian mesin Babbage adalah sebagai berikut. Input unit, menerima masukan (input) data dari kartu berlubang.
Storage unit, menyimpan data dengan kapasitas 1.000 word yang masing-masing terdiri atas 50 digit desimal. Unit ini bertugas menyimpan hasil sebuah operasi aritmatika dari process unit.
Process unit, digunakan untuk melakukan pemrosesan data. Output unit, menampilkan hasil output pengolahan data.
Gambar 7.12 Mesin Babbage.
2. Arsitektur Von Neumann (1952)
Arsitektur mesin yang diciptakan oleh John Von Neumann ini menjadi pelopor arsitektur komputer modern. Dengan menerapkan metode biner (binary) dan stored program yang menggantikan konstruksi mesin dengan. banyak tombol dan kabel, menjadikan mesin berukuran lebih kecil, efisien, dan cepat. Konstruksi model arsitektur mesin Von Neumann dapat dilihat pada Gambar 7.13.
Gambar 7.13 Struktur arsitektur mesin Von Neumann.
Fungsi setiap bagian tersebut adalah sebagai berikut.
• Input unit, menerima masukan (input) data.
• Output unit, menampilkan hasil pengolahan data dari bagian Arithmetic Logic Unit dan Control Unit.
• Arithmetic Logic Unit, berfungsi melakukan proses aritmatika.
• Control Unit, berfungsi mengatur dan memanajemen setiap proses antar komponen dalam mesin menuju ALU.
• Main Memory, memiliki kapasitas penyimpanan 4.096 word dan setiap word mampu menampung 40 bit biner.
3. Arsitektur Modern
Pada arsitektur modern, CPU dilengkapi dengan bagian register dan 1/0 interconnection untuk mendukung kecepatan pemrosesan data.
Gambar 7.14 Struktur CPU modern.
a. Register
Register merupakan memori berkapasitas kecil, tetapi memiliki kecepatan akses yang tinggi. Register berfungsi menyimpan data yang sedang diproses dan instruksi yang akan diproses maupun sedang menunggu antrian. Ada tiga jenis register dalam CPU, yaitu sebagai berikut.
• Instruction Register (IR) berfungsi menyimpan instruksi/data yang sedang diproses.
• General Purpose Register memiliki tugas umum dalam menangani data secara umum. Contohnya menampung data dalam proses (operand register) dan menyimpan hasil proses (accumulator register).
• Program Counter menyimpan address memori utama yang mengandung intstruksi yang sedang dalam proses.
b. Arithmetic Logic Unit
Arithmetic Logic Unit (ALU) melakukan proses aritmatika dan logika sesuai instruksi dari CU.
c. Control Unit
Control Unit berperan dalam mengartikan intruksi-intruksi dari program komputer. Berikut ini fungsi dari control unit.
• Mengakses instruksi atau data dari memori utama.
• Mengambil data dari memori utama dan mengirimnya ke ALU.
• Mengirim instruksi ke ALU tentang urutan proses data.
• Menyimpan hasil proses ALU ke memori utama.
• Mengatur dan mengendalikan peranti input dan output.
d. I/O Interconnection
V/O interconnetion adalah sistem komunikasi data antarkomponen dalam komputer, seperti ALU, CU, dan register serta bus-bus penghubung data.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan II)
1. Tuliskan dan jelaskan empat tahap evolusi teknologi komputer.
2. Tuliskan dan jelaskan sejarah perkembangan generasi komputer.
3. Jelaskan perbedaan arsitektur CPU Babbage dengan Von Neumann.
4. Tuliskan dan jelaskan fungsi bagian-bagian dalam arsitektur CPU modern.
5. Tuliskan dan jelaskan minimal lima jenis register dalam arsitektur CPU modern.
B. Tugas Praktikum (Nilai Praktik II)
1. Buat kelompok dengan jumlah maksimal sebanyak tiga orang.
2. Buat rangkaian logika Full Adder untuk menangani proses penjumlahan 4 bit data menggunakan aplikasi Electronic Workbench.
3. Buat kesimpulan yang merepresentasikan konsep rangkaian tersebut sebagai sebuah bagian ALU dalam CPU.
4. Presentasikan di depan kelas dan lakukan diskusi terhadap pemikiran Anda.
C. Tugas Eksperimen (Nilai Proyek II)
Cari software di internet untuk memeriksa jenis hardware yang terpasang pada komputer Anda, misalnya speccy. Setelah itu, diskusikan di depan kelas.
(E) Organisasi Processor
Inti dari sebuah komputer adalah CPU (Control Processing Unit) atau yang lebih dikenal dengan sebutan processor. CPU berfungsi sebagai otak atau pusat semua proses yang terjadi pada mesin komputer. Semua data yang masuk ke processor akan diolah dan dioperasikan layaknya sebuah bilangan aritmetika dan menghasilkan keluaran berupa data digital dengan format tertentu. CPU atau processor pada dasarnya terdiri atas empat bagian sebagai berikut.
1. Control Unit
Control unit berfungsi untuk mengatur antrian data dan instruksi serta mengontrol proses pada CPU sehingga terjadi sinkronisasi kerja antarkomponen dalam sistem komputer. Di samping itu, CPU juga berperan penting untuk menentukan dan mengambil setiap instruksi operasi dari memori utama dan memerintahkan bagian ALU untuk mengerjakannya.
2. Arithmetic Logic Unit (ALU)
ALU berfungsi untuk melakukan pengolahan data. Di dalam bagian ALU, CPU akan mengoperasikan setiap data sesuai logika aritmetika berdasarkan instruksi-instruksi yang diterimanya. Untuk dapat memberikan instruksi pada ALU, diperlukan sebuah bahasa mesin atau machine language agar instruksi yang diberikan dapat dengan mudah dikerjakan. ALU sendiri memiliki dua bagian penting, yaitu unit aritmetika (bertugas pada operasi aritmetika) dan unit logika (bertugas melakukan proses logika pada tipe data Boolean).
3. Registers
Register merupakan jenis memori berkapasitas kecil, tetapi memiliki kecepatan yang tinggi dalam struktur CPU sebagai media penyimpanan data sementara, baik pada saat akan terjadinya proses, ketika proses sedang terjadi, maupun setelah proses dilakukan. Besar kapasitas setiap register biasanya bernilai sama.
4. CPU Interconnection
CPU interconnection merupakan sistem bus yang terdapat dalam internal CPU. Fungsinya, yaitu untuk menghubungkan setiap bagian atau unit dalam CPU seperti CU, ALU maupun register agar dapat terkoneksi satu sama lain, bahkan dengan external devices.
Gambar 7.15 Organisasi CPU dan bus sistem.
Berdasarkan penggunaannya, register dapat dikategorikan menjadi dua jenis, yaitu sebagai berikut.
1. Register yang Dapat Diprogram
Jenis register ini dapat dilihat isi datanya oleh user atau pengguna ahli yang sering disebut sebagai pemrogram atau programmer. Dengan memodifikasi nilai data pada register ini, pengguna dapat memberikan instruksi kepada CPU. Jenis register ini dapat dikelompokkan menjadi beberapa tipe sebagai berikut.
a. Register data
Register data adalah tipe register yang digunakan untuk menyimpan nilai-nilai tertentu dalam sebuah operasi pada CPU. Berikut ini adalah jenis-jenis register yang termasuk register data.
1) General Purposes Register
General purposes register merupakan register yang digunakan secara umum. Fungsinya untuk menyimpan berbagai jenis data pada sebuah instruksi bahasa mesin ketika melakukan operasi terhadap data. Berikut ini adalah contoh dari General Purposes Register.
a) Accumulator Register (AX)
AX berguna untuk menampung sementara hasil suatu operasi aritmetika atau operasi logika (AL, AH, AX, dan EAX).
b) Base Register (BX)
BX digunakan untuk menampung nilai sebuah alamat offset data yang terletak di memori (BL, BH, BX, dan EBX).
c) Counter Register (CX)
CX memiliki beberapa fungsi sebagai:
• counter operasi loop (CX dan ECX),
• counter operasi shift dan rotate (CL), dan
• counter operasi string (CX).
d) Data Register (DX)
DX memiliki kegunaan, antara lain:
• menampung hasil operasi perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX),
• sebagai media penyimpan hasil operasi pembagian di register DX-AX dan register EDX-EAX, dan
• menampung nilai data heksadesimal (nilai dari kode ASCII) di register DL dan ditampilkan hasilnya pada di layar monitor.
2) Special Purposes Register
Register yang khusus digunakan untuk menyimpan hasil operasi floating point maupun kelebihan hasil operasi perkalian atau penjumlahan.
b. Register penunjuk stack (Stack pointer register)
Register penunjuk stack digunakan untuk setiap instruksi yang tidak membutuhkan alamat. Dengan mengatur nilai stack pointer register, instruksi akan langsung dieksekusi berdasarkan alamat dalam nilai register tersebut. Contoh operasi pada register ini adalah sebagai berikut.
1) Pop, digunakan untuk mengambil data dari stack.
2) Push, digunakan untuk menyimpan data pada stack dan menempatkannya pada posisi tertinggi stack.
c. Register penanda (Flag register)
Register ini berisi nilai keluaran hasil sebuah operasi dari proses yang dilakukan. Nilai register ini dapat dilihat oleh pemakai, tetapi hanya dapat dimodifikasi atau di-update oleh mesin secara otomatis sebagai nilai keluaran operasi yang sudah dikerjakannya.
d. Register alamat (Address register)
Register yang secara khusus digunakan untuk menyimpan daftar alamat data, alamat instruksi di memori utama, serta bagian alamat yang digunakan pada sebuah operasi aritmetika dengan pengalamatannya. Ada dua jenis register yang dapat dikategorikan sebagai register alamat, yaitu sebagai berikut.
1) Index register
Register ini sering dimanfaatkan pada mode pengalamatan data secara berindeks. Kelebihan mode pengalamatan berindeks adalah kecepatan dan efektivitas yang lebih tinggi dalam pencarian sebuah data.
2) Segment pointer register
Dengan menggunakan register ini, pengalamatan memori dibagi menjadi segmen- segmen tertentu. Setiap segmen berisi satu blok memori yang panjangnya tidak sama. Untuk melakukan pengaksesan alamat segmen dalam memori, nilai segmen dan offset register harus di-set terlebih dahulu. Nilai register ini menjadi petunjuk segmen sebagai lokasi permulaan dari segmen memori.
2. Register yang Berfungsi Sebagai Control dan Status
Register ini berguna untuk mengontrol atau mengendalikan sebuah proses sehingga tidak dapat dilihat atau dimodifikasi oleh programmer. Namun, sebagian nilai register tetap dapat diakses dengan beberapa perintah mesin yang dijalankan dalam bentuk mode kontrol atau kernel sebuah sistem operasi. Ada beberapa jenis register yang dapat dikelompokkan pada jenis ini, yaitu sebagai berikut.
a. Register untuk pengalamatan dan buffering
1) MBR (Memory Buffer Register)
MBR berguna untuk menampung data yang akan ditulis ke memori serta data hasil proses read dari memori, dengan alamat data yang dituju didefinisikan oleh MAR.
2) MAR (Memory Address Register)
MAR berguna untuk menyimpan setiap alamat memori yang akan diakses (read/write process).
3) I/O AR (Input Output Address Register)
I/O AR berfungsi untuk menyimpan alamat port input-output yang akan diakses, baik dalam proses baca maupun tulis.
4) I/O BR (Input Output Buffer Register)
I/O BR berguna menampung data yang akan dikirimkan (write) atau menyimpan data sebuah port, dengan alamat port yang disimpan oleh I/O AR.
b. Register yang digunakan untuk mengeksekusi instruksi
1) PC (Program Counter)
PC berguna menyimpan alamat memori tempat menyimpan instruksi yang akan dieksekusi selanjutnya.
2) IR (Instruction Register)
IR berisi instruksi yang akan dijalankan.
c. Register untuk menampilkan informasi status
Jenis register ini merupakan sebuah register atau gabungan dari beberapa register yang disebut sebagai PSW (Program Status Word). Register PSW mengandung kode sebuah kondisi tentang proses yang terjadi beserta informasi status lainnya, yaitu sebagai berikut.
1) Zero
Informasi atau flag ini berfungsi untuk menandakan bahwa operasi yang terjadi sebelumnya menghasilkan nilai nol.
2) Equal
Flag ini berguna untuk merekam kondisi sebuah operasi, yaitu bernilai sama atau tidak dengan operasi sebelumnya.
3) Sign
Sign berguna untuk mencatat tanda yang dihasilkan operasi yang telah dijalankan sebelumnya, yaitu bernilai positif atau negatif.
4) Carry
Flag ini berguna untuk mencatat nilai carry (nilai bawaan atau lebihan dari operasi penjumlahan atau perkalian yang tidak dapat ditampung pada register accumulator).
5) Interrupt enable/disable
Flag ini merekam kondisi sebuah interrupt, yaitu dapat diaktifkan atau tidak.
6) Supervisor
Flag ini akan mencatat mode eksekusi yang sedang dijalankan. Mode supervisor adalah sebuah kondisi dengan semua instruksi dapat dijalankan, sedangkan mode user tidak dapat menjalankan beberapa jenis instruksi penting yang hanya bisa berjalan pada mode supervisor.
Gambar 7.16 Struktur register dalam CPU.
Zona Aktivitas
A. Tugas Pengetahuan (Nilai Pengetahuan III)
1. Jelaskan fungsi bagian-bagian dalam processor.
2. Apa yang dimaksud dengan register?
3. Berdasarkan penggunaannya, register dikelompokkan menjadi dua jenis. Tuliskan dan jelaskan.
4. Apa perbedaan General Purposes Register dengan Special Purposes Register?
B. Tugas Praktikum (Nilai Praktik III)
1. Pada tugas praktikum ini, kita akan menjalankan bahasa mesin menggunakan aplikasi debug.exe yang terdapat pada Windows.
2. Buat kelompok dengan jumlah anggota sebanyak dua siswa.
3. Untuk melakukan praktik ini, ada beberapa persyaratan yang harus disediakan terlebih dahulu, yaitu sebagai berikut.
a. Satu perangkat komputer
b. OS Windows, minimal Windows 7 atau versi setelahnya.
4. Buatlah folder dengan nama "ASM" di drive C.
5. Download aplikasi DOSBox pada situs https://sourceforge.net/projects/dosbox/?source=typ_ redirect.
6. Download debug.exe pada situs http://www.softpedia.com/get/Programming/ Debuggers-Decompilers-Dissasemblers/DOS-Debug.shtml#download.
7. Setelah itu, lakukan instalasi aplikasi DOSBox dengan direktori kerja default berada di C:\Program Files (x86)\DOSBox-0.74.
8. Copy debug.exe ke folder ASM pada direktori C:\ yang telah dibuat sebelumnya.
9. Jalankan aplikasi DOSBox dengan mengklik Start-Programs-DOSBox-DOSBox.
10. Setelah aplikasi DOSBox muncul, lakukan perintah berikut.
a. Ketik "mount c c:\ASM", kemudian ketik C:
b. Ketik debug pada prompt dos, setelah itu, akan muncul prompt (-).
c. Ketik d FFFF: 0005 untuk menampilkan BIOS Date Revision.
d. Untuk menampilkan isi register komputer, gunakan perintah d pada prompt (-) pada mode debug.
e. Untuk mengubah nilai register AX menjadi 1333 gunakan perintah rax kemudian ketikan nilainya menjadi 1333.
11. Tugas kelompok:
a. Lakukan analisis terhadap nilai register dan nilai BIOS Date Revision di komputer kelompok Anda.
b. Presentasikan hasil analisis kelompok Anda di depan kelas.
C. Tugas Eksperimen (Nilai Proyek III)
1. Pada tugas eksperimen berikut Anda akan membuat file berekstensi .com untuk menampilkan output string "SMK BISA" menggunakan bahasa mesin dengan aplikasi debug.exe.
2. Jalankan aplikasi DOSBox, kemudian mount direktori C: pada folder C:\ASM.
3. Setelah itu, eksekusi aplikasi debug.exe.
4. Setelah muncul prompt (-), ketikkan perintah e 100. Setelah itu, ketikkan kode berikut:
EB 10 53 4D 4B 20 42 49 53 41 OD 0A 24 B4 09 BA 02 01 CD 21 B4 4C CD 21
5. Cara mengetikan kode heksadesimal di atas adalah mengetikan setiap kode, kemudian diikuti spasi (tekan tombol space keyboard) hingga kode terakhir yaitu 21. Setelah itu, tekan enter.
6. Ketikkan RCX <enter> lalu ketikan alamat 1D.
7. Selanjutnya, simpan dengan nama file smk.com dengan perintah n smk.com <enter>.
8. Setelah itu, simpan hasil penulisan dengan perintah w <enter>.
9. Ketikkan u 100 <enter> untuk melihat nilai kode assembler-nya.
10. Untuk melihat isi kode filenya, tekan perintah d 100<enter>.
11. Untuk keluar dari mode debug, tekan tombol q<enter>.
12. Untuk melihat hasil eksekusi file smk.com, ketikkan perintah smk.com pada prompt.
D. Tugas Eksperimen Kelompok (Nilai Proyek III)
1. Buatlah file dengan nama latihan.com menggunakan debug untuk menampilkan nama sekolah Anda sebagai contoh "SMK 2 Surakarta". Untuk melakukan hal tersebut, ubahlah kode heksadesimal pada bagian kode 53 4D 4B 20 42 49 53 41. Pada langkah ketiga dengan nilai ASCII Heksadesimal yang dapat dilihat pada situs http://www.asciitable.com/
2. Presentasikan hasil analisis kelompok Anda di depan kelas.
(F) Siklus Kerja CPU
Konsep kerja sebuah processor dalam komputer sebenarnya kerja sebuah dalam komputer cukup sederhana. Processor akan mengambil instruksi dari memori kemudian mengerjakannya. Setiap kegiatan yang dilakukan processor akan memerlukan sebuah input. Selanjutnya, setelah diolah, instruksi tersebut akan menghasilkan sebuah keluaran atau output. Operasi tersebut yang dilakukan dalam waktu tertentu disebut sebagai siklus kerja processor.
Gambar 7.17 Skema kerja CPU.
ALU sebenarnya memiliki register-register sendiri dalam membantu prosesnya, seperti accumulator register, MQ register, dan MBR yang dilengkapi dengan sirkuit logika aritmetika. Sementara itu, CU juga memiliki register guna mendukung setiap operasi yang dilakukannya, antara lain MAR, IR, IBR, PC, dan sirkuit kontrol.
ALU pada prinsipnya hanya melakukan operasi aritmetika seperti operasi penambahan, pengurangan, perkalian, dan pembagian. Di samping itu, ALU juga melakukan operasi terhadap tipe data logika atau Boolean yang akan menghasilkan sebuah keluaran yang disimpan pada register output, kemudian disimpan pada register dan dikirimkan ke memori. Oleh karena itu, register dalam sebuah proses instruksi dapat dibedakan menjadi dua jenis, yaitu sebagai berikut.
Gambar 7.18 Siklus kerja processor.
1. Memori register
Memori register adalah jenis register yang berfungsi sebagai memori ketika menerima instruksi sehingga dapat memunculkan nilai data word (ukuran data yang ditransfer antara memori dan register-register) ke dalam register-register yang dapat digunakan sebagai nilai input baru bagi ALU sebagai instruksi selanjutnya.
2. Register-register
Instruksi yang diberikan pada register-register digunakan untuk mengambil dua operand atau data dari register- register tersebut. Selanjutnya, data-data tersebut menjadi input bagi ALU untuk diproses lebih lanjut.
Tahapan dalam siklus kerja sebuah operasi pada CPU dapat dikategorikan menjadi dua, yaitu proses pengambilan data (fetching cycle) dan proses mengeksekusi instruksi (executing cycle). Gambaran siklus sederhana processor dapat dilihat pada bagan flowchart berikut.
Gambar 7.19 Siklus sederhana CPU.
Berikut ini adalah tahapan proses yang dilakukan CPU dalam sebuah siklus eksekusi instruksi.
a. CPU menentukan alamat instruksi yang akan dieksekusi.
b. Setelah mengetahui alamat instruksi, instruksi akan diambil dan diletakkan pada register instruksi (instruction register) yang berdekatan posisinya dengan control unit.
c. Instruksi tersebut kemudian diterjemahkan (decode) untuk mengetahui jenis operasi apa yang harus dikerjakan. Tahapan ini disebut dengan decoding.
d. Tahapan berikutnya adalah menentukan dan menghitung alamat operand (data yang akan dioperasikan). Setelah mengetahui alamat data, data tersebut akan diambil.
e. Setelah nilai data diperoleh dan jenis operasi diketahui, tahapan selanjutnya adalah melakukan operasi terhadap operand-operand atau data tersebut.
f. Hasil dari operasi data tersebut akan disimpan pada register.
g. Setelah selesai mengerjakan operasi tersebut, CPU akan melakukan pemeriksaan adanya interupsi baru atau tidak. Jika ada, proses eksekusi instruksi berikutnya akan ditunda dan diganti dengan mengeksekusi instruksi interupsi tersebut.
Setiap proses operasi dimulai, CPU akan membaca instruksi yang tersimpan di dalam memori, kemudian meletakkannya ke dalam register instruksi atau IR. Kegiatan tersebut selalu dikontrol dan diawasi oleh register PC pada setiap siklus. Aktivitas operasi yang terjadi dalam processor, antara lain:
• komunikasi data antara CPU dengan memori, yaitu transfer data dari CPU ke memori atau sebaliknya,
• komunikasi data yang terjadi antara CPU dengan I/O devices, yaitu transfer data antara CPU dengan modul I/O atau sebaliknya,
• control adalah kode perintah atau instruksi yang digunakan untuk melakukan pengontrolan terhadap fungsi komponen atau sebuah proses kerja, sebagai contoh melakukan interrupt terhadap sebuah operasi, dan
• pengolahan data, CPU melakukan proses aritmetika terhadap data seperti penjumlahan, pengurangan, perkalian, dan pembagian.
Gambar 7.20 Diagram kerja siklus instruksi CPU.
Keterangan diagram adalah sebagai berikut.
1. Tahapan proses dimulai dari IAC atau Instruction Address Calculation, yaitu proses untuk mengkalkulasi atau menentukan alamat instruksi yang terdapat pada memori atau modul I/O berikutnya yang akan dieksekusi.
2. Proses tersebut dilanjutkan dengan proses IF atau Instruction Fetch, yaitu mengakses alamat memori atau modul I/O dan mengambil instruksi tersebut ke processor.
3. Selanjutnya adalah proses IOD atau Instruction Operation Decoding, yaitu setelah peletakan instruksi yang diambil ke CPU berhasil, selanjutnya dilakukan decoding, yaitu menerjemahkan instruksi tersebut menjadi sebuah operasi yang harus dikerjakan oleh CPU, berupa operasi penjumlahan, pengurangan, perkalian, atau pembagian.
4. Setelah mengetahui jenis operasi yang harus dilakukan, dilanjutkan dengan proses OAC atau Operand Address Calculation. Pada operasi ini, CPU akan menentukan alamat operand atau data yang akan dioperasikan terdapat pada memori atau modul I/O. Proses ini dapat melibatkan lebih dari satu memori atau modul I/O.
5. Langkah selanjutnya adalah proses OF atau Operand Fetch (OF) CPU akan mengambil nilai data dari memori atau
6. modul I/O berdasarkan alamat operand yang diperoleh dari proses OAC sebelumnya. Setelah sukses memperoleh data (operand) dan operasi yang harus dilakukan berdasarkan instruksi yang diperoleh, tahap selanjutnya adalah proses DO atau Data Operation. Pada proses ini, CPU akan menjalankan operasi sesuai dengan instruksi tersebut.
7. Selanjutnya adalah proses OS atau Operand Store, dengan keluaran data hasil operasi atau eksekusi akan disimpan ke memori atau modul I/O. Pada tahap inilah, biasanya output dapat dilihat oleh user.
8. Proses terakhir adalah Cl atau Check Interrupt, tahapan ketika CPU akan memeriksa adanya interrupt atau tidak. Jika ada, proses dikembalikan mulai dari tahapan OAC. Namun, jika ternyata tidak ada, CPU akan mengerjakan interrupt tersebut pada tahapan 10 atau Interrupt Operation kemudian proses dalam CPU akan berulang mulai dari tahapan proses IAC.
Dari pemaparan sebelumnya, dapat disimpulkan bahwa dalam siklus instruksi CPU terdapat empat subsiklus penting sebagai berikut.
• Fetching
Fetching, yaitu proses pengambilan data atau instruksi dari memori ke CPU.
• Decoding
Decoding adalah proses menerjemahkan instruksi yang diperoleh CPU menjadi sebuah perintah operasi tertentu, yang berperan penting menentukan jenis operator operasi dan alamat data yang harus diambil.
• Executing
Executing merupakan proses melakukan operasi terhadap data atau operand dengan operator yang diperoleh.
• Interrupt
Interrupt adalah jenis instruksi yang berisi mekanisme penghentian atau pengalihan sementara sebuah operasi yang dilakukan oleh CPU oleh memori atau modul I/O. Interrupt berguna untuk mengatur dan memanajemen rangkaian instruksi antara CPU dengan memori atau modul I/O agar bekerja lebih efektif dan efisien.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan IV)
1. Jelaskan konsep kerja CPU dan gambarkan bagan kerjanya.
2. Apa yang dimaksud dengan siklus kerja CPU? Gambarkan dengan flowchart.
3. Jelaskan empat aktivitas yang dapat terjadi pada komunikasi data CPU dengan memori atau modul I/O.
4. Jelaskan subsiklus fetching, decoding, executing, dan interrupt, serta gambarkan diagram kerja siklus tersebut.
B. Tugas Praktikum (Nilai Praktik IV)
1. Pada praktikum kali ini, Anda akan membuat program Assembler untuk menampilkan huruf "X" dengan menggunakan Turbo Assembler (TASM) Editor.
2. Buat kelompok dengan jumlah anggota sebanyak tiga siswa.
3. Syarat yang harus disediakan untuk melakukan praktikum ini adalah sebagai berikut.
a. Seperangkat PC.
b. OS Windows, minimal Windows 7 atau versi setelahnya.
c. Bahasa pemrograman Assembler 5.0, bisa di-download di https://sourceforge. net/projects/tasmeditor/files/tasmeditor/1.00/tasmeditor.zip/download?use_mirror=nchc
d. Aplikasi DOSBox.
4. Setelah berhasil men-download TASM Editor.rar, ekstrak file tersebut ke direktori C:\ASM.
5. Buka aplikasi note seperti notepad, notepad++, atau sublime.
6. Tuliskan kode berikut.
7. Simpan kode tersebut dengan nama pertama.asm, simpan dalam folder baru bernama "coba" dalam direktori C:\ASM.
8. Buka aplikasi DOSBox, ketik mount c: c:\ASM, kemudian ketik c:\
9. Setelah direktori berpindah ke C:\, ketik cd TASM.
10. Selanjutnya, lakukan compile dengan mengetik instruksi dengan format TASM lokasi_direktori_file tujuan_direktori_file.
11. Periksa kembali pada direktori c:\asm\ sudah terdapat file pertama.obj dengan perintah dir c:\coba\pertama.*
12. Lakukan linked dengan tlink, ketikan tlink/t c:\coba\pertama.obj
13. Selanjutnya, jalankan file pertama.com yang telah dibuat dengan mengetik c:\ coba\pertama.com
14. Diskusikan hasil praktik yang Anda kerjakan dan presentasikan di depan kelas.
C. Tugas Eksperimen (Nilai Proyek IV)
Buatlah sebuah program Assembler untuk menampilkan tulisan "Hello World".
(G) Struktur Interkoneksi Bus
Seperti telah dijelaskan pada materi sebelumnya, sistem komputer terdiri dari beberapa bagian utama, yaitu peranti input - proses - output. Bagian dalam sistem komputer memiliki kapasitas, format, dan kecepatan data yang berbeda. Setiap data yang dimasukkan atau dikeluarkan dari peranti I/O akan ditampung terlebih dahulu ke dalam sebuah antrean di memori utama, kemudian diteruskan ke CPU untuk diproses. Oleh karena itu, diperlukan sebuah saluran yang dapat menjembatani komunikasi data antara peranti I/O dengan memori dan CPU yang disebut bus. Dengan bus, data yang dihasilkan oleh setiap komponen akan disinkronisasi, baik itu format data, kecepatan, dan jenisnya agar sesuai dengan kebutuhan memori sehingga dapat dikirim dan diterima dengan baik oleh setiap komponen dalam komputer.
Kumpulan saluran komunikasi antarkomponen dalam komputer disebut sebagai struktur interkoneksi. Struktur interkoneksi memiliki karakteristik yang berbeda-beda, tergantung dari jenis, format, kecepatan, dan karakteristik datanya. Perhatikan gambar berikut.
Gambar 7.21 Struktur koneksi modul-modul komputer.
Gambar tersebut menjelaskan bahwa setiap modul atau komponen komputer memiliki jenis data dengan kecepatan dan format yang berbeda-beda. Oleh karena itu, struktur interkoneksi bus harus men-support beberapa jenis komunikasi data antarkomponen, di antaranya adalah sebagai berikut.
1. Transfer data dari modul I/O ke modul memori atau sebaliknya, teknik ini dapat digunakan pada sistem DMA.
2. Komunikasi data dari CPU ke memori atau sebaliknya. CPU harus dapat melakukan proses pembacaan data (read) dan instruksi yang tersimpan di sel memori. Di samping itu, CPU juga harus dapat menulis (write) data ke dalam sel-sel memori berdasarkan address data.
3. Komunikasi data dari modul I/O ke CPU atau sebaliknya. CPU harus dapat membaca setiap data yang dikirimkan oleh peranti input dan mengirimkan data hasil proses ke peranti output melalui peranti pengendali atau modul I/O.
Ketika melakukan transfer data melalui bus, kemungkinan terjadinya crash (tabrakan data) relatif besar, karena penggunaan satu saluran oleh beberapa komponen komputer dalam satu waktu secara bersamaan. Oleh karena itu, diperlukan pengaturan secara logika yang dapat membedakan jenis dan format data yang dilewatkan, walaupun sebenarnya sebuah bus hanya digunakan oleh satu peripheral untuk melakukan transfer data dalam satu waktu.
Gambar 7.22 Struktur bus.
Pada umumnya, bus secara struktural terbagi menjadi tiga bagian, yaitu sebagai berikut.
a. Data bus
Saluran data bus digunakan sebagai lintasan terjadinya perpindahan data dari satu modul ke modul lainnya. Sebagai contoh, ketika pengiriman data dari CPU ke memori. Kemampuan sebuah data bus dalam melewatkan data (dalam satuan word) tergantung dari banyaknya saluran yang dimilikinya, yang berkisar antara 8, 16, 32, bahkan mencapai 64 saluran. Saluran (channel) ini dapat bekerja secara paralel dan mampu bekerja dalam dua arah. komunikasi data. Semakin lebar data bus, maka semakin besar pula data yang dapat dilewatkannya.
b. Address bus
Pada saluran address bus, informasi berupa alamat pengirim data dan alamat tujuan data yang dikirim akan dilewatkan. Dengan informasi yang dilewatkan melalui bus ini, maka setiap peripheral pengirim maupun penerima dapat dengan mudah menentukan rute perjalanan data dan memilih alamat serta port peripheral sesuai dengan keperluan. Karakteristik komunikasi data pada address bus ini adalah model komunikasi satu arah. Sebagai contoh, CPU memberikan alamat sebuah peripheral sebagai tujuan pengiriman data gambar ke peranti output monitor.
c. Control bus
Peran utama dari control bus adalah melakukan pengontrolan terhadap data bus dan address bus dengan setiap peripheral yang tersambung. Hasilnya akan diperoleh sinkronisasi antara proses pengiriman dan penerimaan data melalui sinyal kontrol. Sinyal kontrol terbagi menjadi dua jenis, yaitu timing signal dan interrupt signal. Fungsi timing signal adalah untuk memvalidasi setiap data dan alamat, sedangkan interrupt signal bertugas untuk memberikan sinyal perintah dalam proses pembentukan sebuah operasi tertentu pada modul. Berikut ini beberapa proses yang dapat terjadi pada control bus.
Tabel 7.2 Macam-macam dari proses kontrol.
Gambar 7.23 Model koneksi saluran bus.
Jika melihat model koneksi saluran bus pada Gambar 7.23, terlihat bahwa terdapat tiga saluran berbeda yang menghubungkan peranti CPU, memori, dan modul I/O. Namun pada dasarnya, ketiga saluran tersebut merupakan saluran logika dalam sebuah saluran fisik. Bus dalam komputer, secara fisik dapat dibedakan menjadi dua jenis, yaitu saluran bus bersifat tetap dan saluran bus yang penggunaannya bersifat fleksibel. Saluran permanen bersifat tetap adalah bus yang terpasang pada mainboard komputer yang menghubungkan komponen- komponen yang terpasang pada mainboard, contohnya saluran bus yang menghubungkan CPU dengan memori dan CPU dengan modul I/O. Sementara itu, saluran bus yang bersifat fleksibel adalah bus berupa socket atau slot yang memungkinkan pemasangan atau pelepasan modul-modul tertentu pada slot tersebut. Sebagai contoh, pemasangan kartu jaringan pada slot ISA, PCI atau PCI express, dan AGP. Dengan demikian, dapat disimpulkan bahwa bus adalah rangkaian elektronika yang berfungsi sebagai konduktor listrik yang dapat menghantarkan setiap data-data yang dikomunikasikan oleh setiap modul-modul komputer. Selain itu, bus juga memiliki saluran-saluran yang secara logis dapat membedakan jenis data tetapi masih memiliki keterkaitan antara data yang satu dengan data yang lain. Prinsip operasi dasar penggunaan bus oleh modul adalah sebagai berikut.
1. Ketika akan melakukan pengiriman data, modul akan mengirimkan permintaan penggunaan saluran bus untuk pertama kali.
2. Jika request tersebut disetujui, modul akan mengirimkan data melalui bus ke modul perangkat lainnya.
3. Jika modul tertentu menginginkan data dari modul lainnya, akan didahului dengan mengirimkan request kepada bus.
4. Jika request tersebut disetujui, modul yang bersangkutan akan mengirimkan permintaan kepada modul tujuan melalui control bus dan address bus.
5. Setelah data yang berisi permintaan kepada modul tujuan sampai, maka proses akan berulang mulai dari urutan nomor 1. Sementara itu, modul pengirim akan menunggu jawaban dari modul tujuan.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan V)
1. Apakah yang Anda ketahui tentang sistem bus pada sistem komputer?
2. Gambarkan dan jelaskan struktur koneksi pada modul-modul yang terpasang pada komputer.
3. Jelaskan jenis-jenis komunikasi data yang dapat terjadi pada modul-modul komputer.
4. Jelaskan jenis saluran dalam bus ketika digunakan sebagai sambungan komunikasi.
B. Tugas Praktikum (Nilai Praktik V)
1. Buat kelompok dengan jumlah anggota sebanyak tiga siswa.
2. Lakukan identifikasi tentang spesifikasi hardware komputer Anda, meliputi:
a. spesifikasi processor,
b. spesifikasi RAM,
c. jenis-jenis port, dan
d. driver peripheral yang ter-install pada komputer.
3. Analisis dapat dilakukan secara fisik dengan membongkar komputer atau secara virtual menggunakan utility dxdiag tool maupun device manager pada Windows.
4. Presentasikan hasil analisis kelompok Anda di depan kelas.
C. Tugas Eksperimen (Nilai Proyek V)
1. Buat kelompok dengan jumlah anggota sebanyak tiga siswa.
2. Lakukan analisis terhadap sistem komputer generasi lama, seperti 486 atau Pentium 486 dan komputer generasi terbaru seperti komputer dengan multi processor.
3. Setelah itu, presentasikan hasil analisis kelompok Anda di depan kelas.
(H) Struktur Hierarki Bus
Perangkat keras atau modul yang terpasang pada mainboard komputer memiliki jenis yang bermacam-macam. Perbedaannya terletak pada kecepatan proses, tingkat akurasi, jenis pengolahan data, dan operasi dasar yang mengakibatkan perbedaan yang mencolok sehingga memerlukan proses sinkronisasi agar dapat dipahami di semua tingkat modul. Kondisi demikian dapat menurunkan performance atau kinerja komputer dalam melakukan pengolahan data. Banyaknya peripheral yang terhubung pada bus dapat menyebabkan hal-hal sebagai berikut.
1. Lalu lintas komunikasi data menjadi tinggi dan bersifat kompleks sehingga berdampak pada munculnya antrean panjang.
2. Semakin lama waktu yang diperlukan untuk sinkronisasi menyebabkan semakin panjangnya delay time atau waktu tunggu.
3. Sebuah saluran bus memiliki kapasitas lebar data dalam ukuran bit ketika menghantarkan data. Jika semakin banyak peranti yang terhubung, maka kemungkinan kapasitas akan penuh yang berdampak pada laju data menjadi semakin lambat.
Dengan demikian, konstruksi model bus yang telah digambarkan pada subbab sebelumnya, ketika sebuah saluran bus menangani semua konektivitas data setiap modul yang tersambung menjadi tidak efisien lagi. Untuk mencegah hal itu terjadi, maka modul-modul tersebut dikelompokkan berdasarkan kecepatan dan lebar data yang diperlukan ketika berkomunikasi. Selanjutnya, kelompok modul-modul tersebut dihubungkan dengan bus sesuai klasifikasi yang telah ditentukan. Dalam hal ini, bus dalam koneksinya dibagi menjadi beberapa jenis, yaitu sebagai berikut.
1. Bus sistem
Bus sistem menangani komunikasi data antara modul memori utama, cache memori pada processor, dan semua peranti I/O yang tersambung pada mainboard komputer melalui expansion bus interface.
2. Bus lokal
Bus lokal menjadi penghantar data antara cache memori dengan CPU.
3. Bus ekspansi
Bus ekspansi menjadi saluran utama bagi setiap peripheral yang terhubung dengan mainboard seperti NIC, SCSI Controller, peralatan lainnya seperti modem, peranti serial dan paralel seperti mouse, keyboard, dan printer.
Gambar 7.24 Arsitektur multiple bus berkecepatan rendah.
Kelemahan tipe arsitektur jenis ini adalah penggabungan saluran data antara memori utama dan cache memori dengan expansion bus yang menyebabkan proses konversi kecepatan data (sinkronisasi) menjadi lama, karena semua proses bertumpu pada jalur yang sama, yaitu system bus. Oleh karena itu, arsitektur ini terus dikembangkan dengan membuat sebuah bus tambahan, yaitu high speed bus. Fungsi high speed bus adalah khusus menyediakan saluran untuk perangkat-perangkat berkecepatan tinggi seperti SCSI Controller, NIC, serta video system yang terhubung langsung dengan cache memori dan memori utama. Sementara itu, expansion bus digunakan untuk beberapa peripheral berkecepatan lebih rendah seperti modem dan faksimili, atau peranti yang memanfaatkan port serial dan paralel.
Gambar 7.25 Arsitektur multiple bus berkecepatan tinggi.
Pada arsitektur multiple bus berkecepatan tinggi, terdapat perbedaan penempatan saluran high speed bus untuk peranti- peranti berkecepatan tinggi. Sementara itu, pada peranti eksternal berkecepatan rendah menggunakan saluran expansion bus. Dengan demikian, aksesibilitas CPU dan memori melalui system bus terhadap devices eksternal menjadi lebih terorganisasi dan lebih cepat dibandingkan arsitektur sebelumnya.
(I) Jenis dan Fungsi Bus
Berdasarkan jenisnya, saluran bus dibedakan menjadi dua tipe, yaitu sebagai berikut.
1. Dedicated Bus
Tipe saluran bus yang hanya digunakan untuk menghantarkan data tertentu dalam setiap waktu. Contohnya, bus yang hanya menghantarkan sebuah alamat atau address peripheral saja, atau hanya melewatkan paket data yang berisi informasi atau interupsi dari peripheral satu ke peripheral lainnya. Metode ini memiliki arsitektur sederhana tetapi pada beberapa kasus terdapat kelemahan karena memiliki jumlah saluran yang banyak sesuai dengan peripheral atau modul yang dimiliki.
Gambar 7.26 Dedicated bus.
2. Multiplexed bus
Multiplexed bus mampu melewatkan paket data informasi, pengalamatan, dan kontrol data secara bersama-sama pada sebuah saluran yang sama. Tipe ini mempunyai efisiensi dalam perancangan infrastruktur saluran bus. Karena sebuah saluran digunakan untuk sambungan beberapa data yang berbeda, maka terdapat kemungkinan terjadinya collision dan antrian yang menyebabkan kecepatan transfer data menurun seiring bertambahnya jumlah modul dan koneksi yang terjadi. Sehingga bus ini memerlukan prosedur transfer data yang lebih rumit dibandingkan dengan tipe dedicated bus.
Gambar 7.27 Multiplexed bus.
Rancangan suatu bus juga dapat dibedakan berdasarkan metode arbitrasi. Arbitrasi adalah menentukan model pengaturan dan pengontrolan ketika menggunakan saluran bus pada saat melakukan transfer data. Jika dilihat dari metode arbitrasi yang dijalankannya, bus dapat dikelompokkan menjadi dua golongan, yaitu sebagai berikut.
1. Teknik Arbitrasi Tersentral
Teknik arbitrasi tersentral merupakan metode dalam mengendalikan setiap aktivitas penggunaan bus oleh modul-modul yang terhubung dengan komputer secara terpusat oleh pengendali bus. Arbiter atau pengendali bus tersebut dapat berupa modul tertentu atau merupakan bagian khusus yang menjadi tugas dan fungsi komponen CPU.
2. Teknik Arbitrasi Terdistribusi
Pada teknik arbitrasi terdistribusi, setiap modul yang tersambung dengan komputer memiliki hak dan wewenang yang sama dalam penggunaan bus tanpa adanya pengaturan secara terpusat. Oleh karena itu, dalam modul terdapat bagian yang secara khusus menentukan jadwal penggunaan bus yang disebut sebagai logika pengontrol akses atau access control logic.
Ketika menggunakan saluran bus untuk melakukan transfer data dalam satu waktu, dikenal dua metode pewaktuan atau yang lebih dikenal dengan istilah timing antara lain sebagai berikut.
1. Metode Pewaktuan Asinkron
Pada metode pewaktuan asinkron, setiap event penggunaan saluran bus untuk komunikasi data akan dilakukan dengan memperhatikan proses yang telah terjadi sebelumnya. Hal tersebut dapat dilakukan dengan memberikan sinyal yang bertugas mengidentifikasi dan memvalidasi setiap data yang ditransfer ke saluran bus. Dengan metode ini, kerja modul yang beraneka ragam
kecepatannya dapat saling bekerja tanpa harus disinkronisasi terlebih dahulu selama memiliki teknik transfer data yang seragam.
2. Metode Pewaktuan Sinkron
Pada metode ini, event penggunaan saluran bus dilakukan secara serempak dan teratur berdasarkan sebuah clock. Event transmisi data dari modul satu ke modul lainnya dilakukan dengan melihat siklus waktu dalam sebuah bus. Siklus waktu yang terjadi pada saluran bus dari keadaan awal transmisi data bernilai 1 sampai data bernilai 0 memiliki peran penting dalam menentukan besarnya slot waktu yang berpengaruh terhadap kecepatan menangani setiap modul yang berbeda-beda teknik operasinya.
Kecepatan bus dalam menangani setiap event transfer data dalam komputer sangat dipengaruhi oleh lebar data yang dimiliki. Semakin lebar datanya, maka semakin cepat pula kecepatan dalam menghantarkan data. Di samping itu, setiap bus harus mendukung setiap operasi yang dilakukan oleh modul-modul yang terhubung dalam komputer, seperti operasi baca (read), operasi tulis (write), operasi transfer data, maupun operasi kombinasi (read, write, dan transfer).
Berikut adalah contoh-contoh bus yang beredar di pasaran.
1. Processor Bus
Processor bus merupakan bus yang menghubungkan antara komponen CPU dengan mainboard komputer. Bus ini menjadi saluran utama ketika terjadi pengaksesan data dari CPU ke cache, cache ke memori, atau CPU ke memori. Bentuk dan arsitektur bus ini
tergantung dari jenis processor dan mainboard yang digunakan. Teknologi bus pada CPU mengalami perkembangan, mulai dari:
a. Front Side Bus (FSB)
FSB merupakan generasi awal bus CPU utama yang menjadi saluran fisik penghubung CPU dengan chipset northbridge pada motherboard komputer yang berfungsi sebagai penghantar data-data elektronis yang menuju atau keluar dari processor (dua arah komunikasi). Kemampuan FSB dalam melewatkan data dipengaruhi oleh beberapa faktor seperti lebar bus, frekuensi bus, dan jumlah transfer per detik (transfer per second).
Gambar 7.28 Konstruksi FSB dan chipset mainboard.
Contoh
Hitung besar bandwidth FSB yang memiliki lebar data 64 bit (atau 8 byte) dengan frekuensi 300 MHz dan mampu melakukan 4 kali transfer setiap detik.
Penyelesaian:
Artinya, processor tersebut mempunyai front side bus yang mampu bekerja mengalirkan data maksimal 9.600 MB tiap detik.
b. Hyper transport bus
Teknologi processor yang mengembangkan teknik multi CPU dalam sebuah bus memungkinkan pengerjaan sebuah proses menjadi lebih cepat selesai. Konsep FSB pada generasi ini sudah mulai ditinggalkan, dan cenderung mengarah pada metode multi-link point- to-point interconnect. Keuntungan metode ini adalah kemampuan dalam mendukung proses transmisi data dua arah secara bersamaan baik send maupun receive dengan lebar bandwidth yang lebih besar dari FSB.
Gambar 7.29 Hyper transport bus pada multi processor.
2. Bus ISA (Industry Standard Architecture)
Bus ISA merupakan generasi awal arsitektur bus berupa slot expansion pada mainboard komputer dengan lebar data 8 bit yang digunakan pada komputer IBM PC 5150. Dalam perkembangannya, bus ISA tidak hanya diproduksi dengan lebar data 8 bit, tetapi juga 16 bit seperti penjelasan berikut.
a. Bus ISA dengan jumlah 62 konektor pada slot-nya memiliki lebar data 8 bit mendukung kecepatan clock 4,77 MHz hingga 8,33 MHz yang memang dirancang untuk Processor Intel 8088. Dengan clock rate tersebut, bus ini mampu mentransfer data 4,77 MBps hingga 8,33 MBps sehingga cocok digunakan untuk peripheral serial, paralel, floppy disk controller, keyboard, dan mouse.
b. Bus ISA generasi 16 bit mampu bekerja dua kali lebih cepat dari pada versi 8 bit. Tipe bus ini cocok dengan Processor Intel 80286. Perbedaan secara fisik dengan bus ISA 8 bit adalah penambahan jumlah konektor pada slot sebanyak 36 hingga total konektor pada slot bus berjumlah 98.
3. Bus MCA (Micro Channel Architecture)
Bus MCA merupakan jenis I/O bus dengan lebar data 32 bit yang khusus digunakan untuk komputer mikro sebagai pengganti bus ISA 8 bit atau 16 bit. Namun, dalam perkembangannya bus ini tidak populer, karena sulitnya konstruksi akibat terjadinya bottleneck yang disebabkan tidak mampu mengimbangi kecepatan processor.
4. Bus EISA (Extended/Enhanced Industry Standard Architecture)
Bus EISA merupakan pengembangan dari bus ISA 16 bit, dengan penambahan jumlah konektor sebanyak 90. 55 konektor berfungsi sebagai saluran sinyal, sedangkan 35 konektor sebagai sambungan grounding. Walaupun berjalan dengan lebar data 32 bit, clock 8.33 MHz, dan maksimal besar transfer data yang dapat didukung sebesar 33 MBps (MegaByte per second). Kelebihan lain bus ini adalah mampu bekerja pada peripheral dengan lebar data 8 atau 16 bit dengan teknologi "plug and play! Konstruksi fisik slot EISA terdiri atas slot baris pertama yang dapat digunakan untuk slot ISA 16 bit, sedangkan slot baris kedua berfungsi memperlebar data 32 bit. Ciri lain yang dapat dilihat pada tipe bus EISA adalah ukuran panjang slotnya 333,5 mm dengan lebar 12,7 mm. Oleh karena itu, konstruksi mainboard pada bus EISA relatif memiliki bentuk dan ukuran yang besar dibandingkan dengan mainboard keluaran terbaru.
Gambar 7.30 Bus ISA, EISA, dan PCI.
5. Bus PCI (Peripheral Component Interconnect)
Bus PCI merupakan bus yang dikembangkan pada tahun 1990 untuk menggantikan bus ISA dan EISA yang tidak mampu bekerja pada kecepatan tinggi. Bus yang mengkombinasikan teknologi VL-Bus dan ISA ini mempunyai kelebihan dalam direct access terhadap sistem peripheral yang terpasang pada slot PCI. Bus ini bahkan dapat berfungsi sebagai penghubung antara front side bus dengan CPU. Nantinya bus CPU tidak terpengaruh dengan perbedaan kecepatan antara peripheral dengan CPU. Dengan dukungan lebar data 32 bit hingga 64 bit dan kecepatan bus 33 MHz hingga 166 Mhz, bus PCI mampu mentransfer data dengan kecepatan mencapai 1 GBps. Dengan kelebihan tersebut, slot bus PCI masih menjadi andalan bagi I/O berkecepatan tinggi, seperti graphic display adapter, network interface controller, dan disk controller.
Gambar 7.31 Slot bus PCI.
Tabel 7.3 Karakteristik Bus ISA, EISA, VL-bus, dan PCI.
6. Bus PCI Express
PCI Express adalah teknologi point to point yang tidak membagi lebar data dan kecepatan transfer data pada setiap bus yang terhubung dengan peripheral. Bus ini menerapkan teknologi serial berkecepatan tinggi seperti gigabit Ethernet, Serial ATA (SATA) pada harddisk yang menjadi andalan pengganti teknologi bus PCI, PCI Extended, dan AGP yang berteknologi shared paralel. Berikut ini adalah beberapa tipe PCI express.
Tabel 7.4 PCI Express.
Gambar 7.32 Bus PCI Express.
7. Bus AGP (Accelerated Graphics Port)
Bus AGP adalah bus yang khusus digunakan untuk kartu VGA (Video Graphics Adapter) berkinerja tinggi sebagai pengganti slot bus ISA, VESA maupun PCI. Bus ini memiliki keunikan sendiri dibandingkan jenis bus lainnya, karena dalam sebuah sistem mainboard hanya diperbolehkan memiliki satu buah slot AGP.
Tabel 7.5 Seri bus AGP.
Gambar 7.33 Bus AGP.
8. Bus USB (Universal Serial Bus)
Bus USB merupakan standar bus serial yang menjadi pengganti generasi bus yang telah dijelaskan pada bab sebelumnya. Dengan sistem USB bus, setiap external devices yang terhubung dapat dengan mudah dideteksi oleh sistem komputer (plug and play). Oleh karena itu, USB bus menjadi sistem yang paling sering disertakan pada semua jenis generasi komputer versi terbaru. Bus USB memiliki beberapa versi USB, mulai dari USB 1.0 (generasi awal), USB 2.0 yang mampu bekerja dengan frekuensi clock mencapai 400 sampai 480 mbps, dan USB 3.0 dengan kecepatan data mencapai 5 gbps.
Gambar 7.34 Bus USB expansion board.
9. Bus Firewire atau P1394
Bus firewire merupakan salah satu jenis teknologi transfer data berbasis serial berkecepatan tinggi yang dapat digunakan untuk menghubungkan external devices dengan komputer atau antar-peripheral. sebagai Contohnya, portable external disk drive, digital camera, DVD camcorder, dan MP3 player. Kelebihan bus ini adalah kemudahan dalam hal plug and play, kecepatan transfer data yang tinggi, dukungan transfer data baik secara sinkron maupun asinkron, serta mampu mendukung semua fitur external devices dalam jumlah banyak ke dalam sebuah sambungan firewire hingga kecepatan 800 mbps.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan VI)
1. Apa dampak yang terjadi jika banyak peripheral tersambung dalam sebuah bus yang sama?
2. Jelaskan jenis bus jika dilihat dari sudut pandang koneksi yang dijalankannya.
3. Berdasakan model salurannya, bus dibedakan menjadi dua jenis. Jelaskan.
4. Jelaskan jenis bus jika dilihat dari model arbitrasi yang dijalankannya.
5. Jelaskan jenis-jenis bus yang sekarang ini beredar dalam pasaran.
B. Tugas Praktikum (Nilai Praktik VI)
1. Buat kelompok dengan jumlah anggota sebanyak tiga siswa.
2. Buatlah program untuk mendeteksi resolusi warna yang dapat dijalankan oleh komputer Anda menggunakan program kompiler Free Pascal (sumber: http://www. freepascal.org)
3. Diskusikan hasil praktik yang Anda kerjakan dan presentasikan di depan kelas.
C. Tugas Eksperimen (Nilai Proyek VI)
Lakukan pengujian program tersebut dengan mengganti kartu VGA dengan tipe slot bus PCI, PCI Express, dan AGP. Bagaimana hasilnya?
Rangkuman
1. Organisasi komputer memiliki pengertian sebagai keterkaitan setiap bagian-bagian dalam komputer, baik unit-unit operasional yang mendukung proses compute maupun proses interkoneksi antarkomponen penyusun sistem komputer dalam menjalankan fungsinya.
2. Arsitektur komputer adalah ilmu yang membahas atribut sistem yang dirancang oleh programmer untuk mendapatkan hasil kerja yang optimal terhadap kinerja sebuah komputer. Sebagai contoh, yaitu melakukan beberapa set instruksi, metode pengalamatan, teknik input output, dan operasi aritmetika.
3. Bus merupakan konduktor (secara fisik) yang berfungsi untuk menghantarkan data dari satu modul ke modul lainnya dalam komputer.
4. Secara struktural, bus dibagi menjadi tiga, yaitu address bus, control bus, dan data bus.
5. Bus jika dilihat dari model koneksi yang terjadi dibagi menjadi beberapa jenis, yaitu bus sistem, bus lokal, dan bus ekspansi.
6. Berdasarkan jenis saluran dalam bus, dibagi menjadi dua tipe, yaitu dedicated dan multiplexed bus.
7. Dilihat dari metode pengontrolan penggunaan saluran bus, dibedakan menjadi dua metode, yaitu terpusat dan terdistribusi.
8. Implementasi bus dalam bentuk fisik yang dapat dilihat pada mainboard yang sekarang beredar di pasaran cukup beragam, mulai dari bus processor, bus ISA, EISA, PCI, PCI express, AGP, dan USB.
Ulangan Akhir Bab 7
A. Pilihlah salah satu jawaban yang tepat.
1. Bagian dalam komputer yang berfungsi untuk mengatur dan mengendalikan setiap kerja komponen komputer adalah....
a. melakukan pengolahan data (data processing)
b. melakukan pemindahan data (data moving)
c. melakukan penyimpanan data (data storing)
d. switching data primer ke data eksternal
e. melakukan operasi control
2. Jenis register yang bertugas menyimpan operand atau data yang diproses oleh ALU
a. TR
b. PC
c. DR
d. IR
e. AC
3. Berikut yang bukan merupakan fungsi sebuah komputer adalah ....
a. arithmetic logic unit
b. control unit
c. memori
d. register
e. cache
4. Jika dilihat dalam struktur logika, level yang tidak termaksud sebuah mesin komputer adalah....
a. kernel sistem
b. sistem operasi
c. logika digital
d. arsitektur mikro
e. arsitektur perangkat instruksi
5. Tingkat logika atau level dalam komputer yang memiliki daftar instruksi atau perintah dasar komputer adalah level....
a. kernel sistem
b. sistem operasi
c. logika digital
d. arsitektur mikro
e. arsitektur perangkat instruksi
6. Jenis register yang bertugas menyimpan data sementara ketika terjadi proses dalam ALU adalah....
a. TR
b. PC
c. DR
d. IR
e. AC
7. Berikut yang bukan merupakan fungsi control unit, yaitu ....
a. mengakses instruksi atau data dari memori utama
b. mengambil data dari memori utama dan mengirimnya ke ALU
c. mengirim instruksi ke ALU tentang urutan proses data
d. menyimpan hasil proses ALU ke memori utama
e. melakukan proses penjumlahan dan penyimpanan hasil penjumlahan tersebut.
8. Proses ketika CPU akan mengambil nilai data dari memori atau dari modul I/O berdasarkan alamat operand yang diperoleh dari proses OAC sebelumnya adalah ....
a. OF (Operand Fetch)
b. IOD (Instruction Operation Decoding)
c. OAC (Operand Address Calculation)
d. DO (Data Operation)
e. CI (Check Interrupt)
9. Register yang berfungsi untuk menyimpan alamat port input-output yang akan diakses, baik proses baca maupun tulis adalah ....
a. MAR
b. MBR
c. I/O AR
d. I/O BR
e. AX
10. Jenis bus menangani komunikasi data antara modul memori utama, cache memori pada processor dan semua peranti I/O yang tersambung pada mainboard komputer melalui expansion bus interface disebut....
a. data bus
b. local bus
c. control bus
d. system bus
e. expansion bus
B. Jawablah pertanyaan-pertanyaan berikut dengan benar.
1. Gambarkan proses operasi sebuah sistem komputer.
2. Jelaskan empat macam proses yang terjadi ketika CPU melakukan komunikasi data dengan memori atau modul I/O.
3. Apakah yang dimaksud dengan fetching, decoding, executing, dan interrupt serta gambarkan diagram kerja siklus tersebut.
4. Jelaskan fungsi bagian-bagian dalam processor.
5. Apa perbedaan dedicated bus dengan multiplexed bus?
6. Jelaskan teknik arbitrasi bus yang Anda ketahui.
7. Apa perbedaan bus ISA dengan EISA?
8. Apa perbedaan PCI dengan PCI express?
9. Jelaskan arsitektur multiple bus berkecepatan tinggi yang Anda ketahui.
10. Apa yang Anda ketahui tentang bus sistem?
C. Praktik
Rancang dan gambar kombinasi rangkaian logika yang terdiri atas rangkaian encoder, full adder, dan decoder 7 segment display yang menggambarkan proses penjumlahan dalam CPU menggunakan aplikasi simulasi Electronic Workbench.
D. Laporan
Buat laporan dalam bentuk print out tentang analisis dari pengujian rangkaian logika tersebut.
0 komentar: