Minggu, 30 Desember 2018

ARSITEKTUR FAMILY COMPUTER IBM PC


ARSITEKTUR FAMILY COMPUTER IBM PC

Sebelum mengenal komputer personal, para pemakai biasanya mengklasifikasikan komputer dengan nama mainframe, minikomputer, atau superkomputer. Mainframe merupakan komputer untuk bisnis dan industri. Ia dirancang untuk memenuhi kebutuhan perusahaan besar, memberikan atau menyediakan ribuan terminal, menyediakan penyimpan dalam jumlah gigabyte, dan memberi pasokan sumber untuk mengelola database yang besar. Namun demikian, harganya juga ratusan ribu sampai jutaan dolar. Minikomputer, yang umumnya lebih kecil dari pada mainframe, dirancang untuk memenuhi kebutuhan perusahaan kecil, laboratorium, dan departemen. Mesin ini dapat digunakan oleh beberapa pemakai sampai sekitar 100 pemakai, dan umumnya harganya antara $50.000 sampai $1 juta. Superkomputer adalah mesin tercepat dan terbesar yang ada pada saat itu dan oleh karenanya, harganya juga paling mahal. Jelasnya, bila secara perorangan kita tidak akan mampu menyediakan minikomputer, mainframe, atau superkomputer.
Komputer personal pertama kali muncul setelah diperkenalkannya mikroprosesor, yaitu CPU chip tunggal yang terdiri atas set register, ALU, dan unit kontrol komputer. Intel Corporation mengenalkan mikroprosesor yang pertama, yaitu chip kalkulator 4-bit yang disebut 4004, pada tahun 1971, yang kemudian pada tahun 1975 ia mengenalkan 8080, yaitu chip CPU penggunaan umum 8-bit. Perusahaan lain, seperti Rockwell dan Motorola, memunculkan mikroprosesor pesaing pada waktu yang hampir bersamaan. Perusahaan komputer dengan mudah dapat membuat komputer personal yang tidak mahal dengan menggunakan mikroprosesor sebagai CPU, yang dikombinasikan dengan komponen pendukung yang lain. Komponen lain tersebut meliputi power supply, sistem memori utama, bus sistem, terminal tampilan video, dan sistem I/O.
Komputer personal pertama yang menjangkau pasar meliputi Altair 8800 dari MITS, TRS-80 dari Radio Shack, dan PET PC (Personal Electronic Transacter) dari Commodore, yang semuanya muncul sekitar tahun 1977. Bulan Agustus 1981, IBM telah memperkenalkan IBM PC. IBM, yang sekarang telah menjadi raksasa industri komputer, membidikkan atau memfokuskan pada sumber manufaktur dan marketing yang belum banyak terdapat dalam pasaran komputer personal. Ia juga memunculkan sistem pengoperasian MS DOS (Microsoft Corporation's Disk Operating System), yang secara cepat menjadi standard industri.
Tujuan awal penggunaan PC adalah untuk perusahaan bisnis kecil dan aplikasi permainan. Pada waktu IBM memperkenalkan PC, pola penggunaan komputer personalnya sangat berbeda dengan apa yang kita jumpai sekarang ini. Spreadsheet dan word prosesor, yang merupakan dua aplikasi utama komputer personal sekarang ini, pada waktu itu belum sempurna dan belum banyak digunakan. aplikasi grafik, seperti komputer untuk desain dan desktop publishing, hanya digunakan pada mainframe dan minikomputer. Penggunaan untuk bisnis utama yang diperkirakan oleh perusahaan komputer pada saat itu adalah menggunakan versi program kecil yang dapat dijalankan pada mainframe dan minikomputer, seperti program accounting dan perpajakan untuk perusahaan kecil.

1. IBM PC DAN TURUNANNYA
IBM PC merupakan arsitektur bus tunggal. Jika otak PC adalah mikroprosesor 8088, maka sistem syarafnya adalah bus lokal yang diperluas, yang menurut IBM disebut PC I/O Channel Bus (Bus Channel I/O PC), atau hanya disebut PC Bus. PC Bus melengkapi PC dengan delapan jalur data, 20 jalur alamat, dan sejumlah jalur kontrol dan jalur daya untuk memberikan fleksibilitas. Ruang alamat fisik PC adalah 1 MB.
Keberhasilan sistem tergantung pada kehandalan (reliabilitas) dan keberadaan suku cadang komponennya, dan IBM telah menentukan PC sebagai dasar untuk pembuatan famili komponen yang reliabel dan telah ditetapkan dengan baik. Komponen tersebut tidak hanya meliputi mikroprosesor, namun juga pengontrol bus, pengontrol interrupt, timer, pengontrol DMA, dan interface I/O serial dan paralel.
Pada tahun 1983, Intel memunculkan famili 8086/8088 pada waktu ia memperkenalkan mikroprosesor 80286, dan segera setelah itu IBM menggabungkannya ke dalam famili PC-nya untuk memanfaatkan kemampuan proteksi memori dan kecepatan yang meningkat dari mikroprosesor itu. Pada tahun 1984, IBM memperkenalkan PC AT, yang merupakan PC hasil dari peningkatan kinerja utama yang pertama dari IBM PC. 80286 pada dasarnya mempunyai ISA yang sama dengan yang dimiliki 8086 dan 8088, namun ia mempunyai dukungan tambahan terhadap hardware yang digunakan untuk segmentasi dan proteksi memori. Ia dapat beroperasi dalam Real Address mode (mode Real Address), yang merupakan mode kompatibilitas 8088, dan ia dapat berjalan pada semua software yang didasarkan pada 8088 asli (kecuali untuk software yang digunakan untuk segmentasi). Lebih dari itu, 80286 menggunakan lintasan (path) I/O 16-bit, bukan path 8-bit, dan ia mempunyai jalur 24 alamat, sehingga ia mempunyai ruang alamat fisik 16 MB.
Dengan munculnya AT, IBM harus mengupgrade PC Bus-nya. IBM menamakan bus barunya ini PC AT I/O Channel Bus (Bus Channel I/O PC AT), atau hanya disebut PC AT Bus. Struktur bus antara PC dan PC AT mempunyai perbedaan pokok, dan kita akan membahas perbedaan tersebut pada bab berikutnya.
Selain menetapkan standard bus untuk industri komputer personal, famili PC dari IBM juga menyusun standard untuk tampilan video. IBM PC muncul dengan standard Monochrome Display Adapter (MDA), yang mempunyai satu warna dasar (bagian depan) dan satu warna background, misalnya hijau pada hitam. IBM PC juga mempunyai adapter tampilan warna pilihan yang disebut Color Graphics Adapter (CGA). Namun demikian, CGA mempunyai resolusi yang begitu rendah (320 x 200 pixel dengan empat warna), sehingga kebanyakan perusahaan bisnis mengandalkan pada resolusi MDA yang lebih tinggi (720 x 350 pixel). IBM PC AT muncul dengan Enhanced Graphics Adapter (EGA), dengan resolusi 640 x 350 pixel dan 16 warna.

IBM PS/2
Pada tahun 1987, IBM memperkenalkan famili komputer personal baru, yaitu famili PS/2, untuk mengganti famili PC. Famili PS/2 berbeda dengan famili PC dalam beberapa hal, dua yang paling pokok adalah bahwa ia menggunakan bus yang dirancang kembali yang disebut Micro Channel Architecture (MCA), dan ia menggunakan tampilan video resolusi lebih tinggi yang disebut Video Graphics Array (VGA). VGA memiliki resolusi 640 x 480 pixel dengan 16 warna. Meskipun demikian, famili PS/2 menggunakan famili chip CPU Intel yang sama dan menjalankan hampir semua software yang sama.

PC CLONE
PC clone (anggota kelompok PC) adalah komputer yang software dan hardware-nya kompatibel dengan IBM PC.
Untuk bisa kompatibel dengan PC atau PC AT, clone ini Harus mempunyai set instruksi 8086 (atau80386) secara keseluruhan dan pada dasarnya harus mempunyai hardware interrupt yang sama. Ia juga harus mempunyai struktur I/O yang menggunakan call sistem yang kompatibel dengan basic input-output system (BIOS) PC.
Pada waktu IBM menghentikan memproduksi mesin PC AT Bus, industri komputer tidak mempunyai standard bus 32-bit. Pada kenyataannya, IBM tidak pernah mengeluarkan spesifikasi detail mengenai PC AT Bus. Untuk mengatasi tidak adanya atau kurangnya standard PC 32-bit, pada tahun 1988 konsorsium dari beberapa perusahaan melakukan standarddisasi bus AT extended 32-bit, yang disebut Extended Industry Standardd Architecture (EISA) bus. Spesifikasi EISA mencakup semua karakteristik timing bus baru. Sebaliknya, PC AT Bus sekarang dikenal sebagai industry standardd architecture (lSA) bus.

2. KONFIGURASI MIKROKOMPUTER DASAR
Komputer biasanya terdiri atas casis (rangka) yang berisi power supply dan system board (papan sistem), yang juga disebut mother board. Papan sistem biasanya menyagga CPU dan chip pendukung primernya, seperti jam (clock), buffer data dan alamat, pengontrol interrupt, dan beberapa memori utama. Papan sistem juga mempunyai slot, yaitu konektor yang di dalamnya berisi beberapa hubungan atau koneksi. Slot ini menyangga cards (atau daughter board) yang ia sendiri menyangga circuitry, seperti memori tambahan, hard disk, pengontrol untuk floppy disk (disket) dan hard disk, pengontrol monitor, pengontrol mouse, dan sejumlah opsion lain. Para perancang menstandarddisasi slot dan menghubungkannya secara parallel pada mother board.

3. KOMPONEN IBM PC
Komponen dari IBM PC terdiri dari:
-Mikroprosesor 8088.
-Interface kontrol mikroprosesor PC.
-Bus, PC AT Bus, dan sistem interrupt.
-Sistem I/O dan chip pendukung I/O programmable yang menjalankan berbagai tugas I/O secara efisien.
-Koprosesor aritemtik titik ambang.

Komponen utama IBM PC

4. SISTEM SOFTWARE
Hal yang perlu diperhatikan dalam sistem software dari family IBM PC adalah penetapan alamat port I/O, penetapan vektor interrupt, ROM BIOS, dan penetapan memori utama.


Tabel alamat port I/O standard


Tabel vector interrupt IBM PC

Referensi
http://www.elearning.gunadarma.ac.id/docmodul/index-arkomp.htm              25 Nov 2018 20.43
http://ymukhlis.staff.gunadarma.ac.id/Downloads/folder/0.1            25 Nov 2018 19.43


UNIT INPUT OUTPUT


UNIT I/O

Sistem I/O berfungsi untuk mentransfer informasi atau CPU atau memori utama dengan piranti I/O.
Sistem I/O terdiri atas piranti I/O (peripheral), pengendali piranti yang dilalui piranti I/O untuk berkomunikasi dengan CPU atau memori utama dalam suatu aturan yang baku (protocol) dan perangkat lunak untuk operasi I/O untuk pelayanan. Dalam berhubungan dengan sistem I/O, penting untuk menyadari ketiga point ini:
1. CPU dan piranti I/O biasanya tidak dapat disinkronkan. Karena itu operasi I/O harus dikoordinasikan.
2. Secara umum, piranti I/O lebih lambat dari CPU. Karena itu biasanya piranti I/O berkomunikasi secara asynchronous dengan CPU.
3. CPU menangani informasi bahasa mesin sedangkan piranti I/O biasanya membawa informasi yang berorientasi kepada pemakai (manusia). Karena data itu harus di-encode dan di-decode (diformat).
Proses transfer informasi antara CPU dan sebuah peripheral terdiri dari empat langkah:
1. Memilih sebuah piranti I/O dan menguji apakah ia siap atau mempunyai reaksi.
2. Menginisialisasi transfer tersebut dan mengkoordinasikan pengaturan waktu operasi I/O tersebut.
3. Mentransfer informasi tersebut.
4. Memberhentikan transfer informasi tersebut.
Klasifikasi piranti I/O dikelompokkan menjadi tiga:
1. Piranti yang memasukkan informasi ke komputer.
2. Piranti yang mengeluarkan (menampilkan) informasi dari komputer.
3. Piranti yang melayani input dan output.

Struktur Modul I/O


Pengaksesan I/O
Ada dua jenis pengaksesan I/O: memory-mapped I/O dimana piranti I/O dihubungkan sebagai memori virtual, atau I/O-mapped I/O dimana port I/O tidak tergantung pada memori utama. Setiap memory-mapped I/O, port I/O dihubungkan ke bus alamat. Piranti input sebagai bagian memori yang memberikan data ke bus data. Piranti output sebagai bagian memori yang memiliki data yang tersimpan di dalamnya. Port I/O menempati lokasi tertentu pada ruang alamat dan diakses seolah-olah mereka adalah lokasi memori. Semua instruksi referensi memori dalam kumpulan instruksi pada sebuah komputer dapat juga mereferensikan port I/O. Dengan demikian prosedur memory-mapped I/O tidak membutuhkan instruksi khusus. Sebuah instruksi untuk mem-fetch atau menyimpan data pada alamat memori tertentu menjadi sebuah instruksi I/O jika alamatnya adalah sebuah port I/O. Karena memory-mapped I/O tidak membeda-bedakan register memori dan  piranti I/O, ruang alamat dibagi di antara mereka dan demikian ruang memori yang tersedia untuk program dan data menjadi berkurang.
Sebaliknya, pada I/O-mapped I/O, port I/O tidak tergantung memori dan tidak butuh referensi langsung ke alamat memori. Transfer informasi dilakukan di bawah kendali sinyal kontrol yang mengguna­kan instruksi INPUT dan OUTPUT. Operasi I/O tergantung sinyal kendali dari CPU. lnstruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori. Ruang memori dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama.
Operasi I/O terbagi menjadi 3 metode : I/O Terprogram, I/O Interupt, dan Direct Memory Access (DMA).

I/O Terprogram
Terdapat empat klasifikasi perintah I/O, yaitu:
1. Perintah control.
2. Perintah test.
3. Perintah read.
4. Perintah write.
Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O.

I/O Interupt
Masalah pada programmed I/O adalah bahwa processor harus menunggu hingga modul I/O siap untuk melakukan transfer yang mengakibatkan processor harus melakukan pengecekan yang berulang-ulang atas status modul I/O. Alternatifnya, processor menerbitkan perintah ke modul I/O dan kemudian processor melanjutkan eksekusinya atas instruksi yang lain. Modul I/O akan melakukan interrupt ke processor untuk meminta layanan jika modul I/O telah siap saling bertukar data dengan processor. Processor kemudian melakukan eksekusi atas instruksi perpindahan data. Setelah selesai, processor akan melanjutkan eksekusi instruksi sebelumnya, sebelum peocessor di interrupt oleh modul I/O.
Pada perangkat I/O telah menyelesaikan sebuah operasi I/O, maka urutan kejadian hardware di bawah akan terjadi :
Perangkat angkat mngeluarkan signal interrupt ke CPU.
Prosesor menyelesaikan eksekui intruksi yang sedang dilakukan sebelum memberikan respon terhadap interrupt.
Prosesor memerikasa interrupt, menetapkan bahwa memang ada, dan mengirim signal acknowledgment ke parangkat yang mengeluarkan interrupt, acknowledgment memungkinkan meghapus dignal interrupt.
Sekarang prosesor perlu menyiapkan pengontrolan transfer routine interrupt, prosesor perlu menyimpan informasi yang diperlukan untuk melanjutkan program yang dikerjakan saat itu pada posisi interrupt. Informasi minimum yang diperlukan adalah a.status prosesor, yang berisi register yang dipanggil program status word (PSW), dan b. lokasi instruksi berikutnya yang akan dieksekusi.

Direct Memory Access (DMA)
Direct Memory Access (DMA) adalah suatu metode transfer data dari memori komputer atau RAM ke suatu bagian dari komputer tanpa memprosesnya menggunakan CPU. Sebagian besar data yang merupakan input atau output dari komputer memang diproses di CPU, tetapi terdapat beberapa data yang tidak perlu diproses, ataupun dapat diproses oleh alat lainnya.
Perbandingan antara Programmed I/O dan Direct Memory Access



Interfacing Piranti
Untuk berkomunikasi dengan CPU, piranti-piranti tersebut memerlukan antar-muka (interface) dan mengendalikan perangkat keras dan perangkat lunak untuk menghubungkan ke bus, interface biasanya mengacu pada perangkat keras yang diperlukan untuk menghubungkan piranti dan sirkuit kendalinya ke bus yang semestinya. Fungsi pokok sebuah interface adalah untuk mensinkronkan transfer data antara CPU dan peripheral.

Diagram blok unit interface I/O
Ada tiga bus dalam interface piranti:
1. Bus Receiver adalah register menyimpan data input selama dibutuhkan.
2. Bus Transceiver adalah suatu sirkuit yang digunakan bersama bus dua-arah (bidirectional) yang dapat berfungsi dalam mode pengiriman maupun mode penerimaan.
3. Driver/Buffer bus diperlukan untuk menempatkan informasi pada bus.

Sistem Bus
Bus membawa informasi diantara komponen dari satu peralatan atau diantara subsistem. Bus dapat dibagi menjadi dua kelompok utama yang didasarkan pada kontrolnya, yaitu bus local dan bus sistem (local buses and system buses). Kelompok hybrid (turunan), yaitu bus lokal yang diperluas, mengkombinasikan fasilitas dari dua bus yang lain.

Bus Lokal
Bus yang paling sederhana terdiri atas set kawat/kabel (atau jejak/ trace jika ia diproduksi sebagai bagian dari papan sirkuit). Bus ini disebut local bus (bus lokal), karena ia merupakan bagian dari peralatan yang menggunakan dan mengontrolnya.
Dalam CPU, bus lokal umumnya terbagi dalam tiga jenis, yaitu bus alamat, bus data, atau bus kontrol. Address buses (bus alamat) cenderung dikhususkan untuk suatu tujuan dan biasanya bersifat unidireksional. Ia paling sering mentransfer alamat dari counter program (PC), register stack, atau putaran komputasi alamat ke memori, namun bukan sebaliknya. Data buses (bus data) cenderung bersifat umum dalam penggunaannya dan bersifat bidireksional. Ia bisa membawa data, instruksi, dan juga alamat, dan ia menyampaikan data ke dan dari sistem memori utama, peralatan I/O yang dilengkapkan, dan ALU. Control buses (bus kontrol) membawa signal dari unit kontrol ke komponen lain dari komputer dan kembali ke unit kontrol. Signal kontrol yang ia bawa akan mengontroloperasi dari komponen yang menerima signal tersebut.

Bus Sistem
Bus sistem adalah Bus yang mempunyai putaran kontrol sendiri dan berubah-ubah (menyesuaikan diri) terhadap berbagai komponen, termasuk CPU, yang ingin menggunakannya.

Bus Lokal Yang Diperluas
Expanded local buses (bus lokal yang diperluas), yang kebanyakan dijumpai dalam sistem mikrokomputer, adalah bus lokal dengan ekstensi khusus untuk penggunaan di luar CPU. Ia sarna dengan bus sistem, dalam hal bahwa ia memberikan signal kontrol standart selain memberikan lintasan (pathway) data dan alamat; namun ia bersifat lokal, dalam artian bahwa jam CPU dan sirkuit waktu mengaturnya, sehingga ia merupakan processor-specific.

Referensi
http://www.elearning.gunadarma.ac.id/docmodul/index-arkomp.htm              25 Nov 2018 20.43
http://ymukhlis.staff.gunadarma.ac.id/Downloads/folder/0.1            25 Nov 2018 19.43


Jumat, 30 November 2018

MEMORI


MEMORI

Memori adalah piranti yang menyimpan instruksi-instruksi dan data yang diperlukan untuk operasi.
Parameter-parameter terpenting dalam sistem memori adalah:
1. Kapasitas
2. Waktu pengaksesan
3. Kecepatan transfer data
4. Waktu siklus
5. Biaya
Memori dibagi menjadi dua kelompok, yaitu: memori utama dan memori pembantu.

Memori Utama merupakan pusat sumber daya sebuah sistem komputer  yang secara dinamis harus dialokasikan bagi para pemakai,program, dan proses. Memori ini menyimpan data dan program yang akan dijalankan oleh CPU dan dapat diakses kumpulan instruksi CPU secara langsung.

Memori Stack merupakan struktur data tidak tetap yang digunakan untuk penyimpanan alamat-kembali dan parameter yang dilalui dalam subroutine call dan return, manipulasi alamat dan data serta operasi aritmatika. Pada memori stack jika kita mau mengakses suatu data yang berada di tengah tumpukan maka tumpukan paling atas dipindahkan terlebih dahulu dan jika sudah selesai maka data tadi akan dikembalikan dibagian paling atas.

Memori Modular komputer menjalankan program dengan mem-fetch instruksi dari memori dan mentransfer data ke dan dari memori.

Gambar diatas merupakan memori modular dengan alamat modul. Penggunaan memori modular ini menurunkan waktu pengaksesan memori dengan mengurangi batas penggunaan suatu memori.

Memori Asosiatif merupakan organisasi memori yang sangat berbeda, disebut juga content-addressable memori (CAM),  didasarkan pada pengaksesan isi bukan dari alamat. Pada memori asosiatif semua pencarian lokasi memori dilakukan secara simultan dan parallel dengan basis isi data untuk melihat apakah ada yang berisi nilai yang diinginkan.

Memori Cache memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara sistem memori dan pemakainya untuk mengurangi waktu akses efektif dari sistem memori. Semua request memori menuju ke cache. Apabila cache menyimpan kopi dari data yang diminta, maka ia secara cepat memproses request tersebut (cache menangkap). Bila sebaliknya, maka cache akan menyampaikan request tersebut ke memori utama (cache melepaskan).

Memori Pembantu merupakan piranti penyimpan backup, atau secondary secara kolektif disebut sebagai memori pembantu (auxiliary memory). Memori pembantu berfungsi untuk menyimpan sisa dari data yang tidak digunakan CPU pada memori utama.
Jenis memori pembantu:
Pita Magnetik
Disk Magnetik
Floppy Disk
Drum Magnetik
Memori Gelembung Magnetik

Memori Virtual Sistem memori yang digunakan untuk meningkatkan ukuran efektif memori fisik komputer. Memori virtual memetakan alamat logis pemakai ke alamat fisik, sehingga bagian program bisa bertempat pada alamat fisik yang berbeda dengan alamat logis. Prinsip dasar virtual memori adalah kemampuan untuk mengalamati ruang penyimpanan logikal, yang disebut memori virtual, secara fisik lebih besar daripada ruang penyimpanan real.

Memori akses random dinamis (DRAM) Memori yang membutuhkan penyegaran berkala untuk menjaga data agar tetap aktif.

Banking memori Teknik yang digunakan untuk meningkatkan jumlah RAM berkecepatan tinggi yang dapat digunakan oleh komputer. Sistem banking memori terdiri atas sejumlah bank memori fisik dan sebuah register penentu bank. Hardware banking memori memetakan jangkauan alamat fisik tertentu, yang disebut window, ke alamat yang ada dalam bank memori yang telah ditentukan.

Hirarki memori Hirarki peralatan penyimpanan yang ada dalam komputer, yang terdiri dari memori primer atau internal (komponen internal, seperti register CPU, memori cache, dan memori utama) dan memori sekunder atau eksternal (segala peralatan penyimpanan eksternal, seperti disk atau tape).


CLU dan SET REGISTER


CLU dan SET REGISTER



1.CLU (CONTROL LOGIC UNIT)
Unit kendali logika (CLU) pada komputer berfungsi untuk memasukkan informasi tentang instruksi dan mengeluarkan baris kendali yang diperlukan untuk mengaktifkan operasi mikro yang semestinya.
Tidak hanya setiap instruksi yang harus ditangani, tetapi semua sinyal kendali untuk mem-fetch instruksi dan operand dari memori, untuk menangani interupsi dan untuk memproses I/O harus dihasilkan oleh CLU.
Untuk menjalankan instruksi-instruksi yang tersimpan di dalam memori, setiap instruksi diambil (fetched atau disalin dari memori oleh CPU), ditempatkan ke dalam sebuah register dan dijalankan. Bagaimanapun juga, sebuah instruksi adalah sebuah entitas yang kompleks yang pelaksanaannya tidak dapat dilakukan selama satu periode waktu. Karena dalam kenyataannya lebih dari satu periode maka  CPU akan menghasilkan urutan dari urutan-urutan yang mem-fetch instruksi. Funsi-fungsi ini disebut sebagai operasi mikro.

2.SET REGISTER
Set register terdiri atas register-register tujuan umum dan register dengan tujuan khusus, biasanya fungsi khusus dapat digunakan langsung atau tidak langsung oleh instruksi program.
General-purpose register (register tujuan umum) dapat digunakan (oleh instruksi) sebagai akumulator, sumber atau tujuan register data, atau register alamat yang berisi pointer memori atau nilai indeks. Sebagai tambahan, register ini dapat digunakan untuk memberikan fasilitas block, untuk mengijinkan adanya stacking, dan menambah alamat indeks.
Special-purpose register (register tujuan khusus):
-Index register untuk menyimpan angka konstanta yang digunakan dalam perhitungan alamat memori yang efektif dalam mode pengalamatan indeks.
-Stack register untuk operasi subroutine atau untuk menangani kondisi perkecualian.
-Segment register untuk mengimplementasikan pemetaan memori ketika pemasukan memori utama.
-Memory refresh register yang menyediakan secara otomatis transparan refresh dari DRAM.
-Vector interrupt register yang memungkinkan tabel interupsi untuk menempatkan dimana saja dalam memori.
-Temporary register untuk menangani operand lanjutan atau hasil penyimpanan sementara dari operasi.

Referensi
http://www.elearning.gunadarma.ac.id/docmodul/index-arkomp.htm              25 Nov 2018 20.43
http://ymukhlis.staff.gunadarma.ac.id/Downloads/folder/0.1            25 Nov 2018 19.43


Minggu, 04 November 2018

CPU, BUS, DAN ALU


CPU, BUS, DAN ALU

1. CPU(CENTRAL PROCESSING UNIT)
Unit pemrosesan sentral (CPU) dari komputer sederhana mempunyai tiga komponen utama. yakni set register, ALU, dan unit kontrol. Komponen-komponen ini biasanya saling berkomunikasi diantara mereka sendiri dengan menggunakan bus lokal, dan mereka berkomunikasi dengan sistem penyimpanan dan sistem I/O dengan menggunakan satu atau beberapa bus sistem, bus lokal, atau bus lokal expanded.

Eksekusi program yang telah tersimpan secara logis dilakukan sebagai berikut:
1. CPU mem-fetch instruksi berikutnya dari memori.
2. CPU men-decode instruksi.
3. Berdasarkan instruksi, CPU akan melaksanakan salah satu tindakan berikut ini:
            a. Melakukan operasi aritmatik dan logika.
            b. Melakukan penyimpanan ke dalam memori.
            c. Pengendali I/O.
4. CPU akan melakukan reset dan melanjutkan proses hingga program diberhentikan.

2. BUS
Bus membawa informasi diantara komponen dari satu peralatan atau diantara subsistem. Bus dapat dibagi menjadi dua kelompok utama yang didasarkan pada kontrolnya, yaitu bus local dan bus sistem (local buses and system buses). Kelompok hybrid (turunan), yaitu bus lokal yang diperluas, mengkombinasikan fasilitas dari dua bus yang lain.

2.1 Jenis Bus
Bus Lokal
Bus ini disebut local bus (bus lokal), karena ia merupakan bagian dari peralatan yang menggunakan dan mengontrolnya. Dalam CPU, bus lokal umumnya terbagi dalam tiga jenis, yaitu bus alamat, bus data, atau bus kontrol. Address buses (bus alamat) cenderung dikhususkan untuk suatu tujuan dan biasanya bersifat unidireksional. Ia paling sering mentransfer alamat dari counter program (PC), register stack, atau putaran komputasi alamat ke memori, namun bukan sebaliknya. Data buses (bus data) cenderung bersifat umum dalam penggunaannya dan bersifat bidireksional. Ia bisa membawa data, instruksi, dan juga alamat, dan ia menyampaikan data ke dan dari sistem memori utama, peralatan I/O yang dilengkapkan, dan ALU. Control buses (bus kontrol) membawa signal dari unit kontrol ke komponen lain dari komputer dan kembali ke unit kontrol. Signal kontrol yang ia bawa akan mengontrol operasi dari komponen yang menerima signal tersebut.
Bus Sistem
System buses (bus sistem) adalah komponen fungsional independen dari komputer. Setiap bus sitem mempunyai sirkuit kontrol sendiri yang disebut bus controller (pengontrol bus), dan dalam setiap pengontrol bus ada arbiter, yang memproses request untuk menggunakan bus. Pengontrol bus bisa didistribusikan diantara peralatan yang menggunakan bus itu. Peralatan yang ingin menggunakan bus sistem harus minta permisi penggunaan dari arbiter bus. Bus sistem umumnya menghubungkan komponen sistem bersama-sama, seperti CPU, sistem I/O, dan seringkali sistem memori utama, dan perancang biasanya mengoptimisasi bus sistem untuk mentransfer data diantara peralatan I/O dan memori utama.
Bus Lokal Yang Diperluas
Expanded local buses (bus lokal yang diperluas), yang kebanyakan dijumpai dalam sistem mikrokomputer, adalah bus lokal dengan ekstensi khusus untuk penggunaan di luar CPU. Ia sama dengan bus sistem, dalam hal bahwa ia memberikan signal kontrol standard selain memberikan lintasan (pathway) data dan alamat; namun ia bersifat lokal, dalam artian bahwa clock CPU dan sirkuit waktu mengaturnya, sehingga ia merupakan processor-specific.

2.2 Transfer Bus dan Signal Kontrol
Bus transfer (transfer bus) adalah transmisi dari satu atau beberapa informasi melewati bus.
Signal kontrol digunakan untuk mengontrol bus local yang diperluas.

3. ALU(Arithmetic and Logic Unit)
Semua komputer mempunyai functional unit (unit fungsional) yang menjalankan operasi aritmetik, logika. dan shift yang dikehendaki oleh set instruksi komputer. Beberapa komputer mempunyai unit fungsional tunggal, yaitu ALU.
ALU dari sebagian besar komputer mempunyai status register (register status) dan logika associated (tergabung). Register status biasanya mempunyai carry flag (C), overflow flag (V), negative-result flag (N), dan zero-result flag (Z). Bus kontrol dedicated membawa signal kontrol dari unit kontrol ke ALU, dan bus status dedicated membawa signal status dari ALU ke unit kontrol. Bus data input dan output membawa data ke dan dari file register CPU. Mereka ini adalah bus data lokal.

Kesimpulan
CPU terdapat control unit, ALU, dan register, dan yang menghubungkan semua bagian CPU tersebut menggunakan sebuah bus.

Referensi
http://www.elearning.gunadarma.ac.id/docmodul/index-arkomp.htm                       2 Nov 2018 20.43
http://ymukhlis.staff.gunadarma.ac.id/Downloads/folder/0.1            2 Nov 2018 19.43


Sabtu, 03 November 2018

ARSITEKTUR SET INSTRUKSI


ARSITEKTUR SET INSTRUKSI

Setiap komputer alau famili komputer menetapkan suatu arsitektur set instruksi (ISA). Datatype (jenis data) merupakan hal yang pokok bagi semua ISA, set register membentuk dasar operasional ISA. Komponen ketiga dari ISA, yaitu set instruksi, menentukan operasi yang dapat dijalankan oleh komputer dan menentukan teknik yang dapat ia gunanakan untuk mengalamatkan nilai dalam memori. Oleh karena itu, kita akan membahas jenis instuksi yang biasanya dipunyai oleh komputer dan penggunaan instruksi teknik pengalamatan untuk mereferensi memori, dan diakhiri dengan mengemukakan beberapa sifat desain set instruksi.

1. Jenis Instruksi
Walaupun komponen hardware membentuk basis atau dasar kemampuan komputer, namun set instruksi yang menentukan kompleksitas komputasi mesin tersebut. Oleh karena itu, ketika arsitek merancang komputer, ia akan sangat mempertimbangkan ISA-nya. Ia memilih atau mempertimbangkan set datatype, set operasi pada datatype tersebut, set teknik untuk menangani data dalam memori atau register, dan operasi untuk mengontrol berjalannya program, yaitu arus kontrol logis. Bila ia telah menetapkan ISA, ia harus menentukan format instruksi, yang menentukan bagaimana hardware akan menampilkan setiap instruksi.
Jenis-jenis set instruksi dapat dikategorikan menjadi:
1. Operate
1.1 Aritmatik
1.2 Boolean (logika)
1.3 Shift
1.4 Karakter dan string
1.5 Konversi jenis
1.6 Manipulasi/ pengubahan stack dan register
1.7 Load immediate
1.8 Tak ada operasi
1.9 Vektor
2. Akses memori
2.1 Muat dan simpan
2.2 Memuat alamat
2.3 Sinkronisasi proses
3. Kontrol
3.1 Cabang
3.2 Perbandingan dan pengujian
3.3 Hubungan subroutine
4. Jenis lain dan khusus
4.1 I/O
4.2 Pertukaran interrupt dan kedudukan
4.3 Khusus
4.4 Berhenti
5. Vektor

1.1 Instruksi Operate
Instruksi operate menentukan operasi mesin dan oleh karenanya ia menentukan operand untuk operasi mesin tersebut. Instruksi bisa menentukan operand secara eksplisit ataupun implisit. Operand yang ditentukan oleh op-code disebut implicit operand(operand implisit), ia tidak mempunyai spesifikasi yang lain. Sebagai contoh, instruksi CLEAR CARRY memberitahu unit kontrol untuk menghapus flag carry, yang menyimpan bit carry dari instruksi ADD yang terakhir. Instruksi CLEAR CARRY ini tidak mempunyai pengaruh lain, dan flag carry merupakan operand implisit dari instruksi. Explicit operand (operand eksplisit) adalah operand yang ditentukan oleh instruksi dalam field selain field op-code. Kebanyakan operand ditentukan secara eksplisit.
Sebagian besar operand adalah operand data. Jenis operand yang pokok adalah immediate atau addressed. Immediate operand (operand immediate) berada dalam aliran instruksi, umumnya dalam instruksi itu sendiri.
Addressed operand (operand addressed) di sini instruksi harus menentukan address (alamat)-nya. Dalam kasus ini, instruksi menyimpan address specification (spesifikasi alamat). Ada lusinan teknik untuk mengalamatkan address specification.

1.2 Instruksi Akses Memori
Instruksi LOAD dan STORE
Komputer dilengkapi dengan sejumlah instruksi untuk memuat register dari untuk menyimpan isi register ke dalam memori utama. Instruksi LOAD dan STORE ini menentukan ukuran operand (misalnya, byte, word, atau doubleword) dan menentukan jenis operasi (misalnya, LOAD POSITIVE, LOAD NEGATIVE). Instruksi yang menjalankan operasi selain load, seperti LOAD POSITIVE dan LOAD NEGATIVE, adalah instruksi operate dan juga instruksi load.
Instruksi LOAD ADDRESS
Banyak komputer yang dilengkapi dengan instruksi LOAD ADDRESS guna untuk mendapatkan alamat (address) data yang efektif atau alamat instruksi itu sendiri. Namun demikian, tidak seperti halnya dengan instruksi LOAD, instruksi LOAD ADDRESS tidak mengakses memori sama sekali.
Instruksi Sinkronisasi Proses
Instruksi sinkronisasi, yang juga disebut synchronization primitives, banyak digunakan dalam sistem pengoperasian yang mempunyai multitasking (berbagai tugas).

1.3 Instruksi Kontrol
Instruksi kontrol meliputi instruksi branch dan instruksi subroutine-linkage.
Instruksi Branch Kondisional dan Tak-kondisional
Jika tidak ada instruksi branch sama sekali, maka CPU akan menjalankan instruksi dengan sangat urut. Namun karena komputasi biasanya tergantung pada result (hasil) dari operasi sebelumnya, maka diperlukan branch kondisional. Branch kondisional akan menjalankan (mengawali) branch hanya jika kondisi test tertentu telah memadai. Instruksi yang selalu mencabang (branch), yaitu unconditional branches juga berguna, namun tidak terlalu diperlukan, karena branch kondisional dapat digunakan sebagai penggantinya.
Instruksi branch umumnya menentukan satu alamat, yaitu branch address. Branch address (alamat cabang) adalah alamat instruksi berikutnya yang akan dijalankan CPU. Instruksi ini disebut branch-target instruction (instruksi target cabang). Oleh karenanya, alamat cabang merupakan operand dari instruksi cabang.
Branch Test
Branch test adalah operand untuk instruksi cabang kondisional. Branch test adalah test yang outcome (hasil)-nya menentukan apakah branch dalam pertanyaan harus terjadi atau tidak.
Instruksi Hubungan Subroutine
Dalam suatu instruksi pasti mengalami, satu prosedur yang mungkin akan mengakibatkan terjadinya prosedur yang lain, dan prosedur yang kedua ini akan mengembalikan kontrol ke calling procedure (prosedur yang pertama). Kebanyakan komputer paling tidak dilengkapi dua instruksi hubungan subroutine (subroutine-linkage instruction) untuk tujuan tersebut. Yang satu untuk mencabang ke prosedur dan yang satunya untuk mengembalikan dari prosedur tersebut. Kita akan menggunakann JSR (jump and save register) sebagai instruksi mencabang ke prosedur biasa, dan RET (return) sebagai instruksi kembali ke prosedur biasa.

1.4 Instruksi Jenis Lain dan Khusus
Instruksi ini tidak termasuk dalam ketiga kategori sebelumnya. Instruksi ini meliputi instruksi I/O, interrupt, instruksi state-swapping, dan instruksi yang mengubah tingkat kekhususan.
Instruksi I/O
Instruksi I/O akan menjalankan signal kontrol yang mengontrol peralatan I/O. Instruksi I/O biasa menentukan I/O device address (bilangan yang menentukan peralatan I/O) dan menetapkan kode yang memberitahu peralatan mengenai operasi yang akan dijalankan.
Operasi Interrupt dan State-swapping
Interrupt adalah contoh branch yang dijalankan hardware (hardware-initiated branch). Ketika hardware menginterupsi suatu program, ia menyimpan informasi yang cukup mengenai keadaan/kedudukan (state) program guna menjalankan kembali program tersebut nantinya.
Instruksi Khusus
Sebagian besar komputer mempunyai instruksi khusus, yang disebut privileged instruction( instruksi khusus), yang memungkinkan sistem software melindungi dirinya sendiri dari manipulasi software pemakai.

1.5 Instruksi Vektor
Walaupun sebagian besar komputer tidak dilengkapi dengan instruksi vektor, namun ia dapat dijumpai di super computer dan berbagai komputer berkinerja tinggi, termasuk beberapa mesin RISC. Lebih dari itu, banyak komputer yang bisa ditambahi dengan hardware vektor khusus untuk mempercepat operasi vektor dan matriks. Dua sifat operasi vektor yang sangat penting adalah: (1) operasi vektor menggunakan pola reguler dalam mengakses memori, dan (2) operasi vektor melakukan operasi yang saran pada urutan operand.

2. Teknik Pengalamatan
Berikut teknik pengalamatan yang biasa digunakan:
1. Direct Addressing
2. Register Addressing
3. Indirect Addressing
4. Base Addressing
5. Indexed Addressing
6. Relative Addressing
7. Immediate Addressing
8. Page Addressing

3. Design Set Instruksi
Untuk desain awal, hal pertama yang harus diperhatikan adalah mengenai kelengkapan set instruksi dengan tidak ada fungsionalitas yang tertinggal. Pertimbangan kedua adalah bahwa instruksi harus bersifat ortogonal, yaitu tidak perlu berlebih-Iebihan. Yang ketiga adalah kompatibilitas yaitu program yang dijalankan oleh suatu komputer harus dapat dijalankan pada komputer yang lain. Persoalan penting yang lain dalam desain adalah umur panjang arsitektur, ekspandabilitas (daya kembang) jangkauan pengalamatan fisik dan homogenitas ruang alamat. Dan yang terakhir format instruksi untuk kemudahan implementasi ISA.

3.1 Kelengkapan
Pada tingkat yang paling dasar, NAND gate sudah cukup untuk mengimplementasikan semua operasi boolean dan aritmetik, maka mereka cukup untuk semua operasi komputer. Demikian pula, instruksi branch kondisional yang juga menyimpan isi PC cukup untuk menangani semua arus kontrol dalam komputer. Jadi, dimungkinkan untuk merancang set instruksi yang lengkap dengan instruksi tunggal yang mengkombinasikan NAND, branch kondisional, dan operasi save counter program (PC). Kelengkapan diartikan bahwa CPU dapat melengkapi setiap operasi dasar dengan instruksi tunggal atau dengan urutan operasi yang pendek.

3.2 Ortogonalitas
Kaitannya dengan kelengkapan adalah orthogonality (ortogona litas), yang merupakan sifat imdependansi instruksi. Kelengkapan dan ortogonalitas mempengaruhi compiler dalam berbagai area dan juga mempengaruhi kegunaan arsitektur komputer. Kurangnya ortogonalitas dalam set instruksi berarti bahwa compiler mempunyai sejumlah cara untuk menghasilkan kode untuk operasi umum.
Dari sudut pandang perancang komputer, kurangnya ortogonalitas berarti bahwa ada lebih banyak instruksi yang diimplementasikan dan dicek. Lebih dari itu, kelebihan instruksi ini umumnya memperlambat komputer karena mereka memerlukan hardware tambahan, sehingga mesin setidaknya harus sedikit lebih besar dan mesin yang lebih besar ini akan lebih lambat.

3.3 Kompatibilitas
Dalam desain set instruksi pada arsitektur komputer suatu set instruksi harus bisa dijalankan disetiap arsitektur komputer yang berbeda-beda.

3.4 Format Instruksi
Format instruksi adalah encoder dari op-code dan operand ke dalam suatu format tertentu yang akan dimasukkan ke dalam memori.

Kesimpulan
Dalam arsitektur komputer memerlukan sebuah set instruksi untuk menjalankan dan memproses berbagai data pada komputer. Dan jenis-jenis instruksi ini ada banyak seperti instruksi operasi untuk melakukan instruksi Aritmatik atau Boolean dan ada juga instruksi akses memori untuk meminta penggunaan memori dan instruksi lainnya, dalam instruksi juga memiliki teknik pengalamatan untuk mengakses register dan memori. Dalam mendesain set instruksi perlu memerhatikan kelengkapan dari set instruksi itu sendiri dan juga harus kompatibel terhadap arsitektur computer yang berbeda.

Referensi
http://www.elearning.gunadarma.ac.id/docmodul/index-arkomp.htm                                 1 Nov 2018 20.43
http://ymukhlis.staff.gunadarma.ac.id/Downloads/folder/0.1            2 Nov 2018 19.43