Posts Tagged ‘register instruksi’

Latar Belakang

Komputer SAP-2 ini merupakan pengembangan dari SAP-1. Bahasa assembly SAP-2 memiliki instruksi yang lebih banyak dibandingkan SAP-1. Pada dasarnya SAP-2 tidak jauh berbeda dengan SAP-1. Kelebihannya terdapat beberapa komponen baru dan penambahan lebar bus. Kesamaan yang fundemental antara SAP-2 dengan SAP-1 adalah lebar data yang dioperasikan ALU sebesar 8 bit. Ini menunjukan bahwa keduanya adalah computer 8 bit.

Struktur SAP – 2

Arsitektur SAP-2 dilukiskan oleh gambar dibawah ini. Semua keluaran register ke bus W berupa saklar tiga-keadaan. Keluaran yang tidak dihubungkan dengan bus bersifat dus-keadaan. Sebagaimana sebelumnya, pengendali-pengurut mengirimkan sinyal-sinyal kendali (tidak dilukiskan) kepada setiap register. Sinyal-sinyal kendali ini akan mengisi, mengaktifkan, atau mempersiapkan register untuk tepi pulsa pawaktu positif yag berikutnya. Uraian singkat dari masing-masing kotak dalam gambar arsitektur SAP-2 akan diberikan berikut ini.

sap-2

Penjelasan Arsitektur


Bandar Masukan

SAP-2 mempunyai dua buah bandar masukan, bernomor 1 dan 2. Enkoder papan tombol (keyboard) heksadesimal dihubungkan dengan bandar I untuk memasukkan instruksi dan data heksadesimal melalui bandar ini. Perhatikan bahwa enkoder papan tombol heksadesimal mengirimkan sebuah sinyal READY ke bit 0 dari bandar 2. Sinyal ini menunjukkan kapan data di bandar I telah menjadi absah (valid).

Perhatikan pula bahwa sinyal SERIAL IN memasuki penyemat 7 dari bandar 2. Dalam pembahasan kemudian akan diberikan suatu contoh yang memperlihatkan bagaimana cara mengubah data masukan seri menjadi data masukan paralel.

Pencacah Program

Kini, pencacah program memiliki saluran 16-bit, dan karena itu dapat mencacah dari

PC = 0000 0000 0000 0000

Sampai

PC = 1111 1111 1111 1111

Ini ekivalen dengan 0000H sampai FFFFH, atau 0 sampai 65.536 desimal. Sinyal CLR yang rendah akan mereset PC sebelum setiap operasi komputer. Dengan demikian pemrosesan data selalu dimulai dengan instruksi yang disimpan dalam lokasi memori 0000H.

MAR dan Memori

Selama siklus pengambilan, MAR menerima alamat 16-bit dari pencacah program. Keluaran dua-keadaan dari MAR selanjutnya mengirimkan alamat lokasi memori yang dikehendaki. Memori mempunyai sebuah ROM 2K yang beralamat 0000H sampai 07FFH. ROM ini berisi sebuah program, yang disebut monitor. Program ini menganalisasi komputer pada waktu dinyalakan. Menafsirkan masukan-masukan papan tombol, dan sebagainya. Sisa dari memori sistem merupakan sebuah RAM 62K yang beralamat dari 0800H sampai FFFFH.

Register Data Memori

Register data memori (Memory data register; disingkat MDR) adalah sebuah register bufer 8-bit. Keluaran register ini mengaktifkan RAM. Register data memori menerima data dari bus sebelum berlangsung operasi menulis, dan akan mengirimkan data ke bus sesudah operasi membaca.

Register Instruksi (IR)

