12.3 Intel x86 Dan Arm Jenis Data

Jenis x86 data

x86 dapat menangani jenis data 8 (byte), 16 (kata), 32 (doubleword), 64 (quadword),
dan 128 (double quadword) bit panjangnya. Untuk memungkinkan fleksibilitas maksimum dalam
struktur data dan pemanfaatan memori efisien, kata tidak perlu selaras pada evennumbered
alamat; doublewords tidak perlu selaras pada alamat merata dibagi jadi 4; dan quadwords tidak perlu selaras pada alamat dibagi secara merata 8; dan sebagainya.
Namun, ketika data diakses di bus 32-bit, transfer data mengambil
menempatkan dalam satuan doublewords, mulai dari alamat habis dibagi 4. Prosesor
mengubah permintaan untuk nilai-nilai sejajar ke urutan permintaan untuk bus
transfer. Seperti dengan semua mesin Intel 80x86, x86 menggunakan gaya little-endian;
yaitu, byte paling signifikan disimpan dalam alamat terendah (lihat Lampiran 12A
untuk diskusi tentang endianness).
Byte, kata, doubleword, quadword, dan quadword ganda disebut sebagai tipe data umum. Selain itu, x86 mendukung jajaran tertentu jenis data yang diakui dan dioperasikan oleh instruksi tertentu. tabel 12.2 merangkum jenis.
Gambar 12.4 mengilustrasikan x86 tipe data numerik. melengkapi representasi berpasangan dan mungkin 16, 32, atau 64 bit panjang. floatingpoint yang ketik sebenarnya mengacu pada satu set jenis yang digunakan oleh unit floating-point dan dioperasikan oleh instruksi floating-point. Tiga representasi floating-point sesuai dengan standar IEEE 754.
SIMD dikemas (single-instruksi-multiple-data) tipe data diperkenalkan
untuk arsitektur x86 sebagai bagian dari perluasan dari set instruksi untuk
mengoptimalkan kinerja aplikasi multimedia. ekstensi ini termasuk MMX
(Ekstensi multimedia) dan SSE (Streaming SIMD ekstensi). Konsep dasar
adalah bahwa beberapa operan yang dikemas ke dalam item memori tunggal direferensikan dan bahwa
ini beberapa operan dioperasikan secara paralel. Tipe data adalah sebagai berikut:

 • Dikemas byte dan dikemas byte integer: Bytes dikemas ke dalam quadword 64-bit atau
128-bit ganda quadword, diartikan sebagai bidang bit atau sebagai integer
 • Dikemas kata dan kata dikemas integer: 16-bit kata-kata dikemas ke dalam quadword 64-bit

atau 128-bit ganda quadword, diartikan sebagai bidang bit atau sebagai integer
Dikemas doubleword dan dikemas doubleword integer: 32-bit doublewords
dikemas dalam quadword 64-bit atau 128-bit quadword ganda, ditafsirkan sebagai
bidang bit atau sebagai integer
  • Quadword Dikemas dan dikemas qaudword integer: Dua 64-bit quadwords
dikemas dalam quadword ganda 128-bit, ditafsirkan sebagai bidang bit atau sebagai integer
  • Dikemas presisi tunggal floating-point dan dikemas floatingpoint presisi ganda:
Empat 32-bit floating-point atau dua 64-bit floating-point nilai dikemas
menjadi quadword ganda 128-bit


Jenis Data ARM

Prosesor ARM mendukung jenis data 8 (byte), 16 (sindiran), dan 32 (kata) bit
panjangnya. Biasanya, akses sindiran harus sindiran selaras dan kata mengakses
harus kata selaras. Untuk akses upaya nonblok, mendukung arsitektur

tiga alternatif.

Kasus dasar:
- Alamat diperlakukan sebagai terpotong, dengan alamat bit [1: 0] diperlakukan sebagai zero
untuk kata mengakses, dan alamat bit [0] diperlakukan sebagai nol untuk sindiran mengakses.
- Instruksi Beban kata ARM yang arsitektur didefinisikan untuk memutar kanan
data kata-blok ditransfer oleh alamat non kata-blok satu, dua, atau
tiga byte tergantung pada nilai dari dua setidaknya alamat bit signifikan

 • Memeriksa Keselarasan: Ketika bit kontrol yang tepat diatur, data batalkan sinyal
menunjukkan kesalahan keselarasan untuk mencoba akses teralign.
 • Akses teralign: Bila opsi ini diaktifkan, prosesor menggunakan satu atau lebih
mengakses memori untuk menghasilkan transfer yang dibutuhkan byte yang berdekatan transparan
untuk programmer.


Untuk ketiga jenis data (byte, sindiran, dan kata) interpretasi unsigned didukung, di mana nilai merupakan unsigned, bilangan bulat positif.
Semua tiga tipe data juga dapat digunakan untuk berpasangan melengkapi bilangan bulat ditandatangani. Mayoritas implementasi prosesor ARM tidak memberikan floatingpoint
hardware, yang menyimpan kekuatan dan daerah. Jika aritmatika floating-point diperlukan
dalam prosesor tersebut, harus diimplementasikan dalam perangkat lunak. ARM tidak mendukung
opsional floating-point coprocessor yang mendukung single dan double-presisi
mengambang tipe data titik didefinisikan dalam IEEE 754.

DUKUNGAN Endian Sedikit negara (E-bit) dalam sistem kontrol daftar diatur dan dibersihkan
di bawah kontrol program dengan menggunakan instruksi SETEND. E-bit mendefinisikan yang
endian untuk memuat dan menyimpan data. Gambar 12.5 mengilustrasikan fungsi terkait
dengan E-bit untuk beban kata atau toko operasi. Mekanisme ini memungkinkan efisien
beban data dinamis / toko untuk perancang sistem yang tahu mereka perlu untuk mengakses data
struktur dalam endianness berlawanan dengan mereka OS / lingkungan. Perhatikan bahwa alamat
setiap byte data tetap dalam memori. Namun, jalur byte di register berbeda.



Tidak ada komentar:

Posting Komentar