WELCOME TO MY BLOG

Selasa, 27 Agustus 2019

Arsitektur sistem bahasa Assembly


ARSITEKTUR SISTEM

I.            PERANGKAT KERAS SISTEM

A.     VIDEO DISPLAY
Kebanyakan PC yang dibut sejak 1990 mempunyai display warna VGA(Video Graphic Array). Display VGA standar mempunyai resolusii 640(horizontal) kali 480 (vertikal) piksel. Display VGA minimal memiliki 16 warna berbeda secara bersamaan, dan ada juga sampai 256 warna. Terdapat juga display Super VGA (800 x 600), yang dapat meningkatkan pembacaan orogram yang berbasis grafik.



B.      KEYBOARD
Semenjak IBM-PC dikenalkan, keyboard telah mengalami perkembangan. Model asalnya mempunyai 10 kunci fungsi dan kunci panah kursor dibagi dengan kunci untuk angka.

C.     DRIVE DISK
IBM-PC asli memiliki dua drive disk, yaitu 5.25 inci berkapasitas 360 KB. Kemudian, IBM-AT membawa drive disk 1.2 MB yang dapat juga membaca HD 360 KB. Lantasdrive disk 3.5 inci dikenal oleh komputer IBM seri PS/2, yang dapat membaca dua format : 720 K dan 1.44 MB.

D.     UNIT SISTEM
Unit sistem adalah “jantung” komputer yang sesungguhnya. Contoh PC 386-compatible ditunjukan pada gambar 2.1. unit sistem ini menggunakan prosesor Intel 386, mempunyai RAM 2 MB ,2 Floppy disk drive, 200 MB HD, 2 Port Paralel , 1 Port serial dan backup tape luar, modem internal dan mouse.
Board sistem (sering juga disesbut motherboard) terhampar mendatar pada bagian bawah unit sistem.

E.      PROSESOR PENDUKUNG
Satu prosesor adalah chip pengendali interupt yang menangani permintaan dari perangkat keras untuk mengiterupsi CPU. Chip pengendali DMA menangani transfer data ke dan dari memori melalui bus data.

F.      ROM BIOS
Disebut firmware (perangkat keras dengan program tambahan) bagian dari sistem operasi PC. Biasanya ROM harus diganti untuk mendukung peripheral baru.

G.     RAM(Random ACCES MEMORY)
Tempat menyimpan program dan data pada saat program dijalanka.  Khususnya ,  RAM disebut RAM dinamis karena isinya akan hilang jika tidak menerima sinyal baru yang konstan dari CPU.

H.     CMOS RAM
Informasi setup informasi sistem disimpan disini  sehingga kita dapat mengkonfigurasi komputer tanpa harus  menggunakan switch mekanik.

I.        SLOT TAMBAHAN
Terdapat beberapa tempat pada motherboard yang dapat digunakan untuk menambahkan slot yang diperlukan, seperti disk drive controller, tape mcontroller, video controller, network controller, I/O port, modem,mouse controller,dll.

J.       POWER SUPPLY
Kotak bsei yang egkonversi voltase 110 v AC dari sumber luar ke dalam komputer.

K.     PARALLEL PORT
Kebanyakan printer terhubung dengan komputer melalui port paralel. Dengan parale, berarti 8 bit data dapat mengalir dari komputer ke printer secara bersamaan. DOS mendukung 3 port parale, yaitu LPT1,LPT2, dan LPT3.

L.      SERIAL PORT
Port serial digunakan untuk menghubungkan mouse, modem atau perangkat serial lainnya ke sistem komputer. Dengan tipe port seperti , data biner dikirim satu persatu. DOS mendukung sampai 2 port serial yang disebut COM1 dan COM2.

