Senin, 21 November 2011

format data komputer

Secara umum, format data yang digunakan dalam system computer adalah :
1. ASCII (American Standart Code for Information Interchange)
2. BCD (Binary Code Decimal)
3. Sign and Unsign Integer
4. Floating point
Nah,, pada kessempatan kali ini kita akan membahas format data ASCII
Format data yg digunakan adalah 7 bit dengan bit yang ke 8 digunakan untuk memuat parity (bit untuk mendeteksi kesalahan). Dengan 7 bit tersebut maka terdapat 27=128 buah kombinasi kode yang berbeda (mulai 00 Heksa sampai 7F Heksa)
Extended ASCII adalah kode 8 bit (perluasan ASCII karena dianggap kurang) dimulai dar 80 Heksa sampai FF Heksa)
Secara umum table ASCII terdiri dari control characters dan information characters
sekian dulu belajarnya hari ini besok dilanjut lagi,, okeh okeh,,
semoga bermanfaat,

Untuk keperluan operasi aritmetika yang melibatkan bilangan biner negatif, bilangan

biner dapat direpresentasikan dalam beberapa cara yakni dengan representasi besaran
bertanda (signed-magnitude representation) selanjutnya disingkat dengan SM, representasi
komplemen pertama bertanda (signed-1’s complement representation) disingkat dengan S1C, dan
representasi komplemen kedua bertanda (signed-2’s complement representation) disingkat S2C.
Berikut ini adalah contoh beberapa representasi bilangan biner untuk bilangan heksadesimal
+5 dan -5 serta +7 dan -7.
FORMAT DATA KOMPUTER
ASCII (American Standard Code for Information Interchange)
Data ASCII mewakili karakter alfanumerik dalam memori sistem komputer. Format Data
yang digunakan adalah 7 bit, dimana bit yang ke 8 digunakan untuk memuat parity.
dalam komputer pribadi, kumpulan karakter extended ASCII menggunakan kode 80 H-FF H.
karakter extended ASCII menyimpan huruf-huruf asing dan tanda baca, karakter greek (Yunani),
karakter matematika, karakter-karakter box drawing, dan karakter-karakter khusus lainnya.
Data ASCII dapat disimpan dalam memori menggunakan direktif khusus program assembler
yaitu Define Byte (DB) atau Byte.
FORMAT DATA KOMPUTER
BCD(Binary Code Desimal)
Informasi BCD disimpan dalam bentuk packed atau unpacked. Data packed disimpan dalam
bentuk dua digit per byte, sedangkan data BCD unpacked disimpan satu digit per byte. Rentang
digit BCD antara 0000B sampai 1001B
BCD unpacked sering digunakan oleh keypad atau keyboard, sedangkan BCD Packed
digunakan untuk beberapa instruksi termasuk untuk penjumlahan dan pengurangan BCD dalam
kumpulan instruksi di CPU.
FORMAT DATA KOMPUTER
UNSIGN dan SIGN INTEGER
Data Ukuran Byte
data ukuran byte disimpan dalam unsigned dan signed integer(bilangan bulat tak
bertanda dan bilangan bulat bertanda). Perbedaan dalam bentuk ini adalah bobot dari posisi
paling kiri. Untuk unsign integer nilainya 128 dan untuk signed integer nilainya adalah
-128. dalam format signed, bit yang paling kiri adalah bit tanda bilangan. Kisaran dari
unsigned integer adalah 0 sampai 255, sedangkan signed integer berkisar antara -128 sampai
+127.
Bilangan negatif disajikan dalam bentuk ini, tetapi disimpan dalam bentuk komplement
dua, seperti yang telah dijelaskan diatas.
FORMAT DATA KOMPUTER
UNSIGN dan SIGN INTEGER
Data Ukuran Word
Satu ukuran word dibentuk oleh dua byte data. LSB selalu disimpan dalam lokasi memori
paling rendah, dan MSB disimpan yang paling tinggi. Metode untuk penyimpanan ini disebut
dengan format little endian. Metode alternatif disebut format big endian. Untuk menyimpan
data ukuran word dalam memori, digunakan direktif DW(Define Word). Namun biasanya data yang
berukuran lebih dari 8 bit disimpan menggunakan format little endian.
Limit Tipe Data
Mengolah data komputer ada rambu-rambunya.
Prinsip paling dasar, tiap tipe data punya rentang nilai. Misalnya saja:
TIPE MINIMUM MAKSIMUM KETELITIAN
short int -128 +127 1
int -32768 +32766 1
long int 1
unsigned short 1
unsigned 1
unsigned long 1
float

Larangan paling dasar adalah:
* Jangan sampai mengisikan nilai di luar batas MINIMUM – MAKSIMUM.
* Jangan simpan bilangan teliti (significant) lebih kecil dari KETELITIAN.

Itu saja. Gampang kan hukumnya. Mari lihat konsekuensinya kalau ada yang nekad atau ceroboh
melanggar batas.
Buat contoh, ambil tipe data unsigned short (8 bit). Tipe data ini punya rentang nilai 0 -
255. Representasi kode binernya adalah sbb:
00000000 = 0 desimal
00000001 = 1 desimal


11111110 = 254 desimal
11111111 = 255 desimal

Jika anda pesan variabel unsigned short, bayangkan bahwa anda punya panci yang batas
bawahnya adalah 0 dan batas atasnya 255. Apa yang terjadi kalau anda isi air sampai lebih
dari batas 255 ? Tumpah. Sementara itu kebalikannya, kalau anda rebus airnya sampai menguap
habis, pancinya bakal gosong.
Variabel juga bisa kelebihan (overflow) dan kekurangan (underflow). Tapi efeknya aneh, tidak
seperti panci. Perhatikan program berikut:
main()
{ unsigned short data;
// kasus pertama
data = 255;
data = data + 1;
printf(“%u”, data);

// kasus kedua
data = 0;
data = data – 1;
printf(“%u”, data);
}

Pada kasus pertama, mestinya data jadi 256, tapi 255 itu kan sudah MAKSIMUM. Sementara yang
kedua , mestinya data jadi -1, tapi 0 kan MINIMUM. Jadi berapa keluaran program ini ? Jangan
terkejut, keluarannya pertama adalah 0. Kok tidak meluap, dan malahan jadi habis ? Sementara
itu keluaran kedua adalah 255. Bukannya gosong malah jadi penuh. Kenapa bisa ya ?
Ini dia kisahnya kalau kita lihat operasi pada level kode binernya.
KASUS1
desimal: 255d + 1d = 256d
biner : 11111111b + 1b = 100000000b (overflow 9 bit, nilai = 256)
error : = 00000000b (terpotong jadi 8 bit, nilai = 0)

KASUS2
desimal: 0d – 1d = -1d
biner : 00000000b – 1b = 111111111b (underflow 9 bit)
error : = 11111111b (terpotong jadi 8 bit, nilai = 255)

Mudah-mudahan contohnya cukup jelas. Coba, berapa hasilnya kalau 255+2 ?
Berapa kalau 0-2 ?
Stop … jangan lanjutkan baca kalau belum bisa tahu jawabnya. Saya tungguin nih.

Zzzz ….
Sudah ? Oke, dilanjut. Ada yang bertanya-tanya nggak, kenapa pada kasus kedua, -1d kok jadi
111111111b ? Jawabnya, karena komputer melakukan operasi aritmatika (tambah/kurang) memakai
rangkaian digital. Nah rangkaian digital pengurangan, tanpa modifikasi apa-apa, akan membuat
00000001b jadi 00000000b, 00000000b jadi 11111111b, dan seterusnya 11111111b jadi 11111110b.
Singkat kata, itu kelakuan alamiah rangkaian digital.
Lho … kalau memang kelakuan alamiahnya begitu, kenapa tidak dimanfaatkan saja ? Kita
simpan data integer negatip sebagai berikut:
00000000 = 0 desimal // mulai dari 0
00000001 = 1 desimal // naik terus sebagai positip

01111111 = 127 desimal // stop sampai setengah rentang
10000000 = -128 desimal // rentang sisa buat negatip
10000001 = -127 desimal // tapi mulai dari -128
10000010 = -126 desimal

11111110 = -2 desimal
11111111 = -1 desimal // sebab minus satu di sini