Karena SAP-2 memiliki instruksi yang lebih banyak daripada SAP-1, kita akan menggunakan 8-bit untuk kode operasi dan bukan 4-bit seperti dalam SAP-1. Kode operasi 8-bit dapat menampung 256 instruksi. SAP-2 hanya mempunyai 42 instruksi, sehingga tidak akan terdapat masalah dalam pengkodean instruksi 8-bit. Penggunaan kode operasi 8-bit juga memungkinkan kompatibilitas dengan perangkat instruksi 8080/8085 yang juga disusun atas dasar kode operasi 8-bit. Sebagaimana telah disebutkan sebelumnya, seluruh instruksi SAP identik dengan instruksi pada 8080/8085.

Pengendali Pengurut

Pengendali-pengurut menghasilkan kata-kata kendali atau mikroinstruksi yang akan mengkoordinasi atau mengarahkan operasi komputer. Karena SAP-2 memiliki perangkat instruksi yang lebih luas, maka perangkat keras dari bagian pengendali-pengurut menjadi lebih rumit. Dipihak lain meskipun kata CON menjadi lebih panjang, tetapi ide pokoknya tetap sama: kata kendali atau mikroinstruksi menentukan bagaimana register-register bereaksi terhadap tepi pulsa detak positif berikutnya.

Akumulator

Keluaran dua-keadaan dari akumulator dikirim ke ALU; sedangkan keluaran tiga- keadaan dari akumulator ini dihubungkan dengan bus W. Karena itu, kata 8-bit dalam akumulator secara kontinu menggerakkan ALU, akan tetapi kkata yang sama juga muncul pada bus bilamana EA menjadi aktif.

ALU dan Bendera

ALU-ALU standar tersedia secara komersial sebagai rangkaian terpadu. ALU ini memiliki 4 atau lebih dari 4 bit kendali yang menentukan operasi aritmetik atau operasi logika pada kata-kata A dan B. ALU yang dipakai dalam SAP-2 mengandung operasi aritmetik dan logika.

Bendera (flag) merupakan sebuah flip-flop yang mengikuti dan mengawasi perubahan keadaan selama komputer beroperasi. Komputer SAP-2 mempunyai dua macam bendera. Bendera tanda (sign flag) akan diaktifkan bilamana isi akumulatr berubah menjadi negatif selama eksekusi dari beberapa instruksi. Bendera nol (zero flag) akan diaktifkan bilamana isi akumulator menjadi nol.

Register TMP, B, dan C

Sebagai pengganti peranan register B dalam menahan data yang akan dijumlahkan atau dikurangkan dengan isi akumulator, di sini digunakan sebuah register sementara (disingkat TMP dari kata temporary). Register ini memberikan kebebasan lebih luas dalam menggunakan register B. Di samping register TMP dan register B, SAP_2 juga menggunakan register C. Dengan ini, pemindahan data selama komputer bekerja dapat dilakukan secara lebih fleksibel.

Bandar Keluaran

SAP-2 mempunyai dua bandar keluaran, masing-masing diberi nomor 3 dan 4. Isi akumulator dapat dimasukkan ke dalam bandar 3, yang menggerakkan sebuah peraga heksadesimal. Dengan demikian kita dapat melihat data yang telah diproses melalui peraga itu.
Isi akumulator dapat pula dikirimkan ke bandar 4. Perhatikan bahwa penyemat 7 dari bandar 4 mengirimkan sinyal sinyal ACKNOWLEDGE ke enkoder heksadesimal. Sinyal ACKNOWLEDGE ini beserta sinyal READY merupakan bagian dari suatu konsep yang disebut berjabat-tangan (hand-shaking), Pengertian ini akan dibahas lebih lanjut kemudian.

Perhatikan juga sinyal SERIAL OUT dari penyemat 0 bandar 4. Salah satu dari contoh-contoh yang diberikan kemudian akan menjelaskan bagaimana mengubah data paralel dalam akumulator menjadi data keluaran seri.


Kelebihan dan Kekurangan

- Kelebihan :

  • Pada SAP-2, terdapat instruksi lompatan (JUMP). Instruksi baru ini memaksa computer untuk mengulang atau melewati bagian program. Seperti yang akan kita temukan, instruksi lompatan membuka suatu dunia yang sama sekali baru pada kemampuan computer.

  • Terdapat penambahan beberapa komponen baru dan penambahan lebar BUS

 

