BAB II
PEMBAHASAN
A.
Pengertian Register
procesor
Register procesor, dalam arsitektur komputer, adalah sejumlah memori kecil komputer yang
bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi
terhadap program-program komputer dengan menyediakan akses
yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai
yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
Register procesor berdiri pada tingkat tertinggi dalam hierarki
memori: ini berarti bahwa kecepatannya adalah yang paling cepat;
kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi.
Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer
untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat
ditampung olehnya, seperti “register 8-bit”, “register 16-bit”, “register
32-bit”, atau “register 64-bit” dan lain-lain. Istilah register saat ini dapat
merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk
melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk
istilah ini, digunakanlah kata “Register Arsitektur”. Sebagai contoh set instruksi Intel x86 mendefinisikan
sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang
mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan
register 32-bit. Jenis-jenis register terbagi menjadi 2 yaitu :
- Register Alamat dan Buffer
a)
MAR (Memory Address Register) Untuk mencatat alamat
memori yang akan diakses (baik yang akan ditulisi maupun dibaca)
b)
MBR (Memory Buffer Register) Untuk menampung data yang
akan ditulis ke memori yang alamatnya ditunjuk MAR atau untuk menampung data
dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca.
c)
I/O AR (I/O
Address Register) Untuk mencatat alamat port I/O yang akan diakses(baik akan ditulisi atau dibaca).
d)
I/O BR (I/O
Buffer Register) Untuk menampung data yang akan dituliskan ke port yang alamatnya ditunjuk
I/O AR atau untuk menampung data dari port (yang alamatnya ditunjuk oleh I/O
AR) yang akan dibaca.
- Register Eksekusi Instruksi
a) PC (Program Counter) Mencatat alamat memori dimana instruksi di
dalamnya akan dieksekusi
b) IR
(Instruction Register) Menampung instruksi yang akan dilaksanakan
c) AC
(Accumulator) Menyimpan data sementara baik data yang sedang diproses atau
hasil proses.
Bagian dan
Fungsi Register terbagi menjadi beberapa kelas yaitu :
1) Register
data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat
(integer).
2) Register
alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk
mengakses memori.
3) Register general purpose, yang dapat
digunakan untuk menyimpan angka dan alamat secara sekaligus.
4) Register floating-point, yang digunakan
untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
5) Register
konstanta (constant register),
yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca
(bersifat read-only),
semacam phi, null, true, false dan
lainnya.
6) Register
vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang
dilakukan oleh procesor SIMD.
7) Register special purpose yang dapat
digunakan untuk menyimpan data internal procesor, seperti halnya instruction
pointer, stack pointer, dan status register.
8) Register
yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu,
digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan procesor
itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam
desain procesor tertentu saja, mungkin register jenis ini tidak menjadi standar
antara generasi procesor.
Intel 4004 adalah sebuah CPU 4-bit yang merupakan mikroprocesor chip
tunggal pertama di dunia. Pada waktu itu, desain CPU lainnya seperti F14 CADC pada
tahun 1970 merupakan
implementasi dari chip-chip gabungan (multi-chip).
4004 dirilis dalam kemasan CERDIP 16-kaki pada tanggal 15 November 1971. 4004 merupakan
procesor komputer pertama
yang dirancang dan diproduksi oleh produsen chip Intel. Orang yang
merancang chip tersebut adalah Ted Hoff dan Federico Faggin dari
Intel dan Masatoshi Shima dari
Busicom.
Rancangan aslinya berasal dari perusahaan Jepang yang bernama Busicom, untuk digunakan
pada kalkulator produksinya. 4004 juga disediakan dengan
sebuah chip pendukung (misal, ROM program digabung bersama untuk menggunakan alamat
program 12-bit 4004, yang mengijinkan akses memori 4 kilobyte dari bus alamat 4-bit bila
semua 16 ROM dipasang). Sirkuit 4004 dibuat dari 2.300 transistor,
dan pada tahun berikutnya diikuti oleh microprocesor 8-bit pertama, Intel 8008 dengan
3.300 transistor (dan Intel 4040, perbaikan dari 4004).
Pada masukan ke-empatnya ke pasar mikroprocesor, Intel melepas CPU yang
memulai revolusi mikrokomputer; Intel 8080
dengan perincian sebagai berikut :
a) Maximum clock speed – nya
adalah 740 kHz
b) Program
dan penyimpanan data yang terpisah (yaitu, sebuah arsitektur Harvard).
Berlainan dengan rancangan arsitektur Harvard lainnya yang menggunakan bus yang
terpisah, 4004, karena ingin mengurangi jumlah pin, menggunakan sebuah bus
4-bit tunggal dimultiplex untuk mentransfer:
c) Alamat
12-bit
d) Instruksi
8-bit, tidak ditaruh di memori yang sama dengan
e) Data
word 4-bit
f)
Set instruksi yang
terdiri dari 46 instruksi (di mana 41 diantaranya memiliki lebar 8 bit dan 5
lebar 16 bit)
g) Set
register terdiri dari 16 register masing-masing 4 bit
h) Tumpukan subroutine internal
memiliki kedalaman 3 tingkat
i)
Intel Core 2 adalah sebuah mikroprocesor yang
dirilis oleh Intel Corporation pada tanggal 27 Juli 2006. Pada saat
pengembangannya, procesor ini memiliki nama kode Conroe dan Allendale.
j)
Registers (jamak, dalam bahasa Indonesia menjadi
register-register atau banyak register) merupakan media penyimpanan internal
CPU yang digunakan saat pengolahan data. Registers merupakan media penyimpanan
yang bersifat sementara, artinya data hanya akan berada dalam registers saat
data tersebut dibutuhkan selama komputer masih hidup, ketika suatu data tidak
diperlukan lagi maka ia tidak berhak lagi berada di dalam registers, dan ketika
komputer dimatikan maka semua data yang berada di dalamnya akan hilang. Sedangkan Ukuran-ukuran register yaitu :
Tabel 2.1 Ukuran – ukuran Register.
Register
|
Prosesor
|
4-bit
|
Intel 4004
|
8-bit
|
Intel 8080
|
16-bit
|
Intel 8086, Intel 8088, Intel
80286
|
32-bit
|
Intel 80386, Intel 80486, Intel
Pentium Pro, Intel Pentium, Intel Pentium 2, Intel Pentium 3, Intel Pentium
4, Intel Celeron, Intel Xeon, AMD K5, AMD K6, AMD Athlon, AMD Athlon MP, AMD
Athlon XP, AMD Athlon 4, AMD Duron, AMD Sempron
|
64-bit
|
Intel Itanium, Intel Itanium 2,
Intel Xeon, Intel Core, Intel Core 2, AMD Athlon 64, AMD Athlon X2, AMD
Athlon FX, AMD Turion 64, AMD Turion X2, AMD Sempron
|
Kaitan Antara
Register Dan Sistem Komputer
a)
Komputer secara mendasar memiliki 8 buah register, 1
buah unit memori, dan 1 buah unit kontrol. Jalur harus disediakan untuk
mengirim informasi dari satu register menuju register lain, juga antara memori
terhadap register.
b)
Transfer informasi antar register akan lebih efisien
bila menggunakan common bus.
Tabel 2.2 Koneksi Register Dengan Bus
Simbol
|
Bit
|
Nama
|
Fungsi
|
DR
|
16
|
Data Reg
|
Menyimpan operand yang dibaca
dari memori.
|
AR
|
12
|
Addres Reg
|
Menyimpan alamat untuk memori
|
AC
|
16
|
Accumulator
|
Register untuk general-purpose
processing.
|
IR
|
16
|
Instruction Reg
|
Menyimpan intruksi yang dibaca
dari memori.
|
PC
|
12
|
Program counter
|
Menyimpan alamat instruksi
berikutnya yang dibaca dari memori setelah instruksi yang ada di eksekusi.
|
TR
|
16
|
Temporary Reg
|
Menyimpan sementara data yang
sedang diproses.
|
INPR
|
8
|
Input
|
Menyimpan karakter yang diinputkan.
|
OUTR
|
8
|
Reg Ouput Reg
|
Menyimpan karakter yang di
outputkan.
|
c)
Output dari 7 buah register dan memori dihubungkan
menuju common bus. Output khusus ke jalur bus setiap saat dapat dipilih
berdasarkan biner yang ada pada S2, S1, S0.
Jumlah tiap output menunjukan ekivalen desimal dari biner yang dipilih. Mis,
output DR adalah 3. Berarti ouput 16 bit dari DR ditempatkan pada bus S2 S1
S3 = 011.
d)
Jalur dari common bus dihubungkan ke input di tiap
register dan input data pada memori. Ke-7 register memiliki masukan LD, bila
masuknya enable, maka register dapat menerima masukan dari bus selama transisi
clock pulse berikutnya. Memori
menerima isi dari bus saat write input-aktif. Memori menempatkan output
16-bit ke bus saat reed output-diaktifkan dan S2 S1 S0
= 111. Register-register DR, AC,
IR dan TR memiliki ukuran 16-bit. Register AR dan PC memiliki ukuran 12-bit
karena menyimpan alamat memori. Saat isi AR atau PC diberikan ke common bus
16-bit, 4 bit terdepan diisi 0000. Saat AR atau PC menerima informasi dari bus,
hanya 12-bit terakhir yang diambil.
e)
INPR dan OUTR berukuran 8-bit dan berkomunikasi dengan
bus hanya untuk 8-bit terkecil (least significant). INPR dihubungkan ke common
bus untuk menyediakan informasi ke bus, sedang OUTR hanya dapat menerima informasi
dari bus. Hal ini karena INPR menerima charagter dari input device yang
kemudian dikirim ke AC. OUTR menerima karakter dari AC dan mengirimkannya ke
output device. Tidak ada transfer yang dilakukan dari OUTR menuju register
lainnya. Ke-16 jalur dari common bus menerima informasi dari 6 register dan
unit memori.
f)
Jalur bus dihubungkan ke input dari 6 register dan
memori. 5 buah register memiliki 3 input kontrol, yaitu : LD (load), INC
(increment), dan CLR (clear). Register jenis ini ekivalen terhadap binary
counter with paralell load, and synchronous clear. Operasi increment dicapai
dengan memberi nilai 1 (enabling) pada masukan LD.
g)
Data input & data output dari memori dihubungkan
terhadap common bus, namun alamat memori dihubungkan terhadap AR. Jadi AR harus
selalu digunakan untuk memastikan alamat memori. Dengan menggunakan register
tunggal untuk alamat, kita dapat mengurangi kebutuhan bus alamat. Isi dari
beberapa register dapat ditetapkan sebagai masukan data memori., selama operasi
write.
Register
Intel 8051
- Intel 8051 memiliki penyimpanan internal berkapasitas 128 byte ditambah sejumlah SFR(Special Function Register). Kelompok RAM internal memiliki alamat antara 80H- FFH. RAM internal dapat diakses secara langsung dengan menyebutkan nama lokasinya, bukan nomor lokasinya, misal ACC, B, P0, P1, dst.
- RAM internal 128 byte yang terletak antara 00- 7FH terbagi atas 3 bagian yaitu:
- Kelompok register bank. Berupa 32 byte atau 32 registeryang terletak antara 00h sampai 1Fh. Bagian ini dipecah menjadi 4 register bank yang masing- masing terdiri dari 8 register yang diberi nama R0- R7. Masing- masing register dapat dialamatkan dengan nama ataupun dengan alamat RAM-nya. Bit RS0 dan RS1 pada register PSW di SFR menentukan bank mana yang sedang digunakan. Misal jika RS0 dan RS1 bernilai 00, maka R2 menempati lokasi 02H pada register bank pertama, tetapi jika RS0 dan RS1 bernilai 10, maka R2 menempati lokasi 12H pada register bank ketiga.
- Daerah pengalamatan bit (bit addressable), yang terdiri dari 16 byte atau 16 register dengan alamta antara 20h sampai 2Fh. Setiap bit di area ini dapat diakses terpisah tanpa mengganggu bit lainnya. Pengalamatan byte dapat menggunakan alamat register antara 20h- 2Fh, sedangkan pengalamatan bit dapat dilakukan dengan menuliskan titik setelah alamat registernya, misal 20H untuk register bit MSBpada register 20H.
- Daerah register penggunaan umum (Scrath Pada area) yang terletak pada bagian atas internal RAM, yaitu alamat 30h- 7Fh. Biasanya stack diletakkan disini.
Metode
Pengalamatan Intel 8051
- Pengalamatan Register (register addressing), berlaku untuk register R0- R7. Misalnya MOV R7,22H menyebabkan isi RAM internal alamat 22H disalin ke Register R7.
- Pengalamatan Langsung (direct addressing), berlaku untuk RAM internal dan SFR. Pada cara ini, dalam instruksi operand ditunjukkan oleh suatu alamat lebarnya 8 bit. Misalnya : MOV 24H,22H: menyebabkan isi RAM internal beralamat 22H disalin ke register alamat 24H, MOV TMOD,#00010001B: menyebabkan angka biner 00010001 dimasukkan ke register TMOD, MOV 24H,P1: menyebabkan kondisi pin pada port 1direkam ke dalam RAM internal alamat 24H.
- Pasangan Register Timer. Register yang terkait dengan pengunaan timer adalah register TH0, TL0, TH1, TMOD dan TCON.
- Register- register kontrol, digunakan untuk mengendalikan kerja I/O device internal seperti IP (Interrupt Priority) dan IE(Interrupt Enable) untuk operasi interupsi, TMOD (Timer Mode) danTCON (Timer Counter) untuk operasi timer atau counter, register SCON untuk operasi komunikasi serial dan register PCON (Power Control) untuk pengendalian daya prosesor.