instruksi set.docx

29

Upload: mohammed-fatkhur-rozie

Post on 28-Dec-2015

137 views

Category:

Documents


0 download

DESCRIPTION

pengertian instruksi set

TRANSCRIPT

Page 1: instruksi set.docx

BAB

Page 2: instruksi set.docx

ICnstruction

haracteristics S

ETS

DAN:

FungsiKarakteristik 10,1 Machine Instruksi

Elemen Jenis Machine Instruksi Instruksi Representasi Instruksi Jumlah addres Instruction Set Desain 10.2 Jenis Operan

Bilangan Karakter Logical data 10.3 Intel x86 dan ARM Tipe Data

Tipe data x86 ARM Tipe Data 10.4 Jenis Operasi

Transfer Data Arithmetic Logical Masukan Konversi / Output System Kontrol Transfer Kontrol 10,5 Intel x86 dan ARM Jenis Operasi

Jenis Operasi x86 ARM Jenis Operasi 10,6 Direkomendasikan Reading 10,7 Syarat Key, Pertanyaan-pertanyaan, dan Masalah Lampiran 10A Stacks

348

Lampiran 10B Sedikit ,Big-, dan Bi-Endian

Page 3: instruksi set.docx

KARAKTERISTIK 349 10,1 / MESIN INSTRUKSI

Page 4: instruksi set.docx

POIN KUNCI

Elemen penting dari instruksi komputer adalah opcode, yang menentukan operasi yang akan dilakukan; sumber ◆dan tujuan operan referensi, yang menentukan input dan output lokasi untuk op-timbangkan; dan referensi instruksi berikutnya, yang biasanya implisit. Opcodes menentukan operasi di salah satu kategori umum berikut: operasi ◆aritmatika dan logika; pergerakan data antara dua register, daftar dan memori, atau dua lokasi memori; I / O; dan kontrol. referensi Operan menentukan register atau lokasi memori data operan. Jenis data mungkin alamat, nomor,◆ karakter, atau data logis. Sebuah fitur arsitektur umum dalam prosesor adalah penggunaan stack, yang mungkin ◆atau mungkin tidak terlihat oleh programmer. Tumpukan ini digunakan untuk mengelola panggilan prosedur dan kembali dan dapat diberikan sebagai bentuk alternatif mengatasi memori. Operasi tumpukan dasar PUSH, POP, dan opera-tions di atas satu atau dua lokasi stack. Tumpukan biasanya diimplementasikan untuk tumbuh lebih tinggi dari alamat ke alamat yang lebih rendah. prosesor Byte-addressable dapat dikategorikan sebagai big endian, sedikit ◆Endi-an, atau bi-endian. Nilai numerik multibyte disimpan dengan byte paling signifikan dalam alamat numerik terendah disimpan dalam mode big-endian. Gaya little-endian menyimpan byte paling signifikan dalam Numeri-kal address.A prosesor bi-endian tertinggi dapat menangani kedua gaya.

Banyak dari apa yang dibahas dalam buku ini tidak mudah jelas bagi pengguna atau program-mer komputer . Jika seorang programmer menggunakan bahasa tingkat tinggi, seperti Pascal atau Ada, sangat sedikit dari arsitektur mesin yang mendasari terlihat.

Satu batas di mana desainer komputer dan programmer komputer dapat melihat mesin yang sama adalah set instruksi mesin. Dari sudut perancang pandang, set instruksi mesin menyediakan persyaratan fungsional untuk prosesor: im-plementing prosesor adalah tugas yang sebagian besar melibatkan menerapkan set instruksi mesin. Pengguna yang memilih untuk program dalam bahasa mesin (sebenarnya, dalam bahasa as-sembly, lihat Lampiran B) menjadi sadar akan struktur mendaftar dan memori, jenis data langsung didukung oleh mesin, dan fungsi ALUA.

deskripsi dari set instruksi mesin komputer berjalan jauh ke arah mantan plaining prosesor komputer. Oleh karena itu, kita fokus pada instruksi mesin dalam bab ini dan berikutnya.

10.1 KARAKTERISTIK MESIN INSTRUKSI

Operasi prosesor ditentukan oleh instruksi dijalankan, disebut sebagai instruksi mesin atau koleksi instructions.The komputer instruksi-instruksi yang berbeda yang prosesor . dapat mengeksekusi disebut sebagai set instruksi prosesor

