BAB I
PENDAHULUAN
A. Latar Belakang
SAP merupakan software yang banyak dipakai di
perusahaan besar untuk mendukung integrasi proses bisnis. SAP (System Application and Product in data
processing ) adalah suatu software yang dikembangkan untuk mendukung suatu
organisasi dalam menjalankan kegiatan operasionalnya secara lebih efisien dan
efektif.SAP terdiri dari sejumlah modul aplikasi yang mempunyai kemampuan
mendukung semua transaksi yang perlu dilakukan suatu perusahaan dan tiap
aplikasi bekerja secara berkaitan satu dengan yang lainnya. Semua modul aplikasi di SAP dapat
bekerja secara terintegrasi/terhubung yang satu dengan lainnya.
B. Rumusan Masalah
1.
Gambar arsitektur SAP-1
2.
Bagaimana perangkat instruksi?
3.
Bagaimana pemrograman SAP-1?
4.
Bagaimana siklus pengambilan
(FETCH CYCLE)?
5.
Bagaimana siklus eksekusi?
6.
Bagaimana mikroprogram SAP-1?
7.
Gambar diagram skematik SAP-1?
8.
Bagaimana pengadaan mikroprogram?
C. Tujuan Masalah
1.
Mengetahui Gambar arsitektur
SAP-1
2.
Mengetahui perangkat instruksi
SAP-1
3.
Mengetahui pemrograman SAP-1
4.
Mengetahui Siklus Pengambilan
SAP-1
5.
Mengetahui Siklus eksekusi SAP-1
6.
Mengetahui Mikroprogram SAP-1
7.
Mengetahui gambar diagram
skematik SAP-1
8.
Mengetahui pengadaan mikroprogram
SAP-1
BAB II
PEMBAHASAN
Komputer SAP (Simple-As Possible; artinya sederhana mungkin) telah
dirancang untuk anda sebagai seorang pemula dalam bidang ini. Tujuan utama
perancangan komputer SAP adalah untuk memperkenalkan semua gagasan penting
dibalik operasi komputer tanpa membenamkan anda kedalam kerumitan yang tidak
perlu. Meskipun demikian, sebuah komputer sederhana seperti SAP sudah
mengandung banyak konsep yang lanjut. Untuk menghindarkan beban pemahaman yang
terlampau banyak sekaligus, kita akan mengkaji secara tiga generasi yang
berbeda dari komputer SAP.
A.
ARSITEKTUR
`Gambar 1 memperlihatkan arsitektur (struktur)
dari SAP-1, sebuah komputer berorganisasi-bus. Semua keluaran register menuju
bus W merupakan saklar tiga-keadaan, yang memungkinkan transfer data secara
teratur. Semua keluaran register yang lain hanya memiliki dua keadaan;
keluaran-keluaran ini secara kontinu menggerakkan kotak-kotak yang disambungkan
kepadanya.
Susunan pada Gambar1 menonjolkan
fungsi register-register yang dipakai dalam SAP-1. Karena itu, tidak ada usaha
untuk menempatkan semua rangkaian pengendali dalam satu blok yang disebut untuk
kendali, ataupun meletakkan semua
rangkaian-rangkaian masukan-keluaran di dalam blok lain yang disebut unit I/O,
dsb.
|
Gambar 1 Arsitektur SAP-1
1.
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.
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. Jalur kendali umum yang hampir ada pada setiap komponen dalam
komputer, fungsi masing-masing jalur adalah sebagai berikut:
a.
CLK adalah sebagai pemicu
pengaktifan komponen dengan mode Active High, akan aktif jika
nilainya = 1
b. CLK` adalah sebagai pemicu pengaktifan komponen dengan mode Active
Low, akan aktif jika nilainya = 0
c. CLR adalah untuk me-reset komponen dengan mode Active High,
akan aktif jika nilainya = 1
d. CLR` adalah untuk me-reset komponen dengan mode Active Low,
akan aktif jika nilainya = 0
2.
Bagian-bagian dari Arsitektur
SAP-1
a.
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. pencacah program akan menentukan cacahnya
menjadi 001. 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).
Ep, berfungsi mengeluarkan nilai dari pencacah ke dalam BUS W
Cp, berfungsi mengendalikan increment pencacah (PC = PC + 1).
b.
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.
Fungsi dari
masukan dan MAR adalah untuk mengirimkan alamat 4 bit ke dalam memory (RAM)
serta untuk membaca instruksi di dalam memory.
c.
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.Jalur kendali
yang ada pada RAM, yaitu : CE, berfungsi mengeluarkan data 8 bit dari
memory ke BUS W.
d.
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.
Ei, mengendalikan data 4 bit dari Register menuju ke BUS W.
e. 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.
f. 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.
LA` , berfungsi mengambil data 8 bit dari BUS W
En, berfungsi mengendalikan data 8 bit dari Register menuju ke BUS W.
g. 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.
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.
h. 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
LB, mengambil data 8 bit dari BUS W
i.
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
Lo, mengambil data 8 bit dari BUS W
j.
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.
B.
PERANGKAT INSTRUKSI
Perangkat
instruksi komputer SAP-1 adalah sebagai berikut.
1.
LDA
LDA merupakan singkatan dari “load the accumulator” (artinya = isilah
akumulator). Instruksi LDA yang lengkap mengandung alamat heksadesimal dari
data yang hendak diisikan. Sebagai contoh: LDA 8H, artinya: isilah akukulator
dengan isi dari lokasi memori 8H”.
Umpamanya:
R8
= 0000 0010
Maka
eksekusi instruksi LDA 8H menghasilkan;
A = 0000
0010
Begitu pula LDA AH berarti: “isilah akumulator dengan isi dari lokasi
memori AH”, LDA FH, berarti “isilah akumulator dengan isi dari lokasi memori
FH”, dan sebagainya.
2.
ADD
Add adalah instruksi lain dari SAP-1. Instruksi ADD yang lengkap mengandung
alamat dari kata yang hendak ditambahkan. Misalnya, ADD 9H berarti “tambahkan
isi dari lokasi memori 9H pada isi akumolator.”, hasil penjumlahan ini akan
menggantikan isi akumulator semula.
Contoh: Kita umpamakan dalam akumulator tersimpan bilangan
desimal 2, dan bilangan 3 desimal menempati lokasi memori 9H. Maka:
A = 0000 0010 R9 = 0000 0011
Selama
pelaksanaan instruksi ADD 9H akan berlangsung operasi sebagai berikut. Pertama,
R9 disisikan ke dalam register B sehingga:
B =
0000 0011
Dan
pada waktu yang bersamaan, bagian penjumlah-pengurangan melakukan penjumlahan
dari A dan B, menghasilkan jumlah
SUM
= 0000 0101
Kedua,
hasil jumlahan ini diisikan ke dalam akumulator, sehingga
A =
0000 0101
Urutan langkah operasi diatas digunakan untuk semua instruksi ADD; kata
Ram yang dialamatkan akan masuk ke dalam register B dan keluaran dari
penjumlah-pengurang memasuki akumulator. Dengan demikian, eksekusi instruksi
ADD 9H adalah operasi menambahkan R9 pada isi akumulator, dan
eksekusi instruksi ADD H berupa operasi menambahkan RF pada isi
akumulator, dan sebagainya.
3.
SUB
Instruksi SAP-1 yang lain lagi adalah SUB. Instruksi SUB yang lengkap
disertai alamat dari kata yang hendak dikurangkan. Sebagai contoh, SUB CH
berarti “kurangkan isi lokasi memori CH dari isi akumulator”, jawaban selisih
yang diberikan oleh bagian penjumlah-pengurang kemudian menggantikan isi
akumulator semula.
Sebagai contoh yang kongkret; misalkan isi akumulator adalah angka
desimal 7 dan lokasi memori CH berisi bilangan desimal 3. Maka
A = 0000 0111 Rc = 0000 0011
Pelaksanaan
instruksi SUB CH berlangsung sebagai berikut; Pertama, Rc diisikan
ke dalam register B untuk memperoleh:
B =
0000 0011
Pada
waktu hampir bersamaan, bagian penjumlah-pengurang dari A dan B menghasilkan
selisih:
DIFF
= 0000 0100
Kedua,
hasil pengurangan ini disimpan dalam akumulator, sehingga isinya menjadi
A =
0000 0100
Urutan langkah operasi seperti di atas dipakai oleh semua instruksi SUB;
kata RAM yang dialamatkan akan masuk keregister B dan keluaran dari
penjumlah-pengurang masuk ke dalam akumulator. Jadi, eksekusi dari insrtuksi
SUB CH adalah mengurangkan Rc dari isi akumulator, eksekusi dari
instruksi SUB EH adalah mengurangkan RE dari isi akumulator, dan
demikian seterusnya.
4.
Out
Instruksi OUT memberitahu kepada komputer SAP-1 untuk memindahkan isi
akumulator ke bandar keluaran. Sesudah instruksi OUT dilaksanakan, kita dapat melihat jawaban
dari persoalan yang sedang diselesaikannya. Instruksi OUT ini sudah dalam
bentuk yang lengkap; kita tidak perlu menyebutkan alamat tertentu dalam
menggunakan OUT sebab instruksi ini tidak berhubungan dengan data di dalam
memori.
5.
HLT
HLT adalah singkatan dari “halt” (berhenti), Instruksi ini memberitahu
kepada komputer untuk berhenti memproses data. HLT menandai akhir suatu
program, serupa dengan tanda titik di akhir sebuah kalimat. Kita harus
menggunakan instruksi HLT pada akhir setiap program SAP-1; jika tidak, kita
akan mendapatkan sampah komputer (jawaban yang tak memiliki arti disebabkan
proses yang lepas kendali). Instruksi HLT sudah merupakan bentuk instruksi
yang lengkap; kita tidak perlu menyertakan kata RAM bilamana menggunakan HLT,
sebab instruksi tersebut tidak melibatkan memori.
6.
Instruksi
Rujukan Memori
LDA, ADD, dan SUB disebut instruksi-instruksi rujukan memori
(memory-reference instructions) karena semua instruksi yang bersangkutan
menggunakan data yang tersimpan dalam memori OUT dan HLT, di pihak lain, bukan
instruksi-instruksi rujukan-memori karena mereka tidak melibatkan data yang ada
di dalam memori.
7.
Mnemonik
LDA, ADD, SUB, OUT, dan HLT adalah perangkat instruksi bagi SAP-1.
instruksi-instruksi singkat seperti ini disebut mnemonik (mnemonic, artinya
pembantu ingatan). Mnemonik sangat popular dalam pekerjaan komputer karena
singkatan-singkatan tersebut. Meningkatkan kita kepada operasi yang akan
berlangsung pada waktu instruksi dilaksanakan. Tabel 10-1 merangkumkan
perangkat instruksi SAP-1.
8080 dan 8085
8080 adalah mikroprosesor pertama yang dipakai secara luas.
Mikroprosesor ini memiliki 72 instruksi. Versi yang telah dikembangkan dari
8080 adalah mikroprosesor 8085, dengan perangkat instruksi yang pada dasarnya
sama. Untuk membuat SAP menjadi komputer yang berguna secara praktis, instruksi-instruksi
SAP harus dibuat kompatibel ke atas dengan perangkat instruksi 8080/ 8085.
Dengan kata lain, instruksi SAP-1: LDA, ADD, SUB, OUT dan HLT adalah
instruksi-instruksi 8080/8085.
Contoh
sebuah program SAP-1 dalam bentuk mnemonik.
Alamat Mnemonik
OH LDA
9H
1 H ADD AH
2 H ADD BH
3 H SUB CH
4 H OUT
5 H HLT
Data dalam memori dengan alamat selanjutnya
adalah
Alamat Data
6 H FFH
7 H FFH
8 H FFH
9 H 01H
AH 02H
BH 03H
CH 04H
DH FFH
EH FFH
FH FFH
Apa yang dilakukam oleh setiap instruksi ?
Program tersebut terdapat dalam
bagian memori yang rendah , yaitu terletak pada lokasi dengan alamat 0H sampai
5H. Pelaksanaan instruksi pertama adalah mengisi akumulator dengan isi dari
lokasi memori 9H, dengan ini isi
akumulator menjadi :
A = 01H
Instruksi kedua adalah menambahkan isi lokasi memori AH pada isi
akumulator untuk memperoleh isi akumulator yang baru yaitu :
A = 01H +02H = 03H
Begitu pula pelaksanaan instruksi yang ketiga akan menambahkan isi
lokasi memori BH pada akumulator sehingga :
A = 03H + 03H = 06H
Instruksi SUB akan mengurangkan isi lokasi
memori CH untuk menghasilkan ;
A = 06H – 04H = 02H
Instruksi OUT memindahkan isi akumulator kepada bandar keluaran,
dengan demikian peraga biner menyajikan angka 0000 0010
Instruksi HLT menghentikan pemrosesan data.
C. PEMROGAMAN SAP – 1
Untuk memasukkan
instruksi dan kata-data kedalam memori
SAP-1 kita harus menggunakan kode tertentu yang dapat ditafsirkan oleh
komputer. Tabel 10–2 memperlihatkan kode yang dipakai dalam SAP-1. Bilangan
0000 mewakiliki LDA, 0001 untuk ADD, 0010 untuk SUB, 1110 untuk OUT, dan 1111
untuk HLT. Karena kode-kode ini
memberitahu kepada komputer tentang operasi yang harus dilaksanakan. Maka kode
yang bersangkutan disebut kode operasi
(operation code) ; disingkat opcode).
Berdasarkan rancangan rangkaian, saklar-saklar tersebut menghasilkan
logika 1 untuk posisi keatas (U) dan logika 0 untuk posisi Ke bawah (D). Dalam
peprograman saklar data dilaksanakan dengan satu instruksi, kode operasi yang akan
diberikan sebagai nibble bagian atas,
dan operand (pelengkap instruksi ) sebagai nibble bagian bawah.
Sebagai contoh,
misalkan kita akan menyimpan instruksi sebagai Berikut : alamat dengan instruksi :
Alamat Instruksi
0H LDA FH
1H ADD EH
2H HLT
Pertama, ubahlah setiap instruksi
kedalam bentuk biner :
LDA FH = 0000 1111
ADD
EH = 0001 1110
HLT = 1111 XXXX
Dalam instruksi
pertama, 0000 adalah kode operasi untuk
LDA, dan 1111 adalah ekivalen biner dari FH. Dalam instruksi kedua, 0001 adalah kode operasi untuk ADD, dan 1110
adalah ekivalen biner dari EH. Dalam instruksi ketiga, 1111 adalah kode operasi
untuk HLT, dan XX adalah nibble yang tak
diperdulikan karena HLT bukan instruksi rujukan – memori. Selanjutnya ,
susunlah saklar-saklar alamat dan data sebagai berikut :
Alamat
Data
DDDD DDDD
UUUU
DDDU DDDU
UUUD
DDUD UUUU
XXXX
Setiap kali setelah
selesai menyusun suatu alamat dan kata- data, tekanlah tombol “tulis” (write).
Karena D menyimpan biner 0 dan U
menyimpan biner 1, tiga lokasi memori yang pertama sekarang mempunyai isi :
Alamat Data
0000 0000 1111
0001 0001 1110
0010 1111 XXXX
Suatu
hal lagi yang perlu diketahui dalam penyusunan program adalah bahwa bahasa
asembli (assembly language) menyangkut
tata cara penulisan program dan mnemonik, sedangkan bahasa mesin (macine
language) menyangkut tata cara penulisan dengan bilangan 0 dan 1, Contoh yang
berikut, akan memperjelas perbedaan antara kedua bahasa tersebut.
D. SIKLUS PENGAMBILAN (FETCH CYCLE)
Unit kendali adalah
kunci dari pengoperasian komputer secara otomatik. Unit kendali membangkitkan
atau mengeluarkan kata-kata kendali untuk mengambil dan melaksanakan setiap
instruksi. Pada waktu suatu instruksi diambil dan dilaksanakan, komputer akan
melewati beberapa keadaan pewaktuan (timing state: disingkat T state = keadaan
T), yaitu periode-periode waktu pada saat mana terjadi perubahan isi-isi
register. Berikut ini akan kita pelajari lebih lanjut arti keadaan T tersebut.
1. Pencacah Putar (Lingkar)
Kita telah membicarakan pencacah
putar SAP-1
T = T6T5T4T3T2T1
Pada
permulaan operasi komputer kata lingkar T menunjukkan pulsa detak yang
berturut-turut menghasilkan kata-kata lingkar:
T = 000010
T
= 000100
T
= 001000
T
= 010000
T
= 100000
Gambar Pencacah
Lingkar (a) simbol (b) Diagram
Pewaktuan
Kemudian pencacah lingkar direset
menjadi 000001, dan siklus yang sama akan berulang. Setiap kata lingkar
merepresentasikan satu keadaan T.
Keadaan T1
berawal pada suatu tepi negatif pulsa detak dan berakhir pada tepi negatif yang
berikutnya. Selama keadaan T ini, bit keluarkan T1 dari pencacah
lingkar merupakan tingkat logika tinggi.
Keadaan-keadaan Y yang selanjutnya berturut-turut T2 tinggi, disusul
T3 tinggi, kemudian T4 tinggi, dan seterusnya.
Sebagaimana dapat kita lihat, pencacah
putar menghasilkan enam keadaan T.
Setiap instruksi diambil dan dilaksanakan selama enam keadaan T ini. Perhatikan
bahwa tepi CLK yang positif terjadi dipertengahan setiap keadaan T. Pentingnya
hal ini akan dibicarakan kemudian.
2. Keadaan Alamat
Keadaan T1 disebut keadaan alamat (address
State) karena alamat didalam pencacah program (PC ) dipindahkan kepada register alamat memori (MAR) selama
keadaan ini. Gambar memperlihatkan
bagian-bagian komputer yang
aktif selama keadaan T1 (bagian
aktif digambarkan terang, dan bagian tidak aktif gelap).
Selama keadaan alamat Ep
dan Lm merupakan bit-bit
yang aktif ; sedangkan semua bit
kendali yang lain tidak aktif. Ini berarti selama keadaan bagian pengendali – pengurut (CON)
mengeluarkan kata kendali berbentuk
CON = Cp
Ep M 1 1 A EA Su Eu B o
= 0 1
0 1 1
1 0 0
0 0 1 1
3. Keadaan Penambahan
T2 Keadaan ini disebut keadaan penambahan (increment state) karena hitungan pada encacaph program ditingkatkan (ditambah) selama periode ini. Selama keadaan penambahan bagian pengendali-pengurut menghasilkan sebuah kata-kendali berbentuk :
CON = Cp Ep M 1 1 A EA Su Eu B o
= 1 0 1 1 1 1 1 0 0 0 1 1
Terlihat disini bahwa CP adalah bit yang
aktif
4. Keadaan Memori
Keadaan T3 disebut keadaan memori (memory state) karena instruksi pada RAM dengan alamat yang ditunjuk dipindahkan dari memori keregister instruksi. Gambar 10 –3c melukiskan bagian-bagian aktif dari SAP-1 selama keadaan memori ini. Selama keadaan ini bit-bit kendali yang aktif hanyalah CE dan L1, dan kata yang dikeluarkan oleh bagian pengendali- pengurut adalah
CON = Cp Ep M 1 1 A EA Su Eu B o
= 0 0
1 0 0 1
1 0 0
0 1 1
5. Siklus pengambilan
Keadaan-keadaan alamat, penambahan,
dan memori disebut siklus pengambilan/ penjemputan (Fetch cycle) dari SAP-1.
Selama keadaan alamat, EP dan M aktif ini berarti
pencacah program mengaktifkan MAR melalui bus W. Dalam gambar 10-2b, tepi
positif sinyal detak muncul pada pertengahan keadaan alamat; peristiwa ini
digunakan untuk mengisi MAR dengan isi PC. CP adalah satu-satunya
bit kendali yang aktif selama keadaan penambahan. Pencacah program diaktifkan
guna mencacah tepi positif pulsa detak.
Dipertengahan keadaan penambahan, tepi positif sinyal detak diterima
pencacah program dan ini meningkatkan cacahan dengan 1 angka . Dalam keadaan memori, bit-bit dan 1 yang aktif.
Dengan ini, kata RAM dengan alamat yang
ditentukan mengaktifkan register instruksi bus W. Pada pertengahan keadaan
memori, sebuah tepi positif sinyal detak
akan mengisi register instruksi dengan kata RAM tadi.
E. SIKLUS EKSEKUSI (PELAKSANAAN)
Tiga keadaan berikutnya (T4,
T5, dan T6) merupakan siklus eksekusi dari SAP-1. Transfer-transfer register yang
terjadi selama siklus eksekusi bergantung pada macam instruksi yang sedang
dieksekusi. Misalny, LDA 9H memerlukan operasi transfer register yang berbeda
daripada ADD BH. Apa yang diuraikan berikut ini adalah rutin kendali (control
routine), artinya rangkaian langkah kendali bagi instruksi-instruksi SAP-1 yang
berbeda.
1. Rutin LDA
Demi kejelasan
pembahasan, kita mengandaikan bahwa register intruksi (IR) telah diisi dengan instruksi LDA 9H:
IR = 0000 1001
Selama keadan T4,
medan instruksi 0000 dikirim ke dalam pengendali-pengurut yang melakukan
pendekodean; sedangkan medan alamat 1001 diisikan ke dalam MAR, Gambar memperlihatkan
bagian-bagian yang aktif dari SAP-1 selama keadaan T4. Perlu dicatat
bahwa E1 dan LM1 adalah bit-bit yang aktif; dan bit-bit
kendali yang lain tidak aktif.
Gambar Rutin LDA (a) Keadaan T4 (b) Keadaan T5
(c) Keadaan T6
Selama keadaan T5 bit-bit dan LA
menjadi aktif. Ini berarti kata data yang telah dilamatkan dalam memori akan
diisi kedalam akumulator pada tepi positif pulsa detak yang berikutnya (lihat
gambar 10-4b). T6 adalah keadaan tanpa operasi (no-operation;
disingkat Nop). Selama keadaan eksekusi
yang ketiga ini semua register dalam kondisi tidak aktif (gambar 10-4c). Ini berarti bahwa bagian
pengendali-pengurut mengeluarkan kata dengan bit-bit yang bersesuaian dengan
keadaan tidak aktif. Keadaan T6
dari rutin LDA adalah keadaan Nop.
Gambar Diagram Pewaktuan Siklus Pengambilan LDA
Gambar memperlihatkan
diagram pewaktuan untuk rutin pengambilan dan rutin LDA. Selama keadaan T1,
Ep dan M
menjadi aktif : dan tepi positif detak
pada pertengahan keadaan ini akan memindahkan alamat didalam pencacah
program kedalam MAR. Selama keadaan T2,
CP yang aktif dan hitungan pada pencacah program dinaikkan Pada waktu tibanya tepi positif.
Selama keadaan T3, dan
1 yang
aktif; ketika muncul tepi positif dari
sinyal pewaktu, kata RAM yang ditunjuk alamatnya dipindahkan ke register
instruksi. Eksekusi LDA
dimulai dengan keadaan T4, dimana
M dan 1 yang aktif . Pada tepi positif detak, medan
alamat didalam register instruksi dipindahkan ke MAR. Selama keadaan T5,
dan
A menjadi aktif; ini berarti kata data RAM dengan alamat yang ditentukan itu ditransfer
kepada akumulator pada tepi positif detak. Sebagaimana diketahui keadaan T6
dari rutin LDA adalah keadaan nop.
2. Rutin ADD
Umpamakan bahwa pada akhir siklus
pengambilan register instruksi berisi kata ADD
BH.
IR = 0001 1011
Selama keadaan T4 medan
instruksi memasuki pengendali-pengurut
dan medan alamat berpindah ke MAR (lihat gambar 10-6a). Dalam keadaan ini 1 dan M yang
aktif .
Gambar Rutin ADD dan SUB (a)
Keadaan T4 (b) Keadaan T5 (c) Keadaan T6
Bit-bit
kendali dan B menjadi aktif selama keadaan T5.
Ini memungkinkan kata RAM yang telah ditunjuk alamatnya itu untuk
mempersiapkan register B . Seperti biasa, pengisian terjadi pada
pertengahan keadaan ketika tepi positif detak memasuki saluran-saluran CLK dari register B. Selama keadaan T6, Eu
dan A yang menjadi
aktif. Dengan ini, bagian
penjumlah-pengurang (Add/Sub) mempersiapkan akumulator. Pada pertengah keadaan
ini, tepi positif detak mengisikan hasil
jumlahan kedalam akumulator. Kebetulan waktu siap (set
up time) dan waktu tunda propagasi dalam rangkaian mempunyai harga yang tepat
mencegah terjadinya keadaan pacu pada akumulator selama keadaan eksekusi
terakhir.
Rutin pengambilan
ini serupa dengan yang telah dibahas sebelumnya; keadaan T1
mengisikan alamat PC kedalam MAR;
keadaan T2 menaikkan hitungan pencacah program; keadaan T3
mengirimkan instruksi dari lokasi menuju ke register instruksi.
Gambar Diagram Pewaktuan untuk Rutin ADD
Selama keadaan T4,
c1 dan M menjadi
aktif. Pada tepi pulsa detak berikutnya,
medan alamat didalam register instruksi berpindah ke MAR. Selama keadaan T5
CE, dan B yang aktif. Oleh karena itu, kata RAM yang
dialamatkan itu, diisikan kedalam register B dipertengahan keadaan ini. Selama
keadaan T6 U dan A
menjadi aktif, dan pada waktu
tibanya tepi poositif, hasil jumlahan
dari penjumlah-pengurang didalam akumulator.
3. Rutin SUB
Rutin Sub serupa dengan rutin ADD. Gambar 10-6a dan b melukiskan
bagian-bagian yang aktif dari SAP-1 selama keadaan T4 dan T5.
Selamna keadaan T6 , SU yang tinggi disalurkan kepada
bagian penjumlah-pengurang dari gambar 10-6c. Diagram pewaktuan yang
bersangkutan hampir identik dengan
gambar 10-7. Bayangkan bahwa SU rendah selama keadaan T1
sampai T5 dan SU menjadi tinggi selama keadaan T6.
4. Rutin Out
Andaikan bahwa register instruksi berisi instruksi OUT pada akhir
sebuah siklus pengambilan. Maka medan instruksi akan memasuki
pengendali-pengurut guna pendekodeannya. Kemudian pengendali-pengurut
mengeluarkan kata-kendali yang
diperlukan mengeluarkan isi akumulator ke register keluaran.
Gambar Keadaan T4
instruksi OUT
Gambar memperlihatkan
bagian-bagian aktif dari SAP=1 selama eksekusi dari sebuah instruksi out. Sehubungan dengan EA
dan O yang aktif, tepi positif berikutnya dari
sinyal detak akan memindahkan isi akumlator ke register keluaran selama
keluaran T4. Pada keadaan T5 dan T6 tidak terjadi operasi (nop).
Dalam gambar ditunjukkan
diagram pewaktuan untuk rutin
pengambilan dan rutin OUT. Sekali lagi, siklus pengambilannya sama : keadaan
alamat, keadaan penambahan dan keadaan memori. Selama keadaan T4, EA
dan O aktif ; dan kata akumulator dipindahkan
keregister keluaran pada waktu tibanya tepi positif dari pulsa detak.
Gambar Diagram
Pewaktuan untuk Rutin OUT
Siklus mesin dan siklus instruksi
SAP-1 memiliki enam keadaan T (tiga untuk pengambilan dan tiga untuk eksekusi). Enam keadaan tersebut dinamakan satu siklus mesin (lihat gambar 10-10a). Komputer membutuhkan satu siklus mesin untuk mengambil dan melaksanakan setiap instruksi. Pendetak SAP-1 berprekuensi KHz yang ekivalen dengan periode 1 ms. Dengan demikian, satu siklus mesin SAP-1 memerlukan waktu 6 ms. Mesin SAP-1 memerlukan waktu 6 ms.
Gambar
(a) Siklus Instruksi SAP-1 (b) Siklus Instruksi untuk Dua siklus Mesin
F. MIKRO PROGRAM SAP-1
1.
Mikroinstruksi
Pengendali-pengurut
mengirimkan kata-kata kendali dengan laju satu kata dalam setiap keadaan T atau
satu siklus detak. Kata-kata ini merupakan pengarahan kepada komputer tentang
operasi yang harus dilakukan oleh bagian lain dari komputer. Karena
masing-masing kata-kata kendali itu menimbulkan satu langkah kecil dalam
pemrosesan data, maka setiap kata kendali disebut suatu mikroinstruksi. Bila kita lihat kembali diagram blok
SAP-1 (gambar 10-1), kita dapat membayangkan adanya suatu arus
lunak dari sederet mikro instruksi yang mengalir keluar dari
pengendali-pengurut menuju kerangkaian-rangkaian SAP-1 yang lain.
2.
Makroinstruksi
Instruksi-instruksi
yang pernah kita pergunakan dalam pemrogaman (LDA. ADD. SUB,….) kadang-kadang
disebut makroinstruksi untuk membedakannya dari mikroinstruksi. Setiap
makroinstruksi SAP-1 tersusun dari mikroinstruksi. Setiap makroinstruksi SAP=1
tersusun dari tiga mikroinstruksi. Misalnya
makroinstruksi LDA terdiri dari tiga macam mikroinstruksi seperti
tercantum dalam tabel 1. Guna
menyederhanakan bentuk mikroinstruksi
itu kita dapat menggunakan bentuk heksadesimal sebagaimana terlihat pada tabel
2.
Tabel 1
Makro
|
Keadaan
|
Cp Ep M
|
1 1 A EA
|
SU
EU B O
|
Yang aktif
|
LDA
|
T4
|
0
0 0
1
|
1
0 1 0
|
0
0 1 1
|
M, 1
|
T5
|
0
0 1 0
|
1
1 0 0
|
0
0 1 1
|
, A
|
|
T6
|
0
0 1 1
|
1
1 1
0
|
0
0 1 1
|
Tidak ada
|
Tabel 2
Tabel 3 Mikroprogram SAP-1
Mikro program
SAP-1 disajikan dalam tabel 10-5 yang merupakan daftar dari setiap makro
instruksi dan mikroinstruksi-mikroinstruksi yang diperlukan bagi
pelaksanaannya. Tabel ini
merangkum rutin-rutin eksekusi untuk instruksi SAP-1. Tabel yang sama dapat
pula dipakai bagi perangkat instruksi tingkat lebih lanjut.
TABEL 6. ROM KENDALI
SAP-1
Alamat
|
Isi
|
Rutin
|
Bit aktif
|
0H
|
5E3H
|
Fetch
|
Ep, M
|
1H
|
BE3H
|
Cp
|
|
2H
|
263H
|
, 1
|
|
3H
|
1A3H
|
LDA
|
M, 1
|
4H
|
2C3H
|
, A
|
|
5H
|
3E3H
|
Tidak ada
|
|
6H
|
1A3H
|
ADD
|
M, 1
|
7H
|
2E1H
|
, B
|
|
8H
|
3C7H
|
A, u
|
|
9H
|
1A3H
|
SUB
|
M, 1
|
AH
|
2E1H
|
, B
|
|
BH
|
3CFH
|
A, u, u
|
|
CH
|
3F2H
|
OUT
|
u, o
|
DH
|
3E3H
|
Tidak ada
|
|
EH
|
3E3H
|
Tidak ada
|
|
FH
|
X
|
X
|
Tidak dipakai
|
CON = Cp Ep M 1 1 A EA Su Eu B o
Tabel 7
G. DIAGRAM SKEMATIK SAP-1
1.
Pencacah
Program
Serpih-serpih C1, C2
dan C3 dari gambar 10-12 adalah pencacah program. Serpih C1, yaitu IC 74LS5107,
adalah flip-flop JK majikan–budak berjumlah rangkap yang menghasilkan 2 - bit
alamat bagian atas. Serpih C2, yaitu IC 74LS107 yang lain,
menghasilkan 2 - bit alamat bagian bawah. Serpih C3 yaitu IC 74LS126, adalah
susunan empat saklar tiga – keadaan yang normalnya terbuka; saklar ini
berfungsi sebagai keluaran – keadaan dari pencacah program. Pada awal operasi komputer, CLR
yang rendah mengosongkan (mereset) pencacah program menjadi 0000. Selama
keadaan T1 , EP yang tinggi akan menempatkan alamat pada
bus W. Selama keadaan T2 CP yang tinggi dikirimkan
kepencacah program untuk menambaha cacahannya ketika merima tepi negatif sinyal CLK (ekivalen dengan tepi
positif CLK) pada pertengahan keadaan T2 ini. Pencacah program
berada pada kondisi tidak aktif selama keadaan T3 sampai T6.
2. MAR
Serpih C4, atau IC
74LS173, adalah sebuah register bufer 4 bit yang berfungsi sebagai MAR.
Keluaran tiga-keadaan diubah menjadi menjadi keluaran dua-keadaan dengan
mengetanahkan penyemat 1 dan 2. Keluaran dari MAR tidak perlu mempunyai modus
tiga-keadaan mengingat keluaran MAR ini tidak disambungkan ke bus W.
3. Multiplekser 2-ke-1
Serpih C5 yang
merupakan ID 74LS157 adalah sebuah multiplekser nibble 2-ke-1. Nibble sebelah
kiri (penyemat 14, 11, 5,2) berasal dari register saklar alamat (S1).
Nibble sebelah kanan (penyemat 13, 10, 6, 3) berasal dari MAR. Saklar RUN-PROG
(S2) memilih nibble yang akan diteruskan kepada keluaran serpih C5.
Apabila S2 pada posisi PROG maka pemilihan jatuh pada nibble yang
berasal dari register saklar alamat. Apabila S2 pada posisi RUN,
nibble yang terpilih adalah yang keluar dari MAR.
Gambar.
Pencacah Program, Memori dan Register Instruksi
Gambar. Register A dan B, Penjumlah-Pengurang dan Rangkaian Keluaran
4. RAM 16 x 8
Serpih C6 dan C7 adalah IC 74189. Setiap serpih merupakan sebuah RAM statik 16 x 4. Bersama-sama, kedua serpih menghasilkan sebuah memori baca-tulis (read-write memory; RAM) 18 x 8. S3 adalah register saklar data (8-bit), dan S4 merupakan saklar baca-tulis (saklar tombol-tekan). Untuk memprogram memori, S2 dipasang pada posisi PROG; yang akan membuat masukan CE rendah (penyemat 2). Saklar data dan alamat kemudian diatur supaya memberikan kata-data dan kata alamat yang benar. Dengan menekan sejenak tombol dari saklar baca-tulis akan dihasilkan WE yang rendah (penyemat 3) dan pengisian memori. Sesudah program dan data berada di dalam memori, saklar RUN-PROG (S2) dipindahkan ke posisi RUN untuk mempersiapkan operasi komputer.
5. Register Instruksi
Serpih C8 dan C9 adalah IC 74LS173. Setiap serpih merupakan sebuah register bufer tiga-keadaan dengan 4-bit. Dua serpih ini berfungsi sebagai register instruksi. Dengan menghubungkan ke tanah penyemat 1 dan 2 dari C8, keluaran tiga-keadaan akan diubah menjadi keluaran dua-keadaan, I1 I6 I5 I4. Nibble ini akan diteruskan kepada dekoder instruksi di dalam pengendali-pengurut. Sinyal E1 mengendalikan keluaran C9, yaitu nibble bagian bawah dari register instruksi. Bilamana 1 menjadi rendah, nibble ini akan ditempatkan pada bus W.
6. Akumulator
Serpih C10 dan C11 yang
merupakan IC74LS173, adalah akumulator (lihat Gambar 10-3). Penyemat 1 dan 2
pada kedua serpih itu diketanahkan untuk memperoleh keluaran dua-keadaan yang
berhubungan dengan rangkaian penjumlah-pengurang. Serpih C12 dan C13 adalah IC
74LS126; saklar tiga–keadaan ini menempatkan
isi akumulator pada bus W apabila EA tinggi.
7. Penjumlah-Pengurang
Serpih C14 dan C15 adalah 1C
74LS86. gerbang EXCLUSIVE – OR ini
merupakan pembalik (inverter) terkendali. Apabila SU menjadi rendah,
isi dari register B akan dikeluarkan. Bilamana SU tinggi yang
dikeluarkan adalah komplement – 1 dari isi
register, dan angka 1 ditambahkan pada LSB untuk memperoleh komplement -
2. Serpih C16 dan C17 adalah 1C 74LS83, dan masing-masing merupakan sebuah
penjumlah-penuh 4-bit yang disusun menjadi rangkaian penjumlah atau pengurang
8-bit. Serpih C18 dan C19 yang merupakan 1C
74LS126, mengubah jawaban 8-bit ini menjadi keluaran tiga-keadaan untuk
menjalankan bus W.
8. Register B dan register Keluaran
Serpih-serpih C20 dan C21
yang merupakan 1C 74LS173, bersama-sama membentuk register B. Register ini mengandung data yang
akan dijumlahkan atau dikurangkan dengan isi akumulator. Penyemat 1 dan 2 pada
kedua serpih diketanahkan untuk menghasilkan keluaran dua – keadaan yang
dihubungkan dengan rangkaian penjumlah data pengurang. Serpih-serpih C22 dan
C23 adalah 1C 74LS173 dan membentuk register keluaran, yang berfungsi
mengeluarkan peraga biner untuk
menyajikan data yang telah diproses.
9. Debounser (Peredam Pelantingan) Clear –
Start
Pada Gambar debounser “clear-start” menghasilkan dua keluaran : CLR untuk
register instruksi dan CLR untuk pencacah program serta pencacah lingkar. CLR
juga disalurkan kepada C29, yaitu flip-flop yang mengaktifkan detak. S5
merupakan sebuah saklar tombol-tekan. Apabila ditekan, kedudukan saklar
berpindah keposisi CLEAR, dan membangkitkan sinyal CLR tinggi dan CLR rendah.
Bila S5 dilepaskan, kedudukan saklar kembali ke posisi START,
menghasilkan CLR rendah dan CLR tinggi. Perhatikan bahwa separuh dari isi
serpih C24 digunakan dalam rangkaian debounser clear – start dan separuh yang
lain digunakan dalam rangkaian debounser langkah-tunggal (single – step).
Serpih C24 adalah 1C 7400, yaitu kemasan empat gerbang NAND 2- masukan.
10. Debounser Langkah- Tunggal
SAP-1 dapat beroperasi dalam
dua ragam yaitu ragam manual dan ragam,
otomatik. Dalam ragam manual, kita menekan dan melepaskan tombol S6
guna membangkitkan satu pulsa detak.
Bilamana S6 ditekan, CLK menjadi tinggi : dan ketika dilepaskan, CLK
menjadi rendah. Dengan katalain debounser langkah- tunggal dari Gambar 10-14 membangkitkan satu
keadaan T pada saat kita menekan dan
melepaskan tombol. Ini memungkinkan kita untuk menelusuri melalui
keadaan-keadaan T yang berbeda selama melakukan trouble shooting mencari sumber kesulitan dan
mengatasinya atau debuging (mengidentifikasi kesalahan dalam program
mengidentifikasikan perangkat lunak/perangkat keras/trouble shoot.
11. Debounser Manual – Auto
Saklar S7 adalah
sebuah saklar single-pole double Throw (disingkat SPDT) yang dapat bertahan
pada posisi MANUAL atau pada posisi AUTO. Dalam posisi MANUAL, tombol
langkah-tunggal (single step) yang aktif. Bilamana
Gambar.
Rangkaian-Rangkaian Catu Daya, Detak dan Clear
saklar dalam Posisi AUTO
komputer akan beroperasi Secara otomatik. Dua dari gerbang NAND dalam serpih (C26 digunakan untuk
menghindari efek pelantingan (bouncing) pada saklar MANUAL – AUTO. Dua
gerbang NAND lainnya dari C26 merupakan bagian dari rangkaian NAND-NAND
yang mengemudikan detak langkah–tunggal
atau detak otomatik untuk memberikan keluaran CLK dan CLK.
12. Bufer Detak
Keluaran pada
penyemat 11 dari C26 menggerakkan bufer-detak (clock buffers). Seperti dapat
dilihat daslam Gambar 10-14, dua buah imverter digunakan untuk menghasilkan
keluaran CLK dan sebuah inverter untuk keluaran
CLK. Tidak seperti kebanyakan Serpih-serpih yang lain, C27 adalah 1C standar TTL dan bukan piranti Schottky
daya rendah (lihat daftar komponen SAP-1, Lampiran 4). Penggunaan standar TTL disebabkan oleh
keperluan untuk menggerakkan 20 beban TTL Schottky daya – rendah. Jika anda memeriksa lembaran data 74LS107 dan 74LS173 mengenai arus
masukan, anda dapat menghitung jumlah beban TTL Schottky daya- rendah (LS) pada sinyal detak dan sinyal kosong
(clear) sebagai berikut.
CLK = 19 beban
LS
CLK
= 2 beban LS
CLR
= 1 beban LS
CLR = 20 beban LS
Ini berarti sinyal-sinyal keluar CLK dan CLK dari C24 (standar TTL) cukup memadai untuk
menggerakkan beban-beban TTL Schottky daya rendah . Demikian pula sinyal-sinyal
keluaran CLR dan CLR dari C24 (standar TTL) dapat menggerakkan beban-bebannya.
13. Rangkaian Detak Dan Catu Daya
Serpih C28 adalah sebuah
pewaktu (timer) 555. 1C ini mengeluarkan
gelombang persegi berprekuensi 2 kHz dengan siklus kerja (duty cycle) 75
persen. Sebagaimana dibahas sebelumnya flip-flop yang menghdiupkan detak
(start-the clock flip-flop), C29, membagi frekuensi sinyal tersebut menjadi 1 kHz dan menurunkan siklus
kerjanya menjadi 50 persen. Rangkaian catu daya (power supply), terdiri dari
sebuah penyearah jembatan gelombang penuh (full- wave bridge rectifier) dengan sebuah penapis (filter)
kapasitor. Tegangan dc yang melalui kapasitor 1000 mF ini berharga sekitar 20 V. Serpih C30,
sebuah 1C LM340T-5,adalah sebuah regulator tegangan yang menghasilkan keluaran
stabil + 5V.
14. Dekoder Instruksi
Serpih C31 yang
merupakan sebuah inverter heks, menghasilkan sinyal komplemen dari bit-bit kode-operasi, I 7 I6 I5
I4 (lihat Gambar 10-15). Lalu, serpih C32, C33 dan C34
menterjemahkan kode – operasi menjadi lima sinyal keluaran : LDA, ADD, SUB, OUT
dan HLT. Pelu diingat bahwa hanya satu diantara sinyal-sinyal ini yang menjadi
aktif pada sesuatu saat. (HLT
aktif – rendah, dan yang lain aktif – tinggi).
Gambar .
Dekoder Instruksi, Pencacah Lingkar dan Matriks Kendali
Pada waktu instruksi
HLT berada pada register instruksi, bit-bit I7I6 I5I4
berharga 1111 dari HLT rendah. Sinyal ini kembali memasuki C25 (detak langkah –
tunggal ) dan C29 (detak otomatik). Baik
dalam ragam MANUAL maupun ragam AUTO, detak akan berhenti sebagai akibatnya dan
Operasi komputerpun akan berakhir.
15. Pencacah Lingkar
Pencacah lingkar,
kadang-kadang disebut Pula pencacah keadaan (state counter) , tersusun dari
tiga buah serpih, C36.C37 dan C38, setiap serpih adalah 1C 74LS107, yang tak
lain adalah sebuah flip-flop JK majikan
– budak. Pencacah ini dapat direset dengan menekan tombol kosong – mulai (S5).
Flip-flop Q0 diberi pembalik sehingga keluaran Q (C38, penyemat 6)
menggerakkan masukan J dari flip-flop Q1 (C38,penyemat 1). Sebagai
akibatnya, keluaran I1 merupakan tingkat logika tinggi pada saat
awalnya. Sinyal CLK menggerakkan Suatu masukan aktif-rendah. Ini berarti tepi
negatif sinyal CLK akan mengawali setiap keadaan T. Setengah siklus kemudian,
tepi positif dari sinyal CLK akan
menyebabkan pengisian register sebagaimana telah dijelaskan sebelumnya.
16. Matriks Kendali Sinyal-sinyal LDA,
ADD, SUB dan OUT yang berasal dari dekoder instruksi menggerakkan matriks kendali (control matrix) yang terdiri dari C39 sampai C48. Pada waktu yang
sama, sinyal-sinyal dari pencacah
lingkar, yaitu T1 sampai T6, akan menggerakkan
matriks tersebut (rangkaian yang menerima dua kelompok bit dari sumber yang berbeda) Matriks ini menghasil sinyal CON
yang berupa mikroinstruksi yang memberitahu komputer tentang apa yang harus
dikerjakan. Dalam Gambar 10-15 pertama-tama T1 yang menjadi tinggi,
kemudian T2, lalu T3, dan seterusnya. Analisis matriks
kendali ini dapat diikuti sebagai berikut. T1 yang tinggi
menghasilkan Ep rendah dan M rendah (keadaan alamat); T2 yang
tinggi menghasilkan Cp tinggi (keadaan penambahan); dan T3
yang tinggi menghasilkan rendah dan 1
rendah (keadaan memori). Jadi tiga keadaan T yang pertama merupakan siklus
pengambilan di dalam SAP-1. Dalam rotasi ringkas, kata-kata CON
bagi siklus pengambilan adalah
___________________________________
Keadaan CON Bit-bit aktif
___________________________________
T1 5E3H Ep, M
T2 BE3H CP
T3 263H , 1
___________________________________
Selama keadaan eksekusi, T4
dan T6 menjadi tinggi secara berurutan. Pada waktu yang sama, hanya
satu di antara sinyal-sinyal yang telah didekode (LDA sampai OUT) itu berada
dalam keadaan tinggi. Karena itu, matriks kendali secara otomatik mengarahkan
bit-bit aktif menuju ke saluran kendali keluaran yang tepat.
Misalnya, pada waktu LDA tinggi,
gerbang-gerbang NAND 2-masukan yang aktif hanyalah terdiri dari gerbang
pertama, gerbang keempat, gerbang ketujuh, dan gerbang kesepuluh. Bilamana T4
tinggi, gerbang NAND pertama dan ketujuh akan diaktifkan, dan ini menghasilkan M rendah dan 1 rendah (mengisi MAR dengan medan alamat). Pada
waktu T5 tinggi, gerbang NAND
keempat dan kesepuluh diaktifkan ini menghasilkan rendah dan A rendah (mengisikan data RAM ke dalam
akumulator). Misalnya, ketika T6 menjadi tinggi, tidak ada satupun diantara bit-bit kendali yang
aktif (nop). Anda harus menganalisis operasi matriks kendali selama keadaan
eksekusi dari kemungkinan-kemungkinan yang lain; yaitu ADD, SUB, dan OUT yang
tinggi. Dengan demikian, anda akan menyetujui bahwa matriks kendali dapat
membangkitkan mikroinstruksi ADD, SUB, dan OUT yang diperlihatkan pada Tabel
10-5 (mikroprogram SAP-1).
17.
Operasi
Setiap kali sebelum
komputer bekerja, operator memasukkan program dan data ke dalam memori SAP-1.
Program tersebut menempati lokasi-lokasi memeori yang rendah (awal) dan data
disimpan pada lokasi-lokasi memori yang berikutnya (lebih tinggi). Selanjutnya,
operator menekan dan melepaskan kembali tombol- CLEAR. Sebagai akibatnya,
sinyal CLK dan sinyal CLK akan menggerakkan semua register dan pencacah.
Mikroinstruksi yang dikeluarkan oleh pengendali-pengendali akan menentukan
langkah-langkah yang harus dilaksanakan pada setiap tepi CLK yang positif. Siklus mesin dalam SAP-1 selalu dimulai dengan
siklus pengambilan. Siklus pengambilan meliputi keadaan-keadaan T1, T2,
dan T3, masing-masing merupakan keadaan alamat, keadaan
penambahan dan keadaan memori. Pada akhir siklus pengambilan, instruksi
disimpan dalam register instruksi. Sesudah medan instruksi didekode, matriks
kendali secara otomatis membangkitkan rutin eksekusi yang tepat. Di akhir
siklus eksekusi, pencacah lingkar ( putar) mengalami reset dan selanjutnya
dimulai siklus mesin yang berikutnya. Pemrosessan
data akan berakhir bilamana instruksi HLT diisikan ke dalam register instruksi.
H.
PANGADAAN MIKROPROGRAM
1. Penyimpanan Mikroprogram
Mikroinstruksi ini
dapat disimpan di dalam sebuah ROM kendali lengkap dengan rutin pengambilan
pada alamat 0H sampai 5H, rutin ADD pada alamat 6H sampai 8H, rutin SUB pada
alamat 9H sampai BH, dan rutin OUT pada alamat CH sampai EH. Untuk mengakses yang manapun, kita perlu
memberikan alamat yang tepat. Misalnya, untuk mendapatkan rutin ADD, kita harus
memberikan alamat 6H, 7H, 8H. Untuk mendapatkan rutin OUT, harus diberikan
alamnat CH, DH, dan EH. Dengan ini, dalam mengakses suatu rutin siperlukan tiga
langkah sbb:
a. Mengetahui alamat awal dari rutin
yang dimaksud
b. Menelusuri dengan tepat semua
alamat dari rutin itu
c. Memberikan alamat kepada ROM
kendali.
2. ROM Alamat
Bilamana bit-bit
kode operasi I7 I6 I5 I4
menggerakkan ROM maka alamat awal dari rutin akan dibangkitkan sebagai contoh,
jika instruksi ADD sedang dilaksanakan, maka
I7 I6 I5 I4 menunjukkan kata 0001, Ini merupakan masukan
kepada ROM alamat, dan keluaran ROM ini adalah 0110.
Gambar. Kendali SAP-1 yang dibuat
dengan “Micro Programming”
3. Pencacah yang dapat dipreset
Apabila T3
tinggi, masukan LOAD dari pencacah Dapat
dipreset menjadi tinggi dan pencacah akan mengisikan alamat awal yang berasal
dari ROM alamat. Selama keadaan-keadaan
T yang lain pencacah melakukan
pencacahan. Mula-mula sinyal CLR tinggi yang berasal dari debounser kosong-mulai (clear- start) dideferensiasi
menjadi paku tegangan positif yang tajam dan sinyal ini akan mereset pencacah.
Pada waktu komputer mulai bekerja keluaran pencacah menunjukkan :0000 selama
keadaan T1 0001 selama keadaan T2 , dan 0010 selama
keadaan T3, setiap kali berlangsung siklus pengambilan, hal yang
serupa akan terulang karena selalu akan dikeluarkan kata-kata 0000, 0001, dan 0010 dari pencacah
selama keadaan T1, T2, T3.
Kode operasi (op code) dalam register instruksi mengendalikan siklus eksekusi. Jika instruksi ADD telah diambil,
bit-bit I7 I6 I5
I4 = 0001. Bit-bit kode operasi ini menggerakkan ROM alamat, menghasilkan
keluaran 0110 (Tabel 10-7). Alamat awal ini merupakan masukan ke pencacah
pre-setabel ( yang dapat dipreset). Ketika T3 menjadi tinggi, tepi
pulsa datak negatif yang berikutnya akan mengisikan 0110 kedalam pencacah
presetabel tersebut. Pencacah kini dalam kondisi preset, dan pencacahan dapat
memulai lagi dari alamat rutin ADD. Keluaran pencacah menunjukkan angka 0110
selama keadaan T4, 0111 selama keadaan T5 dan 1000 selama
keadaan T6. Pada waktu dimulainya keadaan T1, tepi awal
dari sinyal T1 didiferensiasi menjadi paku tegangan positif tajam
yang akan mereset pencacah pada 0000 : yaitu alamat awal dari sikllus
pengambilan. Selanjutnya siklus mesin yang baru akan dimulai lagi.
4. ROM Kendali
ROM kendali
menyimpan mikroinstruksi SAP-1. Selama berlangsung siklus pengambilan. ROM
ini menerima alamat 0000, 0001 dan 0010.
Karena itu, keluarannya adalah
SE3H
BE3H
263H
Mikroinstruksi yang tertera dalam
tabel 10-6 ini menghasilkan keadaan
alamat, keadaan penambahan dan keadaan memori. Selama sebuah instruksi ADD dilaksanakan ROM kendali menerima alamat
0110, 0111 dan 1000 selama siklus eksekusi. Ini menghasilkan keluaran :
1A3H
2E1H
3C7H
5. Siklus Mesin Variabel
Mikro instruksi 3E3H dalam Tabel 10-6 menyatakan nop, dan ini muncul satu kali dalam rutin LBA dan dua kali dalam rutin OUT. Kadang nop ini dipakai dalam SAP-1 untuk mendapatkan satu siklus mesin yang tetap (fixed machine cycle) bagi semua instruksi . Dengan kata lain setiap siklus mesin memerlukan tepat enam keadaan T untuk jenis instruksi apapun. Bagi beberapa komputer adanya sebuah siklus mesin yang tetap mendatangkan keuntungan. Akan tetapi, bilamana kecepatan yang diutamakan, adanya keadaan nop akan memboroskan waktu, dan karena itu dapat dihilangkan. Satu cara mempercepat operasi komputer SAP-1 adalah dengan melompati (melewati ) setiap keadaan T yang mengandung nop. Kita dapat menghapuskan keadaan nop melalui perancangan ulang dari rangkaian Gambar 10-16 Ini akan dapat mempersingkat siklus mesin dari instruksi LDA menjadi lima keadaan (T1, T2, T4 dan T5). Dan siklus instruksi OUT menjadi empat keadaan T (T1, T2, T3, dan T4).
Gambar.
Siklus Mesin Variabel
Gambar memperlihatkan suatu cara
menyusun siklus mesin variabel (Variabel mashine cycle: siklusmesin yang dapat
diubah-ubah/ diatur). Untuk
intruksi LDA, operasi tetap sama dari T1 sampai T5.
Ketika keadaan T6 dimulai, ROM kendali menghasilkan keluaran 3E3H
(mikroinstruksi nop). Gerbang NAND dengan
segera akan mendeteksi keadaan nop ini dan menghasilkan sinyal keluaran
NOP. Sinyal NOP ini diumpanbalikkan ke pencacah lingkar melalui sebuah gerbang
AND, seperti ditunjukkan oleh gambar 10-18. Sinyal ini mereset pencacah lingkar
kepada keadaan T1, dan dengan demikian siklus mesin yang baru akan
dimulai kembali. Operasi di atas
telah mengurangi siklus mesin instruksi LDA dari enam keadaan menjadi lima keadaan.
Gambar
Pada
instruksi OUT, nop yang pertama terjadi dalam keadaan T5. Dalam hal
ini, sesaat setelah keadaan T5 dimulai, ROM kendali menghasilkan
keluaran 3E3H, yang segera akan dideteksi oleh gerbang NAND. Sinyal NOP yang
rendah dari NAND tersebut. Kemudian mereset pencacah program kembali ke kedaan
T1. Dengan cara ini kita telah mengurangi siklus mesin instruksi OUT
dari enam keadaan menjadi empat keadaan.
6. Keuntungan
Satu keuntungan dari
mikroprogramming adalah penghapusan bagian dekoder instruksi dan matriks
kendali; kedua bagian ini menjadi sangat kompleks bagi perangkat instruksi yang
lebih luas. Dengan kata lain, jauh lebih mudah menyimpan mikroinstruksi di
dalam sebuah ROM daripada membuat rangkaian
dekoder instruksi dan matriks kendali.
Gambar Skematik Lengkap SAP-1 (a)
Gambar. Skematik Lengkap SAP-1 (b)
Gambar Skematik Lengkap SAP-1 (c)
Gambar. Skematik Lengkap SAP-1 (d)
BAB III
PENUTUP
A.
Kesimpulan
Unit kendali SAP-1 mengandung
pencacah program, register instruksi, dan pengendali-pengurut yang menghasilkan
kata kendali, sinyal-sinyal CLEAR, dan sinyal detak. ALU SAP-1 terdiri dari
sebuh akumulator, sebuah penjumlah-pengurang, dan sebuah register B. Memori
SAP-1 memiliki MAR dan sebuah RAM 16 x 8. Unit I/O mengandung saklar
pemrograman masukan, bandar keluaran, dan peraga biner.
Sebagai kesimpulan dapat
diutarakan bahwa kebanyakan komputer dewasa ini telah dirancang dengan
menggunakan kendali yang dimikroprogram sebagai pengganti sistem kendali perangkat-keras Tabel
pemikroprograman dan rangkaian-rangkaian yang bersangkutan dari komputer dewasa
ini jauh lebih kompleks daripada yang berlaku untuk SAP-1, akan tetapi
gagasan pokoknya tetap sama.
Mikroinstruksi disimpan di dalam sebuah ROM kendali dan diakses dengan
memberikan alamat mikroinstruksi yang diinginkan.
B.
Saran
Demikianlah tugas penyusunan makalah
ini kami persembahkan. Harapan kami dengan adanya tulisan ini bisa menjadikan
kita tau mengenai SAP-1. Serta dengan harapan dapat bermanfaat dan bisa
difahami oleh para pembaca. Kritik dan saran sangat kami harapkan dari para
pembaca, khususnya dari Dewan Guru yang telah membimbing kami dan para
Mahasiswa demi kesempurnaan makalah ini. Apabila ada kekurangan dalam
penyusunan makalah ini, kami mohon maaf yang sebesar-besarnya.
DAFTAR PUSTAKA
http://www.slideshare.net/derist/bab-5-komputer-sederhana-sap1
http://id.scribd.com/doc/40826579/bab8-sap1
Tidak ada komentar:
Posting Komentar