Bab 1

59
BAB 1 Pengenalan Mikroprosesor dan Komputer PENDAHULUAN Bab ini membahas selintas pandang kerabat mikroprosesor Intel. Termasuk di dalamnya diskusi mengenai sejarah komputer dan fungsi mikroprosesor dalam sistem komputer berbasis mikroprosesor. Juga diperkenalkan istilah-istilah dan kosa kata (argon) komputer sehingga pada saat berdiskusi mengenai mikroprosesor dan komputer, bahasa komputer (computerese) tersebut dapat dipahami dan digunakan. Diagram blok dan deskripsi dari fungsi setiap blok menerangkan secara rinci cara kerja sistem komputer. Bab ini juga menunjukkan bagaimana cara berfungsinya memori dan sistem input/output (VO) dari komputer pribadi Qtersonal computer). Terakhir, bab ini juga menerangkan bagaimana cara data disimpan di dalam memori, sehingga tiap jenis data dapat digunakan sewaktu perangkat lunak (sofnuare) dikembangkan. Data numerik disimpan sebagai nteger,floatíngp oint dan binary-coded decimal (BCD); data alfa numerik disimpan menggunakan kode American Standard Code for Information Interclunge (ASCII). TUJUAN BAB Setelah menyelesaikan bab ini, Anda diharapkan mampu: 1. Berbicara menggunakan terminologi komputer yang sesuai, termasuk bit, byte, data, sistem real memory, sistem memori expanded (EMS-expanded memory systen), sistem memori extended (XMS-extended memory system), DOS, BIOS, I/O dan lain-lainnya. 2. Menerangkan dengan singkat sejarah komputer dan membuat daftar aplikasi-aplikasi yang dijalankan oleh sistem komputer. 3. Menyajikan selintas pandang mengenai berbagai macam anggota kerabat 80X86 dan Pentium-Pentium 4. Menggambarkan diagram blok dari sistem komputer dan menerangkan tujuan dari setiap blok.

description

bab 1

Transcript of Bab 1

Page 1: Bab 1

BAB 1Pengenalan Mikroprosesordan KomputerPENDAHULUAN

Bab ini membahas selintas pandang kerabat mikroprosesor Intel. Termasuk di dalamnya diskusi mengenai sejarah komputer dan fungsi mikroprosesor dalam sistem komputer berbasis mikroprosesor. Juga diperkenalkan istilah-istilah dan kosa kata (argon) komputer sehingga pada saat berdiskusi mengenai mikroprosesor dan komputer, bahasa komputer (computerese) tersebut dapat dipahami dan digunakan. Diagram blok dan deskripsi dari fungsi setiap blok menerangkan secara rinci cara kerja sistem komputer. Bab ini juga menunjukkan bagaimana cara berfungsinya memori dan sistem input/output (VO) dari komputer pribadi Qtersonal computer). Terakhir, bab ini juga menerangkan bagaimana cara data disimpan di dalam memori, sehingga tiap jenis data dapat digunakan sewaktu perangkat lunak (sofnuare) dikembangkan. Data numerik disimpan sebagai nteger,floatíngp oint dan binary-coded decimal (BCD); data alfa numerik disimpan menggunakan kode American Standard Code for Information Interclunge (ASCII).

TUJUAN BABSetelah menyelesaikan bab ini, Anda diharapkan mampu:

1. Berbicara menggunakan terminologi komputer yang sesuai, termasuk bit, byte, data, sistem real memory, sistem memori expanded (EMS-expanded memory systen), sistem memori extended (XMS-extended memory system), DOS, BIOS, I/O dan lain-lainnya.

2. Menerangkan dengan singkat sejarah komputer dan membuat daftar aplikasi-aplikasi yang dijalankan oleh sistem komputer.

3. Menyajikan selintas pandang mengenai berbagai macam anggota kerabat 80X86 dan Pentium-Pentium

4. Menggambarkan diagram blok dari sistem komputer dan menerangkan tujuan dari setiap blok.

5. Menjelaskan fungsi dari mikroprosesor dan menerangkan secara rinci operasi dasarnya.

6. Mendefinisikan isi dari síStém memori dalam komputer pribadi.7. Melakukan konversi bilangan biner, desimal, dan heksadesimal.8. Membedakan dan menyajikan informasi numerik dan alfabetis sebagai

data.integer, floating point, BCD dan ASCII.

LATAR BELAKANG SEJARAHBagian pertama ini menerangkan secara garis besar peristiwa-peristiwa sejarah yang

menentukan pada pengembangan mikroprosesor, khususnya mikroprosesor 80X86, Pentium/Pentium Pro2,dan Pentium II yang sangat cepat dan lazim dipakai. Walaupun studi tentang sejarah bukan merupakan keharusan untuk memahami mikroprosesor, studi ini adalah bacaan yang menarik dan menyajikan pandangan sejarah terhadap pesatnya evolusi komputer.

Era MekanikIde mengenai sistem komputer bukanlah hal baru, ide ini telah ada sebelum alat-alat listrik

dan elektronik modern ditemukan. Ide untuk menghitung dengan menggunakan mesin telah ada sebelum 500 SM ketika masyarakat Babilonia menemukan abacus, yang merupakan kalkulator

Page 2: Bab 1

mekanik yang pertama. Abacus menggunakan untaian manik-manik untuk menunjukkan kalkulasi, dan digunakan oleh pendeta-pendeta Babilonia untuk mencatat keadaan gudang besar penyimpanan gandum milik mereka. Abacus, yang digunakan secara luas bahkan sampai sekarang, tidak mengalami kemajuan sampai tahun 1642, ketika ahli matematika Blaise Pascal menemukan kalkulator yang dibangun dari gir dan roda. Setiap gir mempunyai 10 gigi, sehingga ketika bergerak satu putaran penuh, gigi kedua akan pindah satu tempat. Prinsip ini sama dengan mekanisme odometer mobil dan merupakan dasar dari semua kalkulator mekanik. Sehubungan dengan itu, bahasa pemrograman PASCAL dipakai untuk menghormati Blaise Pascal atas hasil kerjanya dalam matematika dan kalkulator mekanik.

Kemunculan pertama kali mesin-mesin mekanik dengan gir yang digunakan untuk menghitung informasi terjadi secara otomatis sejak awal abad ke-19. Penemuan telah ada sebelum manusia menemukan bola lampu atau mengetahui lebih banyak tentang listrik. Pada masa permulaan jaman komputer, manusia bermimpi tentang mesin mekanik yang dapat menghitung angka-angka dengan program, dan tidak hanya menghitung seperti kalkulator.

Pada tahun 1937, ditemukan lewat proyek-proyek dan jurnal-jurnal, bahwa salah seorang pelopor mesin komputer mekanik adalah Charles Babbage, yang dibiayai oleh Augusta Ada Byron, Putri Bangsawan Lovelace. Pada tahun 1823 Babbage ditugaskan oleh Badan Astronomi Kerajaan Inggris untuk memproduksi sebuah mesin hitung yang bisa diprogram. Mesin ini akan digunakan untuk menyusun tabel navigasi Angkatan Laut Kerajaan. Ia menerima tugas tersebut dan mulai membuat apa yang ia sebut Mesin Analitis (Analytical Engine). Mesin ini merupakan komputer mekanik yang menyimpan 1000 bilangan desimal 20-digit dan suatu program variabel yang dapat memodifikasi fungsi dari mesin tersebut sehingga dapat melakukan bermacam-macam pekerjaan hitungan. Input mesin ini melalui punch card, seperti yang banyak digunakan oleh komputer-komputer dekade 1950-an & 1960-an. Hal ini menimbulkan asumsi bahwa ia menggunakan ide Joseph Jacquard, orang Perancis, untuk menggunakan punch card sebagai input ke mesin penganyam yang ditemukan tahun 1801, sekarang disebut sebagai mesin tenun Jacquard. Mesin tenun Jacquard menggunakan punch card untuk memilih pola anyaman yang rumit dan seksama pada pakaian yang diproduksi. Punch card memprogram mesin tenun itu.

1-1 LATAR BELAKANG SEJARAHSetelah membanting tulang selama bertahun-tahun, impian Babbage hilang ketika ia

menyadari juru mesin pada masanya tidak dapat membuat bagian-bagian mekanik yang dibutuhkan untuk menyelesaikan pekerjaannya. Mesin Analitis membutuhkan lebih dari 50.000 bagian mesin, yang tidak dapat dibuat dengan cukup presisi agar mesin tersebut dapat berfungsi dengan baik.

Era ListrikPada awal abad ke-19, saat ditemukannya motor listrik (oleh Michael Faraday); bersama dengannya muncul sejumlah besar mesin penjumlah bertenaga motor, yang semuanya didasarkan pada kalkulator mekanik yang dikembangkan oleh Blaise Pascal. Kalkulator mekanik befenaga listrik ini merupakan bagian umum dari peralatan kantor sampai awal 70-an, saat munculnya kalkulator elektronik sebesar telapak tangan, yang pertamakali diperkenalkan oleh Bomar. Monroe juga merupakan penemu pertama dari kalkulator elektronik, tetapi mesin-mesinnya desktop, model empat fungsi seukuran cash register.

Pada tahun 1889, Herman Hollerith mengembangkan punch card unfuk menyimpan data. Seperti Babbage, dia meniru ide punch card Jacquard. Dia juga mengembangkan mesin mekanik--dijalankan oleh salah satu motor listrik yang baru--dengan apa informasi yang disimpan pada punch card akan dihitung, disortir dan dikumpulkan. Ide penghitungan dengan mesin memikat pemerintah Amerika, sehingga sistem punch-card dari Hollerith dipilih untuk menyimpan dan mentabulasi informasi pada sensus penduduk tahun 1890.

Pada tahun 1896, Hollerith mendirikan perusahaan yang bernama Tabulating Machine Company. Perusahaan ini mengembangkan mesin-mesin yang menggunakan punch card untuk tabulasi. Setelah mengalami beberapa merger, Tabulating Machine Company berubah menjadi International Business Machine Corporation, yang sekarang dikenal dengan IBM, Inc. Punch card yang digunakan dalam sistem komputer sering disebut kartu Hollerith, sebagai penghargaan kepada Herman Hollerith. Kode 12 bit yang digunakan pada punch card disebut sebagai kode Hollerith.

Mesin mekanik dengan tenaga motor listrik terus mendominasi dunia informasi sampai ditemukannya mesin penghitung elektronik pertama pada tahun l94l oleh seorang penemu Jerman,

Page 3: Bab 1

Konrad Zuse. Komputer penghitungnya, Z3, digunakan pada pengembangan pesawat udara dan peluru kendali selama Perang Dunia II untuk pihak Jerman. Jika saja Zuse saat itu diberi cukup dana oleh pemerintah Jerman, kemungkinan besar ia akan mampu mengembangkan sistem komputer yang lebih kuat. Sekarang, Zuse akhirnya menerima penghargaan tertunda atas penemuannya dalam dunia elektronik digital yang dimulai tahun 1930-an dan untuk sistem komputer Z3-nya.

Baru-baru ini ditemukan (melalui pengklasifikasian kembali dokumen-dokumen militer Inggris), bahwa komputer elektronik yang sesungguhnya baru beroperasi tahun 1943 untuk memecahkan kode-kode rahasia Jerman. Sistem komputer elektronik pertama ini, yang menggunakan tabung hampa udara, ditemukan oleh Alan Turing. Turing menyebut mesin tersebut Colossus, mungkin karena ukurannya. Masalah dari Colossus adalah walaupun rancangan mesin tersebut memberi kemampuan untuk memecahkan kode-kode rahasia militer Jerman yang dijalankan oleh mesin Enigma mekanik, mesin ini tidak dapat menyelesaikan masalah lain. Colossus tidak dapat diprogram, mesin ini merupakan komputer dengan sistem program yang tetap (fixed), yang sekarang disebut sebagai komputer untuk tujuan tertentu (special-purpose computer).

Sistem komputer elektronik yang dapat diprogram untuk tujuan umum pertama kali dikembangkan tahun 1946 di University of Pennsylvania. Komputer modern pertama disebut sebagai ENIAC (Electronics Numerical Integrator and Calculator). ENIAC merupakan sebuah mesin besar yang berisi lebih dari 17.000 tabung hampa udara dan lebih dari 500 mil kabel. Mesin ini beratnya lebih dari 30 ton, hanya melaksanakan 100.000 operasi per detik. ENIAC mendorong dunia ke era komputer elektronik. ENIAC diprogram denganp engkabelanu lang rangkaian-rangkaiannya, suatu proses yang menyita waktu beberapa hari dengan banyak pekerja untuk menyelesaikannya. Pekerja-pekerja ini mengubah koneksi elektrik pada plug board yang terlihat seperti switchboard telepon jaman dulu. Masalah ENIAC lainnya, ada pada umur komponen tabung hampa udaranya,yang membutuhkan pemeliharaan yang teratur. Terobosan berikutnya adalah pengembangan transistor pada tahun 1948 di Bell Labs, yang diikuti dengan penemuan rangkaian terpadu (IC - integrated circuit) tahun 1958 oleh Jack Kilby dari Texas Instruments. Rangkaian terpadu ini membuka jalan untuk pengembangan rangkaian terpadu digital (RTL - resistor to transistor logic) pada tahun 1960-an dan mikroprosesor pertama tahun 1971 di Intel Corporation. Saat itu Intel dan salah seorang insinyurnya, Marcian E. Hoff mengembangkan mikroprosesor 4004-suatu peranti yang memulai revolusi mikroprosesor yang terus berlangsung sampai sekarang dengan langkahnya yang selalu semakin bertambah cepat.

Perkembangan PemrograrnanSetelah mesin-mesin yang dapat diprogram dikembangkan, program-program dan bahasa

pemrograman mulai muncul. Seperti yang telah disebutkan, sistem komputer elektronik yang dapat diprogram pertama, diprogram dengan pengkabelan ulang rangkaiannya. Karena hal ini terbukti terlalu membebani untuk penerapan praktis di awal evolusi sistem komputer, dibuatlah berbagai bahasa komputer untuk mengontrol komputer. Bahasa komputer yang pertama adalah bahasa mesin (machine language) yang terdiri dari "satu" dan "nol" menggunakan kode biner yang disimpan dalam sistem memori komputer sebagai sekumpulan instruksi yang disebut program. Ini lebih efisien dibandingkan dengan pengkabelan ulang pada mesin untuk memprogramnya, tetapi masih memakan waktu banyak untuk mengembangkan sebuah program karena membutuhkan sejumlah besar kode-kode bilangan. John von Neumann adalah ahli matematika yang pertamakali mengembangkan sistem yang menerima instruksi-instruksi dan menyimpannya di dalam memori komputer. Kornputer sering disebut mesin von Neulnarnn, sebagai penghargaan kepada John von Neumann. (Ingat bahwa Babbage juga mengembangkan konsep itu lama sebelum von Neumann).

Ketika sistem komputer seperti UNIVAC muncul di awal tahun 1950-an, bahasa rakitan (assembly language) digunakan untuk menyederhanakan tugas rnemasukkan kode biner ke dalam komputer sebagai instruksinya. Bahasa ini memperbolehkan pemprogramnya menggunakan kode-kode mnemonic seperti ADD untuk penambahan bilangan biner seperti 010001 11. Bahasa rakitan merupakan bantuan untuk pemrograman,tetapi belum sepenuhnya sempuma. Grace Hopper mengembangkan bahasa pemprogramantingkat tinggi pertama kali yang disebut FLOW-MATIC pada tahun 1957, sehingga komputer menjadi mudah diprogram. Pada tahun yang sama, IBM mengembangkan FORTRAN (Formula Translator) untuk sistem komputemya. Bahasa FORTRAN memungkinkan programernya untuk mengembangkan program dengan menggunakan formula untuk menyelesaikan masalah matematika. Perlu dicatat bahwa FORTRAN masih digunakan oleh

Page 4: Bab 1

beberapa ilmuwan untuk pemrograman komputer. Bahasa yang hampir sama, diperkenalkan kira-kira setahun setelah FORTRAN, disebut ALGOL (ALGOrithmic Language). Bahasa pernrograman yang benar-benar digunakan secara luas untuk aplikasi-aplikasi bisnis adalah COBOL (COmputer Business Oriented Language), walaupun penggunaan COBOL telah berkurang dalam beberapa tahun belakangan, COBOL masih merupakan bahasa pemprograman yang utama dalam sistem bisnis skala besar. Bahasa pemrograman lainnya yang pernah populer untuk bisnis adalah RPG (Report Program Generator)yang memungkinkan pemrograman dengan menspesifikasikan bentuk dari input, output dan kalkulasi.

Sejak munculnya pemrograman, telah muncul bahasa tambahan lain. Beberapa diantaranya adalah BASIC, C/C++, PASCAL dan ADA. Bahasa BASIC dan PASCAL dirancang sebagai bahasa pengajaran, tetapi banyak digunakan dalam sistem komputer. Bahasa BASIC mungkin merupakan bahasa yang termudah untuk dipelajari. Beberapa perkiraan mengindikasikan bahwa sebesar 80% dari program tertulis yang dibuat oleh pemakai dalam Personal Computer ditulis dalam bahasa BASIC. Belakangan versi baru dari BASIC yang disebut VISUAL BASIC telah muncul, sehingga pemtograman dalam lingkungan Windows menjadi lebih mudah. Ada kemungkinan bahwa bahasa VISUAL BASIC akan menggantikan C/C++ & PASCAL.

Di dalam lingkungan ilmiah, C/C++ dan (terkadang) PASCAL tampil sebagai program kontrol. Kedua bahasa tersebut, khususnya C/C++ menyediakan untuk pemrogram hampir seluruh pengontrolan lingkungan perffograman dan sistem komputer. Dalam banyak hal, C/C++ menggantikan beberapa bahasa tingkat rendah, perangkat lunak pengontrolan mesin yang biasa disediakan untuk bahasa rakitan. Walaupun begitu, bahasa rakitan masih memainkan peranan penting dalam pemrograman. Sebagian besar video game yang ditulis untuk komputer pribadi hampir semata-mata ditulis memakai bahasa rakitan. Bahasa rakitan juga berselingan dengan C/C++ dan PASCAL untuk melaksanakan fungsi pengontrolan mesin secara efisien.