Page 5: instruksi set.docx

350

Page 6: instruksi set.docx

BAB 10 / INSTRUKSI SETS: KARAKTERISTIK DAN FUNGSI

Instruksi

Operand

Operand mengambil

mengambil

toko

Beberapa

Beberapa operan

hasil

Instruksi

Instruksi

alamat Operan

operasi

alamatperhitungan

decoding

perhitungan

dataoperasi

Instruksiyang lengkap,

Kembali string mengambil berikutnya instruksi

atau vektordata

Elemen Instruksi Machine

Setiap instruksi harus berisi informasi yang diperlukan oleh prosesor untuk eksekusi-tion. Gambar 10.1, yang mengulangi Gambar 3.6, menunjukkan langkah-langkah yang terlibat dalam eksekusi instruksi dan, dengan implikasi, mendefinisikan elemen dari instruksi mesin. Unsur-unsur ini adalah sebagai berikut:

• Kode Operasi: Menentukan operasi yang akan dilakukan (misalnya, ADD, I / O). Operasi dispesifikasikan oleh kode biner, yang dikenal sebagai kode operasi, atau opcodereferensi:..

• Sumber operan Operasi mungkin melibatkan satu atau lebih sumber operan, yaitu, operan yang masukan untuk operasi

• Hasil operan referensi: The operasi dapat menghasilkan hasilberikutnya:.

• referensi instruksi ini memberitahu prosesor mana untuk mengambil berikutnya dalam-struction setelah pelaksanaan instruksi ini selesaivirtual.

Alamat dari instruksi berikutnya yang akan diambil bisa berupa alamat nyata atau alamat, tergantung pada arsitektur. Umumnya, perbedaan adalah transparan ke arsitektur set instruksi. Dalam kebanyakan kasus, instruksi berikutnya yang akan diambil segera mengikuti instruksi saat ini. Dalam kasus tersebut, tidak ada referensi eksplisit untuk instruksi berikutnya. Ketika sebuah referensi eksplisit diperlukan, maka memori utama atau alamat memori virtual harus diberikan. Bentuk yang alamat yang diberikan dibahas dalam Bab 11bidang:.

Sumber dan hasil operan bisa berada di salah satu dari empat

• Main atau memori virtual: Seperti dengan referensi instruksi berikutnya, alamat memori utama atau vir-tual harus diberikan.

Page 7: instruksi set.docx

• Processor register: Dengan pengecualian langka, prosesor berisi satu atau lebih regis-ters yang dapat direferensikan oleh instruksi mesin. Jika hanya satu mendaftar ada,

perhitungan alamat Operan

Gambar 10.1 Instruksi Siklus Negara Diagram

Page 8: instruksi set.docx

351

Page 9: instruksi set.docx

referensi untuk itu mungkin implisit. Jika lebih dari satu mendaftar ada, maka masing-masing register diberikan sebuah nama yang unik atau nomor, dan instruksi harus berisi num-ber dari register yang diinginkanSegera:.

• Nilai operan terkandung dalam bidang dalam instruksi yang sedang dieksekusi .

• I / O device: instruksi harus menentukan modul I / O dan perangkat untuk op-timbangkan. Jika memori-dipetakan I / O yang digunakan, ini hanyalah alamat memori utama atau virtual.

Representasi Instruksi

Dalam komputer, setiap instruksi diwakili oleh urutan bit. The in-struksi dibagi menjadi bidang, sesuai dengan unsur-unsur dari dalam-struction. Sebuah contoh sederhana dari format instruksi ditunjukkan pada Gambar 10.2. Sebagai contoh lain, format instruksi IAS ditunjukkan pada Gambar 2.2. Dengan sebagian besar instruksi set, lebih dari satu format yang digunakan. Selama eksekusi instruksi, sebuah in-struksi dibaca ke dalam register instruksi (IR) dalam prosesor. Prosesor harus dapat mengekstrak data dari berbagai bidang instruksi untuk melakukan operasi yang diperlukan.

Sulit bagi programmer dan pembaca buku teks untuk menangani representasi biner dari instruksi mesin. Dengan demikian, telah menjadi umum prakteknya menggunakan representasi simbolis dari instruksi mesin. Contoh ini digunakan untuk set instruksi IAS, pada Tabel 2.1.

