Instruksi mesin beroperasi pada data. Kategori umum yang paling penting dari
data
• Alamat
• Nomor
• Karakter
• Data Logical
Kita akan melihat, dalam membahas mode pengalamatan dalam Bab 13, yang alamat, pada kenyataannya, bentuk data. Dalam banyak kasus, beberapa perhitungan harus dilakukan pada
referensi operan dalam instruksi untuk menentukan memori utama atau virtual
alamat. Dalam konteks ini, alamat dapat dianggap unsigned integer.
Lainnya tipe data umum adalah angka, karakter, dan data logis, dan masing-masing
ini diperiksa secara singkat di bagian ini. Di luar itu, beberapa mesin mendefinisikan khusus
jenis data atau struktur data. Sebagai contoh, mungkin ada operasi mesin
yang beroperasi langsung di daftar atau string karakter.
Nomor
Semua bahasa mesin termasuk tipe data numerik. Bahkan dalam pengolahan data nonnumeric,
ada kebutuhan untuk nomor untuk bertindak sebagai counter, lebar lapangan, dan sebagainya.
Perbedaan penting antara nomor yang digunakan dalam matematika dan angka biasa
disimpan dalam komputer adalah bahwa yang terakhir terbatas. Hal ini berlaku dalam dua pengertian.
Pertama, ada batas dengan besarnya angka representable pada mesin dan
kedua, dalam kasus angka floating-point, batas untuk presisi mereka. Dengan demikian,
programmer dihadapkan dengan pemahaman konsekuensi dari pembulatan, overflow,
dan underflow.
Tiga jenis data numerik yang umum di komputer:
• bilangan bulat Binary atau titik tetap biner
• floating point Binary
• Decimal
Kami memeriksa dua yang pertama dalam beberapa detail pada Bab 10. Ini masih mengatakan beberapa
kata tentang angka desimal.
Meskipun semua operasi komputer internal biner di alam, manusia
pengguna sistem kesepakatan dengan angka desimal. Dengan demikian, ada kebutuhan untuk mengkonversi
dari desimal ke biner pada masukan dan dari biner ke desimal pada output. untuk aplikasi
di mana ada banyak I / O dan relatif sedikit, relatif
perhitungan sederhana, adalah lebih baik untuk menyimpan dan beroperasi pada angka-angka dalam desimal
bentuk. representasi yang paling umum untuk tujuan ini dikemas desimal.
Dengan desimal dikemas, setiap digit desimal diwakili oleh kode 4-bit, dalam
cara yang jelas, dengan dua digit disimpan per byte. Dengan demikian,
0 = 000, 1 = 0001, c, 8 = 1000, dan 9 = 1001. Catatan bahwa ini adalah kode yang agak tidak efisien karena hanya 10 dari 16 kemungkinan nilai 4-bit yang digunakan. Untuk membentuk angka, kode 4-bit yang dirangkai, biasanya dalam kelipatan 8 bit. Dengan demikian, kode untuk 246 0000 0010 0100 0110.
Kode ini jelas kurang kompak dari representasi biner lurus, tapi menghindari konversi
atas. angka negatif dapat direpresentasikan oleh termasuk tanda 4-bit
digit di kedua ujung kiri atau kanan dari string digit desimal dikemas. Standard tanda
nilai-nilai 1100 untuk positif (+) dan 1101 untuk negatif (-).
Banyak mesin memberikan petunjuk aritmatika untuk melakukan operasi
langsung pada angka desimal dikemas. Algoritma yang sangat mirip dengan
dijelaskan dalam Bagian 9.3 tapi harus memperhitungkan desimal carry operasi.
Karakter
Bentuk umum dari data teks atau karakter string. Sementara data tekstual yang paling
nyaman bagi manusia, mereka tidak bisa, dalam bentuk karakter, dengan mudah disimpan atau
ditularkan oleh pengolahan data dan sistem komunikasi. Sistem seperti ini
dirancang untuk data biner. Dengan demikian, sejumlah kode telah dirancang oleh karakter yang
diwakili oleh urutan bit. Mungkin contoh umum awal
ini adalah kode Morse. Hari ini, kode karakter yang paling umum digunakan dalam
International Reference Alphabet (IRA), disebut di Amerika Serikat sebagai
American Standard Kode untuk Informasi Interchange (ASCII; lihat Lampiran F).
Setiap karakter dalam kode ini diwakili oleh pola 7-bit yang unik; dengan demikian, 128 yang berbeda karakter dapat diwakili. Ini adalah jumlah yang lebih besar dari 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.
IRA-dikodekan karakter yang hampir selalu disimpan dan dikirim menggunakan 8 bit per
karakter. Bit kedelapan mungkin diatur ke 0 atau digunakan sebagai bit paritas untuk mendeteksi kesalahan.
Dalam kasus terakhir, bit diatur sedemikian rupa sehingga total jumlah 1s biner di setiap oktet
selalu ganjil (aneh paritas) atau selalu bahkan (paritas genap).
Catatan pada Tabel F.1 (Lampiran F) bahwa untuk bit pola IRA 011XXXX, yang
angka 0 sampai 9 diwakili oleh setara biner mereka, 0000 melalui 1001, di
paling kanan 4 bit. Ini adalah kode yang sama seperti desimal dikemas. Ini memfasilitasi konversi
antara 7-bit IRA dan 4-bit dikemas representasi desimal.
kode lain yang digunakan untuk mengkodekan karakter adalah diperpanjang Binary Coded
Desimal Interchange Code (EBCDIC). EBCDIC digunakan pada mainframe IBM. Saya t
adalah kode 8-bit. Seperti IRA, EBCDIC kompatibel dengan desimal dikemas. Di
kasus EBCDIC, kode 11110000 melalui 11111001 mewakili digit
0 sampai 9.
Data Logis
Biasanya, setiap kata atau unit beralamat lainnya (byte, sindiran, dan sebagainya) diperlakukan
sebagai satu kesatuan data. Hal ini kadang-kadang berguna, namun, untuk mempertimbangkan unit n-bit sebagai yang terdiri dari n item 1-bit data, setiap item memiliki nilai 0 atau 1. Bila data
melihat cara ini, mereka dianggap data logis.
Ada dua keuntungan ke tampilan bit-oriented. Pertama, kita mungkin kadang-kadang berharap
untuk menyimpan array Boolean atau item data biner, di mana setiap item dapat mengambil hanya
nilai 1 (benar) dan 0 (false). Dengan data logis, memori dapat digunakan secara efisien
untuk penyimpanan ini. Kedua, ada saat-saat kita ingin memanipulasi bit dari item data.
Sebagai contoh, jika operasi floating-point diimplementasikan dalam perangkat lunak, kita
harus mampu menggeser bit signifikan dalam beberapa operasi. Contoh lain: Untuk mengkonversi
dari IRA ke desimal dikemas, kita perlu mengekstrak paling kanan 4 bit dari setiap byte.
Perhatikan bahwa, dalam contoh sebelumnya, data yang sama diperlakukan kadang-kadang sebagai
logis dan lainnya kali numerik atau teks. "Jenis" dari unit data ditentukan
oleh operasi yang dilakukan di atasnya. Sementara ini biasanya tidak terjadi di
bahasa tingkat tinggi, hampir selalu terjadi dengan bahasa mesin.
Tidak ada komentar:
Posting Komentar