Bahasa ADA digunakan oleh Departemen Pertahanan. Bahasa ADA ini dinamai atas penghargaan terhadap Augusta Ada Byron, Putri Bangsawan Lovelace. Sang Putri bekerja dengan Charles Babbage di awal 1800-an dalam pengembangan Mesin Analitis.

Era MikroprosesorMikroprosesor yang pertama, Intel 4004, merupakan mikroprosesor 4-bit, yaitu controller

yang dapat diprogram pada satu chip. Mikroprosesor ini hanya mengalamatkan 4096 Iokasi memori 4-bit. (bit adalah digit biner yang bernilai "satu" atau "nol". Memori yang lebarnya 4-bit disebut nibble). Kumpulan instruksi Intel 4004 hanya mengandung 45 instruksi- Mikroprosesor ini dibuat dengan teknologi P-channel MOSFET (yang termasuk canggih pada waktu itu) yang membuatnya hanya dapat mengeksekusi instruksi-instruksi tersebut pada kecepatan rendah (slow rate) dalam 50 KIPs (kilo-instructions per second).K ecepatani ni termasuk lambat jika dibandingkand engan100.000 instruksi per detik yang dijalankan oleh komputer ENIAC yang beratnya 30 ton pada tahun 1946. Perbedaan utamanya adalah Intel 4004 mempunyai berat kurang dari 1 ons.

Pada awalnya, banyak aplikasi tersedia untuk alat ini. Mikroprosesor 4-bit muncul di awal sistem game video dan sistem kontrol kecil berbasiskan mikroprosesor. Salah satu game video yang populer adalah sufftle game, diproduksi oleh Balley. Masalah utama dari mikroprosesor ini adalah kecepatannya, lebar word dan ukuran memori. Evolusi dari mikroprosesor 4-bit berakhir ketika Intel mengeluarkan 4040, versi terbaru 4004. Intel 4040 beroperasi dengan kecepatan lebih tinggi, walaupun tak ada kemajuan dalam hal lebar word dan ukuran memori. Perusahaan lain, Texas Instrument (TMS-1000), juga memproduksi mikroprosesor 4-bit. Mikroprosesor 4-bit masih bertahan dalam aplikasi-aplikasi tingkat rendah seperti oven microwave dan sistem kontrol kecil dan masih diproduksi oleh beberapa pabrik mikroprosesor. Kebanyakan kalkulator masihberdasarkan mikroprosesor 4-bit yang memroses kode 4-bit BCD (birtuty-coded decimal).

Pada tahun 1971, menyadari bahwa mikroprosesor merupakan produk berkembang yang memiliki nilai sangat komersial, lntel Colporation mengeluarkan 8008, versi 8-bit lanjutan dari mikroprosesor 4004:8008 mengalamatkan ukuran memori expanded (16Kb) dan berisi instruksi-instruksi tambahan (total sebesar 48) yang menyediakan kesempatan untuk aplikasi-aplikasinya dalam sistem yang lebih modern. (1 byte adalah bilanganbiner yang lebarnya 8 bit dan satu K (Kilobyte) sama dengan 1024 bit. Seringkali, ukuran memori dispesifikasikan dalam ukuran Kilobyte).

Ketika para insinyur mengembangkan aplikasi yang lebih menuntut untuk mikroprosesor 8008, mereka menyadari bahwa mikroprosesor tersebut dibatasi oleh ukuran memorinya yang kecil, kecepatannya yang rendah, dan kumpulan instruksinya. Intel menyadari keterbatasan ini dan tahun 1973 memperkenalkan mikroprosesor 8080, mikroprosesor 8-bit modern yang pertama.

Page 5: Bab 1

Enam bulan setelah Intel mengeluarkan mikroprosesor 8080, Motorola Corporation memperkenalkan mikroprosesor MC 6800. Gerbang pun terbuka dan 8080 dan, dalam derajat yang lebih rendah, MC6800- mengantarkank ita ke era mikroprosesor! Tidak lama, perusahaan-perusahaalna in mulai memperkenalkan mikroprosesor 8-bit versi mereka. Tabel 1-1 memuat daftar beberapa mikroprosesor pertama dan pabrik pembuatnya. Dari pembuat-pembuat mikroprosesor ini, hanya Intel dan Motorola yang terus memperkenalkan mikroprosesor versi terbaru dan yang lebih maju. Zilog masih membuat mikroprosesor tetapi sebagai sampingan dan memutuskan untuk berkonsentrasi memproduksi mikrokontroler dan embedded controlIer, alih-alih mikroprosesor seibà guna. Rockwèll mengabaikan perkembangan mikroprosesor untuk berkonsentrasi memproduksi perangkat modem. Penjualan mikroprosesor Motorola, yang sebelumnya mendekati 50 persen dari seluruh penjualan mikroprosesor, kini menurun.

Apa yang lstimaan dari 8080? Tidak hanya mempunyai lebih banyak alamat memori dan mengeksekusi instruksi tambahan, tetapi mengeksekusinya 10 kali lebih cepat dari 8008. Operasi penambahan, yang makan waktu 20 us (50.000 instruksi per detik) dalam sistem 8008, hanya makan waktu 2,0 us (500.000 instruksi per detik) dalam sistem 8080. 8080 juga kompatibel dengan TTL (transistor-transistor logic), sedangkan 8008 tidak begitu kompatibel. Hal ini membuat antarmuka lebih mudah dan lebih murah 8080 juga mengalamatkanm emori empat kali lebih banyak (64K byte) ketimbang 8008 (16Kb) Kemampuan ini mengantar kita ke era 8080 dan kelanjutan dari mikroprosesor. Kebetulan, komputer pribadi perlama MITS Altair 8800 dirilis tahun 1974. (Perludiperhatikan nomor 8800 mungkin dipilih untuk menghindari pelanggaran hak ciptadengan Intel.) Bahasa terjemahan BASIC, ditulis untuk komputer Altair 8800, dikembangkano leh Bill Gates, pendiri Microsoft Corporation. Program assembler pada Altair 8800 ditulis oleh Digital Research Corporation, yang juga memproduksi DRDOS untuk komputer pribadi.

Mikroprosesor 8085. Pada tahun 1977,Intel Corporation memperkenalkan versi terbaru 8080 yaitu 8085. 8085 adalah mikroprosesor 8-bit terakhir yang dikembangkan

oleh Intel. Walaupun 8085 hanya mempunyai sedikit keunggulan dibandingkan dengan 8080, 8085 dapat mengeksekusi perangkat lunak lebih cepat, misalnya suatu perhitungan yang pada 8080 makan waktu 2,0 us (500.000 instruksi per detik), pada 8085 hanya makan waktu 1,3 us (769.230 instruksi per detik). Keunggulan utama dari 8085 adalah internal clock generator, system controller internal, dan frekuensi clock yang lebih tinggi. Komponen terpadu yang lebih tinggi levelnya membuat biaya 8085 menjadi lebih murah tetapi kemampuannya lebih tinggi. Intel berhasil menjual lebih dari 100 juta 8085, mikroprosesor serba guna 8-bit yang paling sukses. Karena 8085 juga dibuat oleh perusahaan lain (sumber kedua), sekarang sudah ada lebih dari 200 juta 8085. Aplikasi yang menggunakan8 085 masih digunakans ampai sekarang.P erusahaanla ini yang menjual 500 juta mikroprosesor 8-bit adalah perusahaan Zilog, yang memproduksi mikroprosesor Z-80. Z-80 memiliki kode bahasa mesin yang kompatibel dengan 8085, yang berarti bahwa ada lebih dari 700 juta mikoprosesor yang menggunakan kodekompatibel 8085/Z-80.

Mikroprosesor ModernPada tahun 1978, Intel mengeluarkan mikroprosesor 8086, dan tahun berikutnya 8088.

Keduanya adalah mikroprosesor 16-bit, yang dapat mengeksekusi instruksi dalam waktu sesingkat

Tabel 1-1 Mikroprosesor 8-bit pertama

Page 6: Bab 1

400 ns (2,5 MIPs afau 2,5 juta instruksi per detik). Hal ini menggambarkan adanya perbaikan yang besar dari kecepatan eksekusi pada 8085. Tambahan pula, 8086 dan 8088 mengalokasikanm emori sebesarl Mb, 16 kali lebih besar dari memori 8085. (Memori 1Mb mengandung 1024Kb lokasi memori atau 1.048.576 byte). Dengan kecepatan yang lebih cepat dan jumlah memori yang lebih banyak, dalam banyak aplikasi, 8086 atau 8088 bisa menggantikan ini komputer kecil. Satu ciri lainnya yang ditemukan pada 8086/8088 adalah cache atau antrian instruksi 4- atau 6-byte yang mengambil Iebih dulu sedikit (cicilan) instruksi, sebelum instruksi tersebut dijalankan. Antrian itu mempercepat operasi dari banyak rangkaian instruksi dan terbukti menjadi dasar dari cache instruksi yang lebih besar pada mikroprosesor modern.

Penambahan jumlah memori dan instruksi tambahan pada 8086 dan 8088 mendorong munculnya banyak aplikasi kompleks untuk mikroprosesor. Pengembangan kumpulan instruksi mencakup perkalian dan pembagian, yang tidak terdapat pada mikroprosesor sebelumnya. Jumlah instruksi pun bertambah dari 45 pada 4004 menjadi 246 pada 8085, dan lebih dari 20.000 variasi pada 8086 dan 8088. Sebagai catatan, mikroprosesor seperti itu disebut CISC (contplex instruction set computer) yang disebabkan oleh jumlah dan kompleksitas dari instruksinya. Instruksi-instruksi tambahan memudahkan tugas pengembangan aplikasi yang efisien dan kompleks,meskipun jumlah instruksinya sangat banyak dan pada saat pertama kali dipelajari membutuhkan waktu yang lama pula. Mikroprosesor l6-bit juga menyediakan lebih banyak tambahan inremal register daripada mikroprosesor 8-bit. Penambahan register menyebabkan perangkat lunak dapat ditulis lebih efisien.

Mikroprosesor 16-bit berkembang terutama akibat kebutuhan akan sistem memori yang lebih besar. Ketenaran keluarga Intel melambung pada tahun 1981, ketika IBM memutuskan untuk menggunakan mikroprosesor 8088 dalam komputer pribadinya. Aplikasi-aplikasi sepertis preadsheet, pengolah kata (word processor), pemeriksa ejaan (spelling checker),dan kamus berbasisk omputer (computer-based thesaurus) sangat banyak memakai memori dan memerlukan memori lebih dari 64Kb dalam mikroprosesor 8-bit untuk eksekusi secara efiffeh. 8086 dan 8088 16-bit menyediakan memori 1Mb untuk aplikasi ini. Dalam waktu singkat, memori 1Mb terbukti kurang memadai untuk database yang besar dan aplikasi lainnya. Dengan demikian pada tahun 1983 Intel memperkenalkan mikroprosesor 80286, yang merupakan revisi dari 8086.

Mikroprosesor 80286. Mikroprosesor 80286 (juga memiliki arsitektur mikroprosesor 16-bit) hampir sama dengan 8086 dan 8088, kecuali bahwa mikroprosesor ini mengalamatkan memori 16Mb, bukan lagi 1Mb. Instruksi 80286 juga hampir sama dengan 8086 dan 8088, kecuali adanya penambahan instruksi yang mengatur tambahan memori 15M byte. Clock speed dari 80286 meningkat sehingga eksekusi beberapa instruksi menjadi secepat 250 ns (4,0 MIPs) dengan versi asli 8 MHz. Beberapa perubahan juga terjadi pada eksekusi internal dari instruksi yang menunjukkan kecepatan eksekusinya delapan kali lebih besar dibandingkan instruksi 8086/8088.

Mikroprosesor 32-bit. Aplikasi mulai memerlukan kecepatan mikroprosesor yang lebih cepat, memori yang lebih besar, dan jalur data yang lebih lebar. Ini menyebabkan diproduksinya 80386 pada tahun 1986 oleh Intel Corporation. 80386 merupakan penyempurnaan dari mikroprosesor 8086 dan 80286 16-bit. 80386 adalah mikroprosesor fungsional 32-bit pertama Intel yang mengandung data bus 32-bit dan alamat memori 32-bit. (Perhatikan bahwa mikroprosesor 32-bit dari Intel, yang diproduksi lebih dulu, iapx-432 tidak sukses). Melalui bus data 32-bit, 80386 mengalamatkan memori 4Gb. (Memori 1Gb mengandung 1024Mb atau 1.073.741.824 lokasi) Memori 4Gb mampu menyimpan 1.000.000 halaman ketikan, spasi rangkap data teks ASCII Secara Mengesankan, 80386 juga tersedia dalam versi yang sedikit dimodifikasi seperti 80386SX, yang mengalamatkan 16M byte memori melalui bus data l6-bit dan bus alamat 24-bit ; dan 80386SL/80386SLC, yang mengalamatkan 32 Mb memori melalui bus data 16-bit dan bus alamat 25-bit. 80386SLC memiliki cache memory internal yang memungkinkan pemprosesan data lebih cepat. Tahun 1995 Intel mengeluarkan 80386EX. 80386EX disebut juga embedded PC karena mengandung semua komponen pada PC kelas AT pada satu rangkaian terpadu. 803868X juga terdiri dari 24 saluran data untuk inpuloutput, bus alamat 26-bit, dan bus data 16-bit, kontroler refresh (refresh controller) DRAM dan logika pemilihan chip dapat diprogram (programmable chip selection logic).

GUI (graphical user interface-anfarmuka pengguna grafis) digunakan oleh sistem perangkat lunak yaitu aplikasi yang memerlukan kecepatan tinggi dari mikroprosesor dan sistem memori yang besar. Kebanyakan peraga grafis monitor modern berisi 256.000 atau lebih elemen gambar (pixels atau pels). Monitor VGA (variable graphics array) yang tidak terlalu rumit mempunyai resolusi 640 pixel per scanning line (baris scan)dengan jumlah scanning line adalah 480. Untuk memperagakan satu layar informasi, setiap elemen gambar harus diubah. Hal ini memerlukan mikroprosesor kecepatan tinggi. Banyak paket perangkat lunak baru yang menggunakan tipe antarmuka video ini. Paket-paket yang berdasarkan GUI ini memerlukan kecepatan mikroprosesor yang tinggi dan adapter video dipercepat untuk

Page 7: Bab 1

manipulasi teks video dan data grafis dengan cepat dan efisien. Sistem yang sangat memerlukan perhitungan kecepatan tinggi untuk antarmuka peraga grafisnya adalah Windors3 dari Microsoft Corporation. Kita sering menyebut GUI dengan peraga (display) WYSIWYG (What You See Is what You Get).

Mikroprosesor 32-bit dibutuhkan karena ukuran dari data busnya, yang bisa mentransfer bilangan real (floating point presisi tunggal) yang membutuhkan memori selebar 32-bit. Untuk mengefisienkan proses bilangan real 32-bit, mikroprosesor harus secara efisien menyalurkan bilangan itu di antara mikroprosesor dan memori. Jika bilangan tersebut melewati bus data 8-bit, maka diperlukan empat kali siklus pembacaan/penulisan. Tapi ketika melalui bus data 32-bit, hanya membutuhkan 1 siklus saja. Hal ini menyebabkan penambahan kecepatan dari program yang memanipulasi bilangan real. Kebanyakan bahasat ingkat tinggi, spreadsheet, manajemen database menggunakan bilangan real untuk penyimpanan data. Bilangan real juga digunakan pada paket perancangan grafis yang menggunakan vektor untuk memetakan citra di layar video. Termasuk juga sistem CAD (Computer Aided Drafting/design) seperti AUTOCAD, ORCAD dll.

Di samping mengembangkan kecepatan clock,80386 menyertakan unit manajemen memori (memory management unit) yang memungkinkan sumber daya memori untuk dialokasikan dan diatur oleh sistem operasi. Pada mikroprosesor terdahulu, manajemen memori dilakukan sepenuhnya dengan perangkat lunak. 80386 memasukkan rangkaian perangkat keras untuk manajemen memori dan tugas-tugas memori yang memperbaikiefisiensinya dan mengurangi perangkat lunak tambahan.

Kumpulan instruksi mikroprosesor 80386 sangat kompatibel dengan mikroprosesor 8086, 8088,d an 80286 sebelumnya. Instruksi-instruksi tambahan mengacu pada register 32-bit dan mengatur sistem memori. Perlu diingat bahwa instruksi-instruksi manajemen memori dan teknik-teknik yang digunakan 80286 juga kompatibel dengan mikroprosesor 80386. Ciri-ciri ini memungkinkan perangkat lunak 16-bit versi lama bekerja pada mikroprosesor 80386. Mikroprosesor 80486. Pada tahun 1989, Intel mengeluarkan mikroprosesor 80486yang merupakan gabungan dari 80386 sebagai mikroprosesor dan 80387 sebagai numeric coprocessor serta 8Kb cache memory system dalam satu paket terpadu. Walaupun mikroprosesor 80486 tidak banyak berbeda dengan mikroprosesor 80386, ada juga perbedaan substansialnya. Struktur internal 80486 dimodifikasi dari 80386 sedemikian rupa sehingga sekitar separuh instruksinya dieksekusi dalam satu clock, bukannya duaclock. Karena 80486 tersedia dalam versi 50 MHz, maka kira-kira setengah dari instruksi-instruksinya dieksekusi pada 25 ns (50 MIPs). Rata-rata perbaikan kecepatan pada campuran instruksi-instruksi biasa adalah 50 persen di atas 80386 yang dijalankan pada kecepatan clock yang sama. Versi 80486 berikutnya mengeksekusi instruksi-instruksi pada kecepatan yang lebih tinggi dengan versi 66 MHz double-clocked (80486DX2). Versi 66 MHz double-clocked (clock ganda) mengeksekusi instruksi-instruksi pada kecepatan 66 MHz, dengan pemindahan memori pada kecepatan 33 MHz. (ini yang menyebabkannya disebut mikroprosesor double-clocked). lntel versi triple-clocked (clock tripel), 80486DX4, memperbaiki kecepatan eksekusi internal menjadi 100 MHz dengan pemindahan memori pada kecepatan 33 MHz. Perhatikan bahwa mikroprosesor 80486DX4 mengeksekusi instruksi-instruksi pada kecepatan yang sama seperti Pentium 60 MHz. Juga berisi expanded cache (cache diperluas) 16Kb, sedangkan pada mikroprosesor 80486 sebelumnya hanya ada cache standar 8Kb. Advanced Micro Devices (AMD) telah menghasilkan versi triple-clocked yang bekerja dengan kecepatan bus 40 MHz dan kecepatan clock 120 MHz. Perkembangan masa kini memberikan suatu harapan untuk membuat mikroprosesor yang secara internal dapat mengeksekusi instruksi-instruksi pada kecepatan sampai 1 GHz atau lebih cepat lagi.