Opcodes diwakili oleh singkatan, yang disebut mnemonik, yang menunjukkan operasi. Contoh umum termasuk

ADD Tambahkan Kurangi MUL Multiply DIV Divide LOAD Beban Data SUB dari data memori Stor Store untuk memori

Operan juga diwakili secara simbolis. Sebagai contoh, instruksi

mungkin berarti menambahkan nilai yang terkandung dalam data lokasi Y dengan isi register R. Dalam contoh ini, Y mengacu pada alamat lokasi di memori, dan R mengacu pada sebuah register tertentu. Perhatikan bahwa operasi dilakukan pada isi dari loca-tion, bukan pada alamatnya.

10,1 / MESIN INSTRUKSI KARAKTERISTIK

4 Bits 6 Bits 6 Bits

Opcode

referensi referensi OperanOperan

16 Bits Gambar 10.2 Sebuah Instruksi Format Sederhana

ADD R, Y

Page 10: instruksi set.docx

352

Page 11: instruksi set.docx

BAB 10 / INSTRUKSI SETS: KARAKTERISTIK DAN FUNGSI

Dengan demikian, adalah mungkin untuk menulis sebuah program bahasa mesin dalam bentuk simbolik. Setiap opcode simbolik memiliki representasi biner yang tetap, dan programmer spesifikasi-ifies lokasi setiap operan simbolik. Sebagai contoh, programmer dapat dimulai dengan daftar definisi:

X = 513 Y = 514

dan seterusnya. Sebuah program sederhana akan menerima masukan simbolis ini, mengkonversi opcodes dan operan referensi ke bentuk biner, dan membangun instruksi mesin biner.

Programmer Mesin-bahasa jarang ke titik ketiadaan. Kebanyakan program hari ini ditulis dalam bahasa tingkat tinggi atau, gagal itu, perakitan lan-gauge, yang dibahas dalam Appencix B. Namun, bahasa mesin simbolik tetap menjadi alat yang berguna untuk menggambarkan instruksi mesin, dan kami akan menggunakannya untuk tujuan itu .

Jenis Instruksi

Pertimbangkan instruksi bahasa tingkat tinggi yang bisa diungkapkan dalam bahasa seperti BASIC atau FORTRAN. Sebagai contoh,

X = X + Y

Pernyataan ini menginstruksikan komputer untuk menambah nilai yang disimpan dalam Y dengan nilai yang tersimpan di X dan menempatkan hasilnya di X. Bagaimana hal ini dapat dicapai dengan instruksi mesin? . Mari kita asumsikan bahwa variabel X dan Y sesuai dengan lokasi 513 dan 514 Jika kita mengasumsikan set instruksi sederhana mesin, operasi ini dapat dicapai dengan tiga instruksi:

1. Memuat register dengan isi lokasi memori 513. 2. Tambahkan isi lokasi memori 514 ke register. 3. Menyimpan isi register di lokasi memori 513.

Seperti yang bisa dilihat, instruksi DASAR tunggal mungkin memerlukan tiga mesin-sikannya. Ini khas dari hubungan antara bahasa tingkat tinggi dan bahasa mesin. Sebuah bahasa tingkat tinggi mengungkapkan operasi dalam bentuk aljabar ringkas, menggunakan variabel. Sebuah bahasa mesin mengungkapkan operasi dalam bentuk dasar dalam-volving pergerakan data ke atau dari register.

Dengan contoh sederhana ini untuk membimbing kita, mari kita perhatikan jenis instruksi yang harus dimasukkan dalam komputer praktis. Sebuah komputer harus memiliki satu set-sikannya yang memungkinkan pengguna untuk merumuskan setiap tugas pengolahan data. Cara lain untuk melihatnya adalah dengan mempertimbangkan kemampuan bahasa pemrograman tingkat tinggi. Setiap program yang ditulis dalam bahasa tingkat tinggi harus diterjemahkan ke dalam bahasa mesin untuk dieksekusi. Dengan demikian, set instruksi mesin harus cukup untuk mengekspresikan salah satu instruksi dari bahasa tingkat tinggi. Dengan pemikiran ini kita dapat jenis instruksi kate-Rize sebagai berikut:

• Pengolahan Data: Aritmatika dan logika instruksi

• Penyimpanan data: Gerakan data masuk atau keluar dari daftar dan atau lokasi memori

Page 12: instruksi set.docx