- Kekurangan :

Register 8 bit seperti register CPU, A, B, dan C dalam SAP-2 digunakan dalam operasi aritmatika dan logika. Karena akumulator hanya memiliki lebar data 8 bit, maka jangkauan dari bilangan tak bertanda yang dapat ditangani adalah 0 sampai 255; dan jangkauan dari bilangan komplemen-2 yang bertanda adalah – 128 sampai + 127.

Arsitektur SAP-1

Tujuan komputer SAP adalah menjelaskan cara komputer yang paling sederhana, SAP-1 merupakan tahap pertama dalam evolusi ke dalam arah pengembangan komputer-komputer modern. Sekalipun masih terhitung sederhana, operasi SAP-1 telah mewakili operasi komputer modern. Kelebihannya, arsitekturnya sederhana sehingga mudah dimengerti oleh pemula sekalipun. Gambar di bawah ini menunjukkan arsitektur SAP-1

SAP1Architecture

Penahan Tiga Keadaan (Three State Buffer – TSB)

Semua keluaran register menuju Bus W yang dikendalikan oleh Penahan Tiga Keadaan (Three State Buffer – TSB) yang memungkinkan transfer data dari register ke BUS secara teratur.

TSB

Keluaran dari TSB, D OUT, memungkinkan tiga kondisi; 1, 0, atau hambatan tinggi (impedensi tinggi). Pada saat ENABLE = 0, maka terjadi hambatan tinggi pada TSB sehingga tidak ada data yang mengalir dari D IN menuju D OUT. Pada SAP-1, TSB banyak digunakan untuk menahan data dari register menuju ke BUS W atau sebaliknya.

CLK, CLK`, CLR, CLR`

Jalur kendali umum yang hampir ada pada setiap komponen dalam komputer, fungsi masing-masing jalur adalah sebagai berikut :

  1. CLK adalah sebagai pemicu pengaktifan komponen dengan mode Active High, akan aktif jika nilainya = 1
  2. CLK` adalah sebagai pemicu pengaktifan komponen dengan mode Active Low, akan aktif jika nilainya = 0
  3. CLR adalah untuk me-reset komponen dengan mode Active High, akan aktif jika nilainya = 1
  4. CLR` adalah untuk me-reset komponen dengan mode Active Low, akan aktif jika nilainya = 0

Berikut ini adalah uraian singkat dari setiap kotak diagram dan penjelasannya :

  • Pencacah Program – Program Counter (PC)

Pencacah program dalam SAP-1 disimpan pada RAM (Random Access Memory) dengan instruksi pertama kode biner 0000. Instruksi kedua pada alamat 0001, dan instruksi ketiga pada alamat 0010. Pencacah program di bawah kendali CU (Control Unit) bertugas untuk mencacah dari 0000-1111 atau dari 0-15. Keluaran dari pencacah akan menunjukkan alamat instruksi berikutnya yang akan dieksekusi, misalnya 1100. Ketika computer mulai bekerja, pencacah program di-reset sehingga nilainya menjadi 0000. Nilai ini dikirimkan ke Register Alamat Memori (MAR) sebagai alamat memori yang akan diambil instruksinya. Kemudian pencacah program akan menentukan cacahnya menjadi 001.
pencacah_4_int
Jalur kendali yang ada pada pencacah program :
Ep, berfungsi mengeluarkan nilai dari pencacah ke dalam BUS W
Cp, berfungsi mengendalikan increment pencacah (PC = PC + 1)

  • MAR (Memory Address Register)