Versi yang lainnya adalah prosesor Overdrive4. Prosesor Overdrive sebenarnya adalah versi double clock 80486DX yang menggantikan 80486SX atau 80486DX yang lebih lambat kecepatannya. Ketika prosesor Overdrive dipasang di soketnya, prosesor itu akan menghentikan atau menggantikan fungsi 8M86SX atau 80486DX dan berfungsi sebagai versi double clock dari mikroprosesor itu. Sebagai contoh, jika 80486SX yangbekerja pada 25 MHz digantikan dengan sebuah mikroprosesor Overdrive, maka overdrive itu akan berfungsi sebagai mikroprosesor 80486DX2 50 MHz yang menggunakan ecepatan pemindahan memori sebesar 25 MHz.

Page 8: Bab 1

Tabel 1-2 memuat jenis rnikroprosesor yang diproduksi oleh Intel dan Motorola. Beserta informasi tentang ukuran word dan memorinya. Perusahaan-perusahaalan lain juga membuat mikroprosesor tetapi tidak ada yang sesukses Intel dan, sampai tingkat yang lebih kecil, Motorola.

Mikroprosesor Pentium. Mikroprosesor Pentium, yang diluncurkan pada tahun 1993, mirip dengan mikroprosesor 80386 dan 80486. Mikroprosesor ini sebelumnya diberi label P5 atau 80586, tetapi Intel memutuskan untuk tidak menggunakan label nomor karena sulit untuk mematenkan angka yang terlalu banyak. Dua versi yang baru diperkenalkan dari Pentium bekerja pada frekuensi clock 60 MHz dan 66 MHz dan kecepatannya 110 MIPs, ada juga frekuensi yang lebih tinggi yaitu 100 MHz, yang merupakan versi satu setengah kali clock dan beroperasi pada 150 MIPs yang merupakan versi kecepatan tinggi. Pentium double clock, beroperasi pada 120 MHz dan 133 MHz,

Tabel 1-2 Berbagai tipe mikroprosesor modern intel dan motorola

Page 9: Bab 1

tersedia sebagai versi kecepatan tinggi. (Versi tercepat yang dibuat oleh Intel adalah 233 MHz,

yaitu versi clock ). Perbedaan lainnya adalah besar cache, yang ditingkatkan menjadi 16Kb dari

cache 8Kb yang terdapat pada versi dasar 80486. Pentium dengan cache instruksi 8Kb dan cache data 8Kb memungkinkan program dengan transfer data memori besar tetap mengambil keuntungan dari cache. Sistem memori mengandung lebih dari 4G byte, dengan lebar bus data ditingkatkan menjadi 64 bit penuh dari 32 bit. Bus data mentransfer data pada kecepatan 60 MHz atau 66 MHz, tergantung dari versi Pentium tersebut. (Ingat bahwa kecepatan bus 80486 adalah 33 MHz). Bus data yang lebih lebar ini menampung bilangan double-precision floating-point (floating point presisi ganda) yang digunakan untuk peraga grafis modern yang berkecepatan tinggi dan vector-generated. Kecepatan bus yang tinggi ini memungkinkan perangkat lunak virtual bekerja lebih realistik pada platform pentium yang ada sekarang dan yang akan datang. Bus data yang lebar dan kecepatan eksekusi Pentium yang tertinggi memampukan monitor full frame bekerja pada kecepatan scan 30 Hz atau kecepatan yang lebih tinggi sebanding dengan televisi komersil. Versi-versi Pentium yang sekarang juga memasukkan instruksi-instruksi tambahan, yang disebut ekstensi multimedia, atau instruksi-instruksi MMX. Intel berharap bahwa instruksi-instruksi MMX akan secara luas digunakan, dan memang sudah terlihat bahwa perusahaan perangkat lunak menggunakannya.

Intel mengeluarkan Pentium Over Drive (P24T) untuk versi 80486 yang lebih lama, yang beroperasi pada clock 63 MHz atau 83 MHz. Versi 63 MHz merupakan upgrade sistem 80486DX2 50 MHz, dan 83 MHz merupakan upgrade sistem 80486DX2 66 MHz. Sistem upgrade 83 MHz menampilkan kinerja antara Pentium 66 MHz dan Pentium 75 MHz. Jika local bus video VESA yang lama dan video caching controller (kontroler cache video) terlihat terlalu mahal untuk dibuang, Pentium Over Drive menyajikan jalur upgrade yang ideal dari 80486 ke Pentium.

Barangkali fitur yang paling jenius dari Pentium adalah prosesor integer kembar. Pentium mengeksekusi dua instruksi, yang tidak saling tergantung, secara simultan karena Pentium terdiri dari dua prosesor integer internal bebas, yang disebut teknologi superscaler. Hal ini senantiasa memungkinkan Pentium untuk mengeksekusi dua instruksi setiap periode clock tertentu. Fitur lainnya dalam rangka memperbaiki unjuk kerja adalah suatu teknologi perkiraan jump (loncat) yang mempercepat eksekusi program yang menyertakan loop (pengulangan). Sama halnya dengan 80486, Pentium juga menggunakan sebuah koprosesor floating-point internal untuk menangani data floating-point, meskipun Kecepatannya sendiri lima kali lipat 80486. Sifat-sifat ini menggambarkan keberhasilan berkelanjutan pada kerabat mikroprosesor Intel. Sifat itu juga memampukan Pentium untuk mengganti beberapa mesin RISC (reduced instruction set computers) yang pada saat ini mengeksekusi satu instruksi per clock. Perhatikan bahwa beberapa prosesor RISC terbaru mengeksekusi lebih dari satu instruksi per waktu tertentu Iewat penggunaan teknologi superscaler. Saat ini Motorola, Apple. dan IBM telah memproduksi Power PC, yaitu suatu mikroprosesor RISC yang mempunyai dua modul integer dan satu modul floating-point. PowerPC meningkatkan unjuk kerja Apple Macintosh, tetapi pada saat ini lambat mengemulasi kerabat mikroprosesor Intel. Pengujian-pengujian menunjukkan bahwa perangkat lunak emulasi saat ini mengeksekusi aplikasi DOS dan WINDOWS pada kecepatan yang lebih rendah dari mikroprosesor 80486SX 25 MHz- Oleh karena itu, pada sistem komputer pribadi, kelihatannya kerabat Intel akan bertahan untuk waktu lama. Perhatikan bahwa sekarang ini ada 6 juta sistem Apple Macintoshs dan lebih dari 260 juta komputer pribadi yang berbasis mikroprosesor Intel. Pada tahun 1998, berbagai sumber menyatakan bahwa 96 persen dari semua PC yang terjual diisi dengan sistem operasi Windows. Untuk membandingkan kecepatan dari berbagai mikroprosesor, Intel menciptakan indeks iCOMP-rating. Indeks ini adalah gabungan dari SPEC92, ZD Bench, dan Power Meter. iCOMP-rating digunakan untuk menilai kecepatan semua mikroprosesor Intel sampai jenis Pentium. Gambar 1-1 memperlihatkan kecepatan relatif dari versi 80386DX 25 MHz yang rendah sampai versi Pentium 233MHz yang tinggi.

Sejak dikeluarkannya Pentium Pro dan Pentium II, Intel beralih ke indeks iCOMP2, yang besarnya sepersepuluh indeks iCOMP1. Sebuah mikroprosesor yang menggunakan iCOMP1 dengan indeks 1000 dinilai menjadi 100 bila menggunakan iCOMP2. Perbedaan lainnya adalah standar yang digunakan untuk komputasi. Gambar 1-2 menunjukkan indeks iCOMP2 yang ada pada Pentium II pada kecepatan sampai 400 MHz.