353 10.1 / MESIN INSTRUKSI KARAKTERISTIK

Page 13: instruksi set.docx

• gerakan Data: I / O petunjuk

• Control: Test dan instruksi cabang

instruksi Aritmatika memberikan kemampuan komputasi untuk pengolahan data nu-meric. Logika (Boolean) instruksi beroperasi pada bit dari sebuah kata sebagai bit bukan sebagai angka; dengan demikian, mereka menyediakan kemampuan untuk memproses semua jenis lain dari data pengguna mungkin ingin employ.These operasi dilakukan terutama pada data dalam register prosesor. Oleh karena itu, harus ada petunjuk memori untuk memindahkan data antara memori dan register. I / O instruksi yang diperlukan untuk mentransfer pro-gram dan data ke dalam memori dan hasil perhitungan kembali ke pengguna. Instruksi tes yang digunakan untuk menguji nilai dari sebuah kata data atau status compu-tasi. Instruksi cabang kemudian digunakan untuk cabang untuk satu set instruksi yang berbeda tergantung pada keputusan yang dibuat.

Kami akan memeriksa berbagai jenis instruksi secara lebih rinci nanti dalam bab ini.

Jumlah addres

Salah satu cara tradisional untuk menggambarkan arsitektur prosesor adalah dalam hal dari jumlah alamat yang terkandung dalam setiap instruksi. Dimensi ini telah menjadi kurang signifikan dengan meningkatnya kompleksitas desain prosesor. Namun demikian, hal ini berguna pada saat ini untuk menarik dan menganalisis perbedaan ini.

Berapa jumlah maksimum alamat yang mungkin perlu dalam instruksi? Terbukti, aritmatika dan logika instruksi akan memerlukan paling operan. Virtu-sekutu semua operasi aritmatika dan logika yang baik unary (satu sumber operan) atau biner (dua operan sumber). Dengan demikian, kita akan membutuhkan maksimal dua ad-gaun untuk referensi sumber operan. Hasil operasi harus disimpan, menunjukkan alamat ketiga, yang mendefinisikan operan tujuan. . Akhirnya, setelah menyelesaikan instruksi, instruksi berikutnya harus diambil, dan alamat yang diperlukan

Garis penalaran menunjukkan bahwa instruksi bisa masuk akal diminta untuk mengandung empat alamat referensi: dua operan sumber, satu operan tujuan, dan alamat dari instruksi berikutnya. Dalam kebanyakan arsitektur, sebagian besar instruksi memiliki satu, dua, atau tiga alamat operand, dengan alamat dari instruksi berikutnya yang implisit (diperoleh dari program counter). Kebanyakan arsitektur juga memiliki beberapa instruksi khusus-tujuan dengan lebih operan. Sebagai contoh, beban dan menyimpan beberapa instruksi dari arsitektur ARM, dijelaskan dalam Bab 11, membuat hingga 17 operan register di dalam sebuah instruksi.

Gambar 10.3 membandingkan khas satu, dua, dan tiga-alamat instruksi yang dapat digunakan untuk menghitung Y = (A - B) / [C + (D *E)].

Dengan tiga alamat, setiap instruksi menetapkan dua lokasi sumber operan dan lokasi tujuan operan. Karena kita memilih untuk tidak mengubah nilai salah satu lokasi operan, lokasi sementara, T, digunakan untuk menyimpan beberapa hasil antara. Perhatikan bahwa ada empat instruksi dan bahwa ekspresi asli memiliki lima operan.

Tiga-address format instruksi yang tidak umum karena mereka membutuhkan format instruksi rel-atively panjang untuk memegang tiga referensi alamat. Dengan instruksi dua alamat, dan untuk operasi biner, satu alamat harus melakukan tugas ganda baik sebagai operan dan hasilnya. Dengan demikian, instruksi SUB Y, B melakukan perhitungan

Page 14: instruksi set.docx

354

Page 15: instruksi set.docx

BAB 10 / INSTRUKSI SETS: KARAKTERISTIK DAN FUNGSI

Instruksi Komentar SUB Y, A, BYAB MPY T, D, ETDE ADD T, T, CTTC DIV Y, Y, TYYT

(a ) Tiga-alamat instruksi

Instruksi Komentar

LOAD D AC D