Di bawah pencacah program, terdapat register masukan dan MAR, dan termasuk Register untuk alamat dan data (Register Saklar). Register ini merupakan bagian dari unit masukan yang memungkinkan pengiriman 4 bit alamat dan 8 bit data ke Memory.
masukan_MAR
Fungsi dari masukan dan MAR adalah untuk mengirimkan alamat 4 bit ke dalam memory (RAM) serta untuk membaca instruksi di dalam memory.

  • Memory RAM (Random Access Memory) 16 X 8

Bagian ini berperan sebagai memory utama tempat menyimpan instruksi dan data, selama computer beroperasi, RAM akan menerima alamat 4 bit dari MAR dan operasi membaca dilaksanakan. Memori terdiri dari 16 alamat yang lebarnya 8 bit. Untuk mengakses RAM, diperlukan alamat dengan lebar 2 log 16 bit = 4 bit.
RAM
Jalur kendali yang ada pada RAM, yaitu :
CE, berfungsi mengeluarkan data 8 bit dari memory ke BUS W.

  • Register Instruksi

Instruksi yang dieksekusi dibaca dari memory utama dan masuk ke dalam BUS W, pada waktu bersamaan register instruksi diaktifkan sehingga instruksi yang dibaca dari memori akan masuk ke dalam register instruksi. Di dalam proses kerjanya, register instruksi dibagi menjadi dua bagian, bagian atas dikirim ke blok pengendali pengurut (sebanyak 4 bit) sedangkan bagian bawah sebanyak 4 bit lagi dikirim menuju ke BUS W yang dikendalikan oleh TSB.

Jalur kendali yang ada pada register instruksi :
Li , mengambil data 8 bit dari BUS W
Ei, mengendalikan data 4 bit dari Register menuju ke BUS W
register_instruksi

  • Pengendali Pengurut

Register ini berfungsi mengatur seluruh jalannya computer termasuk eksekusi instruksi. Sebelum computer bekerja pada CLR dan CLK, masing-masing dikirimkan ke pencacah program dan register instruksi.
pengendali_pengurut

  • Akumulator

Berfungsi menyimpan sementara hasil operasi dari sebuah computer. Keluaran dari akumulator dibagi 2 bagian/ keluaran pertama diteruskan ke bagian penjumlah pengurang (8 bit) kemudian keluaran kedua diteruskan ke BUS W (Keluaran Tiga). Jalur kendali pada register instruksi :
LA` , berfungsi mengambil data 8 bit dari BUS W
En, berfungsi mengendalikan data 8 bit dari Register menuju ke BUS W.

  • Penjumlah Pengurang

SAP-1 menggunakan penjumlah pengurang komplemen bila SU berharga rendah, maka keluaran jumlah dari penjumlah pengurang dalam S =  A + B. Apabila SU tinggi, maka keluarannya berupa selisih dari A =  A + B. Jalur kendali yang digunakan pada penjumlah pengurang :
SU, menentukan jenis operasi penjumlah atau pengurang. Jika SU aktif maka terjadi penjumlahan atau sebaliknya.
EU, mengendalikan data 8 bit penjumlahan dan pengurangan yang menuju ke BUS W

  • Register B

Adalah register buffer yang digunakan dalam operasi matematika. Sinyal LB yang rendah dan tepi positif dari sinyal data akan menyalurkan data dari BUS W ke dalam Register. Keluaran dari Register B akan mengaktifkan penjumlahan dan pengurangan, memasukkan bilangan yang akan dijumlah dengan / dikurangkan dengan isi akumulator. Jalur kendali yang digunakan :
LB, mengambil data 8 bit dari BUS W

  • Register Keluaran

Pada alur operasi computer, akumulator berisi hasil operasi yang diselesaikan dalam register penjumlah pengurang. Jalur kendali yang digunakan :
Lo, mengambil data 8 bit dari BUS W

  • Peraga Biner

Adalah suatu alat yang terdiri dari 8 buah LED, dimana fungsi utama dari peraga biner adalah menyajikan isi output, dengan demikian hasil yang ada pada akumulator dapat ditampilkan dalam bentuk peraga biner.