Mikroprosesor Pentium Pro. Versi lebih lanjut dari Intel adalah Pentium Pro yang juga bernama mikroprosesor P6. Pentium Pro mengandung 2l juta transistor, 3 modul integer juga unit floating-point untuk meningkatkan kinerja banyak software. Frekuensi clock awalnya adalah 150 MHz dan 166 MHz, yang tersedia pada akhir tahun 1995. Dengan cache tingkat-satu (L1) 16K internal (8K untuk data dan 8K untuk instruksi

Page 10: Bab 1

prosesor Pentium Pro juga terdiri dari cache tingkat-dua (L2) 256K. Satu perubahan mendasar pada Pentium Pro adalah bahwa prosesor Pentium Pro menggunakan tiga mesin eksekusi, sehingga dapat mengeksekusi sampai 3 instruksi dalam waktu bersamaan, yang juga dapat bertentangan dan tetap berjalan secara paralel. Hal ini menggambarkan sebuah perubahan dari Pentium yang mengeksekusi dua instruksi secara simultan asalkan mereka tidak bertentangan. Mikroprosesor Pentium Pro dioptimasikan untuk mengeksekusi kode 32-bit dengan efisien; untuk alasan ini, Pentium Pro lebih sering dipadu dengan Windows NT daripada dengan versi normal Windows 95. Intel merancang prosesor Pentium Pro untuk pasar server. Perubahan lainnya adalah bahwa prosesor ini dapat mengalamatkan sistem memori 4GB atau 64G byte. Pentium Pro mempunyai bus alamat 36-bit jika dikonfigurasi untuk sistem memori 64G byte.

Mikroprosesor Pentium ll dan PenÍium Il Xeon. Mikroprosesor Pentium II (dirilis pada tahun 1997) mewakili era baru dari Intel. Sebagai pengganti rangkaian terpadu yang digunakan

Catatan:*= Pentium Overdrive, bagian awal dari skala tidak linear, dan 16 MHz & 200MHz merupakan teknologi MWX

Gambar 1-1 Indeks iCOMP Intel

Gambar 1-2 Indeks iCOMP2 Intel

Catatan:*= Pentium Celeron, tanpa cahce

Page 11: Bab 1

pada versi awal mikroprosesor, Intel menempatkan Pentium II pada papan rangkaian yang kecil. Alasan utama perubahan adalah bahwa cache L2 yang terdapat pada papan rangkaian utama Pentium tidak cukup cepat untuk menyesuaikan diri dengan mikroprosesor yang baru. Pada sistem Pentium, cache L2 bekerja pada kecepatan bus sistem 60 MHz atau 66 MHz. Cache L2 dan mikroprosesor terletak pada papan rangkaian yang disebut modul Pentium ll. Cache L2 pada papan rangkaian ini bekerja pada kecepatan 133 MHz dan menyimpan 512 KB informasi. Mikroprosesor pada modul Pentium II sebenarnya merupakan mikroprosesor Pentium Pro denganekstensi MMX yang tidak mempunyai cache L2 internal.

Pada tahun 1998, Intel mengubah kecepatan bus dari Pentium II. Karena mikroprosesorPentium ll 266 MHz dan 333 MHz menggunakan kecepatan bus eksternal 66 MHz, maka terjadilah bottleneck, sehingga mikroprosesor Pentium II terbaru menggunakan kecepatan bus 100 MHz. Mikroprosesor Pentium II yang berkecepatan 350 MHz, 400 MHz, dan 450 MHz menggunakan kecepatan bus memori 100 MHz yang lebih tinggi ini. Bus memori berkecepatan tinggi memerlukan SDRAM 8 ns untuk menggantikan SDRAM l0 ns yang dipakai jika menggunakan kecepatan bus 66 MHz.

Pada pertengahan tahun 1998, Intel mempublikasikan versi terbaru dari Pentium II yang disebut Xeon6, yang secara. Khusus dirancang untuk aplikasi-aplikasi workstation dan server berkecepatan tinggi. Perbedaan utama antara Pentium II dan Pentium II Xeon adalah bahwa Xeon menyediakan cache Ll berukuran 32K byte dan cache L2 berukuran 512K, 1M, atau 2M byte. Xeon berfungsi menggunakan chip 440G.X. Xeon juga dirancang untuk bekerja dengan 4 Xeon dalam sistem yang sama. Fungsi ini mirip dengan Pentium Pro. Produk terbaru ini memperlihatkan adanya perubahan dalam strategi Intel: sekarang Intel memproduksi versi profesional dan versi home/bisnis dari mikroprosesor Pentium II.

Masa Depan Mikroprosesor. Tidak ada seorangpun yang dapat meramalkan dengan benar, tetapi keberhasilan Intel seharusnya masih berlanjut untuk beberapa tahun. Apa yang dapat terjadi adalah sebuah perubahan pada teknologi RISC, tetapi tampaknya perubahan hanya terjadi dengan teknologi baru yang dikembangkan oleh kerja sama antara Intel dan Hewlett-Packard. Sesungguhnyat eknologi baru ini akan menggabungkan kumpulan instruksi CISC dari mikroprosesor 80X86, sehingga perangkat lunak sistem itu dapat digunakan terus. Dasar pemikiran dari teknologi ini adalah bahwa sebagian besar mikroprosesor akan berkomunikasi secara langsung dengan yang lainnya, memungkinkan pemrosesan secara paralel tanpa perubahan pada kumpulan instruksi atau program. Saat ini, teknologi superscaler menggunakan banyak mikroprosesor, tetapi semua menggunakan secara bersama-sama kumpulan register yang sama. Teknologi baru ini, yang akan digunakan dalam versi mikroprosesor Intel berikutnya, akan terdiri dari banyak mikroprosesor. Setiap mikroprosesor terdiri dari kumpulan registernya sendiri yang disambungkan dengan register-register mikroprosesor lainnya. Teknologi ini seharusnya menawarkan pemrosesan paralel yang sesungguhnya tanpa menulis suatu program secara khusus.

Permulaan akhir tahun 2000 atau 2001, Intel merealisasikan sebuah arsitektur mikroprosesor yang baru. Mikroprosesor ini adalah mikroprosesor 64-bit dan mempunyai bus data 128-bit. Arsitektur baru ini, nama kodenya Merced,7 adalah sebuah hasil kerjasama antara EPIC (Explicitly Parallel Instruction Computing) dari Intel dan Hewlett-Packard. Arsitektur Merced mengijinkan mekanisme paralel yang lebih besar dibandingkan dengan arsitektur yang tradisional, seperti Pentium Pro atau Pentium II. Perubahan ini mencakup 128 register integer general-purpose,128 register floating-point, 64 register predicate, dan banyak modul eksekusi untuk menjalin sumberdaya perangkat keras yang mencukupi untuk perangkat lunak.

Gambar 1-3 merupakan gambaran konsep yang membandingkan mikroprosesor 80486, Pentium, P entium Pro, dan Pentium II. Setiap gambaran memperlihatkan struktur internal dari mikroprosesor ini: CPU, coprocessor, dan cache memory. Ilustrasi ini memperlihatkan kompleksitas dan tingkat integritas dalam setiap tipe mikroprosesor.

1-2 SISTEM KOMPUTER PRIBADI BERBASIS MIKROPROSESORSistem komputer telah mengalami berbagai perubahan akhir-akhir ini. Mesin yang dulunya

berukuran besar telah menyusut menjadi sistem desktop komputer kecil berkat mengecilnya mikroprosesor. Walaupun komputer desktop masa kini kecil, ia mempunyai kekuatan menghitung yang hanya manìpu diimpikan orang beberapa tahun yang lalu. Sistem mainframe komputer berharga jutaan dolar yang dikembangkan di awal dekade 80-an tidak secanggih komputer berbasis mikroprosesor 80486, Pentium, Pentium Pro atau Pentium II yang kita pakai saat ini. Sebenarnya, banyak perusahaan kecil telah mengganti komputer mainframe mereka dengan sistem berbasis mikroprosesor. Perusahaan seperti DEC (Digital Equipment Corporation) telah menghentikan produksi

Page 12: Bab 1

sistem komputer mainframe supaya dapat rnengkonsentrasikan sumber daya mereka pada sistem komputer berbasis mikroprosesor.

Subbab ini menunjukkan struktur dari suatu sistem komputer pribadi (PC) berbasis mikroprosesor. Struktur ini mencakup informasi tentang memori dan sistem operasi yang digunakan dalam kebanyakan sistem komputer berbasis mikroprosesor.

Lihat Gambar 1-4 tentang diagram blok sebuah komputer pribadi. Diagram ini juga diterapkan dalam sistem-sistem komputer lainnya, mulai dari komputer mainframe

Gambar 1-3 Gambaran konsep dari mikrokontroler 80468, Pentium Pro dan Pentium II

Gambar 1-4 Diagram blok sistem komputer berbasis mikroprosesor

Page 13: Bab 1

pertama sampai ke sistem berbasis mikroprosesor saat ini. Diagram blok ini terdiri dari tiga blok yang saling terhubung oleh bus-bus. (Bus adalah sekumpulan hubungan yang sama yang membawa informasi yang sama. Contohnya adalah bus alamat yang mengandung 20 atau lebih hubungan, membawa alamat memori menuju ke memori.) Blok-blok ini dan fungsinya dalam komputer pribadi akan diterangkan dalam subbab ini.

Memori dan Sistem l/O

Struktur memori dari semua sistem komputer pribadi (personal computer) berbasis mikroprosesor Intel 80X86 sampai Pentium II adalah sama. Ini mencakup komputer pribadi pertama yang berbasis pada 8088 yang dimunculkan pada tahun 1981 oleh IBM sampai dengan prosesor Pentium II yang merupakan versi paling hebat dan paling cepat saat ini. Gambar 1-5 melukiskan peta memori dari sebuah sistem komputer pribadi. Peta ini diterapkan pada beberapa jenis komputer pribadi kompatibel IBM yang ada saat ini. Sistem memori dibagi atas tiga bagian utama yakni: TPA (transient program area), system area, dan XMS (extended memory system). Tipe mikroprosesor yang terpasang dalam komputer menentukan adanya XMS atau tidak. Jika komputer berbasis pada 8086 generasi terakhir atau 8088 (sebuah PC8 atau XT9), maka TPA dan system areanya ada, tetapi XMS-nya tidak ada. PC dan XT berisi 640Kb TPA dan 384Kb sistem memori dari jumlah total ukuran memori 1Mb. Kita sering menyebut bagian 1Mb yang pertama dari memori sebagai real memory, sebab setiap miktoprosesor Intel didesain untuk berfungsi pada area ini saat beroperasi pada mode real.

Sistem komputer berbasis pada 80286 sampai ke Pentium II tidak hanya berisi TPA (640Kb) dan area sistem (384Kb) saja, tetapi juga beisi extended memory (memori diperpanjang). Komputer ini disebut sebagai komputer kelas AT10. PS/1 dan PS/2 yang diproduksi oleh IBM, adalah versi lain yang basis memori sistemnya didesain sama. Seringkali komputer-komputer ini juga dikenal sebagai komputer ISA (industry stand-ars architecture) atau EISA (extended ISA). PS/2 dikenal sebagai sebuah sistem arsitektur micro-channel1, atau sistem ISA, tergantung pada nomor modelnya.

Saat ini, sebuah bus baru yaitu bus PCI (peripheral component interconnet) digunakan pada hampir semua sistem berbasis prosesor Pentium sampai Pentium II. Extended memory pada komputer berbasis 80286 dan 80386SX berisi sampai dengan 15M byte, dan sampai dengan 4095Mb pada komputer berbasis 80386DX, 80486 dan Pentium sebagai tambahan atas lMb pertama real memory. Sistem komputer berbasis Pentium Pro dan Pentium II dapat mempunyai sampai dengan kurang 1M dari 4G, atau 64G extended memory. Mesin ISA berisi bus periferal 8-bit yang digunakan sebagai peralatan antarmuka 8-bit ke komputer PC atau XT berbasis 8086/8088. Mesin kelas AT, atau disebut juga mesin ISA, menggunakan bus periferal 16-bit sebagai antarmuka dan mungkin berisi prosesor 80286 atau di atasnya. Bus EISA adalah sebuah bus antarmuka periferal 32-bit yang terdapat pada sebagian 80386DX versi baru dan 80486. Perlu diperhatikan bahwa bus-bus ini semuanya kompatibel dengan versi sebelumnya. Jadi, sebuah card antarmuka 8-bit atau 16-bit dapat berfungsi pada bus standar 16-bit ISA atau 32-bit EISA.

Gambar 1-5 Peta Memori sebuah PC

Page 14: Bab 1

Bus lain yang terdapat pada kebanyakan PC berbasis 80486 adalah bus lokal VESA12

atau bus VL. Bus lokal ini mengantarmukakan disk dan video ke mikroprosesor pada tingkat bus lokal, yang memungkinkan antarmuka 32-bit berfungsi pada kecepatan clocking (pewaktuan) yang sama dengan mikroprosesor. Modifikasi terbaru ke bus lokal VESA mendukung bus data 64-bit dari mikroprosesor Pentium dan bersaing langsung dengan bus PCI walaupun peminatnya sedikit. Standar ISA dan EISA berfungsi hanya pada 8 MHz, yang mengurangi kemampuan antarmuka disk dan video bila menggunakan standar ini. Bus PCI dapat berupa bus 32- atau 64-bit yang secara khusus di desain untuk berfungsi dengan mikroprosesor Pentium sampai Pentium II pada kecepatan bus 33MHz.

Dua bus terbaru muncul pada sistem yang paling baru. Yang pertama muncul adalah USB (universal serial bus). Bus serial universal berhubungan dengan peranti periferal seperti keyboard, mouse, modem dan sound card ke mikroprosesor melalui jalur data serial dan pasangan terpilih dari kabel. Ide utamanya adalah mengurangi biaya sistem dengan mengurangi jumlah kabel. Keuntungan lainnya adalah bahwa sound system dapat mempunyai catu daya yang terpisah dari PC, yang berarti mengurangi noise. Kecepatan pemindahan data saat ini melalui USB adalah 10 Mbps; pada waktu yang akan datang, kecepatannya akan bertambah menjadi 100 Mbps.

Bus baru yang kedua adalah AGP (advanced graphics port) untuk video card. Port grafis lanjut ini memindahkan data antara video card dan mikroprosesor pada kecepatan yang lebih tinggi (66 MHz, dengan jalur data 64-bit, atau 533 Mbps) dari yang dimungkinkan pada setiap bus atau koneksi lainnya. Perubahan subsistem video dibuat agar dapat bekerja untuk player DVD yang baru pada PC.

TPA (transient program area) berisikan sistem operasi DOS dan program lainnya yang mengontrol sistem komputer. TPA juga menyimpan sebagian program aplikasi yang sedang aktif atau tidak aktif. Panjang TPA adalah 640Kb. Seperti yang telah disebutkan tadi, area memori ini menampung sistem operasi yang memerlukan satu porsi dari TPA. Praktisnya, jumlah memori yang tersisa untuk perangkat lunak aplikasi kira-kira 628 Kb jika menggunakan sistem operasi MSDOST13 versi 7.X. Versi DOS sebelumnya memerlukan lebih banyak TPA dan menyisakan cuma 530 Kb atau kurang untuk program aplikasi. Sistem operasi lainnya yang terdapat pada PC adalah PCDOS14. PCDOS dan MSDOS keduanya kompatibel, dan sama fungsinya untuk program aplikasi. Windows dan OS/215 adalah sistem operasi lainnya yang kompatibel dengan DOS dan memungkinkan program-program DOS untuk dijalankan. DOS (disk operating system) mengontrol cara memori disk diorganisasikan dan dikontrol, juga fungsi dan kontrol dari beberapa peralatan I/O yang terhubung dengan sistem. Gambar 1-6 menunjukkan organisasi TPA sebuah sistem komputer.

Peta memori melukiskan bagaimana sebagian besar area TPA digunakan untuk sistem program, data, dan driver. Juga menunjukkan besar area memori yang tersedia untuk program aplikasi. Bagian kiri dari setiap area adalah angka heksadesimal yang menunjukkan alamat-alamat memori yang mengawali dan mengakhiri setiap area data. Alamat memori (memory address) atau lokasi memori (memory location) heksadesimal digunakan untuk rnemberi nomor setiap byte sistem memori. Sebuah bilangan heksadesimal adalah suatu bilangan yang dinyatakan dalam radix 16 atau basis 16 dengan setiap digit menunjukkan nilai dari 0-9 plus huruf A-F (sehingga tersusun bilangan 1 sampai 16). Bilangan heksadesimal sering diberi akhiran H untuk menandai bahwa itu adalah bilangan heksa desimal. Contohnya,1234Ha dalah1 234 heksadesimal. Bisa juga menggunakan tanda data heksadesimal 0 x1234 sebagai heksadesimal1 234.

Vektor Interrupt mengakses berbagai fitur DOS, BIOS (basic I/O system) dan aplikasi. BIOS adalah sekumpulan program yang tersimpan, baik pada ROM (read-only memory) atau memori flash yang mengoperasikan berbagai macam peralatan I/O yang terhubung dengan sistem komputer. Ingat bahwa memori flash adalah sebuah EEPROM (electrically erasable read-only memory) yang terhapus dalam sistem secara listrik, sedangkan ROM adalah suatu peralatan yang harus diprogram:( 1) dengan mesin spesial yaitu pemrogram EPROM untuk sebuah EPROM (erasable/programable read-only memory) atau; (2) di pabrik di mana ROM itu dibuat. Program ini disimpan di dalam area sistem yang akan dijelaskan nanti dalam subbab ini.

Area sistem BIOS dan komunikasi DOS berisi data transien yang digunakan oleh program untuk mengakses peralatan-peralatan I/O dan berbagaif itur yang terdapat dalam komputer. (Lihat Lampiran A untuk daftar lengkap area komunikasi BIOS dan DOS). Data itu disimpan di dalam TPA dan dapat diubah sewaktu sistem beroperasi. Ingat bahwa TPA berisi memori baca/tulis (read/write) yang disebut RAM (random access memory) yang dapat diubah saat program dijalankan.

Page 15: Bab 1

IO.SYS adalah sebuah program yang dimasukkan ke TPA dari disk saat DOS dimulai. IO.SYS berisi program yang memampukan DOS menggunakan keyboard, monitor, printer, dan peralatan I/O lainnya pada komputer. Program IO.SYS menghubungkan DOS ke program yang tersimpan dalam BIOS ROM.

Program DOS mencakup dua area memori. Area pertama panjangnya 16 bytes dan berlokasi di puncak TPA, lainnya lebih besar dan terdapat di dekat dasar TPA. Program DOS mengontrol operasi sistem komputer. Ukuran area DOS tergantung dari versi DOS yang terinstal pada memori komputer dan bagaimana cara program itu diinstal. Jika DOS diinstal pada memori high dengan menggunakan driver HIMEM.SYS, maka sebagian besar TPA bebas untuk menampung program aplikasi. Memori high akan dibahas nanti dan hanya diterapkan pada mikroprosesor 80286 ke atas.

Ukuran dari area driver serta jumlah driver berbeda dalam setiap komputer. Driver adalah program yang mengontrol peralatan-peralatan I/O yang dapat diinstal seperti

mouse, cahce disk, hand scanner, memori CD-ROM (Compact Disk Read-Only memory), dan DVD (Digital Versatile Disk), juga program. Driver umumnya adalah file dengan ekstensi. SYS seperti MOUSE.SYS dalam DOS versi 3.2 ke atas, atau file dengan ekstensi .EXE seperti EMM386.EXE. Karena cuma sedikit sistem komputer yang mirip, area driver bervariasi ukurannya dan berisi jumlah dan tipe driver yang berbeda. Perhatikan bahwa walaupun file-file ini tidak digunakan oleh Windows, file-file ini masih digunakanu ntuk mengeksekusi aplikasi DOS walaupun memakai Windows 95. Windows menggunakans ebuahf ile yang disebut SYSTEM.INI untuk memuat driver yang digunakan oleh Windows.

Program COMMAND.COM (prosesor perintah) mengontrol operasi komputer dari keyboard. Program ini memroses perintah-perintah DOS sebagaimana diketik dari keyboard. Contohnya, jika kita mengetik DIR, program ini menampilkan isi sebuah direktori dari file disk yang

Gambar 1-6 Peta memori TPA pada sebuah PC. (Perhatikan bahwa peta ini berbeda-beda pada setiap sistem)

Page 16: Bab 1

sedang dipakai. Jika program ini dihapus, keyboard komputer tidak dapat digunakan. Jangan coba-coba menghapus program atau file COMAND.COM, IO.SYS atau MSDOS.SYS untuk membuat ruang bagi perangkat lunak lainnya, sebab komputer Anda tidak akan berfungsi! Program ini dapat dimuat ulang ke disk jika terhapus, asalkan program SYS.COM berlokasi dalam direktori DOS.

Daerah TPA bebas menampung program aplikasi selama mereka dijalankan. Program aplikasi ini mencakup pengolah kata, program spreadsheet, program CAD dan lain-lain. TPA juga menampung program TSR (tenninate and stay resident) yang menetap di memori dalam status tidak aktif sampai diaktifkan oleh penekanan hot-key atau interrupt. Program kalkulator adalah sebuah contoh program TSR yang diaktifkan saat kunci ALT-C (hot-key) diketik. Hot key adalah kombinasi dari kunci-kunci keyboard yang mengaktifkan program TSR. Program TSR disebut juga sebagai program pop-up sebab ketika diaktifkan kelihatannya muncul dari dalam program lainnya. Jika Windows diinstal dan sedang digunakan, Windows juga menggunakan sebagian porsi TPA untuk menyimpan informasi yang memungkinkannya mengakses memori extended.

Area Sistem. Area sistem, walaupun lebih kecil ukurannya dibanding dengan TPA, juga penting. Area sistem berisi program dari ROM atau memori flash serta area memori baca/tulis RAM untuk penyimpanan data. Gambar 1.7 menunjukan area sistem dari sistem komputer tipikal. Seperti peta TPA, peta area sistem juga mencakup alamat-alamat memori heksadesimal dari berbagai area.

Area pertama dari area sistem berisi RAM video display dan pengontrol program ROM atau memori flash. Area ini umumnya dimulai dari lokasi A0000H dan memanjang sampai ke CTFFFH. Ukuran dan jumlah memori yang digunakan tergantung dari tipe adapter tampilan video yang dipakai sistem. Adapter tampilan yang sering digunakan komputer mencakup generasi pertama CGA (color graphics adapter) dan ECA (enandced graphics adapter) atau salah satu dari generasi terbaru YCA (variable graphics array). Biasanya; video RAM yang- berlokasi pada A0000H-AFFFFH menyimpan data bitmap atau data grafis, dan pada memori B0000H-BFFFFH menyimpan data teks. Perhatikan bahwa beberapa video card yang lebih baru merelokasi memori ke area yang lebih lebar (wide) dan tinggi (high) dalam sistem memori untuk penggunaan sistem

Gambar 1-7 Area sistem dari sebuah sistem biasa

Page 17: Bab 1

operasi windows. Video card pada beberapa komputer menggunakan lokasi memori EI800O00H-E2FFFFFF dalam Windows untuk celah memori videonya. BIOS video yang berlokasi di ROM atau memori flash, terdapat pada lokasi C0000H-C7FFFH an berisi program pengontrol tampilan video.

Jika memori hard disk digunakan pada komputer, kartu antarmukanya mungkin mengandung ROM. ROM ini, yang sering ditemukan pada drive hard disk generasi lama MFM atau RLL, menampung format perangkat lunak tingkat rendah pada lokasi C8005H. Ukuran, lokasi, dan ada tidaknya ROM tergantung dari tipe adapter hard disk yang digunakan pada komputer. Catat bahwa sebagian besar IDE drive tidak mempunyai ROM tipe ini, tetapi kebanyakan antarmuka disk SCSI memiliki sebuah ROM.

Area pada lokasi CS800H-DFFFFH sering terbuka atau bebas. Area ini digunakan untuk El'r4S( expanted memory system) alam komputer PC atau XT atau sistem memori upper dalam komputer AT. Penggunaannya tergantung pada sistem dan konfigurasinya. EMS menyediakan 64Kb frame halaman memori untuk digunakan oleh program aplikasi. 64Kb frame halaman (atau page frame, yang biasanya berlokasi pada D0000H-DFFFFH) digunakan untuk menambah sistem memori dengan cara memindahkan halaman (page) memori dari EMS ke area dari alamat memori ini. Perhatikan bahwa informasi ini dialamatkan ke frame halaman sebagai halaman berukuran 16K byte berisi data yang dipertukarkan dengan halaman dari EMS. Gambar 1-8 menunjukkan gambar EMS. Sebagian besar program aplikasi yang menyatakan dirinya kompatibel dengan driver LIM 4.0 dapat menggunakan memori expanded. Driver manajemen memori LIM 4.0 adalah produk Lotus, Intel, dan Microsoft yang merupakan akses standar untuk sistem memori expanded. Ingat bahwa memori expanded sifatnya lambat karena perubahan ke 16Kb halaman memori baru membutuhkan aksi drivernya. Juga memori expanded didesain untuk mengembangkan sistem memori sistem komputer berbasis 8086/8088 generasi terdahulu. Dalam banyak hal, kecuali untuk beberapa permainan berbasis DOS yang menggunakan kartu suara, penggunaan memori expanded harus dihindari dalam sistem berbasis 80386 sampai dengan Pentium II.

Lokasi memori E0000H-EFFFFH berisikan bahasa BASIC dalam ROM pada sistem PC IBM generasi terdahulu. Area ini adalah area terbuka atau bebas di sistem komputer yang lebih baru. Dalam sistem yang lebih baru ini, area ini sering di back-fill dengan ekstra RAM yang disebut memori upper memiliki panjang 4Kb.

Gambar 1-8 Penunjukkan sebuah frame halaman pada EMS

Page 18: Bab 1

Akhirnya, sistem ROM BIOS berlokasi 64Kb di puncak area sistem (F0000H-FFFFFH). ROM ini mengontrol operasi peranti-peranti I/O dasar yang terhubung dengan sistem komputer. ROM tidak mengontrol operasi sistem video, yang mempunyai ROM BIOSnya sendiri pada lokasi C0000H. Bagian pertama dari BIOS sistem (F0000H-F7FFFH) kerapkali berisi program untuk set up komputer, bagian kedua mengandung prosedur-prosedur pengontrol sistem dasar I/O. Sekali sistem di set up, blok memori upper di lokasi F0000H-F7FFFH juga tersedia, apabila file EMM386.EXE telah diinstal. Yang juga tersedia untuk penggunaan blok-blok memori upper adalah lokasi B0000H-B7FFFH, asalkan video hitam-putih tidak diperlukan pada mode CGA.

Ruang l/O. Ruang I/O (Inpul/Output) dalam sebuah sistem komputer membentang dari port I/O 0000H sampai port FFFFH. (Sebuah alamat port I/O serupa dengan sebuah alamat memori, tapi alih-alih mengalamatkan memori, alamat port I/O mengalamatkan sebuah peranti I/O). Peranti I/O memungkinkan mikroprosesor untuk berkomunikasi dengan dirinya sendiri atau dengan dunia lain. Ruang I/O membuat komputer dapat mengakses sampai 64K peranti VO 8-bit yang berbeda. Sejumlah besar lokasi ini tersedia untuk ekspansi dalam sistem-sistem komputer baru pada umumnya. Gambar 1-9 menunjukkan peta I/O yang terdapat pada kebanyakan sistem PC.

Area I/O berisikan dua bagian besar. Area yang berada di bawah lokasi I/O 0400H dicadangkan untuk peralatan-peralatan sistem yang tergambar pada Gambar 1-9. Area sisanya adalah ruang I/O yang disediakan untuk ekspansi yang membentang dari port I/O 0400H sampai FFFFH. Perhatikan bahwa beberapa board utama pada komputer sistem dapat pula menggunakan alamat-alamat ini di atas 0400H. Umumnya alamat-alamat I/O di antara 0000H dan 00FFH mengalamatkan komponen-komponen yang terdapat pada board utama komputer, sedangkan alamat-alamat di antara 0100H dan 03FFH mengalamatkanb erbagaip eranti yang berlokasi pada kartu plug-in. Perhatikan bahwa keterbatasan alamat VO antara 0000 dan 03FFH berasal dari PC standar yang

asli, seperti yang ditentukan oleh IBM. Pada saat menggunakan bus ISA, Anda hanya harus menggunakan alamat antara 0000H dan 03FFH.

Berbagai macam peranti I/O yang mengontrol operasi dari sistem komputer biasanya tidak secara langsung dialamatkan. Malahan, BIOS ROM mengalamatkan

Gambar 1-9 Peta I/O sebuah PC menunjukkan berbagai area peralatan I/O

Page 19: Bab 1

peranti-peranti dasar ini yang dapat sedikit bervariasi lokasi dan fungsinya dari suatu komputer ke komputer lainnya. Akses ke sebagian besar peranti I/O dibuat lewat DOS atau panggilan fungsi BIOS untuk mempertahankan kompatibilitas dari suatu sistem komputer ke komputer lainnya. Peta yang ditunjukkan pada Gambar 1-9 disediakan sebagai panduan yang menggambarkan ruang I/O dalam suatu sistem komputer.

Sistem Operasi DOSSistem operasi adalah program untuk mengoperasikan komputer. Buku ini

mengasumsikan bahwa sistem operasi adalah MSDOS atau PCDOS yang merupakan sistem operasi yang paling banyak dipakai dalam PC (85 persen, sesuai dengan taksiran artikel majalah PC Magazine16). Sistem operasi Windows yang mengandung DOS, juga banyak dipakai di PC, menurut artikel yang sama. Generasi Windows 98 dipastikan menggantikan Windows 95 sebagai sistem operasi yang penting. Sistem operasi tersedia dalam disk yang disimpan dalam disket floppy atau hard disk sebuah komputer atau jaringal LAN. Sistem-sistem canggih menyimpan DOS dalam ROM. Sistem-sistem lebih baru yang memakai Windows CE sebagai sistem operasinya juga menyimpannya di ROM, sebagai contoh adalah PC perusahaan Tandy. Setiap kali komputer dihidupkan atau direset, sistem operasi dibaca dari disk atau LAN. Operasi ini dinamakan booting sistem. Begitu DOS diinstal ke memori dengan booting, DOS akan mengontrol operasi sistem komputer, peranti-peranti I/Onya, dan program aplikasi. Selain sistem operasi DOS, sistem operasilainnya sering digunakan untuk mengontrol operasi komputer. (Seperti yang telah dicantumkan dalam sebuah artikel terbaru, sistem-sistem operasi ini mencakup Windows dari Microsoft dengan lebih dari 65 juta pengguna, OS/2 dari IBM dengan lebih dari 4 juta pengguna, UNIX dari AT&T dengan lebih dari 2 juta pengguna, dan lainnya). Tugas utama sistem operasi DOS setelah dimuat ke memori adalah untuk menggunakan file yang bernama CONFIG.SYS yang tidak boleh terhapus. File ini menentukan berbagai macam driver yang akan dimuat ke dalam memori, mensetting atau mengkonfigurasi operasi mesin. Contoh 1-1 adalah contoh file CONFIG.SYS untuk DOS. Ingat bahwa pernyataan-pernyataan yang terdapat di dalam file ini bervariasi dari suatu PC ke PC lainnya. Pernyataan-pernyataan di bawah ini hanya merupakan suatu contoh. Jika komputer menggunakan Windows sebagai sistem operasinya, file ini lebih singkat dan mungkin hanya akan menyimpan perintah aktivasi perangkat lunak driver CD-ROM.

CONTOH 1-1

REM DOS CONFIG.SYS FILEDEVICE=C : \DOS \HIMEM . SYSDEVICE=C: \DOS\EMM386.EXE NOEMS i=c80O-efffDOS=UMBFILES=3 0BIIFFERS=L0SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:2048 /PDOS:HIGHDEVICEHIGH C : \LASERLIB\SONY-CDU. SYSDEVICEHIGH C : \DoS\SETVER.EXEDEVICEHIGH C: \MOUSE1\MOUSE.SYSLASTDRIVE=F

Pernyataan pertama (REM) berisi informasi untuk mengidentifikasi file CONFIG.SYS ini dan merupakan pilihan. Baris kedua menginformasikan sistem untuk memuat driver HIMEM.SYS yang akan memungkinkan penggunaan blok memori upper dan juga menyediakan memori high untuk sistern Driver adalah progam pengontrol peralatan I/O atau fungsi lainnya yang dimuat sebelum program lainnya oleh file CONFIG.SYS. High memory (memori tinggi) adalah bagian dari memori yang diawali pada lokasi 100000H dan berakhir pada 10FEFFH, yang berada tepat di atas area 1Mb pertama memori, untuk digunakan oleh program-program dalam sistem berbasis 80286 sampai dengan Pentium II. Driver HIMEM.SYS memungkinkan sistem berbasis DOS mengakses sampai I Mega plus 64K-16 byte memori. Tambahan bagian 64Kb dari memori high ini menampung sebagian besar DOS serta membebaskan ruang tambahan di TPA untuk aplikasi DOS.

Empat pernyataan pertama dalam file CONFIG.SYS selanjutnya mengatur jumlah file, buffer, stack dan blok kontrol file yang diperlukan untuk menjalankan berbagai macam progmm. Pengesetannya harus mencukupi keperluan setiapp rogram yang dimuat ke memori oleh DOS. Umumnya, jika suatu program membutuhkan lebih banyak buffer dan lainnya, dokumentasi program akan mengindikasikan bahwa file CONFIG.SYS haruslah diubah sesuai dengan jumlah kebutuhan. Banyak program-program terbaru secara langsung mengeset file CONFIG.SYS ketika diinstal dengan cara rnengubah parameter-parameter ini dengan menambahkan pernyataan-

Page 20: Bab 1

pernyataan tambahan. Jika komputer menggunakan Windows sebagai sistem operasi utamanya, maka Windows akan menyediakan sebagian besar pengesetannya untuk aplikasi DOS.

Supaya blok memori upper (hanya tersedia pada sistem berbasis 80386, 80486, Pentium) dapat digunakan, maka file EMM386.EXE (extended memory manager) harus dimuat ke memori. EMM adalah sebuah driver yang mengemulasi memori expanded dalam memori extended dan juga sistem memori extended. Program ini memback-fill area bebas memori di dalam area sistem agar program-program dapat diisikan ke dalam area ini dan diakses secara langsung oleh aplikasi DOS. Switch I=c800-efff memberitahu file EMM386.EXE untuk menggunakan area memori C8000H-EFFFFH sebagai memori upper atau blok memori upper (UMB). Driver dan program diisikan ke memori upper, membebaskan ruang area TPA yang lebih besar untuk program aplikasi. Sebelummenggunakan switch I=c800-efff, yakinkan bahwa komputer tidak berisi sistem ROM/RAM dalam area memori ini. Perhatikan bahwa pernyataan NOEMS memberitahukan EMM386.EXE untuk meniadakan atau melarang penggunaan memori expanded. Memori expanded dapat pula diinstal dengan menggantikan NOEMS dengan sebuah bilangan yang menyatakan seberapa banyak memori extended yang dialokasikan ke LIM 4.0 EMS. Sekarang, umumnya sebagian besar sistem tidak menggunakan memori expanded. Jika memori expanded diperlukan, pernyataan NOEMS digantikan dengan RAM 1024 untuk menyediakan 1024 byte memori expanded. Pernyataan FRAME=D000 menggantikan page frame untuk memori expanded pada lokasi D0000H-DFFFFH jika memori expanded akan digunakan. Jika menggunakan DOS versi 6.0 ke atas, pernyataan NOEMS masih menyediakan akses ke EMS, dalam konteks sesuai kebutuhan, melalui driver bernama VCPI (vírtual control program interface, yaitu antarmuka program kontrol virtual). Program VCPI secara dinamik mengalokasikan EMS jika sebuah program memerlukannya, dan akan membebaskannya kembali sesudah program itu selesai dijalankan. Jika operasinya dalam Windows, sumber-sumber DPMI (DOS Protected Mode Intedace, yaitu antarmuka mode terlindung DOS) yang disediakan oleh Windows akan melaksanakan fungsi yangdama dengan VCPI.

Kedua perintah berikutnya memberi informasi ke sistem untuk menyediakan blok memori upper (DOS=UMB) dan juga mendiktekan berapa banyak file yang dapat dibuka secara bersamaan (FILES=3O). Pernyataan BUFFER menginformasikan DOS untukmengalokasikan pembukaan 10 buffer untuk area pemindahan file.

Perintah SHELL menetapkan prosesor perintah yang digunakan dengan DOS. Dalam contoh ini, file COMMAND.COM adalah prosessor perintah (sebagai pilihan default) menggunakan switch E:20481PS. Witch E:2048/P mengatur kurang environment 2048 byte. Ruang environment menyimpan keyword yang di-share dan informasi lainnya yang digunakan oleh semua aplikasi dalam sistem. Sebagai contoh dalam pernyataan SETT EMP=C:\TEMP, yang memberitahukan program aplikasi bahwa direktori sementara berada didisk drive C yang bernama TEMP. Perintah SET dapat juga digunakan untuk menentukan keyword pada perintah DOS dalam file AUTOEXEC.BAT. Switch /P memberitahu prosesor perintah untuk menjadikan file COMMAND.COM permanen. Jika COMMAND.COM tidak permanen harus dimuat ke memori melalui disk setiap kali DOS berbalik ke prompt perintah. Meskipun perintah ini menghasilkan ruang memori bebas yang lebih besar, akses terus-menerus ke disk untuk membaca program COMMAND.COM mempercepat kerusakan disk drive dan memperpanjang waktu yang Dibutuhkan untuk kembali ke prompt DOS. Perintah selanjutnya adalah perintah DOS= HIGH, yang menginformasikan sistem untuk memuat DOS ke area memori high yang dibuat oleh driver HIMEM.SYS.

Tiga baris berikutnya menggunakan perintah DEVICEHIGH, yang memuat driver-driver dan program-program ke dalam blok memori upper yang dialokasikan oleh driver EMM386.EXE. Seperti dalam file CONFIG.SYS, ketiga driver tersebut dimuat ke blok memori upper yang dimulai dari lokasi C8000H. Yang pertama adalah program untuk mengoperasikan driver CD-ROM merek Sony, yang kedua untuk memuat program SETVER, dan yang ketiga untuk memuat driver MOUSE.

Pernyataan terakhir dalam contoh file CONFIG.SYS ini adalah pernyataan LASTDRIVE. Pernyataan ini memberitahukan DOS tentang disk drive terakhir yang dihubungkan ke sistem komputer. Dengan menggunakan pernyataan ini, lebih banyaklah ruang memori yang dibebaskan untuk digunakan oleh TPA. Setiap driver membutuhkan area buffer, jadi jika kita menyebutkan drive terakhir yang sebenarnya dengan pernyataan LASTDRIVE ini, kita menyediakan tambahan memori. Driver-driver lainnya, sepertidriver PRINT.SYS, driver ANSI.SYS, atau beberapa program lainnya yang berfungsi sebagai driver, dapat pula dimuat ke memori menggunakan file CONFIG.SYS. File program driver biasanya ditandai dengan ekstensi .SYS. Berhati-hatilah ketika

Page 21: Bab 1

`mengubah file CONFIG.SYS, sebab suatu kesalahan akan mengunci sistem komputer (kecuali untuk DOS 6.0 ke atas, yang dapat keluar dari penguncian ini). Sekali komputer dikunci oleh kesalahan eksekusi file CONFIG.SYS, satu-satunya jalan untuk memulihkannya

CONTOH 1-2PATH C: \DOS;C: \ ;C : \MASM\B]N;C: \MASM\BINB\ ;C: \UTILITYSET BLASTER=A22O 17 D1 T3SET INCLUDE=C: \MASM\INCLUDE\SET HELPFILES=C : \MASM\HEI,P\*.HLPSET INIT=C: \MASM\lNIT\SET ASMEX=C: \MASM\SAMPLES\SET TMP=C: \MASM\TMP SET SOUND=C\:S BLOADHIGH C:\LASERLIB\MSCDEX.EXE /D:SONY-001 /L:F /M:10LOADHIGH C:\LASERLIB\LLTSR.EXE ALT_QLOADHIGH C: \DOS\FASTOPE\ C=256LOADHIGH C:\DOS\DoSKEY /BUFSIZE=1024LOADHTGH C : \LASERLIB\PRINTF.COMDOSKEY GO=C: \WINDOWS\WIN.EXEGO

adalah dengan melakukan booting dari sebuah disket floppy yang mengandung sistem operasi dengan file CONFIG.SYS yang benar.

Begitu sistem operasi menyelesaikan konfigurasinya seperti yang telah ditetapkan oleh CONFIG.SYS, maka file AUTOEXEC.BAT (automatically executed batch-batch yang tereksekusi secara otomatis) akan dieksekusi. Jika file itu tidak ada, komputer akan menanyakan waktu dan tanggal. Contoh 1-2 menunjukkan file AUTOEXEC.BAT tipikal (ini hanya contoh, file sebenarnya akan bervariasi). File AUTOEXEC.BAT ini berisikan perintah-perintah yang akan dijalankan ketika komputer pertama kali dihidupkan. Dengan AUTOEXEC.BAT ini kita dapat menghemat waktu dan pekerjaan kita selama komputer sedang dihidupkan, karena kita tidak perlu mengetik perintah yang sama berulang kali.

Pernyataan PATH menunjukkan jalur pencarian pada saat nama program ditulis pada baris perintah. Urutan dari jalur pencarian sama dengan urutan dari jalur dalam pernyataan PATH - Contoh kalau PROG ditulis pada baris perintah maka mesin akan mencari program itu pertama kali di C:\DOS, lalu di direktori root C:\, lalu di C:\MASM\BIN dan begitu seterusnya sampai program yang namanya PROG ditemukan. Kalau tidak ditemukan, maka command interpreter (COMMAND.COM) memberitahukan kepada pengguna bahwa program tidak ditemukan.

Pernyataan SET, sebagaimana telah diperkenalkan sebelumnya, berfungsi menetapkan nama variabel pada suatu jalur (path).Ini memungkinkan nama dihubungkan dengan jalur untuk program BATCH. SET juga digunakan untuk mengatur string perintah (environment) untuk beragam program. Perintah SET yang pertama mengatur environment untuk kartu Sound Blaster. Perintah yang kedua mengatur INCLUDE di jalur C:MASM\INCLUDE\. Perhatikan bahwa pernyataan SET disimpan dalam ruang DOS yang dicadangkan dalam file CONFIG.SYS dengan menggunakan pemyataan SHELL. Kalau environment terlalu besar maka Anda harus mengganti pernyataan SHELL untuk memperoleh ruang lebih.

LOADHIGH atau LH menempatkan program dalam blok upper memory dengan menggunakan EMM386.EXE. LH digunakan pada berbagai macam perintah DOS untuk memuat program ke high (upper) memory area asalkan komputernya tipe 80386 ke atas. Perintah kedua yang terakhir dalam file AUTOEXEC.BAT menggunakan program DOSKEY untuk menempatkan makro untuk kata GO. Kata GO bertugas sebagai string karakter C :\WINDOWS\WIN.EXE. Program COMMAND.COM akan menerjemahkan kata GO sehingga program Windows dieksekusi setiap kali kata GO diketikkan pada DOS prompt. Perintah terakhir ini kemudian menjalankan Windows.

Mikroprosesor

Jantung dari sistem komputer berbasis mikroprosesor adalah microprosessor integrated circuit (sirkuit terpadu mikroprosesor). Mikroprosesor adalah elemen kontrol pada sistem komputer yang disebut sebagai CPU (central processing unit, yaitu unit pemrosesan pusat). Mikroprosesor mengontrol memori dan I/O melalui beberapa koneksi yang disebut bus. Bus memilih I/O atau peralatan memori, mentransfer data bolak-balik antara peralatan I/O atau sistem memori dan mikroprosesor. Memori dan I/O dikontrol melalui instruksi yang disimpan di memori yang dijalankan oleh mikroprosesor.

Page 22: Bab 1

Mikroprosesor memiliki 3 tugas utama pada sistem komputer: (l) Mentransfer data antara mikroprosesor sendiri dan memori atau sistem VO, (2) Menjalankan operasi aritmatika dan operasi logika sederhana, (3) menentukan aliran program melalui keputusan sederhana.Kekuatan mikroprosesor terletak pada kemampuan untuk menjalankan ratusan juta perintah dalam I detik dari suatu program atau perangkat lunak (kumpulan instruksi) yang disimpan dalam sistem memori. Konsep penyimpanan program telah membuat sistem komputer menjadi sangat cepat. (Ingat kembali bahwa Babbage ingin memakai konsep tersimpan dalam Mesin Analitisnya).

TABEL I-3Operasi-operasi aritmatika dan logika sederhana.

TABEL 1-4Keputusan dalammikroprosesor8086-80486 danPentium/PentiumPro.

Tabel 1,3 menunjukkan operasi aritrnatika dan logika yang dijalankan oleh mikroprosesor Intel. Operasi ini sangat dasar, tapi dengannya, program yang sangat kompleks dapat diselesaikan. Data dioperasikan dari sistem memori atau register internal. Lebar data berubah dan mencakup byte (8-bit); word (16-bit) dan doubleword (32-bit). Perhatikan bahwa hanya 80836 sampai ke Pentium yang langsung memanipulasi bilangan 8-bit, l6-bit, dan 32-bit. Miliroprosesor 8086 sampai 80286 dapat langsung memanipulasi bilangan 8-bit dan 16-bit, tapi tidak bilangan 32-bit. Dimulai dari 80486, mikroprosesor dilengkapi dengan koprosesor numerik yang membuatnya mampu melaksanakan aritmatika rumit dengan menggunakan aritmetika floating-point. Koprosesor ini merupakan komponen tambahan bagi 8086-80386.

Fitur lain yang menjadikan mikroprosesor sangat hebat adalah kemampuannya untuk membuat keputusan-keputusan sederhana. Keputusan-keputusan tersebut dibuat berdasarkan angka-angka. Contohnya, mikroprosesor dapat memutuskan jika angka-angka tersebut, nol, positif, dan sebagainya. Keputusan-keputusan sederhana ini memungkinkan mikroprosesor untuk memodifikasi aliran program, jadi program-program terlihat berpikir melalui keputusan-keputusan sederhana ini. Tabel 1-4 berisi kemampuan-kemampuan membuat keputusan dari mikroprosesor Intel.Bus. Bus adalah kumpulan kabel-kabel yang sama yang menghubungkan komponen-komponen pada sistem komputer. Bus-bus menghubungkan bagian-bagian sistem komputer, mentransfer data, alamat dan mengkontrol informasi antara mikroprosesor dengan memorinya dan sistem I/O. Pada sistem komputer yang berbasiskan mikroprosesor bus bertugas mentransfer informasi mengenai alamat, data, dan kontrol. Gambar 1-10 menunjukkan bagaimana bus-bus ini menghubungkan bermacam-macam komponen sistem seperti mikroprosesor, RAM, ROM dan beberapa peranti I/O.

Operasi Keterangan

PenambahanPenguranganPerkalianPembagianAND Perkalian logikaOR Penambahan logikaNOT Inversi logikaNEG Inversi aritmetikashiftRotate

Keputusan Keterangan

Zero Uji apakah bilangan nol atau tidak nolSign Uji apakah bilangan positif atau negatifCarry Uji apakah ada carry setelah penambahan atau

borrow setelah penguranganParity Uji bilangan untuk jumlah bilangan satu, apakah

genap atau ganjilOverflow Uji oveflow yang menunjukkan suatu hasil yang

bertanda tidak benar setelah penambahan atau pengurangan

Page 23: Bab 1

Bus alamat membutuhkan lokasi memori dari memori atau lokasi I/O dari peranti I/O. Jika I/O dialamatkan, maka bus alamat terdiri dari sebuah alamat I/O 16-bit yang berlokasi antara 0000H - FFFFH. Alamat yO 16-bit, atau nomor port, memilih salah satu dari 64Kb peranti I/O yang berbeda. Jika memori dialamatkan maka bus alamat terdiri dari alamat memori yang mempunyai lebar alamat memori bervariasi sesuai dengan tipe mikroprosesornya. 8086 dan 8088 mengalamatkan memori sebesar 1 MB yang menggunakan alamat 20-bit untuk memilih lokasi 00000H-FFFFFH. 80286 dan 80386SX mengalamatkan memori sebesar 16MB yang menggunakan alamat 24-bit untuk memilih lokasi 000000H-FFFFFFH. 80386SL, 80386SLC, dan 80386EX mengalamatkan memori sebesar 32MB dengan menggunakan alamat 25-bit untuk memilih lokasi 0000000H-1FFFFFFH. 80386DX, 80486SX, dan 80486DX mengalamatkan memori sebesar 4GB menggunakan alamat 32-bit untuk memilih lokasi 00000000H-FFFFFFFFH. Pentium juga mengalamatkan memori sebesar 4GB, tetapi Pentium menggunakan bus

data 64-bit untuk mengakses memori sampai sebesar 8 byte peda waktu yang sama. Prosesor Pentium Pro dan Pentium II memiliki bus data 64-bit dan bus alamat 32-bit yang mengalamatkan memori sebesar 4GB untuk lokasi 00000000H-FFFFFFFFH atau bus alamat 36-bit yang mengalamatkan memori sebesar 64G pada lokasi 000000000H-FFFFFFFFFH, tergantung pada konfi gurasinya. Rujuklah Tabel 1 -5 untuk daftar lengkap dari ukuran-ukuran memori pada kerabat mikroprosesor Intel.

Page 24: Bab 1

Bus data memindahkan informasi antara mikroprosesor dengan memorinya dan ruang alamat I/O. Pada kerabat mikroprosesor Intel, ukuran pemindahan data bervariasi dari yang lebàrnya 8-bit sampai 64-bit sesuai dengan tipe mikroprosesornya. Sebagai contoh, 8088 mempunyai bus data 8-bit yang memindahkan data 8-bit pada suatu waktu. 8086, 80286, 80386SL, 80386SX dan 80386EX memindahkan data l6-bit melalui bus

Page 25: Bab 1

data masing-masing. 80386DX, 80486EX dan 80486DX memindahkan data 32-bit; dan Pentium, Pentium Pro dan Pentium II pemindahkan data 64-bit. Keuntungan dari bus data yang lebih lebar adalah kecepatannya dalam aplikasi yang memakai data lebar. Contohnya jika sebuah angka 32-bit ingin disimpan dalam memori akan dibutuhkan 4 operasi pemindahan oleh mikroprosesor 8088 untuk menyelesaikannya karena lebar bus datanya hanya 8-bit, sedangkan 80486 menyelesaikan tugas yang sama dengan cukup satu kali pemindahan karena lebar bus datanya 32-bit. Gambar 1-11 menunjukkan lebar dan ukuran dari mikroprosesor 8086-80486 dan Pentium-Pentium II. Perhatikan bagaimana ukuran memori dan organisasi dibedakan antara berbagai macam anggotadari kerabat mikroprosesor Intel. Dalam semua kerabat Intel, memori diberi nomor dengan byte. Perhatikan bahwa Pentium, Pentium Pro, dan Pentium II semuanya terdiri dari sebuah bus data yang lèbarnya 64-bit.

Bus kontrol berisi baris yang memilih memori atau I/O dan membuatnya melaksanakanoperasi membaca (read) atau menulis (write). Pada kebanyakan sistem komputer, ada 4 hubungan bus kontg!; MRDC (memory read control, yaitu control baca memori), MWTC (memory write control, yaitu kontrol tulis memori), IORC (I/O read control-kontrol baca I/O), dan IOWC (I/O write control, yaitu kontrol tulis I/O). Perhatikan bahwa garis atas menunjukkan bahwa sinyal kontrol adalah aktif-rendah; yaitu, sinyal akan aktif pada saat logika 0 muncul pada jalur kontrol. Sebaga contoh, jika IOWC = 0, mikroprosesor menulis data dari bus data ke peranti I/O yang alamatnyaada di bus alamat.

Mikroprosesor membaca isi dari lokasi memori dengan mengirim alamat memori melalui bus alamat. Selanjutnya bus alamat mengirim MRDC yang menyebabkan memori membaca data. Akhirnya data yang dibaca dari memori diteruskan ke mikroprosesor melalui bus data. Setiap kali memori menulis, I/O tulis atau I/O baca terjadi, urutan kejadian yang sama berlangsung, yang

Page 26: Bab 1

berbeda adalah sinyal kontrolnya dan aliran data mengalir keluar dari mikroprosesor melalui bus data untuk operasi tulis.

SISTEM BILANGAN

Penggunaan mikroprosesor memerlukan pengetahuan sistem bilangan biner, desimal dan heksadesimal. Subbab ini menyediakan latar belakang bagi pembaca yang belum terbiasa dengan sistem bilangan tersebut. Pada subbab ini akan digambarkan konversi antara desimal dan biner. desimal dan heksadesimal, serta biner dan heksadesimal.

Digit

Sebelum bilangan-bilangan diubah dari satu sistem bilangan ke sistem bilangan yang lain, maka digit dari sistem bilangan harus sudah dimengerti. Selama ini, kita belajar menggunakan bilangan desimal atau basis bilangan 10 yang terdiri dari 10 digit: 0 hingga 9. Digit pertama dari seluruh sistem bilangan selalu 0. Sebagai contoh, basisbilangan 8 (oktal) terdiri dari 0 hingga 7; basis 2 (biner) terdiri dari 0 hingga l. Jika basis bilangannya lebih dari 10, maka digit tambahannya menggunakan huruf-huruf dari abjad, mulai dengan huruf A. Sebagai contoh, bilangan basis 12 terdiri dari 12 digit; 0 sampai 9, diikuti dengan huruf A untuk bilangan 10 dan B untuk bilangan 11. Perhatikan bahwa bilangan basis 10 tidak mengandung digit 10, demikian pula bilangan basis 8tidak mengandung digit 8. Sebagian besar sistem bilangan yang digunakan dalam sistem komputer adalah desimal, biner, dan heksadesimal. (Bertahun-tahun yang lalu bilangan oktal banyak dikenal.) Setiap sistem digambarkan dan digunakan dalam subbab ini.

Notasi Posisi

Setelah kita memahami digit dari suatu bilangan biner, kita dapat membuat bilangan yang lebih besar dengan menggunakan notasi posisi. Di Sekolah Dasar, telah kita pelajari bahwa posisi sebelah kiri posisi satuan adalah posisi sepuluh, posisi sebelah kiri dari posisi sepuluh adalah posisi seratus, dan seterusnya. (Sebagai contoh bilangan decimal 132: bilangan ini mempunyai I ratusan, 3 puluhan, dan 2 satuan). Mungkin yang tidak dipelajari adalah nilai eksponen dari setiap posisi; posisi satuan memiliki nilai 100 atau l; posisi sepuluh memiliki nilai 101 atau 10; dan posisi seratus memiliki nilai 102 atau 100. Pemangkatan sangat penting untuk dimengerti dalam sistem bilangan. Posisi sebelah kiri dari titik radix (basis bilangan), disebut titik desimal (decimal point) hanya dalam sistem bilangan desimal, adalah posisi satuan dalam berbagai sistem bilangan. Contoh, posisi sebelah kiri dari titik biner (binary point) adalah 20 atau 1; sedangkan posisisebelah kiri dari oktal adalah 80 atau 1. Dalam banyak hal, bilangan yang dinaikkan ke pangkat 0 selalu 1 atau posisi unit.

Posisi sebelah kiri dari posisi satuan adalah basis bilangan yang meningkat pada pangkat pertama; dalam sistem desimal, 101, atau 10. Dalam sistem biner, 21, atau 2; dan dalam sistem oktal,81, atau 8. Oleh karena itu, desimal 11 mempunyai nilai yang berbeda dengan bilangan biner 11. Desimal 11 terdiri dari 1 puluhan dan 1 satuan ,dan mempunyai nilai 11; sedangkan bilangan biner 11 terdiri dari l duaan ditambah 1 satuan, dengan nilai 3 satuan. Bilangan oktal 11 mempunya nilai 9 satuan.

Dalam sistem desimal, posisi sebelah kanan dari posisi titik desimal memiliki pangkat negatif. Digit pertama sebelah kanan dari titik desimal memiliki nilai 10 -1 atau 0,1. Dalam sistem biner, digit pertama sebelah kanan dari titik biner memiliki nilai 2 -1 atau 0,5. Pada umumnya, prinsip-prinsip yang berlaku pada bilangan desimal juga berlaku pada bilangan-bilangan dalam setiap sistem bilangan lainnya.

Contoh 1-3 menunjukkan 110,101 dalam biner (sering ditulis 110,1012), Juga diperlihatkan pangkat dan nilai dari setiap posisi digit. Untuk mengubah bilangan biner ke desimal tambahkan nilai dari setiap digit untuk membentuk bilangan desimal. 110,1012 ekivalen dengan 6,625 dalam desimal ( 4 + 2 + 0,5 + 0,125). Perhatikan bahwa ini merupakan penjumlahan dari 22

(atau 4) ditambah 21 (atau 2), tetapi 20 (atau 1) tidak ditambahkan karena tidak ada digit di bawah posisi ini. Bagian pecahan dihasilkan dari 2-1 (atau 0,5) ditambah 2-3 (atau 0,125), retapi tidak ada digit di bawah 2-2 (atau 0,25).

Page 27: Bab 1

Anggap bahwa teknik konversi dipakai pada bilangan basis 6, salah satunya 25,26. Contoh 1-4 memperlihatkan bilangan ini ditempatkan pada pangkat dan bobot dari setiap posisi. Dalam contoh, ada2 pada 61, yang mempunyai nilai 1210 (2 x 6), dan 5 pada 60, yang mempunyai nilai 510

(5 x 1). Bagian bilangan keseluruhan mempunyai nilai desimal 12 + 5, aîau 17. Bilangan sebelah kanan tanda titik, 2 pada 6-1, mempunyai nilai 0,333 (2 x 0,167). Oleh karena itu, bilangan 25,26

mempunyai nilai 17,333.

Konversi ke Desimal

Contoh sebelumnya memperlihatkan bahwa perubahan dari setiap basis bilangan ke desimal menuntut kita untuk menentukan bobotnya atau nilai dari setiap posisi bilangan, dan kemudian menjumlahkan bobotnya untuk membentuk bilangan desimal ekivalennya. Misalnya, kita akan mengubah125,78 oktal ke desimal. Untuk menyelesaikan pengubahan ini, pertama tulis bobot dari setiap posisi dari bilangan. Ini ditunjukkan pada Contoh 1-5. Nilai dari 125,78 adalah 85,875 desimal atau 1 x 64 tambah 2 x 8 tambah 5 x 1 tambah 7 x 0.125.

Perhatikan bahwa bobot posisi dari sebelah kiri posisi unit adalah 8. Nilai tersebut merupakan hasil dari 8 dikalikan 1. Kemudian perhatikan juga bobot dari posisi selanjutnya yaitu 64, hasil dari 8 x 8. Kalau posisi berikutnya ada, maka akan berharga 64 x 8 = 512. Untuk mendapatkan bobot pada posisi berikutnya, kalikan bobot posisi sekarang dengan bilangan basisnya. Untuk menghitung harga dari posisi sebelah kanan titik radiks, bagilah dengan basis bilangannya, contoh 1/8 atau 0,125. Posisi selanjutnya 0,125/8 atau 0,015625, dapat ditulis dengan 1/64. Juga perlu diingat bahwa bilangan dalam Contoh 1-5 dapat juga ditulis sebagai bilangan desimal 85 7/8.

Contoh 1-6 memperlihatkan bilangan biner 11011,0111 yang ditulis dengan bobotdan pangkat dari setiap posisi. Jika bobot-bobot ini dijumlahkan, nilai bilangan biner yang dikonversikan ke desimal adalah 27,4375.

Hal menarik yang terlihat adalah bahwa 2-1 adalah juga 1/2,2-2 adalah jugà 1/4, dan seterusnya. Hal menarik lainnya adalah bahwa 2-4 adalah 1/16, atau 0,625.Bagian pecahan dari bilangan ini adalah 7/16, atau 0,4375 dalam desimal. Perhatikan bahwa 0111 adalah 7 dalam kode biner untuk pembilangnya dan dicontoh 1-6 satu bit rightmost (terkanan) adalah dalam posisi 1/16 untuk bilangan penyebut. Contoh-contoh lainnya: pecahan biner dari 0,101 adalah 5/8 dan pecahan biner dari 0,001101 adalah 13/64.

Page 28: Bab 1

Bilangan heksadesimal sering digunakan oleh komputer. A6A,CH (H untuk heksadesimal) diilustrasikan dengan bobot-bobotnya dalam Contoh 1-7. Jumlah digitnya adalah 106,75, atau 106 3/4. Bagian bilangan seluruhnya diwakili dengan 6 x 16 ditambah 10 (A) x 1. Bagian pecahan adalah 12 (C) sebagai pembilang dan 16 (16-1) sebagai bilangan penyebut, atau 12/16, yang dioptimalkan menjadi 3/4. Untuk lebih jelasnya perhatikan Contoh l-7.

Konversi dari Desimal

Konversi dari desimal ke sistem bilangan lain lebih sulit untuk diselesaikan dibandingkan dengan konversi ke desimal. Untuk mengkonversi seluruh bagian bilangan bulat dari bilangan desimal, bagilah dengan radiks. Untuk mengkonversi bagian pecahan, kalìkan dengan radiks , Bilangan bulat dikonversikan dari desimal. Untuk mengkonversikan bilangan bulat ke sistem bilangan lain, bagilah dengan radiks dan simpan sisanya sebagai digit penting dari hasilnya. Adapun langkahnya sebagai berikut:1. Bagi bilangan desimal dengan radiks (bilangan basis)2. Simpan sisanya (sisa pertama akan menjadi digit terakhir dari hasil konversi)3. Ulangi langkah 1 dan 2 sampai bilangan desimalnya menjadi 0.

Sebagai contoh, untuk mengkonversi dari 10 desimal ke biner, bagilah dengan bilangan basis yaitu 2. Hasilnya 5 dengan sisa 0. Sisa pertama disimpan dalam posisi unit (dalam hal ini 2) dan pehbagian berikutnya 5 dibagi 2. Hasilnya 2 dengan sisa 1. 1 adalah nilai dari posisi angka 2 (yaitu 21). Teruskan hingga bilangan menjadi 0. Contoh 1-8 memperlihatkan proses konversi ini. Hasilnya ditulis sebagai 10102, dimulai dari nilai yang paling bawah sampai atas.

Untuk mengubah bilangan desimal 10 ke dalam basis 8, bagilah bilangan desimal itu dengan 8, seperti yang diperlihatkan dalam Contoh 1-9. Bilangan desimal 10 dalam oktal adalah 12.

Konversi dari desimal ke heksadesimal dilakukan dengan cara membagi bilangantersebut dengan 16. Nilai sisanya antara 0 sampai 15. Setiap bilangan sisanya antara 10 sampai 15 kemudian diubah menjadi huruf A sampai F untuk bilangan heksadesimal. Contoh 1-10 memperlihatkan bilangan desimal 109 yang diubah menjadi 6DH.

Page 29: Bab 1

Konversi dari Pecahan Desimal. Konversi dari pecahan desimal ke sistem bilangan lain diselesaikan dengan mengalikan dengan radiks. Sebagai contoh, untuk mengkonversi pecahan desimal ke biner, kalikan dengan 2. Setelah perkalian, bagian bilangan bulat hasilnya disimpan sebagai digit penting hasil dan sisa pecahan dikalikan lagi dengan radiks. Kalau sisa pecahan sama dengan 0, perkalian selesai. Ingat bahwa beberapa bilangan tidak pernah berakhir. Maksudnya, nol tidak pernah menjadi sisa. Sebuah algoritma untuk konversi dari pecahan desimal adalah sebagai berikut:1) Kalikan pecahan desimal dengan radiks (basis bilangan).2) Simpan bilangan bulat hasilnya (walaupun nol) sebagai sebuah digit. Ingat bahwa hasil yang pertama ditulis di sebelah kanan titik radiks.3) Ulangi langkah 1 dan 2, gunakan bagian pecahan pada langkah 2 sampai pecahan pada langkah 2 bernilai nol.

Kita akan coba mengkonversi dari 0,125 desimal ke biner. Persoalan ini dapat diselesaikan dengan mengalikan dengan 2 seperti diilustrasikan pada Contoh 1-11. Perhatikan bahwa perkalian berlanjut sampai pecahan sisa = 0. Seluruh bagian bilangan ditulis sebagai pecahan biner (0,001) dalam contoh ini.

Teknik yang sama digunakan untuk mengkonverasi sebuah pecahan desimal ke dalam basis bilangan apapun. Contoh 1-12 memperlihatkan pecahan desimal 0,125 (yang sama dari Contoh 1-11) diubah ke sistem oktal dengan perkalian dengan 8.

Konverasi pecahan heksadesimal lihat pada Contoh 1 -13. Di sini sebuah bilangan desimal 0,046875 diubah ke heksadesimal dengan mengalikannya dengan 16. Catat bahwa pecahan decimal 0,046875 menjadi 0,0CH heksadesimal.

Page 30: Bab 1

Heksadesimal Kode-Biner

Binary-coded hexadecimal (BCH) digunakan untuk menampilkan data heksadesimal dalam kode biner. Bilangan BCH adalah bilangan heksadesimal yang ditulis sedemikian rupa sehingga setiap digit ditampilkan oleh 4-bit bilangan biner. Nilai untuk digit BCH ada di Tabel 1-6.

Bilangan Heksadesimal ditampilkan dalam kode BCH dengan mengkonversi setiap digit menjadi BCH dengan spasi di antara setiap digit yang terkode. Contoh 1-14 memperlihatkan 2AC dikonversikan ke bilangan kode BCH. Ingat bahwa setiap digit BCH dipisahkan oleh sebuah spasi.

CONTOH 1-142AC = 0010 1010 1100

Fungsi dari kode BCH adalah untuk memungkinkan pembetukan bilangan hexadecimal dalam versi biner ditulis dalam bentuk yang dapat dengan mudah dikonversikan antara BCH dan heksadesimal. Contoh 1-15 memperlihatkan bilangan kode BCH yang diubah kembali ke dalam kode heksadesimal.

CONTOH 1-151000 0011 1101 , 1110 = 83D,E

KomplemenPada saat tertentu data disimpan dalam bentuk komplemen untuk mewakili bilangan negatif. Ada dua sistem yang dipakai untuk merepresentasikan data negatif komplemen radiks dan radiks -1. Sistem terdahulu menggunakan komplemen radiks -1, di mana setiap digit dari bilangan akan dikurangi radiks, untuk menghasilkan komplemen radiks-1 yang mewakili bilangan negatif.

Pada Contoh 1-16 diperlihatkan bagaimana 8 bit bilangan biner 01001100 dibuatkan komplemen -1nya (radiks -1) untuk mewakili nilai negatif. Perhatikan bahwa setiap digit dari

bilangan dikurangkan satu untuk menghasilkan radiks -1 komplemen. Pada contoh ini, negative dari 01001100 adalah 10110011. Teknik yang sama dapat diterapkan pada semua sistem bilangan seperti dijelaskan dalam Contoh 1-17, di mana komplemen 15 (radiks -l) dari heksadesimal 5CD dihitung dengan mengurangi setiap digit dari 15.

Page 31: Bab 1

Dewasa ini komplemen radiks-1 tidak digunakan lagi seperti biasanya, tapi digunakan sebagai langkah untuk menemukan komplemen radiks. Komplemen radiks digunakan untuk mewakili bilangan negatif dalam sistem komputer modern. (Komplemen radiks -1 digunakan dalam teknologi komputer masa lalu). Masalah utama dari komplemen radiks-1 adalah bahwa ada nol positif dan negatif; sedangkan dalam dalam sistem komplemen radiks, hanya nol positif yang ada. Untuk membuat komplemen radiks, pertama kali kita mencari komplemen radiks -1, kemudian hasilnya kita jumlahkan dengan 1. Contoh 1-18 memperlihatkan bagaimana bilangan 0100 1000 dikonversikan ke nilai negatif dengan mengkomplemenkannya dengan radiks 2.

Untuk membuktikan bahwa 0100 1000 adalah inverse (negative ) dari 1011 0111, Jumlahkan keduanya untuk mendapatkan hasil 8 digit. Digit yang ke-9 dibuang dan hasilnya akan nol, karena 0100 1000 adalah +72, sedangkan 1011 0111 adalah -72. Teknik yang sama dapat diterapkan pada setiap sistem bilangan Contoh1-19 menjelaskan bagaimana ditemukannya inversi dari 345 heksadesimal dengan pengkomplemenan 15 , dan kemudian dengan penambahan satu dengan hasil untuk membentuk komplemen 16. Jika bilangan 3-digit 345 ini dijumlahkan dengan inversi dari CBB, hasilnya adalah bilangan 3-digit 000. Seperti sebelumnyab, bit keempat (carry) dibuang H al ini membuktikan bahwa 345 merupakan kebalikan dari CBB. Informasi tambahan tentang komplemen satu dan komplemen dua diterangkan dengan bilangan bertanda dalam subbab berikutnya.

FORMAT DATA KOMPUTER

Pemrograman yang sukses memerlukan pengertian yang benar tentang format data. Dalam subbab ini, sebagian besar format data komputer yang ada digambarkan seperti yang digunakan pada kerabat mikroprosesor Intel. Secara umum data yang digunakan berformat ASCII, BCD, signed & unsigned integer, dan bilangan floating-point (bilangan real). Bentuk lainnya tersedia, tetapi tidak dijelaskan dalam buku ini karena tidak umum.

Data ASCIIData ASCII (American Standard Code for Information Interchange) mewakili karakter alfanumerik dalam memori sistem komputer. Format data yang digunakan adalah 7 bit dengan bit

Page 32: Bab 1

yang ke-8 sebagai MSB (rnosf significant bit -bit paling signifikan) yang digunakan untuk memuat parity dalam beberapa sistem. Jika data ASCII digunakan dengan sebuah printer, maka MSB adalah 0 pada pencetakan alfanumerik dan 1 pada pencetakan grafik, Dalam komputer pribadi, kumpulan karakter extended ASCII menggunakan kode 80H-FFH. Karakter-karakter extended ASCII menyimpan huruf-huruf asing dan tanda baca, karakter Greek (Yunani), karakter matematika, karakterkarakter box-drawing, dan karakter-karakter khusus lainnya. Perhatikan bahwa karakter-karakter yang lebih luas dapat bervariasi dari satu printer ke printer lainnya. Daftar yang tersedia dirancang untuk IBM ProPrinter, yang juga cocok untuk kumpulan karakter khusus yang ada pada beberapa pengolah kata

Karakter kontrol ASCII, ditampilkan lagi pada Tabel 1-7, melaksanakan fungsi kontrol dalam sistem komputer, termasuk clear screen, back space, line feed, dan lain-lain. Untuk menggunakan kode kontrol melalui keyboard komputer, key control kita tahan sewaktu menekan huruf. Untuk mendapatkan kode kontrol 01H, tekan Control-A; sedangkan kode 02H, diperoleh dengan menekan Control-B, dan seterusnya. Perhatikan kode kontrol akan muncul di layar, dari prompt DOS, seperti ^A untuk Control-A, ^B untuk Control-B, dan seterusnya. Begitu juga kode carriage return (CR), yaitu tombol enter pada keyboard. Kegunaan CR adalah untuk mengembalikan kursor ke posisi paling kiri dari layar. Yang lainnya adalah line feed (LF) yang

memindahkan kursor ke bawah satu baris.Untuk menggunakan Tabel 1-7 dan 1-8 dalam mengkonversikan alfanumerik atau

karakter kontrol dalam ASCII, pertama ternukan kode alfanumerik untuk konversi, selanjutnya temukan digit pertama dari ASCII heksadesimal, kemudian temukan digit yang kedua, contohnya huruf besar A adalah kode ASCII 41H, sedangkan untuk a, kode ASCII 61H. Sebagian besar aplikasi berbasis Windows menggunakan sistem Unicode untuk menyimpan data alfanumerik. Sistem ini menyimpan setiap karakter sebagai data 16-bit. Kode-kode 0000H-00FFH sama dengan kode ASCII standar. Kode-kode 0100H-FFFFH sisanya digunakan untuk menyimpan semua karakter khusus dari semua kumpulan karakter di dunia. Hal ini memungkinkan perangkat lunak yang ditulis pada lingkungan Windows untuk digunakan pada setiap negara di dunia.

Data ASCII paling sering disimpan dalam memori menggunakan direktif khusus program assembler yaitu define bytes (DB). (Assembler adalah program komputer yang menggunakan bahasa mesin biner). Sebuah alternatif untuk DB adalah kata BYTE. Direktif DB dan BYTE, dan beberapa contoh dari dari penggunaan kode konversi string ASCIL diperlihatkan pada Contoh 1-20. Perhatikan bagaimana setiap string karakter dikelilingi dengan tanda apostrof (')-tidak pernah menggunakan kutip ('). Juga perhatikan bahwa assembler memuat nilai kode ASCII pada setiap karakter di sebelah kiri string karakter. Di kiri jauh terdapat lokasi memori heksadesimal di mana

Page 33: Bab 1

string karakter pertama kali disimpan dalam sistem memori. Sebagai contoh, string karakter WHAT disimpan pada p ermulaan alamat m emori 001D,dan huruf pertama disimpan sebagai 57 (W) yang diikuti dengan 68 (H), dan seterusnya.

Data BCD (Binary coded decimal) Informasi binary coded decimal (BCD) disimpan dalam bentuk packed atau unpacked. Data BCD packed disimpan dalam bentuk 2 digit per byte, sedangkan data BCD unpacked disimpan 1 digit per byte. Rentang digit BCD antara 00002 sampai 10012, atau desimal 0-9. BCD unpacked sering digunakan oleh keypad atau keyboard, sedangkan BCD packed digunakan untuk beberapa instruksi termasuk untuk penjumlahan dan pengurangan BCD dalam kumpulan instruksi mikroprosesor. Tabel 1-9 memperlihatkan beberapa bilangan desimal yang dikonversikan ke BCD packed dan BCD unpacked. Apabila sistem memerlukan bilangan kompleks aritmetika,data BCD jarang digunakan, sebab tidak ada metoda yang sederhana dan efisien untuk melaksanakan aritmetika BCD yang rumit.

Page 34: Bab 1

Contoh 1-21 memperlihatkan bagaimana assembler digunakan dalam mendefinisikan BCD packed dan BCD unpacked. Dalam semua kasus, konvensi penyimpanan data LSB (least signfficant bit, yaitu bit paling tidak signifrkan) dipatuhi. Artinya bahwa untuk menyimpan bilangan 83 ke dalam memori, pertama kali 3 disimpan, baru kemudian diikuti dengan 8. Juga ingat bahwa pada data BCD packed, huruf H (heksadesimal) mengikuti bilangan untuk menjamin bahwa asembler menyimpan nilai BCD dan bukannya nilai desimal pada data BCD packed. Perhatikan bagaimana bilangan disimpan dalam memori sebagai unpacked, satu digit per byte; atau packed, sebagai dua digit per byte.

Data ukuran-byte

Data ukuran-byte disimpan dalam unsigned dan signed integer (bilangan bulat tak bertanda dan bilangan bulat bertanda). Gambar1-12 mengilustrasikan bentuk tersebut. Perbedaan dalam bentuk ini adalah bobot dari bit posisi paling kiri. Untuk unsigned 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 00H-FFH (0 -255). Signed integer berkisar dari -128 ke 0 dan dari 0 ke +127.

Bilangan negatif disajikan dalam bentuk seperti ini, tapi disimpan dalam berìtuk komplemen dua. Metoda untuk mengevaluasi bilangan bertanda (signed number), adalah dengan menggunakan bobot dari setiap posisi bit, ini lebih mudah dibanding dengan rnenggunakan metoda komplemen. Hal ini khususnya berlaku dalam desain kalkulator untuk pemrogram.

Kapanpun bilangan akan dikomplemenkan, tandanya akan berubah dari negatif ke positif dan dari positif ke negatif. Contohnya, bilangan 00001000 adalah +8, nilai negatifnya -8 didapat dari komplernen dua dari +8. Untuk membentuk komplemen dua kita harus mencari komplemen satu dari +8. Komplemen satu ini didapat dengan menginversikan setiap posisi bit dari nol menjadi satu, dan dari satu menjadi nol. Setelah komplemen satu terbentuk, komplemen dua didapat dengan menambahkan komplemen satu dengan +1. Contoh 1-22 memperlihatkan bagairnana bilangan dikomplernenduakan menggunakan teknik ini.

Teknìk yang lain, mungkin yang lebih mudah, adalah mengkomplemenduakan bilangan dimulai dengan digit yang paling kanan. Mulai menulis dari kanan ke kiri. Tulis bilangan yang sebenarnya sampai ditemukan bit 1 pertama. Setelah itu inversikan bit nol dengan satu untuk posisi bit sisanya di sebelah kiri. Contoh 1-23 memperlihatkan teknik ini dengan bilangan sama seperti pada Contoh 1-22.

Page 35: Bab 1

Unfuk menyimpan data 8-bit dalam memori menggunakan program assembler, gunakan direktif DB seperti pada contoh terdahulu. Contoh 1-24 memperlihatkan beberapa bentuk bilangan 8-bit yang disimpan dalam memori menggunakan program assembler. Perlu diketahui bahwa huruf H menunjukkan bilangan heksadesimal dan untuk bilanean desimal ditulis tanpa ada tambahan atribut yang khusus. 0001 07 08 NUMB2 DB 7,8 ; menetapkan bilangan 87

;; data BCD packed (least-significant data lebih dahulu);

0005 37 34 NUMB3 DB 37H,34H ; menetapkan bilangan 34370007 03 45 NUMB4 DB 3,45H ; menetapkan bilangan 4503

Data ukuran-byte

Data ukuran-byte disimpan dalam unsigned dan signed integer (bilangan bulat tak bertanda dan bilangan bulat bertanda). Gambar l-12 mengilustrasikan bentuk tersebut. Perbedaan dalam bentuk ini adalah bobot dari bit posisi paling kiri. Untuk unsigned 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 O0H-FFH (0-255). Signed integer berkisar dari -128 ke 0 dan dari 0 ke +127.

Bilangan negatif disajikan dalam bentuk seperti ini, tapi disimpan dalam berikut komplemen dua. Metoda untuk mengevaluasi bilangan bertanda (signed number), adalah dengan menggunakan bobot dari setiap posisi bit, ini lebih mudah dibanding dengan rnenggunakan metoda komplemen. Hal ini khususnya berlaku dalam desain kalkulator untuk pemrogram.

Kapanpun bilangan akan dikomplemenkan, tandanya akan berubah dari negatif ke positif dan dari positif ke negatif. Contohnya, bilangan 00001000 adalah +8, nilai negatifnya -8 didapat dari komplernen dua dari +8. Untuk membentuk komplemen dua kita harus mencari komplemen satu dari +8. Komplemen satu ini didapat dengan menginversikan setiap posisi bit dari nol menjadi satu, dan dari satu menjadi nol. Setelah komplemen satu terbentuk, komplemen dua didapat dengan menambahkan komplemen satu dengan +1. Contoh 1-22 memperlihatkan bagairnana bilangan dikomplernenduakan menggunakan teknik ini.

CONTOH 1-22+8 = 00001000 11110111 (komplemen satu) + 1-8 = 11111000 (komplemen dua)

Teknìk yang lain, mungkin yang lebih mudah, adalah mengkomplemenduakan bilangan dimulai dengan digit yang paling kanan. Mulai menulis dari kanan ke kiri. Tulis bilangan yang sebenarnya sampai ditemukan bit 1 pertama. Setelah itu inversikan bit nol dengan satu untuk posisi bit sisanya di sebelah kiri. Contoh 1-23 memperlihatkan teknik ini dengan bilangan sama seperti pada Contoh 1-22.

CONTOH 1-23+8 = 00001000 1000 (tulis angka sampai l yang pertama) 1111 (inversikan bit yang tersisa)-8 = 11111000

Untuk menyimpan data 8-bit dalam memori menggunakan program assembler, gunakan direktif DB seperti pada conteh terdahulu. Contoh l-24 memperlihatkan beberapa bentuk bilangan 8-bit yang disimpan dalam memori menggunakan program assembler. Perlu diketahui bahwa huruf H menunjukkan bilangan heksadesimal dan untuk bilangan desimal ditulis tanpa ada tambahan atribut yang khusus.

Page 36: Bab 1

GAMBAR 1 -12 Byte unsigned dan signed menggambarkan bobot setiap posisi bit biner.

CONTOH 1-24; Data ukuran-byte tak bertanda

0000 FE DATA1 DB 254 ; menetapkan 254 desimal0001 87 DATA2 DB 87H ; menetapkan 87 heksadesimal0002 47 DATA3 DB 71 ; menetapkan 71 desimal

;; DATA ukuran-byte bertanda

0003 9C DATA4 DB -100 ; menetapkan -100 desimal0004 64 DATA5 DB +100 ; menetapkan +100 desimal0005 FF DATA6 DB -1 ; menetapkan -1 desimal0006 38 DATA7 DB 56 ; menetapkan 56 desimal

Data Ukuran-Word

Satu word (16-bit) dibentuk oleh 2 byte data. LSB selalu disimpan dalam lokasi memori bernomor paling rendah, dan MSB disimpan di yang paling tinggi. Metoda untuk penyimpanan ini disebut dengan format little endian Metode alternatif, tidak dipergunakan dalam kerabat mikroprosesor Intel, dinamakan format big endian. Dalam format big endian, bilangan disimpan dengan cara meletakkan data yang paling signifikan pada lokasi terendah. Metode big endian ini dipergunakan oleh kerabat prosesor Motorola. Gambar l-13(a) memperlihatkan posisi bit dalam data word, Gambar l-13(b) memperlihatkan bagaimana bilangan 1234 H jika disimpan dalam lokasi memori 3000H dan 3001H. Perbedaan dari word bertanda dan tak bertanda adalah pada posisi bit yang paling kiri. Dalam bentuk tak bertanda, bit paling kiri adalah tak bertanda; dalam bentuk bertanda, bobotnya adalah -32,768. Seperti dengan data ukuran-byte bertanda, data word bertanda adalah dalam bentuk komplemen dua pada saat mewakili bilangan negatif. Juga, perhatikan bahwa byte orde-rendah disimpan dalam lokasi memori bernomor terendah (3000H) dan byte orde tinggi disimpan dalam lokasi bernomor tertinggi (3001H).

Contoh 1-25 memperlihatkan beberapa data ukuran-word bertanda dan tak bertanda disimpan dalam memori menggunakan program assembler. Perlu diketahui bahwa direktif define word (DW) menyebabkan assembler mesti menyimpan word di memori dan bukan pada byte, seperfi dalam contoh sebelumnya. Direktif WORD dapat juga digunakan untuk mendefinisikan suatu word. Perhatikan bahwa word data didisplay oleh assembler dalam bentuk yang sama dengan yang dimasukkan. Misalnya, 1000H terlihat oleh assembler sebagai 1000. Bilangan tersebut sebetulnya disimpan di memori sebagai 00 l0 dalam 2 byte memori yang berurutan.

Page 37: Bab 1

Gambar 1-13 Format penyimpanan word 16-bit dalam (a.) register, dan (b.) 2 byte memori.

CONTOH 1-25; Data ukuran-word tak bertanda

0000 09F0 DATA1 DW 2544 ; menetapkan 2544 desimal0002 87AC DATA2 DW 87ACH ; menetapkan 84AC heksadesimal0004 02C6 DATA3 DW 710 ; menetapkan 710 desimal

;; Data ukuran-word bertanda;

0006 CBA8 DATA4 DW -13400 ; menetapkan -13400 desimal0008 00C6 DATA5 DW +198 ; menetapkan +198 desimal000A FFFF DATA6 DW -1 ; menetapkan -1 desimal

Data Ukuran-DoublewordData ukuran doubleword memerlukan 4 byte memori kàrena berupa bilangan 32-bit. Doubleword tampil sebagai hasil dari perkalian dan juga pembilang sebelum pembagian. Dalam 80386 sampai Pentium II, memori dan register yang digunakan juga selebar 32- bit. Gambar 1-14 memperlihatkan bentuk yang digunakan untuk menyimpan doubleword ke dalam memori, dan bobot biner dari setiap posisi bit.

Pada saat doubleword disimpan dalam memori, posisi I-SB disimpan dalam lokasi memoii paling rendah dan MSB disimpan pada lokasi memori paling tinggi menggunakan format little endian. Ingat kembali bahwa ini juga berlaku untuk data ukuran-word. Sebagai contoh, 12345678H yang disimpan dalam lokasi memori 00100H-00103H disimpan dengan meletakkan 78H dalam lokasi memori 00100H, 56H dalam lokasi 00101H, 34H dalam lokasi 00102H, dan l2H dalam lokasi 00103H.

Untuk mendefinisikan data doubleword gunakan direktif assembler define doubleword atau DD. Contoh l-26 memperlihatkan bilangan bertanda dan tak bertanda yang disimpan dalam memori menggunakan direktif DD.

Page 38: Bab 1

Gambar 1-14 Format penyimpanan word 32-bit dalam (a.) register, dan (b.) 4 byte memori

CONTOH 1-26

; Data ukuran-doubleword takbertanda0000 003E1C0 DATA1 DW 254400 ; menetapkan 254400 desimal0004 87AC1234 DATA2 DW 87AC1234H ; menetapkan 84AC1234 heksadesimal0008 000000046 DATA3 DW 70 ; menetapkan 70 desimal

;; Data ukuran-doubleword bertanda;

000C FFEB8058 DATA4 DW -1343400 ; menetapkan -1343400 desimal0010 0000000C6 DATA5 DW +198 ; menetapkan +198 desimal0014 FFFFFFFF DATA6 DWORD -1 ; menetapkan -1 desimal

Page 39: Bab 1

Bilangan integer (bilangan bulat) dapat juga disimpan di memori dalam lebar berapapun. Daftar dari bentuk tersebut yang ada di sini adalah bentuk standar, tapi tidak berarti bahwa ukuran integer 128 byte tidak dapat disimpan dalam memori. Mikroprosesor cukup fleksibel untuk menyimpan data dalam berbagai ukuran. Saat bilangan nonstandar disimpan dalam memori, direktif DB secara normal digunakan untuk menyimpannya. Sebagai contoh, bilangan 24-bit 123456H disimpan menggunakan direktif DB 56H,34H,12H. Perhatikan bahwa hal ini sesuai format little endian.

BilanganReal

Karena banyak bahasa tingkat tinggi menggunakan mikroprosesor Intel, maka bilangan real sering digunakan. Bilangan real, bilangan floating point, berisikan 2 bagian, yaitu mantisa, signifikan atau pecahan; dan eksponen. Gambar 1-15 menggambarkan bentuk 4 byte dan 8 byte dari bilangan real yang disimpan dalam sistem Intel. Perhatikan bahwa bilangan real 4 byte iru.disebut presisi tunggal (single precision) dan bilangan 8 byte itu disebut dengan pÈesisi-ganda (double precision). Bentuk yang sekarang sama dengan bentuk yang dispesifikasikan oleh IEEE18. Standar ini telah disesuaikan ke

Gambar 1-15 Bilangan floating-point (a.) presisi tunggal menggunakan bias 7FH dan (b) presisi ganda menggunakan bias 3FFH

bentuk standar bilangan real dalam bahasa pemograman tingkat tinggi dan beberapa paket aplikasi yang lainnya. Standar ini juga diterapkan untuk memanipulasi data yang dipakai oleh koprosesor dalam komputer pribadi. Gambar l-15 (a) memperlihat kaÌi bentuk resisi-tunggal yang berisikan sign-bit (bit-anda), eksponen 8-bit, dan 24-bit mantisa (pecahan). Perlu diketahui bahwa dalam aplikasi sering digunakan bilangan real dengan presisi-ganda (pada Gambar 1-15(b)), maka Pentium-Pentium II dengan bus data 64-bit melakukan transfer memori 2 kali kecepatan mikroprosesor 80386/80486.

Aritmatika sederhana menunjukkan bahwa seharusnya memerlukan 33-bit untuk menyimpan keseluruhan 3 bagian data. Tidak benar, mantisa 24-bit memiliki bit-satu yang tersembunyi (implied), yang memungkinkan mantisa untuk mewakili 24-bit walau hanya disimpan 23-bit. Bit yang tersembunyi adalah bit pertama dari bilangan yang dinormalisasi. Pada saat menormalisasi bilangan, bit ini diatur sehingga nilainya sekurangkurangnya 1, tetapi kurang dari 2. Sebagai contoh, jika 12 diubah ke biner (11002), maka dinormalisasi dan hasilnya l,l x 23. Tidak disimpan dalam bagian mantisa bilangan 23-bit;1 merupakan bit-satu yang disembunyikan. Tabel 1-10 memperlihatkan bentuk presisi tunggal dari bilangan ini dan yang lainnya.

Eksponen disimpan dalam eksponen terbias (biased exponent). Dengan menggunakan bilangan rcal single precision, biasnya adalah 127 (7FH); dalam bentuk double precision biasnya

Page 40: Bab 1

1023 (3FFH). Bias ini dijumlahkan ke dalam eksponen sebelum disimpan ke dalam tempat eksponen dari bilangan, realnya.

Tabel 1-10 Bilangan real presisi-tunggal

Ada 2 pengecualian mengenai aturan-aturan yang diterapkan mengenai bilangan real. Angka 0 ,0 disimpan semuanya sebagai nol. Bilangan tak berhingga disimpan dalam eksponen sebagai satu, dan dalam mantisa semuanya sebagai nol. Bit tanda menunjukkan bilangan tak terhingga positif atau negatif.

Seperti tipe data lainnya, assembler dapat digunakan untuk mendefinisikan bilangan real dalam bentuk presisi tunggal dan ganda. Karena bilangan presisi tunggal adalah Bilangan 32-bit, digunakan direktif DD atau digunakan define quadwords (s) atau direktif DQ untuk mendefinisikan 64 bit bilangan real presisi ganda. Pilihan direktif untuk bilangan real di antaranya REAL4, REAL8 dan REAL10 untuk menunjukkan bilangan real dalam bentuk tunggal, ganda dan diperpanjang (extended). Contoh1-27 memperlihatkan bilangan yang didefinisikan dalam format bilangan real.

Contoh 1-27;Bilangan real presisi-tunggal;

0000 3F9DF3B6 NUMB1 DD I,234 ;menetapkan 1,2340004 C1883333 NUMB2 DD -23,4 ;menetapkan -23,40008 43D20000 NUMB3 REAL4 4,2E,2 ;menetapkar 420000C 3F9DF3B6 NUMB4 REAL4 L,234 ;menetapkan bilangan real 4-byte

;;Bilangan real presisi-ganda

0010 NUMB5 DQ 123,4 ;menetapkan 123,4405ED9999999999A

0018 NUMB6 REAL8 -23,4 ; menetapkan -23,4C1BB333333333333

0028 NUMB7 REAL8 123,4 ; menetapkan bilangan real 8-byte405ED9999999999À.

;; Bilangan real presisi – diperpanjang (extented);

0030 NUMB8 REAL10 123,4 ;menetapkan bilangan real10 -byte4005F6CCCCCCCCCCCCD

Page 41: Bab 1

RINGKASAN1. Era komputer mekanik dimulai dengan abacus pada 500 SM. Kalkulator mekanik

pertama ini tidak berubah sampai tahun 1642, saat Blaise Pascal memperbaikinya. Sistem komputer mekanik pertama adalah Analytical Engine (Mesin Analitis) yang dikembangkan oleh Charles Babbage pada tahun 1823. Sayangnya, mesin ini tidak pemah berfungsi karena ketidakmampuan Babbage untuk menciptakan bagian-bagian mesin yang diperlukan.

2. Mesin penghitung elektronik pefama dikembangkan selama perang dunia II oleh Konrad Zuse, pencetus arval dari elektronika digital. Komputernya, 23, digunakanpada pesawat udara dan perancangan roket untuk perang Jerman.

3. Komputer elektronik peftama yang menggunakan vacuum tube digunakan dalam operasi untuk memecahkan kode rahasia militer Jerman pada tahun 1943. Sistem komputer elektronik pertama ini, dinamakan Colossus, diciptakan oleh Alan Turing. Masalah satu-satunya S4glptt bahwa programnya tetap dan tidak dapat diubah.

4. Sistem komputer elektronik serbaguna yang dapat diprogram dan bertujuan umum yang pertama dikembangkan pada tahun 1946 di University of Pennsylvania. Komputer mutakhir pertama ini disebut ENIAC (Electronics Numerical Integrator and Calculator).

5. Bahasa pemrograman tingkat. tilggi'pertarna disebut FLOW-MATIC. Bahasa ini dikembangkan untuk komputer UNIVAC I oleh Grace Hopper pada awal 1950-an. Bahasa ini juga sebagai titik awal untuk bahasa FORTRAN dan bahasa perruograman awal lainnya, seperti COBOL.

6. Mikroprosesor pertama dunia, Intel 4004, merupakan mikroprosesor 4-bit-kontroler yang dapat diprogram pada sebuah chip-yang menjadi standar sekarang. Mikroprosesor ini mengalamatkan 4096 lokasi memori 4-bit. Kumpulan instruksinya terdiri dari hanya 45 instruksi yang berbeda.

7. Mikroprosesor yang ada sekarang dimulai dari 8086/8088, yang merupakan mikroprosesor l6-bit pertama. Berikutnya adalah prosesor 80286, 80386, 80486, Pentium, Pentium Pro, dan Pentium II. Arsitektur diubah dari l6-bit ke 32-bit dan seterusnya, dan dengan Merced, sampai 64-bit. Dengan setiap versi yang lebih baru, perbaikan-perbaikan mengikuti penambahan kecepatan dan unjuk kerja prosesor. Dari semua indikasi, proses perbaikan kecepatan dan unjuk kerja ini akan berlangsung terus menerus.

8. PC (Komputer pribadi) berbasis mikroprosesor terdiri dari sistem memori yang meliputi tiga area utama: TPA (transient progrem area), area sistern, dan extended memory. TPA menampung"program-program aplikasi, sistern operasi, dan driver. Area sistem terdiri dari memori yang digunakan untuk video display card, disk drive, dalr ROM BIOS. Atea extended memory hanya tersedia pada mikroprosesor 80286 sampai Pentium II pada sistem komputer pribadi AT.

9. 8086/8088 mengalamatkan lMb memori pada lokasi 00000H-FFFpFH. 80286 dan 80386SX mengalamatkan 16Mb memori pada lokasi 000000H-FFFFFFH. 80386SL mengalamatkan 32MB memori pada 0000000H-1FFFFFFH. Prosesor 80386DX, 80486, Pentium, Pentium Pro, dan Pentium II mengalamatkan 4Gb memori pada lokasi 00000000H-FFFFFFFFH. Di samping itu, Pentium Pro dan Pentium II dapat bekerja dengan alamat 36-bit dan mengakses sampai 64Gb memori pada lokasi 000000000H-FFFFFFFFFH.

Page 42: Bab 1

10. Semua versi dari mikroprosesor 8086-80486 mengalamatkan ruang alamat I/O 64 KB. Port-port I/O ini dialamatkan pada 0000H-FFFFH dengan port I/O 0000H- 03FFH disediakan untuk sistem komputer pribadi (PC).

11. Selain windows, sistem operasi pada sebagian besar komputer pribadi adalah MSDOS (Microsoft Disk Opelating system) atau PCDOS (Personal Computer Disk Operating System dari IBM). Sistem operasi melaksanakan tugas-tugas dari operasi dan pengontrolan sistem komputer, bersama peranti I/Onya.

12. Mikroprosesor merupakan elemen pengontrolan pada sistem komputer. Mikroprosesor melaksanakan pemindahan data, mengerjakan aritmetika sederhana dan operasi logika, dan membuat keputusan-keputusan sederhana. Mikroprosesor mengeksekusi program-program yang disimpan dalam sistem memori untuk melaksanakan operasi yang kompleks dalam waktu yang singkat.

13. Semua sistem komputer terdiri dari tiga bus untuk mengontrol memori dan I/O. Bus alamat digunakan untuk meminta sebuah lokasi memori atau peranti I/O. Bus data memindahkan data antara mikroprosesor dan ruang I/O dan memorinya. Bus kontrol mengontrol memori dan I/O, dan permintaan pembacaan dan penulisan data. Kontrol diselesaikan dengan IÓRC (kontrol baca I/O), IOWC (kontrol tulis I/O), MRDC (kontrol baca memori), dan MWTC (kontrol tulis memori).

14. Bilangan-bilangan diubah dari setiap basis bilangan ke desimal dengan mencatat bobot setiap posisi. Bobot posisi dari sebelah kiri titik radiks selalu posisi satuan dalam setiap sistem bilangan. Posisi ke kiri dari posisi satuan selalu radiks kali satu. Posisi-posisi berikutnya ditentukan oleh perkalian radiks. Bobot posisi ke sebelah kanan titik radiks selalu ditentukan oleh pembagian dengan radiks.

15. Konversi dari bilangan bulat desimal seluruhnya ke setiap basis lainnya diselesaikan oleh pembagian dengan radiks. Konversi dari bilangan desimal pecahan diselesaikan oleh perkalian dengan radiks.

16. Data heksadesimal diwakili dalam bentuk heksadesimal atau dalam sebuah kode yang disebut binary-coded hexadecimal (BCH). Bilangan BCH adalah bilangan yang ditulis dengan bilangan biner 4-bit yang mewakili setiap digit heksadesimal.

17. Kode ASCII digunakan untuk menyimpan data alfabetis atau numerik. Kode ASCII merupakan kode 7-bit; yang juga dapat mempunyai bit ke delapan yang digunakan untuk memperluas kumpulan karakter dari 128 kode sampai 256 kode. Kode carriage-return (Enter) mengembalikan print head atau kursor ke margin kiri. Kode line feed memindahkan kursor atau print head satu baris ke bawah.

18. Databinary-coded decimal (BCD) kadang-kadang digunakan dalam sebuah sistem komputer untuk menyimpan data desimal. Data ini disimpan salah satunya dalam bentuk packed (dua digit per byte) atau unpacked (satu digit per byte)'

19. Data biner disimpan sebagai satu byte (8-bit), word (16-bit), atau doubleword (32-bit) dalam sistem komputer. Data ini boleh unsigned (tak bertanda) atau signed (bertanda). Data negatif signed selalu disimpan dalam bentuk komplemen dua. Data lebih lebar dari 8-bit selalu disimpan menggunakan format line endian.

20. Data floating-point digunakan dalam sistem komputer untuk menyimpan bilangan bulat, campuran, dan pecahan. Bllangan floating-point memiliki komposisi tanda, mantisa, eksponen.

21. Direktif assembler DB atau BYTE mendefinisikan byte, DW atau WORD mendefinisikan word, DD atau DWORD mendefinisikan doubleword, dan DQ atau QWORD mendefinisikan quadword.

22. Contoh 1-28 memperlihatkan format bahasa rakitan untuk menyimpan bilangan sebagai byte, word, doubleword, dan bilangan real. Juga diperlihatkan string karakter terkode-ASCII.

CONTOH 1-28

; Data ASCII;

Page 43: Bab 1

000 54 68 69 73 20 69 MES1 DB ‘ini sebuah string karakter dalam ASCII’73 20 61 20 63 6861 72 61 63 74 65

72 20 73 74 72 696E 67 20 69 6E 2041 53 43 49 49

0023 53 6F 20 69 73 20 MES2 DB ‘Juga ini’74 68 69 73

;Data BYTE;

002D 17 DATA1 DB 23 ; 23 desimal002E DE DATA2 DB -34 ; -34 desimal002F 34 DATA3 DB 34H ; 34 heksadesimal

;; Data WORD;

0030 1000 DATA4 DW 1000H ; 1000 heksadesimal0032 FF9C DATA5 DW -100 ;-100 desimal0034 000C DATA6 DW +12 ;=12 desimal

,;Data DOUBLEWORD,

0036 00001000 DATA7 DD 1000H ; 1000 heksadesimal003A FFFFFED4 DATA8 DD -300 ;-300 desimal003E 00012345 DATA9 DD 12345H ; 12345 heksadesimal

;; Data Real;

0042 4015C28F DATA10 REAL4 2,34 ;2,34 desimal0046 C00CCCCD DATA11 REAL4 -2,2 ;-2,2 desimal004A DATA12 REAL8 100,3 ;100,3 desimal

4059133333333333