Instruksi Komentar MOVE Y, AYA SUB Y, BYYB MOVE T, DTD MPY T, Ette ADD T, CTTC DIV Y, TYYT

MPY E AC AC E ADD C AC AC C STOR YY AC LOAD A AC A SUB B AC AC B DIV Y AC AC Y Stor YY AC

(b) instruksi Dua-address (c) instruksi Satu-address

Gambar 10.3 Program Jalankan Y =

C + A (D - B

* E)

Y - B

dan menyimpan hasilnya di Y. Format dua alamat mengurangi ruang persyaratan pemerintah, tetapi juga memperkenalkan beberapa kejanggalan. Untuk menghindari mengubah nilai operan, instruksi MOVE digunakan untuk memindahkan salah satu nilai pada hasil atau lokasi temporer sebelum melakukan operasi. Contoh program kami memperluas enam instruksi.

Simpler namun adalah instruksi satu alamat. Untuk bekerja, alamat kedua harus implisit. Ini adalah umum di mesin sebelumnya, dengan alamat tersirat menjadi daftar prosesor yang dikenal sebagai akumulator (AC). Akumulator con-Konverter juga memelihara salah satu operan dan digunakan untuk menyimpan hasilnya. Dalam contoh kita, delapan-sikannya diperlukan untuk menyelesaikan tugas.

Hal ini, pada kenyataannya, mungkin untuk membuat hubungannya dengan nol alamat untuk beberapa petunjuk. Instruksi Zero-address berlaku untuk organisasi memori khusus, yang disebut stack. Sebuah stack adalah pertama-keluar terakhir-di-set lokasi. Tumpukan adalah dalam dikenal loca-tion dan, sering, setidaknya atas dua elemen dalam register prosesor. Dengan demikian, instruksi zero-address akan referensi atas dua elemen stack. Tumpukan dijelaskan dalam Appendix 10A. Penggunaannya dieksplorasi lebih lanjut kemudian dalam bab ini dan dalam Bab 11.

Tabel 10.1 merangkum interpretasi untuk ditempatkan pada instruksi dengan nol, satu, dua, atau tiga alamat. Dalam setiap kasus dalam tabel, diasumsikan bahwa ad-dress dari instruksi berikutnya yang implisit, dan bahwa satu operasi dengan dua operan sumber dan satu hasil operan yang akan dilakukan.

Jumlah alamat per instruksi adalah keputusan desain dasar . Sedikit ad-gaun per hasil instruksi dalam instruksi yang lebih primitif, membutuhkan prosesor kurang kompleks. Hal ini juga menghasilkan instruksi panjang pendek. Di sisi lain, program berisi jumlah petunjuk lebih, yang dalam hasil umum dalam pelaksanaan lagi

Page 16: instruksi set.docx

355 10,1 / MESIN INSTRUKSI KARAKTERISTIK

Tabel 10.1 Pemanfaatan Alamat Instruksi (Nonbranching Instruksi)

Page 17: instruksi set.docx

Jumlah addres Representasi Simbolik Interpretasi

3 OP A, B, C

A; B OP C 2 OP A, B 1 OP A 0 OP T; (T - 1) OP T

A, B, C = memori atau mendaftar lokasi

kali dan lagi, program yang lebih kompleks. Juga, ada ambang batas menjadi-tween penting satu-alamat dan multiple-alamat instruksi. Dengan instruksi satu alamat, programmer umumnya memiliki tersedia hanya satu tujuan umum register, accu-mulator. Dengan instruksi multiple-address, adalah umum untuk memiliki beberapa register tujuan umum. Hal ini memungkinkan beberapa operasi yang akan dilakukan hanya pada register. Karena referensi mendaftar lebih cepat dari referensi memori, hal ini mempercepat eksekusi-tion. Untuk alasan fleksibilitas dan kemampuan untuk menggunakan beberapa register, mesin paling contempo-rary menggunakan campuran dua dan instruksi tiga alamat.

Desain trade-off yang terlibat dalam memilih jumlah alamat per in-struksi ini dipersulit oleh faktor-faktor lain. Ada masalah apakah alamat referensi lokasi memori atau register. Karena ada register sedikit, lebih sedikit bit yang diperlukan untuk referensi mendaftar. Juga, seperti yang akan kita lihat dalam bab berikutnya, mesin dapat menawarkan berbagai mode pengalamatan, dan spesifikasi dari modus mengambil satu atau lebih bit. Hasilnya adalah bahwa sebagian besar desain prosesor melibatkan berbagai format instruksi.