Nah inilah representasi 2-komplemen. Sederhana kan idenya ?
Sekarang, dengan representasi data seperti itu, apa yang terjadi kalau kita buat program
seperti ini?
main()
{ // data signed integer 8 bit
short int data;

// kasus pertama
data = 127;
data = data + 1;
printf(“%d”, data);

// kasus kedua
data = -128;
data = data – 1;
printf(“%d”, data);
}

Anda pasti tahu jawabnya kan. Kode 01111111b (127) kalau ditambah satu akan jadi 10000000b,
alias -128. Singkat kata, signed integer punya aritmatika aneh seperti ini:
127 + 1 = -128 (overflow, ERROR)
-128 – 1 = 127 (underflow, ERROR)
-1 + 1 = 0 (roll back, tapi betul)
0 – 1 = -1 (roll over, tapi betul)

Mudah-mudahan anda jadi tahu bahayanya overflow dan underflow. Sebagai penutup, ini kisah
serem buat nakut-nakutin. Konon ada programmer roket luar angkasa memakai variabel integer
untuk menyimpan data daya dorong roket. Ketika roketnya berangkat ke atas, ternyata daya
dorong roket positip sangat besar, sehingga variabelnya overflow. Ingat bahwa data bertipe
integer kalau overflow akan jadi negatip. Artinya, roket mendorong terbalik ke bawah ! Jelas
saja software kendali yang menghitung terbangnya roket kebingungan, dan … kabooommmm !!!
Jatuhlah roket Ariane. (disclaimer: kisah ini cuma bisik-bisik yang tidak diakui oleh
Ariane)

piranti memory

I. PENGERTIAN
Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori biasanya disebut juga dengan istilah : computer storage, computer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit).
Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
· physical Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
  Secara Umum Terdapat empat type umum memori, yaitu:
1.      Memori Hanya Baca (Read Only Memory)
2.      Memori Flash (EEPROM)
3.      Statik Random Access Memory (SRAM)
4.      Dynamic Random Access Memory (DRAM)
 Hubungan Pin Memory
Hubungan Pin yang umum untuk semua piranti memori adalah:
 
  1. Hubungan Alamat
    Semua peranti memori memiliki n input alamat yang memilih satu dari 2n lokasi didalamnya. Input alamat hampir selalu diberi label A0 sampai An-1.
  1. Hubungan Data
    Hubungan data adalah titik dimana data dimasukkan untuk menyimpan atau dikeluarkan untuk pembacaan. Pin data pada peranti memoridiberi label D0 sampai D7 untuk peranti memori dengan lebar 8 Bit.
  1. Hubungan Seleksi
    Setiap peranti memori memiliki sebuah (atau lebih) input yang memilih (meng-enable)peranti memori. Contohnya : Chip Select (CS), Chip Enable(CE)

 