M.   KELUARGA MIKROPROSESOR INTEL
1.       80x87
Chip co prosesor matematika dikenalkan sebagai peyerta pada 8086/8088. Chip ini dapat menyelesaikan perhitungan floating-point dengan baik.
2.       80186
Merupakan pengembangan dari 8088, dengan 8 MHz clock dan intruksi baru dengan tujuan untuk meningkatkan efesiensi prosesor.
3.       80286
Dikenalkan pertama kali pada komputer IBM-AT. RAM yang bisa diakses sampai sebesar  16 MB. Menggunakan 16-Bit data dan mempunyai kecepatan clock sampai 12-25 MHz.
4.       80386
Pada tahun 1985, Intel memperkenalkan prosesor 386 DX(dikenal sebagai 80386) yang mempunyai 32-register dan 32-bit bus data.  Bersamaan dengan itu dikeluarkan juga co-prosesor matematika 80287 dan 80387.
5.       80486
Pada dasarnya sama dengan 80386 dengan tambahan co- prosesor matematika built intruksi dan cache memori RAM kecepatan tinghi didalamnya. Cache RAM  meningkatkan kinerja komputer dengan mengizinkan CPU untuk mengambil intruksi dari memori kecepatan tingi. Perlu dicatat bahwa setiap prosesor baru dikenalkan oleh intel adalah akan cocok dengan prosesor sebelumnya. Artinya, perangkat lunak yamg dibuat satu prosesor akan bisa juga digunakan pada komputer yang lebih baru.

II.            ARSITEKTUR SISTEM

A.     CPU (CENTAL PROCESSING UNIT)
Mikrokomputer  menggunakan CPU tunggal. Dalam kenyataannya terdapat banyak chip yang menndukung PC, yang paling terlihat adalah 80x87 co-prosesor matematika, meskipun CPU masih menjadi pengatur utamanya. Tugas paling mendasar yang ditangani oleh CPU adalah (a) menemukan dan load intruksi berikutnya dan (b) mengeksekusi intruksi berikut: - Fetch data dari memori/ register
1.       Menyimpan data dalam memori/register
2.       Melaksanakan perhitungan dan perbandingan
3.       Memperbaharui penunjukkan intruksi(pencabangan).











Gambar 2.2 Rancangan CPU sederhana


CPU dibagi menjadi dua bagian : Arithmetic Logic Unit (ALU) dan Control Unit(CU). ALU melaksanakan operasi aritmetik, logic, dan penggeseran, CU mengambil data dan intruksi serta menerjemahkan  kode (devode) alamat untuk ALU.

-Bus Data
Bus adalah kabel paralel yang mengirimkan data antara berbagai bagian CPU. Sinyal kendali dan bit data digunakan pada saat pengambilan word memori dan menempatkannya dalam register. Bus dikatakan bidireksional jika data dapat ditransfer dari dua arah.
-Register
Berada dalam CPU, yaitu  area penyimpanan kecepatan tinggi,yang langsung terhubung ke unit kendali dan ALU.
-Clock
Setiap operasi yang dilakukan di CPU harus disinkron oleh clock, unit waktu paling dasar untuk intruksi mesin yang disebut siklus mesin(machine cycle).  

B.      REGISTER
Register adalah lingkungan kerja khusus dalam CPU , dirancang untuk diakses pada keceapatan tinggi. Register memiliki panjang 16 bit. Pengaksesan 4 register data dibagi dua bagian , yaitu setengah bagian atasnya dan setengah bagian atasnya dan stengah bagian bawah.
Register data               AX, BX,CX, DX (16 Bit)
                                    AH, AL, BH, BL, CH, CL, DH,DL (8 bit)