Instruction Set Desain

Salah satu yang paling menarik, dan paling dianalisis, aspek desain komputer adalah instruksi-tion desain set. Desain set instruksi sangat kompleks karena mempengaruhi begitu banyak aspek dari set instruksi system.The

komputer mendefinisikan banyak fungsi yang dilakukan oleh prosesor dan tentunya memiliki dampak yang signifikan terhadap pelaksanaan prosesor. Set instruksi berarti programmer mengendalikan proces-sor.Thus,

persyaratan programmer harus dipertimbangkan dalam merancang set instruksi. Ini mungkin akan mengejutkan Anda untuk mengetahui bahwa beberapa masalah yang paling mendasar yang berkaitan dengan desain set instruksi tetap dalam sengketa. Memang, dalam beberapa tahun terakhir, tingkat perselisihan mengenai dasar-dasar ini telah

benar-benar tumbuh. Yang paling amat penting dari isu-isu desain dasar meliputi:

• Operasi repertoar: Berapa banyak dan operasi yang menyediakan, dan bagaimana kompleks operasi harus

• Tipe data: Berbagai jenis data yang di atasnya operasi dilakukan

Format • Instruksi: panjang instruksi (dalam bit), jumlah alamat, ukuran berbagai bidang, dan seterusnya

A; Sebuah OP B AC; AC OP A

AC = akumulator T = atas tumpukan (T - 1) = elemen kedua dari tumpukan

Page 18: instruksi set.docx

356

Page 19: instruksi set.docx

BAB 10 / INSTRUKSI SETS: KARAKTERISTIK DAN FUNGSI

• Register: Jumlah register prosesor yang dapat direferensikan oleh instruksi, dan penggunaannya

• Mengatasi : Modus atau mode dimana alamat operan ditentukan

Isu-isu ini sangat saling terkait dan harus dipertimbangkan bersama-sama di de-penandatanganan set instruksi. Buku ini, tentu saja, harus mempertimbangkan mereka dalam beberapa se berurutan, tetapi dilakukan usaha untuk menunjukkan keterkaitan.

Karena pentingnya topik ini, banyak Bagian Ketiga dikhususkan untuk di-struksi set desain. Setelah bagian ikhtisar ini, bab ini menjelaskan tipe data dan operasi repertoar. Bab 11 Memeriksa mode pengalamatan (yang mencakup pertimbangan register) dan format instruksi. Bab 13 membahas komputer set instruksi dikurangi (RISC). Arsitektur RISC menimbulkan pertanyaan banyak set instruksi keputusan desain tradisional yang dibuat di komputer komersial.

10.2 JENIS operan

instruksi mesin beroperasi pada data. Kategori umum yang paling penting dari data

• Alamat

• Nomor

• Karakter

• Logical data

Kita akan melihat, dalam membahas mode pengalamatan dalam Bab 11, bahwa alamat, pada kenyataannya, suatu bentuk data. Dalam banyak kasus, beberapa perhitungan harus dilakukan pada referensi operan dalam sebuah instruksi untuk menentukan memori ad-dress utama atau virtual. Dalam konteks ini, alamat dapat dianggap unsigned integer.

Tipe data yang umum lainnya adalah angka, karakter, dan data logis, dan masing-masing diperiksa sebentar di bagian ini. Selain itu, beberapa mesin mendefinisikan tipe data spe-cialized atau struktur data. Sebagai contoh, mungkin ada mesin opera-tions yang beroperasi langsung pada daftar atau string karakter.

Bilangan

Semua bahasa mesin termasuk tipe data numerik. Bahkan di nonnumeric data yang pro-cessing, ada kebutuhan untuk nomor untuk bertindak sebagai counter, lebar lapangan, dan sebagainya. Sebuah perbedaan penting antara nomor yang digunakan dalam matematika biasa dan nomor yang tersimpan dalam komputer adalah bahwa yang terakhir terbatas. Hal ini berlaku dalam dua pengertian. Pertama, ada batas untuk besarnya angka representable pada mesin dan kedua, dalam hal angka floating-point, batas untuk presisi mereka. Dengan demikian, programmer dihadapkan dengan memahami konsekuensi dari pembulatan, overflow, dan underflowkomputer:.