(ROM (READ ONLY MEMORY)
ROM secara permanen menyimpan program-program dan data yang bersifat menetap (residen) terhadap sistem serta harus tidak berubah jika listrik dimatikan (nonvolatile memory).
Beberapa type ROM
  1. EPROM
    Biasanya dibeli dalam jumlah yang banyak dari pabrik dan diprogram selama pembuatannya. Umumnya dipakai jika perangkat lunak harus sering diganti atau jika hanya ada jumlah yang sangat terbatas pada permintaan untuk membuat ROM ekonomis
  1.  PROM
    Memori ini juga diprogram pada saat pembuatannya, tapi sekali diprogram tidak dapat dihapus.
  2. EEPROM (flash memory)
    Sering juga disebut EPROM (Electrically Erasable ROM) merupakan RAM yang tidak mudah berubah (nonvolatile RAM). Piranti ini dapat dihapus dengan listrik dalam sistem. Contoh 2716 eprom 2K
    STATIK RAM (SRAM)
    Memori RAM statis mempertahankan data selama daya DC diberikan. Karena tidak ada aksi khusus (kecuali daya) yang dibutuhkan untuk menampung data yang disimpan. Memori ini tidak akan menyimpan data tanpa daya (volatile memory). Contoh: TMS4016 SRAM 2K x 8
DINAMIK RAM (DRAM)
DRAM menampung data hanya 2 atau 4 ms pada kapasitor terpadu. Sesudah 2 atau 4 ms, seluruh isi dari DRAM harus ditulis kembali seluruhnya (refresh) karena kapasitor-kapasitor yang menyimpan logika 0 atau 1 kehilangan muatan (charge) mereka.
Perbedaan antar SRAM dan DRAM adalah pada DRAM seluruh isi dari memori direfresh dengan 256 pembacaan dalam interval 2 atau 4 ms. Refresh juga dilakukan selama penulisan, pembacaan dan refresh spesial. Contohnya : TMS 4464 DRAM 64K x

Tujuan dari manajemen ini adalah untuk:
· Meningkatkan utilitas CPU
· Data dan instruksi dapat diakses dengan cepat oleh CPU
· Efisiensi dalam pemakaian memori yang terbatas
· Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien
II. Penggunaan Memory
Komponen utama dalam sistem komputer adalah Arithmetic Logic Unit (ALU), Control Circuitry, Storage Space dan piranti Input/Output. Jika tanpa memory, maka komputer hanya berfungsi sebagai digital signal processing devices, contohnya kalkulator atau media player. Kemampuan memory untuk menyimpan data, instruksi dan informasi-lah yang membuat komputer dapat disebut sebagai general-purpose komputer.Komputer merupakan piranti digital, maka informasi disajikan dengan sistem bilangan binary. Teks, angka, gambar, sudio dan video dikonversikan menjadi sekumpulan bilangan binary (binary digit atau disingkat bit). Sekumpulan bilangan binary dikenal dengan istilah BYTE, dimana 1 byte = 8 bits. Semakin besar ukuran memory-nya maka semakin banyak pula informasi yang dapat disimpan di dalam komputer (storage devices).Berikut ini beberapa gambar yang bisa mewakili bagaimana cara informasi disimpan dalam memory dan bagaimana data ditransfer dari satu bagian ke bagian lainnya.
Gambar ini saya ambil dari buku Computers For Beginners USBORNE COMPUTER GUIDES. Jadi kalo kita menekan tombol B, maka huruf B itu dikonversikan menjadi bilangan binary 01000010.Gambar ini juga dari buku yang sama, jadi informasi yang diterima komputer ditransfer dari satu bagian ke bagian lain, misalnya dari Arithmetic Logic unit ke RAM, melalui bus atau electronic pathways yang ada di motherboar

DRAM biasanya ditempatkan pada papan sirkuit kecil disebut SIMM (Single In Line Memory Module). Terdapat dua jenis SIMM yaitu SIMM 30 pin dan SIMM 72 pin.

 




 


Untuk sistem komputer yang menggunakan bus data 64 bit, tidak mungkin menggunakan SIMM 30 pin yang mempunyai data 8 bit, bahkan SIMM 72 pin dengan lebar data 16 pin masih dirasakan tidak praktis. Untuk itu terdapat type lainnya yang cocok digunakan untuk lebar data 64 bit yaitu DIMM(Dual In Line Memory Module). Memori dalam modul ini diorganisir selebar 64 bit. Modul ini tersedia dalam DRAM, SDRAM, dengan satu atau tanpa satu EPROM. EPROM menyediakan informasi pada sistem tentang ukuran dan kecepatan dari peranti memori bagi aplikasi-aplikasi plug n play.



Spesifikasi Perangkat Keras 8086/8088

Pin-out dan Fungsi Pin.
    Secara virtual tak ada perbedaan antara mikroprosesor 8086 dan 8088-keduanya terkemas dalam dual in-line package (DIP) 40-pin. Mikroprosesor 8086 merupakan mikroprosesor 16-bit dengan bus data 16-bit, sementara mikroprosesor 8088 merupakan mikroprosesor 16-bit dengan bus data 8-bit.
    Bagaimanapun terdapat perbedaan kecil antara keduanya, yakni pada sinyal kontrol. 8086 memiliki pin M/IO, dan 8088 memiliki pin IO/M. Perbedaan lainnya adalah pada pin 34 chip 8088 terdapat pin SSO sementara pada chip 8086 terdapat pin BHE/S7.
    Baik 8086 maupun 8088, keduanya membutuhkan catu daya sebesar +5,0 volt dengan toleransi sebesar 10 persen. 8086 menggunakan arus catu maksimum 360 mA, sementara 8088 menggunakan arus catu maksimum 340 mA.
    Mikroprosesor 8086 dan 8088 akan kompatibel TTL jika kekebalan terhadap noise disesuaikan menjadi 350 mV dari nilai 400 mV yang biasa.




Hubungan Pin8086 dan 8088

AD7-AD0
    Jalur bus alamat/data 8088 yang di-multipleks pada 8088 dan berisi 8-bit LSB dari alamat memory atau nomor port I/O. Pin-pin ini berada pada status impedansi tinggi selama hold acknowledge.

A15-A8
    Bus alamat 8088 menyediakan bit-bit alamat memory paruh atas MSB selama siklus bus.

A19-A16
    Bit-bit alamat status di-multipleks untuk memberi sinyal (S6-S3) alamat A19-A16 dan juga bit-bit status S6-S3. Status impedansi tinggi selama hold acknowledge.

RD
    Jika sinyal logika 0 bus data bisa menerima data dari memory atau alat I/O.

READY   
    Input ini dikendalikan untuk mrnyisipkan status tunggu ke timing prosesor.

INTR
    Interrupt request digunakan untuk meminta interupt perangkat keras.

TEST   
    Pin input yang dites oleh instruksi WAIT.

NMI
     Input non-maskable interrupt sama dengan INTR kecuali NMI tidak memeriksa bit flag IF logika 1.

RESET
    Input mereset mikroprosesor saat logika 1.

CLK   
    Pin clock menyediakan sinyal timing dasar ke mikroprosesor.

Vcc
    Input catu daya menyediakan sinyal +5,0 volt toleransi 10 persen ke mikroprosesor.

GND    
    Hubungan ground jalur kembali catu daya.

MN/MX
    Pin mode minimum atau maksimum.

BHE/S7   
    Pin bus high enable pada 8086 untuk enable data MSB (D15-D8).

Pin-pin Mode Minimum.
    Operasi mode minimum 8086/8088 didapat dengan menghubungkan pin MN/MX langsung ke +5,0 volt. Jangan hubungkan pin ini ke +5,0 volt melalui register pull-up karena tidak akan berfungsi dengan benar.

IO/M    
    Pin IO/M (8088) atau pin M/IO (8086) akan memilih memory (M/IO) atau I/O.

WR       
    Jalur write merupakan strobe yang menunjukkan bahwa 8086/8088 sedang mengeluarkan data ke memory atau I/O.

INTA   
    Sinyal interrupt acknowledge merupakan tanggapan terhadap pin INTR.

ALE
    Address latch enable menunjukkan bahwa bus alamat/data 8086/8088berisi informasi alamat.

DT/R
    Sinyal data transmit/recive.

DEN
    Data bus enable mengaktifkan buffer bus data eksternal.

HOLD
    Input hold meminta direct memory access (DMA).

HLDA       
    Hold acknowledge menunjukkan bahwa 8086/8088 memasuki status hold.

SS0       
    Jalur SS0 ekuivalen dengan pin S0 pada operasi mode maksimum. Sinyal ini digabungkan dengan IO/M dan DT/R untuk mendekode fungsi siklus bus saat itu.
Pin-pin Mode Maksimum.
    Untuk mencapai mode maksimum untuk penggunaan dengan co-processor external, hubungkan pin MN/MX ke ground.

S0, S1, dan S0
    Bit-bit status ini menunjukkan fungsi siklus bus saat itu. Sinyal-sinyal ini biasanya didekode oleh bus controller 8288.

RO/GT1   
    Pin-pin request/grant ini meminta DMA selama operasi mode dan maksimum. Jalur-jalur ini bidireksional dan digunakan RO/GT1 untuk meminta dan memberi hak operasi DMA.

LOCK   
    Output lock digunakan untuk mengunci periferal dari sistem. Pin ini diaktifkan dengan menggunakan awalan LOCK untuk semua instruksi.

QS1 dan  QS0
    Bit queue status menunjukkan status antrian instruksi internal.

Generator Clock (8284A)
    8284A merupakan komponen tambahan mikroprosesor 8086/8088. Tanpa generator clock banyak rangkaian tambahan yang dibutuhkan untuk membangkitkan clock (CLK) pada sistem yang berbasis 8086/8088. 8284A menyediakan fungsi-fungsi atau sinyal-sinyal dasar sebagai pembangkit clock, sinkronisasi RESET, sinkronisasi READY, dan sinyal clock periferal level TTL.
    Frekuensi operasi standar 5 Mhz untuk 8086/8088 didapat dengan memasang kristal 15 Mhz ke generator clock 8284A. Output PCLK terdiri dari sinyal yang kompatibel TTL pada setengah frekuensi CLK.
    Bagian reset 8284A sangat sederhana hanya terdiri dari satu buffer Schmitt Trigger dan satu rangkaian flip-flop tipe-D. Jika mikroprosesor 8086/8088 direset, mikroprosesor ini mulai mengeksekusi perangkat lunak pada lokasi memory FFFF0H (FFFF:0000) dengan pin interrupt request disable.

Demultipleks Bus
    Bus alamat/data pada 8086/8088 di-multipleks (dipakai bersama) untuk memperkecil jumlah pin yang dibutuhkan untuk IC mikroprosesor 8086/8088.
    Karena bus-bus mikroprosesor 8086/8088 di-multipleks dan kebanyakan memory dan peralatan I/O tidak, maka sistem haruslah di-demultipleks sebelum pengantarmukaan dengan memory atau dengan I/O. Demultipleks dilakukan oleh latch 8-bit yang pulsaclocknya berasal dari sinyal ALE.

Sistem yang Di-buffer
    Jika lebih dari 10 satuan beban terhubung ke pin bus manapun, seluruh sistem 8086 atau 8088 harus di-buffer. Pin yang ter-multipleks telah di-buffer oleh latch 74LS373, yang dirancang untuk mengendalikan bus kapasitas tinggi yang ditemukan pada sistem mikroprosesor.
    Arus output buffer telah dinaikkan sehingga lebih banyak stuan beban TTL yang dapat dikendalikan. Output logika 0 menyediakan sampai 32 mA arus sink, dan output logika 1 menyediakan arus sumber hingga 5,2 mA.

Operasi Mode Minimum
    Operasi mode minimum merupakan cara yang paling mudah untuk mengoperasikan mikroprosesor 8086/8088. Biayanya lebih murah karena semua sinyal kontrol untuk memory dan I/O dibangkitkan oleh mikroprosesor. Sinyal-sinyal kontrol ini sama dengan Intel 8085A, periferal 8-bit untuk digunakan dengan 8086/8088 tanpa pertimbangan khusus.

Operasi Mode Maksimum
    Operasi mode maksimum berbeda dengan operasi mode minimum dalam hal beberapa sinyal kontrol harus dibangkitkan secara eksternal. Hal ini membutuhkan bus controller 8288. Tidak ada cukup pin pada 8086/8088 untuk kendali bus selama mode maksimum karena pin-pin baru dan fitur-fitur baru telah menggantikan beberapa diantaranya. Mode maksimum biasanya hanya digunakan ketika sistem berisi co-processor eksternal seperti co-processor  8087 (untuk aritmatik).  
   
Bus Controller 8288
Central Processing Unit (CPU) 8088

Mikroprosesor 8 bit yang dibuat dengan teknologi HMOS (High Performance Metal Oxide Semiconductor). Mikroprosesor 8088 memiliki sifat yang unik yaitu mampu mengakses lokasi memori sampai 1.024.576 byte (1 Mbyte), padahal instruksi-instruksinya hanya mengijinkan operasi dan manipulasi alamat 16-bit. Hal ini dimungkinkan karena mikroprosesor 8088 memiliki 4 segmen register 16-bit yang dapat digunakan untuk memanipulasi pengalamatan.
Prosesor 8088 dapat dioperasikan dalam 2 mode, yaitu mode minimum dan mode maksimum. Pada perancangan ini digunakan mode minimum dengan pertimbangan pada kesederhanaan dan hanya 1 (satu) prosesor yang dioperasikan. Gambar – 1 menunjukan arsitektur internal 8088, yang (Korespondensi adalah staff Peneliti dari Puslitbang TELKOMA-LIPI , Jl.Cisitu No.21/154D Bandung 40135)
berdasarkan fungsi-nya dibagi dalam 2 (dua) unit yaitu : Bus Interface Unit (BIU) dan Execution Unit (EU).
?Bus Interface Unit (BIU), berfungsi menangani seluruh transfer data dan alamat untuk bagian eksekusi, mulai dari mengirim alamat, mengambil instruksi dari memori, membaca data dari memori atau port dan menuliskan data ke port atau memori.
?Execution Unit (EU), berfungsi memberitahu Bus Interface Unit (BIU) dimana data dan instruksi harus diambil, men-dekode instruksi dan mengeksekusi instruksi.Register CPU 8088.

Pada CPU 8088 ini memiliki 14 register 16-bit. Adapun register-register tersebut diklasifikasikan dalam :
?Register Data, terdiri atas 4 register.
?Register Index dan Pointer, terdiri atas 4 register.
?4 Segment Register.
?Instruction Pointer dan Sebuah Register Flag.

Register data terdiri atas : AH, AL, BH, BL, CH, CL, DH dan DL yang mana register-register tersebut digunakan untuk menyimpan data 8-bit atau secara berpasangan dipakai untuk menyinpan data 16-bit. Bentuk pasangan yang diijinkan dalam register data adalah :

?AH dan AL membentuk AX, sebagai Accumulator untuk menyimpan salah satu nilai yang akan dioperasikan oleh Arithmatic Logic Unit (ALU) dan tempat menerima hasil operasi tersebut.
?BH dan BL membentuk BX, sebagai Base Register dalam pengalamatan.

?CH dan CL membentuk CX, digunakan untuk pencacah pada instruksi tertentu.

?DH dan DL membentuk DX, untuk menyimpan alamat I/O bila CPU mengakses peralatan I/O.
Register segmen terdiri atas 4 register 16-bit, yaitu : register CS (Code Segment), DS (Data Segment), SS (Stack Segment) dan ES (Extra Segment). Penggunaan regsiter segmen ini memiliki beberapa keuntungan, yaitu :

?Mampu mengakses memori hingga 1 Mbyte meskipun instruksinya hanya mengijinkan operasi 16-bit.

?Dengan menggunakan lebih dari 1 segmen kode, data dan stack memungkinkan panjang program, data dan stack lebih dari 64 Kbyte.

?Memberi fasilitas penggunaan ruang memori yang terpisah antara program, data dan stack.
Pada gambar – 2 dibawah ini ditunjukkan pengorganisasian memori pada CPU 8088.
Sistem Pewaktu Pada CPU 8088.
Pada sistem mikroprosesor 8088, panjang 1 siklus bus ada 4 pulsa clock, yaitu : T1, T2, T3 dan T4. Bila ada sinyal tunggu panjang 1 siklus bus tersebut ditambahkan sejumlah pulsa clock yang diberi notasi Tw. Dimana Tw tersebut letaknya disisipkan diantara T3 dan T4, bila peralatan I/O atau memori kurang cepat dalam merespon perpindahan data.
Gambar – 2 : Organisasi Memori CPU 8088.
Universal Synchronous/Asynchronous Receiver Transceiver (USART) 8251.
Secara internal USART 8251 terdiri dari 7 blok, yang masing-masing fungsinya dapat dilihat pada gambar – 3, adalah :

?Data Bus Buffer : menyimpan data paralel 8-bit yang akan dikeluarkan ke jalur data, maupun yang diterima dari jalur data.

?Read/Write Logic : berfungsi untuk mengendalikan perpindahan data dan command status, sehingga memungkinkan data dapat dibaca maupun ditulis pada lokasi dan waktu yang tepat. Pada blok ini terdapat pin CS yang mengaktifkan 8251 dengan memberikan logika ‘0’. Sedangkan frekwensi CLK-nya 30 x bit rate pengiriman data.

?Modem Control : merupakan perantara hubungan dari USART 8251 dengan Modem. Pada blok ini terdapat pin RTS yang dipakai untuk ‘handshaking’.

?Receiver Buffer (S-P) & Receiver Control : bagian ini saling bekerja sama dalam menerima data serial. Receiver buffer akan mengubah data serial menjadi paralel agar dapat dibaca oleh CPU, sedangkan receiver control memantau status dari receiver buffer. Pada blok ini terdapat RxC, pada modus transmisi sinkron nilai baud rate-nya sama dengan frekwensinya.
SYNDET yang mempunyai dua fungsi adalah :

?Pada mode asinkron, bila jalur input data RxD berada pada keadaan ‘0’ selama lebih dari 2 waktu karakter, pin ini akan ‘high’.
?Pada mode sinkron, pin ini akan ‘high’ bila 8251 mendeteksi adanya karakter sinkronisasi pada deret bit data.
?Transmitter Buffer (P-S) & Transmitter Control : bagian ini saling bekerja sama dalam

mentransmisikan data serial. Transmitter buffer berfungsi menerima data dari CPU kemudian secara otomatis pada data ditambahkan bit start, bit paritas dan bit stop sesuai dengan mode word yang diberikan, sedangkan transmitter control memantau status dari transmitter buffer. Pada blok ini terdapat TxC, pada modus transmisi asinkron nilai baud rate-nya sama dengan frekwensinya.
Gambar - 3 : Blok Diagram USART 8251.
Programmable Interval Timer (PIT) 8253.
PIT 8253 berfungsi untuk mengimplementasikan pewaktu/pencacah pada sistem mikrokomputer. Pada gambar – 4 nampak satu pin PIT 8253 terdapat tiga buah pencacah 16-bit yang saling terpisah, yang masing-masing mampu mencacah hingga frekwensi 2.6 MHz. PIT 8253 terdiri atas 4 blok yang fungsi masing-masing bagian adalah :

?Data Bus Buffer : mempunyai 3 fungsi utama, yaitu :
1.Untuk memprogram mode dari PIT 8253.
2.Untuk memberikan nilai awal cacahan pada register pencacah.
3.Untuk membaca nilai cacahan.

?Read/Write Logic : berfungsi membangkitkan sinyal kontrol untuk mengendalikan seluruh operasi PIT 8253, termasuk pembacaan atau penulisan pada register pencacah.
?Control Word Register : berisi informasi yang dikirim sistem prosesor untuk mengidentifikasi operasi PIT 8253 yang diinginkan, juga digunakan untuk memilih pencacah, mode operasi dan jenis pencacah.
?Counter 0, 1 dan 2 : bagian ini pencacahan dilaksanakan, yang mana ketiga counter tersebut identik dan bebas satu dengan yang lainnya. Tiap-tiap pencacah dapat dioperasikan pada mode yang berlainan.

Gambar – 4 : Blok Diagram PIT 8253.

Programmable Peripheral Interface (PPI) 8255.
PPI 8255 ini melakukan fungsi interface (fungsi I/O) dalam sistem mikroprosesor. Pada gambar – 5 ini ditunjukkan diagram blok dari PPI 8255. PPI 8255 terbagi atas 3 buah port, yaitu : Port A, Port B dan Port C, juga dilengkapi pula dengan Data Bus Buffer serta Read/Write Control Logic. Fungsi dari Control Logic disini untuk menyimpan kombinasi bit yang mengkodekan mode kerja dari PPI 8255. Sedangkan input CS digunakan untuk memungkinkan pembacaan atau penulisan data dan dihubungkan dengan rangkaian dekoder untuk memilih perangkat bila dikehendaki.
Gambar – 5 : Diagram Blok PPI 8255.

Cara Kerja
Central Processing Unit (CPU) 8088

Pada mikroprosesor 8088 ini untuk bekerjanya memerlukan clock. Dimana clock tersebut dipergunakan untuk mensinkronisasi semua operasi didalam mikroprosesor. Pada perancangan ini dipergunakan IC 8284 yang memang diaplikasi pada CPU 8088. Sebagai sumber frekwensinya dipergunakan kristal 14.318 MHz. Untuk dapat bekerja secara optimum duty cycle yang diisyaratkan oleh CPU 8088 adalah 33%.

Pemrograman USART 8251.

Sebelum melaksanakan fungsinya USART 8251 harus diinisialisasi terlebih dahulu. Yang mana inisialisasi tersebut dilakukan oleh CPU 8088 dengan jalan mengirimkan control word ke alamat control register. Operasi pada USART 8251 ditentukan oleh nilai yang diberikan pada bit-bit control word. Dimana format control word dibagi dalam 2 jenis, yaitu :

1. Mode Instruction, dibagi menjadi 2 macam, yaitu :
?Mode Instruction untuk operasi Asinkron.
?Mode Instruction untuk operasi Sinkron.
Mode ini untuk mendefinisikan karakteristik operasi secara umum USART 8251, dan hanya cukup ditulis sekali saja pada setiap kali selesai operasi reset.

1.Command Instruction.

Pada command instruction dapat ditulis berkali-kali sesuai dengan keperluan.
Mengontrol operasi dan format mode instruction yang dipilih
Adapun urutan program dari control word dapat dilihat pada gambar – 6.

MODE INSTRUCTION

Gambar – 6 : Urutan Pemrograman USART 8251.

Pemrograman PIT 8253.
Untuk mengoperasikan PIT 8253, terlebih dahulu dilakukan inisialisasi. Yang mana inisialisasi dilakukan oleh CPU 8088 dengan cara mengirimkan control word ke control word register. Control word akan mendefinisikan modus kerja. pencacah, urutan pemberian nilai, urutan pembacaan dan jenis cacahan.

Pada tabel – 1 terlihat format control word dari PIT 8253. Dan pada tabel – 2 menunjukkan pemiliham pencacah.

Tabel – 1 : Format Control Word PIT 8253.
D7 D6 D5 D4 D3 D2 D1 D0
SC1 SC0 RL1 RL0 M2 M1 M0 BCD

Tabel – 2 : Pemilihan Pencacah PIT 8253.
SC1 SC0 DEFINISI
0 0 Pilih Pencacah 0
0 1 Pilih Pencacah 1
1 0 Pilih Pencacah 2
1 1 Tidak boleh

Pemrograman PPI 8255.

PPI 8255 terbagi atas 3 buah port, yaitu : Port A, Port B dan Port C, dan sebuah Control Word Register yang masing-masing terdiri atas 8-bit dan dapat diatur melalui software untuk melaksanakan fungsi output dan input. Pada tebel –
3 ditunjukkan salah satu cara untuk menentukan bit control word dari PPI 8255.

Tabel – 3 : Control Word PPI 8255.
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 1 0 0 0 0


Kesimpulan

?Sistem minimum merupakan sistem pengolah data yang sederhana karena hanya menggunakan 1 buah Mikroprosesor yang dioperasikan, sistem minimum ini bila dipadukan dengan sistem RF Transmitter dapat digunakan untuk sistem monitoring data dengan jarak jangkauan yang cukup jauh (Telemetri ).
?Mikroprosesor 8088 mempunyai fungsi yang cukup beragam pada aplikasi-aplikasi rangkaiannya dan relatif mudah serta murah untuk direalisasikan dalam sebuah sistem yang dirancang sesuai keinginan.

mode pengalamatan data

Komponen utama sebuah sistem Mikroprosesor tersusun dari lima unit pokok:
1.unit mikroprosesor atau Microprocessor Unit (MPU) atau CPU,
2.unit memori baca atau ReadOnlyMemory(ROM),
3.unit memori baca tulis atau Read Write Memory(RWM),
4.unit masukan keluaran terprogram atau Programmable Input Output(PIO)dan 5.unit detak/Clock
MPU adlh sebuah CPU yang tersusun dari 3 bagian pkok yaitu :
1.ControlUnit(CU)
2.ArithmeticLogicUnit(ALU)
3.RegisterUnit(RU)
MODE PENGALAMATAN DATA :
Secara garis besar terdapat 7 (tujuh) macam mode pengalamatan
1.Pengalamatan register(registeraddressing);
2.Pengalamatan segera(immediateaddressing);
3.Pengalamat langsung(directaddressing);
4.Pengalamatan tak-langsung register(registerindirectaddressing);
5.Pengalamatan relatif dasar(baserelativeaddressing);
6.Pengalamatan langsung terindeks(directindexedaddressing);dan
7.Pengalamatan dasar terindeks(baseindexedaddressing).
REGISTER
1. Register adalahsebagiankecilmemory komputeryang dipakaiuntuktempatpenampungandata.
2. Data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan register tersebut(8 atau16 bit).
PENGGOLONGAN REGISTER
General Purpose Register¡
Segment Register
¡
Pointer Register
¡
Index Register
¡
Flag Register
¡
Cara bagaiman suatu operand ditentukan disebut mode pengalamatan. Secara umum pengalamatan dapat dibagi menjadi tiga bagian, yaitu :
1. Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah :
a. Ambil nilai operand dari memori
b. Eksekusi operasi yang diperlukan
c. Kembalikan hasilnya ke memori
2. Memori ke register.
Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal.
3. Register ke register.
Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register.
Jenis mode pengalamatan yang terdapat pada system computer khusunya keluarga IMB PC, yang terdiri atas:
Ø Intermediete addressing; panjang data 8 atau 16 bit, dan merupakan bagian dari instruksi.
Ø Direct addressing; alamat efektif data 16 bit merupakan bagian dari instruksi.
Ø Register addressing; data terdapat di dalam register yang dinyatakan oleh instruksi. Untuk operand 16 bit menggunakan register AX, BX, CX, DX, SI, DI, atau SP, dan untuk operand 8 bit menggunakan register AL, AH, BL, BH, Cl, CH, DL, atau DH.
 

arsitektur mikroprosessor

  1. Arsitektur Internal MikroprosesorArsitektur umum mikroprosesorSecara umum, mikroprosesor berisi : - unit aritmetika/logika (ALU), - register, - bus internal, serta unit kendali,seperti terlihat pada Gambar berikut ini Gambar. Arsitektur umum mikroprosesorRegister dan ALU dihubungkan dengan bus internal dalam mikroprosesorsehingga register dan memori (melalui bus data) dapat mensuplai data ke ALUdan menerima hasilnya.  Dalam contoh ini, terdapat 2 buah register, A dan B, yang digunakan untuk secara temporer menyimpan hasil komputasi.  Bus internal X dan Y digunakan untuk mentransfer data sebagai operand yang akan diolah ALU.
 Arsitektur Harvard

Arsitektur Harvard memiliki dua memori yang terpisah satu untuk program (ROM) dan satu untuk data (RAM). Intel 80C51, keluarga Microchip PIC16XX, Philips P87CLXX dan Atmel AT89LSXX adalah contoh dari mikroprosesor yang mengadopsi arsitektur Harvard. Kedua jenis arsitektur ini masing-masing memiliki keungulan tetapi juga ada kelemahannya.
Pada mikroprosesor yang berarsitektur Harvard, overlaping pada saat menjalankan instruksi bisa terjadi. Satu instruksi biasanya dieksekusi dengan urutan fetch (membaca instruksi ), decode (pengalamatan), read (membaca data), execute (eksekusi) dan write (penulisan data) jika perlu.
Secara garis besar ada dua hal yang dilakukan prosesor yaitu fetching atau membaca perintah yang ada di memori program (ROM) dan kemudian diikuti oleh executing berupa read/write dari/ke memori data (RAM). Karena pengalamatan ROM dan RAM yang terpisah, ini memungkinkan CPU untuk melakukan overlaping pada saat menjalankan instruksi. Dengan cara ini dua instruksi yang beurutan dapat dijalankan pada saat yang hampir bersamaan. Yaitu, pada saat CPU melakukan tahap executing instruksi yang pertama, CPU sudah dapat menjalankan fetching instruksi yang ke-dua dan seterusnya. Ini yang disebut dengan sistem pipeline, sehingga program keseluruhan dapat dijalankan relatif lebih cepat.
Pada arsitektur Harvard, lebar bit memori program tidak mesti sama dengan lebar memori data. Misalnya pada keluarga PICXX dari Microchip, ada yang memiliki memori program dengan lebar 12,14 atau 16 bits, sedangkan lebar data-nya tetap 8 bits. Karena bandwith memori program yang besar (16 bits), opcode dan operand dapat dijadikan satu dalam satu word instruksi saja. Tujuannya adalah supaya instruksi dapat dilakukan dengan lebih singkat dan cepat. Kedua hal di atas inilah yang membuat prosesor berarsitektur
Harvard bisa memiliki CPU yang kecil. PICXX dari Microchip dikenal sebagai mikroprosesor yang memiliki 1 siklus mesin (machine cycle) untuk tiap instruksinya, kecuali instruksi percabangan.
Dari segi kapasitas memori, tentu arsitektur Harvard memberi   keuntungan. Karena memori program dan data yang terpisah, maka kavling total memori program dan data dapat menjadi lebih banyak. Mikrokontroler 8bit Motorola 68HC05 memiliki peta memori 64K yang dipakai bersama oleh RAM dan ROM. Oleh sebab itu pengalamatan ROM dan RAM hanya dapat mencapai 64K dan tidak lebih. Sedangkan pada mikrokontroler Intel keluarga 80C51 misalnya, memori program (ROM) dan memori data (RAM) masing-masing bisa
mencapai 64K. Tetapi ada juga kekurangannya, arsitektur Harvard tidak memungkinkan untuk menempatkan data pada ROM. Kedengarannya aneh, tetapi arsitektur ini memang tidak memungkinkan untuk mengakses data yang ada di ROM. Namun hal ini bisa diatasi dengan cara membuat instruksi dan mekanisme khusus untuk pengalamatan data di ROM. Mikroprosesor yang memiliki instruksi seperti ini biasanya disebut ber-arsitektur Modified Harvard. Instruksi yang seperti ini dapat ditemukan pada keluarga MCS-51 termasuk Intel 80C51, P87CLXX dari Philips dan Atmel AT89LSXX.

1.      Arsitektur Von Newmann
Arsitektur Von Neumann adalah arsitektur komputer yang menempatkan program (ROM=Read Only Memory) dan data (RAM=Random Access Memory) dalam peta memori yang sama. Arsitektur ini memiliki address dan data bus tunggal untuk mengalamati program (instruksi) dan data. Contoh dari mikrokontroler yang memakai arsitektur Von Neumann adalah keluarga 68HC05 dan 68HC11 dari Motorola.
Arsitektur VonNeuman prosesor tidak perlu membedakan program dan data. Prosesor tipe ini tidak memerlukan control bus tambahan berupa pin I/O khusus untuk membedakan program dan data. Karena kemudahan ini, tidak terlalu sulit bagi prosesor yang berarsitektur Von Neumann untuk menambahan peripheral eksternal seperti A/D converter, LCD, EEPROM dan devais I/O lainnya. Biasanya devais eksternal ini sudah ada di dalam satu chips, sehingga prosesor seperti ini sering disebut dengan nama mikrokontroler (microcontroller).

Keuntungan lain dengan arrrsitektur Von Neumann adalah pada fleksibilitas pengalamatan program dan data. Biasanya program selalu ada di ROM dan data selalu ada di RAM. Arsitektur Von Neumann memungkinkan prosesor untuk menjalankan program yang ada di dalam memori data (RAM). Misalnya pada saat power on, dibuat program inisialisasi yang mengisi byte di dalam RAM. Data di dalam RAM ini pada gilirannya nanti akan dijalankan sebagai program. Sebaliknya data juga dapat disimpan di dalam memori program (ROM). Contohnya adalah data look-up-table yang ditaruh di ROM. Data ini ditempatkan di ROM agar tidak hilang pada saat catu daya mati. Pada mikroprosesor Von Neumann, instruksi yang membaca data look-up-table atau program pengambilan data di ROM, adalah instruksi pengalamatan biasa. Sebagai contoh, pada mikrokontroler 8bit Motorola 68HC11 program itu ditulis dengan :LDAA $4000 ; A <-- $4000

Program ini adalah instruksi untuk mengisi accumulator A dengan data yang ada di alamat 4000 (ROM). Instruksi tersebut singkat hanya perlu satu baris saja. Pada prinsipnya, kode biner yang ada di ROM atau di RAM bisa berupa program dan bisa juga berupa data. Arsitektur Von Neumann bukan tidak punya kelemahan, diantaranya adalah bus tunggalnya itu sendiri. Sehingga instruksi untuk mengakses program dan data harus dijalankan secara sekuensial dan tidak bisa dilakukan overlaping untuk menjalankan dua instruksi yang berurutan. Selain itu bandwidth program harus sama dengan banwitdh data. Jika memori data adalah 8 bits maka program juga harus 8 bits. Satu instruksi biasanya terdiri dari opcode (instruksinya sendiri) dan diikuti dengan operand (alamat atau data). Karena memori program terbatas hanya 8 bits, maka instruksi yang panjang harus dilakukan dengan 2 atau 3 bytes. Misalnya byte pertama adalah opcode dan byte berikutnya adalah operand. Secara umum prosesor Von Neumann membutuhkan jumlah clock CPI (Clock per Instruction) yang relatif lebih banyak akibatnya eksekusi instruksi dapat menjadi relatif lebih lama.


  Arsitektur Mikroprocessor 8086

Mikroprosesor 8086 merupakan mikroprosesor 16-bit, artinya bagian ALU, register internalnya, dan sebagian besar instruksi-instruksinya dirancang untuk bekerja pada data 16-bit. Mikroprosesor 8086 memiliki bus data 16-bit, jadi ia dapat membaca data dari atau menyimpan data ke memori dan port-port yang ada dalam format 16-bit atau 8-bit . 8086 memiliki bus alamat 20-bit, sehingga ia dapat mengalamati 220 atau 1.048.576 lokasi memori atau 1 MB memori, sedangkan register PC atau IP (instruction pointer) yang dimilikinya panjangnya 16-bit. Hal inilahyang merupakan keunggulan dari 8086.
  • Prosesor lain yang sejenis dengan 8086 adalah 8088. 8088 memiliki ALU, register, dan set instruksi yang sama dengan 8086. 8088 juga memiliki bus alamat 20-bit, jadi ia juga bisa mengalamati memori 1 MB.
  • Perbedaan 8088 dan 8086, 8088 memiliki bus data 8-bit, sedangkan 8086 lebar bus datanya 16-bit. 8088 hanya dapat membaca dari atau menulisi data ke memori dan port-port dengan panjang 8-bit. Untuk membaca word 16-bit dari dua lokasi memori, 8088 selalu mengerjakan dengan dua operasi baca. 8088 pada awalnya digunakan sebagai CPU pada The Original IBM Personal Computer.
  • Prosesor 8086 terbagi menjadi 2 bagian fungsional yang independen, yakni BIU (bus interface unit) dan EU (execution unit).
  • BIU bertugas mengirim kode-kode alamat keluar, mengambil instruksi dari memori, dan membaca data dari port dan memori. BIU menangani semua  trnasfer data dan alamat pada bus untuk membantu EU.
  • EU meminta BIU untuk mengambilkan instruksi dan data dari memori, mendekode dan melaksanakan instruksi
Arsitektur Mikroprocessor 8088

Mikroprosesor Intel 8088 adalah multipurpose mikroprosesor yang  diimplementasikan dengan teknologi N-channel, depletion load, silicon gate (HMOS-II). Dipasarkan dengan format 40-pin CERDIP (Ceramic Dual Inline Package). Mikroprosesor ini termasuk keluarga mikroprosesor 8 bit dan 16 bit. Mikroprosesor Intel 8088 kompatible secara langsung dengan software yang didesain untuk mikroprosesor 8086 dan 8080/8085, dan secara hardware juga kompatible dengan mikroprosesor 8080/8085.
Mikroprosesor 8088 mempunyai 8 bit jalur data dan 20 bit jalur alamat. Jalur data memiliki pin yang sama dengan jalur alamat, artinya pada saat tertentu digunakan sebagai jalur data dan pada saat yang lain digunakan sebagai jalur alamat. Karena satu pin memiliki dua fungsi, yaitu sebagai jalur data dan jalur alamat maka digunakanlah sistem time multiplexing, yaitu penggunaan jalur yang sama untuk fungsi dan waktu yang berbeda, sehingga tidak bisa data dan alamat dikirim pada saat yang bersamaan.
Mikroprosesor 8088 mampu mengalamati memori sampai 1 MB. Memori ini digunakan untuk menyimpan kode biner dari instruksi yang akan dijalankan oleh μP, selain itu memori juga digunakan untuk menyimpan data secara sementara. Dengan tambahan unit I/O memungkinkan μP 8088 untuk menerima data dari luar (operasi input) ataupun mengirim data keluar (operasi output).

• Bus alamat ( AD0-AD7, A8-A15, dan A16/S3-A19/S6). Mikroprosesor 8088 mempunyai 20 pin jalur alamat sehingga dapat menjangkau 220 ( 1 MB) lokasi memori.
• Bus data ( AD0-AD7). Mikroprosesor 8088 mempunyai jalur data sebanyak 8 pin dan bisa digunakan secara biderectional (dua arah).
• Kontrol baca (RD). Sinyal ini aktif rendah. Jika pin ini berlogic nol berarti μP sedang melaksakan pembacaan data.
• Clock (CLK). Yaitu masukan sinyal detak yang diberikan dari luar untuk mensinkronkan segala kegiatan pada μP. Miroprosesor 8088 dapat bekerja pada frekuensi clock 4,77 MHz atau 8 MHz untuk versi turbo.
• Kontrol waktu tunggu (READY). Sinyal ini biasanya digunakan jika ada hardware lain yang memiliki kecepatan lebih lambat dari kecepatan μP ketika sedang bekerja dalam keadaan normal.
• Reset sistem (RESET). Sinyal ini aktif tinggi. Bila logika 1 diberikan pada pin ini, mikroprosesor akan menghentikan segala kegiatan yang sedang terjadi saat itu. Semua register akan dibuat 0 kecuali register code segment.
•  Interupsi (INTR dan NMI). INTR dan NMI (Non Maskable Interrupt) adalah permintaan interupsi yang dipanggil secara hardware. Sinyal INTR merupakan sinyal aktif tinggi, sedangkan NMI dapat aktif menggunakan trigger sisi naik dari sinyal clock. INTR tidak akan berfungsi jika interupsi flag dikosongkan (menggunakan instruksi CLI ), sedangkan NMI tidak dapat dihalangi dengan instruksi CLI.
•  Kontrol tunggu test (TEST). Untuk mengaktifkan sinyal TEST, digunakan instruksi WAIT. Jika pin ini berlogic 1 ketika μP sedang menjalankan instrruksi WAIT, CPU akan berada pada keadaan idle mode, artinya mikroprosesor tidak melakukan kegiatan apa-apa sebelum pin ini berlogic 0. Jika pin ini berlogic 0 kembali, maka pelaksanaan instruksi akan dilanjutkan.
• Status (A16/S3-A19/S6). Sinyal status digunakan untuk mendeteksi suatu keadaan-keadaan atau operasi-operasi yang sedang berlangsung, diantaranya pengambilan instruksi, membaca memori, menulis memori, dan operasi-operasi yang lain.
• Catu daya ( VCC dan GND). Mikroprosesor 8088 membutuhkan Vcc = +5 V yang masih bisa bertoleransi sebesar ± 10% dari +5 V.
• Sinyal tulis (WR). Sinyal ini aktif rendah. Jika sinyal ini berlogic 0, berarti μP sedang melaksanakan operasi tulis data ke unit memori atau I/O.
•  Sinyal kontrol memori dan I/O ( IO/M ). Jika pin ini berlogic 0, berarti saat ini pada siklus bus sedang berlangsung operasi input/output. Jika pena ini berlogic 1, berarti saat ini pada siklus bus sedang berlangsung operasi memori.
• Address Latch Enable (ALE). Sinyal ini digunakan sebagai penahan alamat yang baru masuk dalam suatu proses siklus mesin. Sinyal ini dapat digunakan untuk dimultipleks dengan alamat, data, dan status.
• Pengiriman dan penerimaan data ( DT/R ). Jika sinyal ini berlogic 1, arah data adalah dari μP menuju keluar. Jika sinyal ini berlogic 0 maka arah data dari luar menuju μP.
•  Data Enable ( DEN ). Sinyal ini biasanya digunakan untuk meng"on"kan buffer (latch) yang dihubungkan ke bus data.
•  Interrupt Acknowledge ( INTA ). Sinyal ini secara khusus digunakan sebagai tanggapan terhadap suatu instruksi INTR.
• Hold Request ( HOLD). Bila logika 1 diberikan pada pin HOLD, μP akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih sistem.
• Hold Acknowledge (HLDA) Sinyal ini digunakan sebagai pengakuan dari μP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain.

Elemen didalam mikroprosesor adalah :
CU (Control Unit) adalah manajer dari semua unit. CU mengatur keselarasan kerja setiap unit. Apa yang harus dilakukan oleh suatu unit, semuanya diketahui oleh CU dengan bantuan microprogram yang ditanamkan padanya. Pengontrolan oleh CU dilakukan melalui Bus Kontrol (panah dari/ke Control Unit).
Instruction Decoder bertugas untuk menerjemahkan suatu instruksi dengan cara membandingkannya dengan tabel instruksi yang dimilikinya. Hasil dekoding diberikan ke CU, dan CU akan membangkitkan sinyal-sinyal kontrol yang diperlukan untuk melaksanakan instruksi tersebut.
Register adalah memori khusus di dalam uP. Untuk mengidentifikasikannya, register memiliki nama khusus yang juga sekaligus mencerminkan fungsi register tersebut.

memori dan sistem I/O

Struktur Sistem Operasi

Komponen-komponen Sistem

Pada kenyataannya tidak semua sistem operasi mempunyai struktur yang sama. Namun menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:
  • Manajemen Proses
  • Manajemen Memori Utama
  • Manajemen Berkas
  • Manajemen Sistem I/O
  • Manajemen Penyimpanan Sekunder
  • Sistem Proteksi
  • Jaringan
  • Command-Interpreter System
Seadangakan menurut A.S.Tananbaum, Sistem Operasi mempunyai empat komponen utama, yaitu manajemen proses, input/output, manajemen memori dan sistem berkas.

Manajemen Proses

Proses merupakan kosep pokok di sistem operasi. Terdapat beragam definisi proses diantaranya:
  • Proses adalah program yang sedang dieksekusi.
  • Proses merupakan unit kerja terkecil yang secara individual memiliki sumber daya-sumber daya dan dijadwalkan oleh sistem operasi
Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas – berkas, dan perangkat-perangkat I/O . Sistem operasi menegelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
  • Menciptakan dan menghapus proses.
  • Menunda atau melanjutkan proses.
  • Menyediakan mekanisme untuk proses sinkronisasi.
  • Menyediakan mekanisme untuk proses komunikasi.
  • Menyediakan mekanisme untuk penanganan deadlock.

Manajemen Memori Utama

Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi / data yang akses datanya digunakan oleh CPU dan perangkat I/O .Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile - tidak permanen (sementara), artinya data akan hilang jika komputer dimatikan.
Manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan:
  • Memori utama sebegai sumber daya yang harus dialokasikan dan dipakai bersama di antara sejumlah proses yang aktif, agar dapat memanfaatkan prosesor dan fasilitas input/output secara efisisen, maka diinginkan memori yang dapat menampung sebanyak mung kin proses.
  • Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer (adanya memori virtual).
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
  • Melacak pemakaian memori (berapa besar dan oleh siapa)
  • Mengelola informasi memori yang dipakai atau tidak dipakai.
  • Alokasi dan dealokasi memori sesuai keperluan.
  • Memilih program yang akan di-load ke memori.

Manajemen Berkas

Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalanya tapes dan disk
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen berkas :
  • Pembuatan dan penghapusan berkas.
  • Pembuatan dan penghapusan direktori.
  • Mendukung manipulasi berkas dan direktori.
  • Memetakan berkas ke penyimpanan sekunder.
  • Mem- back up berkas ke media penyimpanan yang permanen (non-volatile).

Manajemen Sistem I/O

Sering disebut device manager. Menyediakan device driveryang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk .
Komponen Sistem Operasi untuk sistem I/O :
  • Buffer : menampung sementara data dari/ ke perangkat I/O .
  • Spooling: melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
  • Menyediakan driver: untuk dapat melakukan operasi “rinci” (detail) untuk perangkat keras I/O tertentu.
Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen sistem/perangkatI/O:
  • Mengirim perintah ke perangkat I/O agar menyediakan layanan.
  • Menangani interupsi perangakat I/O .
  • Menangani kesalahan pada perangakat I/O.
  • Menyediakan antarmuka ke pengguna.

Manajemen Penyimpanan Sekunder

Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan penyimpanan sekunder yang bersifat permanen dan mampu menampung banyak data, sebagai back up dari memori utama. Contoh dari penyimpanan sekunder adalah hard-disk, disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen penyimpanan sekunder seperti:
  • Manajemen ruang kososng
  • Alokasi penyimpanan
  • Penjadwalan disk

Sistem Proteksi

Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
  • Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
  • Menspesifikasi kontrol untuk dibebankan/ ditugaskan
  • Menyediakan alat untuk pemberlakuan sistem.

Jaringan

Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Tiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebu terhubung melalui jaringan komunikasi. Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.

Command-Interpreter System

Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter,command-line interpreter dan terkadang dikenal sebagai shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat I/O yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.

 


Pengertian I/O (Input Dan Output) Komputer

I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi : Fungsi I/O Pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible, dan bugs aplikasi tidak mudah menyebabkan sebuah sistem crash.


Port I/O yang berarti gerbang konektor Input/Output pada komputer, seperti pada keyboard, mouse paralel/serial ataupun USB. Menyediakan koneksi untuk piranti eksternal seperti kamera digital, printer dan scanner.

Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar.
  • Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse.
  • Unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkanpada layar monitor atau printer.
Bagian input (masukan) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antaralain untuk baca I/O (Input/Ouput Read [IOR]) dan untuk tulis I/O (Input/Output Write [IOW]).

Struktur I/O
Bagian ini akan membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan interupsi.

Interupsi I/O
Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan.

Proteksi I/O
Pengguna bisa mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan diri dari prosesor. Untuk mencegahnya kita menganggap semua instruksi I/O sebagai privilidge instruction  sehingga mereka tidak bisa mengerjakan instruksi I/O secara langsung ke memori tapi harus lewat sistem operasi terlebih dahulu. Proteksi I/O dikatakan selesai jika pengguna dapat dipastikan tidak akan menyentuh mode monitor. Jika hal ini terjadi proteksi I/O dapat dikompromikan.

Managemen Sistem I/O
Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada
hard-disk, CD-ROM dan floppy disk.

Komponen Sistem Operasi untuk sistem I/O:
  • Buffer : menampung sementara data dari/ ke perangkat I/O.
  • Spooling : melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
  • Menyediakan driver untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu
Peralatan Input.
  • Keyboard.
  • Mouse.
  • Joystick.
  • Scanner.
  • Lightpen.
  • Trackball.
  • Touch Sreen.
  • Magnetic Ink Character Reader (MICR).
  • Optical Character Reader (OCR).
  • Optical Mark Recognition (OMR) Reader
  • dll
Perangkat Output.
Perangkat Input/Output

 

mikroprosessor

Mikroprosesor adalah sebuah chip (IC) yang bekerja dengan program. Fungsi Mikroprosesor adalah sebagai pengontrol atau pengolah utama dalam suatu rangkaian elektronik. Mikroprosesor biasa disebut juga CPU (Central Processing Unit).

Cara kerja sebuah Mikroprosesor diarahkan oleh suatu program dalam kode-kode bahasa mesin yang telah dimasukkan terlebih dahulu ke dalam sebuah memori. Di dalam Mikroprosesor minimal terdiri dari rangkaian digital, register, pengolah logika aritmatika, rangkaian sekuensial.
Sejarah Mikroprosesor.
  • Th. 1946 : Komputer modern pertama dibuat di University of Pennsylvania USA yang disebut ENIAC (Electronics Numerical Integrator and Calculator.
  • ENIAC terdiri dari 17.000 tabung hampa, 500 mil kabel, berat > 30 ton, dapat menjalankan 100.000 operasi per detik, diprogram dengan mengatur jalur kabel pada rangkaiannya.
  • Th. 1948 : Transistor pertama dibuat di Bell Labs, USA.
  • Th. 1958 : IC (Integrated Circuit) pertama dibuat oleh Jack Kilby dari Texas Instrument, USA.
  • Penemuan IC ini mendorong pengembangan IC Digital (1960), dan mikroprosesor pertama oleh Intel (1971).
  • Mikroprosesor pertama di dunia adalah Intel 4004 merupakan prosesor 4-bit, Kebanyakan Kalkulator masih berbasis mikroprosesor 4-bit.
  • Th. 1971 : Intel mengeluarkan mikroprosesor 8-bit yaitu Intel 8008.
  • Th. 1973 : Intel memperkenalkan mikroprosesor 8-bit modern pertama Intel 8080 (10x lebih cepat dari 8008), dan diikuti Motorola MC6800.
  • Th. 1977 : Intel memperkenalkan 8085 yang merupakan mikroprosesor 8-bit terakhir yang dibuat Intel dengan frek.clock dan kecepatan lebih tinggi.
  • Perusahaan lain yang mampu menyaingi Intel 8085 adalah Zilog Corporation dengan Z80.
  • Th. 1978 : Intel mengeluarkan mikroprosesor 16-bit yaitu 8086, setahun kemudian mengeluarkan 8088 dengan kecepatan eksekusi dan memori lebih besar dari 8085, serta mulai digunakannya cache memori (sistem antrian yang mengatur pemberian instruksi sebelum menjalankannya).
  • Intel 8086/8088 disebut juga CISC (Complex Instruction Set Computer) karena jumlah dan kompleksitas instruksinya.
  • Th. 1981 : IBM membuat PC menggunakan mikroprosesor 8088 untuk menjalankan aplikasi seperti spreadsheet dan pengolah kata.
  • Th. 1983 : Intel mengeluarkan mikroprosesor 16-bit 80286, dengan kemampuan memori 16 MB.
  • Th. 1986 : Intel mengeluarkan mikroprosesor 32-bit pertama 80386, dengan kemampuan memori 4 GB.
  • Th. 1989 : Intel mengeluarkan mikroprosesor 32-bit 80486, dengan kemampuan memori 4 GB + 8K Cache.
  • Th. 1993 : Intel memperkenalkan mikroprosesor 32-bit Pentium I, Th. 1997 Pentium II,kemudian berturut-turut Pentium III dan Pentium 4 pada Th. 2000, dimana mulai digunakan teknologi memori RAMBUS menggantikan teknologi SDRAM.
I. MIKROPROSESOR 8088
Mikroprosesor 8088 mulai diperkenalkan oleh Intel Corporation pada tahun 1978. Mikroprosesor ini mengawali sejarah perkembangan mikroprosesor Intel selanjutnya, seperti 80186, 80286, 80386, 80486, Intel Pentium I, sampai yang sekarang Intel Pentium IV. Semua instruksi yang terdapat pada mikroprosesor 8088 sepenuhnya dapat dijalankan pada mikroprosesor-mikroprosesor Intel tersebut. Karena itu, untuk memahami perancangan hardware dan software pada PC sekarang, ada baiknya jika Anda lebih dahulu memahami perancangan hardware dan software pada mikroprosesor 8088 ini.
Mikroprosesor 8088 mempunyai 8 bit jalur data dan 20 bit jalur alamat. Jalur data memiliki pin yang sama dengan jalur alamat, artinya pada saat tertentu digunakan sebagai jalur data dan pada saat yang lain digunakan sebagai jalur alamat. Karena satu pin memiliki dua fungsi, yaitu sebagai jalur data dan jalur alamat maka digunakanlah sistem time multiplexing, yaitu penggunaan jalur yang sama untuk fungsi dan waktu yang berbeda, sehingga tidak bisa data dan alamat dikirim pada saat yang bersamaan. Mikroprosesor 8088 dibuat dalam bentuk IC dengan kaki sebanyak 40 pin (jenis DIP 40).
Ada dua mode yang dapat digunakan pada mikroprosesor 8088, yaitu mode minimum dan mode maksimum. Pena yang menjadi penentu penggunaan mode adalah pena MN/MX. Mode minimum biasanya digunakan untuk sistem yang sederhana yang umumnya menggunakan prosesor pada satu PCB. Sedangkan mode maksimum umumnya digunakan untuk sistem yang lebih kompleks yang menggunakan multi I/O dan memori yang terpisah serta dapat pula digunakan dengan co-prosesornya (co-prosesor untuk 8088 adalah 8087). Dalam homepage ini, penulis hanya akan menjelaskan perancangan pada mode minimum saja, karena umumnya cukup dengan mode minimum saja suatu alat pengontrol/kendali otomatis sudah dapat diwujudkan.