1.       AX(Akumulator) : disebut akumulator karena digunkan oleh CPU untuk operasi aritmatik.
2.       BX(basis) : register BX dapat melaksanakan operasi aritmatik dan perpindahan data dan BX memiliki kemampuan pengalamatan khusus.
3.       CX(Counter) : bekerja sebagai counter untuk intruksi pengulangan atau looping.
4.       DX(data) : mempunyai peranan khusus dalam operasi perkalian dan pembagian.
Register segment         CS, DS, SS, ES
1.       CS (Code Segment) : Register CS menyimpan lokasi basis semua intruksi yang dapat dieksekusi dalam program.
2.       DS (Data Segment0 : Register DS adalah lokasi basis default untuk variabel-variabel menggunakan segment DS.
3.       SS (Stack Segment) : Register SS mengandung lokasi berbasis stack.
4.       ES (Extra Segment) :  Register ES adalah lokasi basis tambahan untuk variable-variabel memori.
Register indeks            SI, DI, BP
1.       SI (Source Index) : Register ini mmengambil nama dari intruksi pemindahan string, yang mana string sumber ditunjuk oleh register SI. SI biasanya mengandung nilai offset dari register DS.
2.       DI (Destination Index) : Register DI bekerja sebagai tujuan intruksi pemindahan string. Biasanya mengandung offset dari register ES,BP (base pointer).  
Register Khusus          IP, SP
1.       IP(Intruction Pointer) : Register IP selalu mendukung offset intruksi berikutnya yang akan dieksekusi. CP dan IP digabung untuk melaksanakan alamat lengkap intruksi berikutnya yang akan dieksekusi.
2.       SP(Stack Pointer) : Register SP mengandung offset atau jarak dari awal stack ke puncak stack. Register SS dan SP bersama melakukan alamat lengkap puncak stack. 
Register Flag              overflow, direction, interupt, tmp, sign, zero, auxiliary carry, parity, carry.
Flag terdapat 2 buah yaitu :
1.       Flag Kendali . sebuah bit mungkin diset dalam flag oleh pemograman untuk mengendalikan operasi CPU. Terdapat bebrapa flag :
- flag Direction untuk mengendalikan petunjuk asumsi yang digunakan oleh intruksi pemroses sring.
-Flag Interrupt memungkinkan terjadinya interrupt dari eksternal.
-Flag Trap menentukakn apakah CPU berhenti atau tidak setelah instruksi.
2.       Flag Status. Bit-bit flag status menggambarkan keluaran operasi aritmatik dan logic yang dilaksanakan oleh CPU. Terdapat beberapa flag :
-Flag Overflow diset pada saat hasil operasi aritmatik bertanda terlalu besar untuk dimuat kedalam operand tujuan.
-Flag Sign diset ketka hasil operasi aritmatik dan logic menghasilkan nilai 0.
-Flag Auxiliary Carry diset ketika operasi menyebabkan carry dari bit 3 ke bit 4(atau meminjam dari bit 4 ke bit 3) operand. Flag ini jarang digunakan dalam pemograman.
-Flag Parity menggambarkan jumblah bit dalam hasil operasi yang diset. Jika terdapat bilangan genap maka Paritynya genap atau sebaliknya. Flag ini digunakan oleh sistem operasi untuk memeriksa integritas memori atau memeriksa kebenaran transmisi data oleh perangkat lunak komunikasi.

C.     STACK
Stack adalah memori buffer khusus yang digunakan sebagai temporary yang menyimpan alamat dan data. Terletak dalam segmen stack. Setiap lokais 16-bit pada stack ditunjuk oleh register SP , yang disebut stack pointer. Stack pointer menyimpan alamat elemen data terakhir yang ditambahkan (di-push) ke dalam stack. Nilai terakhir yang dimasukkan ke dalam stack adalah nilai yang diambil dari stack pada saat di-pop. Mekanisme ini diistilah dengan struktur LIFO(Last In First Out), yang terakhir masuk keluar duluan.

D.     PUSH
Operasi PUSH menyalin nilai ke dalam Stack.

E.      POP
Operasi POP menegeluarkan nilai dari stack dan menempatkannya dalam register atau variabel.

Terdapat tiga standar menggunakan stack :
1.       Stack membuat daerah penyimpanan sementara yang baik untuk register jika kita ingin memilihara nilainya. Kita dapat menggunakan register dengan bebas dan mengambil kembali nilainya dari stack setelah selesai operasinya.
2.       Ketika subrutin dipanggil, program menyimpan nilai alamat kembali pada stack, lokasi dimana program harus kembali setelah subrutin selesai.
3.       Bahsa tingkat tinggi membuat daeerah pada stack dalam subrutin yang disebut frame stack. Ini berada pada daerah dimana variabel- variabel lokal dibuat pada subrutin aktif.

F.      SIKLUS EKSEKUSI INTRUKSI
Sebuah intruksi level-mesin masih harus diuraikan dalam serangkaian mikrointruksi. Instruksi tersebut dieksekusi oleh penerjemah dalam CPU yang disebut mikroprogram. Kebanyakan mikroprogram disembunyikan, dirahasiakan, oleh pabrik CPU, karena program tersebut akan memudahkan pesaing untuk meniru fungsi chipnya.
Ketika CPU mengeksekusi intruksi untuk menambah nilai sebuah bilangan, contohnya, mikroprogram harus melaksanakan operasi pada level yang lebih rendah : menghitung alamat operand, menempatkan alamat operand pada  bus alamat, menunggu memori untuk merespons, transfer operand dari bus data ke ALU , dan seterusnya.
Untuk menyerdehanakan, terdapat tiga operasi dasar yang dilaksanakan dalam CPU : fetch, decode, dan execute. Setiap tahap dalam siklus intruksi memelurkan minimal satu clock sistem, yang disebut siklus clock.
1.       Fetch : Unit kendali mengambil intruksi, menyalinnya dari memori ke dalam CPU.
2.       Decode : Unit kendali menambah nilai (increment) program counter dan menerjemahkan intruksi, unit kendali menerjemah alamat operand tersebut dan mengambilnya kemudian mengirim operand ke dalam ALU.
3.       Execute : ALU mengeksekusi operasi dan mengirim operand hasil ke unit kendali, dimana nantinya dikembalikan ke register dan memori.

III.            PERANGKAT LUNAK SISTEM DAN MEMORI

A.     ARSITEKTUR MEMORI
Intel 8086 dapat mengakses memori 1,048,576 byte(1 MB) menggunakan alamat 20-bit (00000-FFFFF). Memori dibagi menjadi RAM dan ROM. RAM mulai pada lokasi 0000 samapai alamat BFFFF. ROM mulai lokasi C0000 sampai FFFFF.
Di bawah DOS, hanya 640 K permata RAM yang disiapkan untuk program. Memori sisanya digunakan oleh perangkat keras sisten seperti untuk display video dan pengendali hard disk , atau oleh ROM BIOS.

 Berikut ini peta memori Intel 8086 :
Interupt Vector Table
DOS data area
Software BIOS
DOS kernel, Device Driver, Etc
Bagian Rresiment COMMAND.COM

EGA/VGA Graphics Buffer
MDA Text Buffer
CGA/EGA/VGA Text Buffer
Reserved
ROM BIOS
00000       
00400       
     
                  640 K RAM
9FFFF
A0000
B8000
C0000
FFFFF        PC
     

B.      INISIALISASI DIOS
Sebanyak 1,024 byte Memori paling bawah(alamat 0000-0003FF) mengandung tabel vektor interupt. Ini berisi alamat-alamat yang digunakan oleh CPU ketika memproses interrupt perangkat keras dan perangkat lunak.
Diatasnya terdapat BIOS, yang didalamnya terdapat rutin-rutin untuk mengelola, keyboard, konsol, dan printer dan clock tiap hari. Rutin-rutin tersebut bersal dari file sistem tersembunyi setiap kali disk boot memanggil IO.SYS (IBMBIO.COM). kernel DOS berisi kumpulan layanan DOS yang dapat dipanggil dari program apikasi. Di atas kernel DOS terdapat Buffer file dan file driver device yang dapat dipasang (diambil dari CONFIG.SYS), diikuti oleh bagian resident COMMAND.COM. kemudian, disebut pemroses perintah DOS : ini akan meng-interrupt perintah yang ditulis pada prompt DOS dan akkan memanggil serta mengeksekusi program yang disimpan dalam disk.

C.     VIDEO DISPLAY
Video Display dipetakan dalam memori. Daripada mengirim setiap karakter video melalui port ke video display, lebih efisiensi untuk memberikan setiap posisi layar pada alamat memori yang terpisah. Ketika DOS menulis karakter ke layar, dia akan memanggil subrutin dalam ROM BIOS, yang langsung menulis karakter ke alamat memori video.

D.     READ ONLY MEMORY(ROM)
Lokasi memori alamat C000h sampai FFFFFh disediakan untuk khusus penggunaan ROM, termasuk pengendali hard disk dan ROM BASIC.
ROM BIOS adalah bagian yang penting pada sistem operasi komputer. Di dalamnya terdapat diagnosa sistem, dan perangkat lunak konfigurasi, seperti halnya subrutin input-output level bawah yang digunakan oleh DOS. BIOS dikodekan dalam chip mikroprosesor dalam board sistem, yang dibuat oleh pabrik.

Tidak ada komentar:

Posting Komentar