Tiga jenis data numerik yang umum di

• bilangan bulat biner atau titik tetap biner

• floating point biner

• Decimal

Page 20: instruksi set.docx

357

Page 21: instruksi set.docx

1Textbooks sering menyebut ini sebagai kode biner desimal (BCD). Tegasnya, BCD mengacu pada pengkodean dari setiap digit desimal dengan urutan 4-bit yang unik. Desimal Dikemas mengacu pada penyimpanan digit BCD-dikodekan menggunakan satu byte untuk masing-masing dua digit.

10,2 / JENIS operan

Kami memeriksa dua yang pertama secara rinci dalam Bab 9. Masih mengatakan beberapa kata tentang angka desimal.

Meskipun semua intern operasi komputer biner di alam, manusia pengguna sistem kesepakatan dengan angka desimal. Dengan demikian, ada kebutuhan untuk mengkonversi dari desimal ke biner input dan dari biner ke desimal pada output. Untuk aplikasi tions di mana ada banyak I / O dan relatif sedikit, perhitungan relatif sederhana, adalah lebih baik untuk menyimpan dan beroperasi pada angka-angka dalam bentuk desimal. Representasi paling umum untuk tujuan ini dikemas decimal.1

Dengan dikemas desimal, setiap digit desimal diwakili oleh kode 4-bit, dengan cara ob-vious, dengan dua digit disimpan per byte. Dengan demikian,

0 = 0000, 1 = 0001, Á, 8 = 1000, dan 9 = 1001.

Catatan bahwa ini adalah kode yang agak tidak efisien karena hanya 10 dari 16 POSSI-ble nilai 4-bit yang digunakan. Untuk membentuk angka, kode 4-bit yang dirangkai, biasanya dalam kelipatan dari 8 bit. Dengan demikian, kode untuk 246 adalah 0000 0010 0100 0110. Kode ini jelas kurang kompak dari representasi biner lurus, tetapi menghindari overhead pertobatan. Angka negatif dapat direpresentasikan dengan memasukkan 4-bit tanda digit baik di kiri atau ujung kanan string digit dikemas desimal. Standard tanda val-nilai 1100 untuk positif (+)

dan 1101 untuk negatif (-). Banyak mesin memberikan petunjuk aritmatika untuk melakukan operasi di-secara tidak langsung pada angka dikemas desimal. Algoritma yang sangat mirip dengan de-jelaskan dalam Bagian 9.3 tetapi

harus memperhitungkan carry operasi desimal.

Karakter

Bentuk umum dari data teks atau string karakter. Sedangkan data tekstual yang paling con-venient bagi manusia, mereka bisa tidak, dalam bentuk karakter, dengan mudah disimpan atau dipancarkan oleh pengolahan data dan sistem komunikasi. Sistem tersebut dirancang untuk data biner. Dengan demikian, sejumlah kode telah dirancang dengan mana karakter yang diwakili oleh urutan bit. Mungkin contoh umum awal ini adalah kode Morse. Hari ini, kode karakter yang paling umum digunakan di International Reference Alphabet (IRA), disebut di Amerika Serikat sebagai Amerika Stan-dard Kode untuk Informasi Interchange (ASCII; lihat Lampiran F). Setiap karakter dalam kode ini diwakili oleh pola 7-bit yang unik; dengan demikian, 128 karakter yang berbeda dapat direpresentasikan. Ini adalah jumlah yang lebih besar daripada yang diperlukan untuk mewakili karakter yang dapat dicetak, dan beberapa pola mewakili karakter kontrol. Beberapa karakter kontrol ini harus dilakukan dengan mengendalikan pencetakan karakter pada halaman. Lainnya prihatin dengan prosedur komunikasi. Karakter IRA-encoded hampir selalu disimpan dan ditransmisikan menggunakan 8 bit per karakter. Kedelapan bit mungkin diatur ke 0 atau digunakan sebagai bit paritas untuk mendeteksi kesalahan. Dalam kasus terakhir, bit diatur sedemikian rupa sehingga jumlah 1s biner dalam setiap oktet selalu ganjil (odd parity) atau selalu genap (even parity)F).

Catatan pada Tabel F.1 (Lampiran Bahwa untuk bit IRA pola 011XXXX, angka 0 sampai 9 diwakili oleh biner setara mereka, 0000 sampai 1001, di