1 Tahun Akademik 2015/2016
Semester I
DIG1B3 – Konfigurasi Perangkat
Keras Komputer
SAP-1 Bagian 2
Mohamad Dani (MHM) E-mail: mohamad.dani@gmail.com
Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Telkom Applied Science School
Siklus Pengambilan <Fetch Cycle>
Control Unit membangkitkan kata kendali untuk mengambil dan melaksanakan setiap instruksi.
Setiap instruksi melewati beberapa keadaan pewaktuan <timing-state>
Tstate = Keadaan T
= periode-periode waktu pada saat mana terjadi perubahan isi register
Tstate menggunakan ring counter T = T6T5T4T3T2T1
Siklus Pengambilan <Fetch Cycle>
Tstate menggunakan ring counter T = T6T5T4T3T2T1 - Awal operasi kata T menunjukkan :
T = 000 001
Pada pulsa clock berikutnya menghasilkan: T = 000 010 T = 000 100 T = 001 000 T = 010 000 T = 100 000 Ring Counter CLK CLR T6 T5T4T3T2T1
Siklus Pengambilan <Fetch Cycle>
Diagram Pewaktuan
3
Siklus Pengambilan <Fetch Cycle>
Address State (T1 State)
Keadaan T1 disebut Address State karena alamat di dalam
PC dipindahkan ke MAR (Memory Address Register) selama keadaan ini.
Selama Address State ini, sinyal yang aktif hanya dan Pada Address State, controller-sequencer mengeluarkan
kata kendali:
Increment State (T2 State)
Keadaan T2 : keadaan penambahan 1 <Increment State>
karena hitungan pada PC dinaikkan dengan . Sinyal yang aktif Cp. Kata kendalinya yaitu:
p E LM O B U U A A I I E M P PEL C LELE S ELL C CON 1 0 1 1 1 1 1 0 0 0 1 1 O B U U A A I I E M P PEL C LELE S ELL C CON 0 1 0 1 1 1 1 0 0 0 1 1
Siklus Pengambilan <Fetch Cycle>
Memory State (T3 State)
Keadaan T3 disebut Memory State karena instruksi pada
RAM dengan alamat yang ditunjuk dipindahkan dari memori/RAM ke Instruction Register.
Selama Memory State ini, sinyal yang aktif hanya dan Pada Memory State, controller-sequencer mengeluarkan
kata kendali: O B U U A A I I E M P PEL C LELE S E LL C CON 0 0 1 0 0 1 1 0 0 0 1 1
Siklus Pengambilan <Fetch Cycle>
T1 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PEL C LELE S E LL C CON 0 1 0 1 1 1 1 0 0 0 1 1Siklus Pengambilan <Fetch Cycle>
T2 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L O B U U A A I I E M P PEL C LELE S E LL C CON 1 0 1 1 1 1 1 0 0 0 1 1
5
Siklus Pengambilan <Fetch Cycle>
T3 State
Ketika dan aktif,
RAM siap mengirimkan data yang ditunjukkan oleh MAR ke bus W pada saat yang sama IR mengambilnya. E C LI PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L O B U U A A I I E M P PEL C LELE S E LL C CON 0 0 1 0 0 1 1 0 0 0 1 1
Siklus Eksekusi <Execution Cycle>
Siklus pelaksanaan terjadi pada T4, T5 dan T6
Transfer-transfer register yang terjadi bergantung
Siklus Eksekusi <Execution Cycle>:
Instruksi LDA
Jika IR telah diisi dengan kata LDA 9H, maka :
IR = 0000 1001
Selama T4 : instruction field dikirim ke pengendali yang
melakukan pendekodean dan address field diisikan ke dalam MAR
dan adalah bit aktif pada T4
Selama T5 : data yang ditunjuk dalam memori akan dikirimkan
ke dalam Akumulator.
dan adalah bit aktif pada T5
T6 adalah keadaan tanpa operasi (No-Operation / NOP) Selama T6, semua register dalam keadaan tidak Aktif
I
E LM
E
C LA
Siklus Eksekusi <Execution Cycle>:
Instruksi LDA
T4 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 0 1 1 0 1 0 0 0 1 17
Siklus Eksekusi <Execution Cycle>:
Instruksi LDA
T5 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 0 1 1 0 0 0 0 1 1Siklus Eksekusi <Execution Cycle>:
Instruksi LDA
T6 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 1 1 1 1 0 0 0 1 1Siklus Eksekusi <Execution Cycle>:
Instruksi LDA
Diagram Pewaktuan
Siklus Eksekusi <Execution Cycle>:
Instruksi ADD
Jika IR telah diisi dengan kata ADD AH, maka :IR = 0001 1010
Selama T4 : instruction field dikirim ke pengendali yang
melakukan pendekodean dan address field diisikan ke dalam MAR
dan adalah bit aktif pada T4
Selama T5 : data yang ditunjuk dalam RAM disiapkan untuk
dikirimkan ke dalam Register B. Dan pengisian Register B terjadi pada tepi positif clock.
dan adalah bit aktif pada T5
Selama T6, bagian ADD menyiapkan Akumulator. Dan pengisian
hasil jumlahan ke Akumulator terjadi pada tepi positif Selama clock.
dan adalah bit aktif pada T6
I E M L E C LB A L U E
9
Siklus Eksekusi <Execution Cycle>:
Instruksi ADD
T4 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 0 1 1 0 1 0 0 0 1 1Siklus Eksekusi <Execution Cycle>:
Instruksi ADD
T5 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 0 1 1 1 0 0 0 0 1Siklus Eksekusi <Execution Cycle>:
Instruksi ADD
T6 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 1 1 1 0 0 0 1 1 1Siklus Eksekusi <Execution Cycle>:
Instruksi ADD
11
Siklus Eksekusi <Execution Cycle>:
Instruksi SUB
Jika IR telah diisi dengan kata SUB BH, maka :IR = 0010 1011
Selama T4 : instruction field dikirim ke pengendali yang
melakukan pendekodean dan address field diisikan ke dalam MAR
dan adalah bit aktif pada T4
Selama T5 : data yang ditunjuk dalam RAM disiapkan untuk
dikirimkan ke dalam Register B. Dan pengisian Register B terjadi pada tepi positif clock.
dan adalah bit aktif pada T5
Selama T6, bagian ADD menyiapkan Akumulator. Dan pengisian
hasil pengurangan ke Akumulator terjadi pada tepi positif Selama clock.
, dan adalah bit aktif pada T6
I E LM E C LB U S EU LA
Siklus Eksekusi <Execution Cycle>:
Instruksi SUB
T4 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 0 1 1 0 1 0 0 0 1 1Siklus Eksekusi <Execution Cycle>:
Instruksi SUB
T5 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 0 1 1 1 0 0 0 0 1Siklus Eksekusi <Execution Cycle>:
Instruksi SUB
T6 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 1 1 1 0 0 1 1 1 113
Siklus Eksekusi <Execution Cycle>:
Instruksi SUB
Diagram Pewaktuan CLK T1 T2 T3 T4 T5 T6 M L p C E C I L I E p E A L B L U SSiklus Eksekusi <Execution Cycle>:
Instruksi OUT
Jika akhir siklus Fetch IR berisi kata OUT, maka : IR = 1110 XXXX
Selama T4 : instruction field dikirim ke pengendali yang
melakukan pendekodean dan Pengendali mengeluarkan kata kendali untuk memindahkan isi Akumulator ke register Keluaran.
dan adalah bit aktif pada T4
Pada keadaan T5 dan T6 tidak terjadi Operasi (NOP)
A
Siklus Eksekusi <Execution Cycle>:
Instruksi OUT
T4 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 1 1 1 1 1 0 0 1 0Siklus Eksekusi <Execution Cycle>:
Instruksi OUT
T5 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 1 1 1 1 0 0 0 1 115
Siklus Eksekusi <Execution Cycle>:
Instruksi OUT
T6 State PC MAR RAM IR CON A ADD/ SUB B O D 4 8 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W O B U U A A I I E M P PE L C LELE S E LL C CON 0 0 1 1 1 1 1 0 0 0 1 1Siklus Eksekusi <Execution Cycle>:
Instruksi OUT
Siklus Eksekusi <Execution Cycle>:
Instruksi HLT
Jika akhir siklus Fetch IR berisi kata HLT, maka : IR = 1111 XXXX
Instruction Field dikirim ke pengendali yang melakukan
pendekodean dan Pengendali mengeluarkan kata kendali untuk menghentikan operasi komputer dengan menghentikan clock.
Tidak membutuhkan rutin kendali.
Siklus Mesin dan Siklus Instruksi
SAP-1 mempunyai Enam keadaan T (3 untuk Fetch dan 3 untuk Execute) Siklus Mesin <Mc>
SAP-1 memerlukan 1 Siklus Mesin untuk mengambil dan melaksanakan setiap instruksi.
SAP-1 dengan clock frekuensi KHz ekivalen dengan periode 1 ms, maka 1 Siklus Mesin memerlukan waktu 6 ms.
Jumlah keadaan T yang diperlukan untuk mengambil dan melaksanakan sebuah instruksi disebut Siklus Instruksi (Instruction Cycle=Ic)
17
MIKROPROGRAM SAP-1 (1)
Pengendali-pengurut mengeluarkan kata kendali yang masing-masing menimbulkan satu langkah kecil disebut MikroInstruksi.
MakroInstruksi adalah Instruksi-instruksi yang
digunakan dalam pemrograman Assembly (LDA, ADD, SUB, dll)
Pada SAP-1, 1 makroinstruksi terdiri dari 3 mikroinstruksi
MIKROPROGRAM SAP-1 (2)
ROM KENDALI
Matrik kendali menjadi sangat rumit untuk perangkat Instruksi yang lebih besar/banyak, sehingga memerlukan ratusan/ribuan gerbang logika Pengendali Secara H/W. Kata kendali yang disimpan dalam format mikroprogram
ke dalam ROM Pengendali Secara S/W.
Menyederhanakan rangkaian Pengendali-Pengurut.
19
Daftar Pustaka
Albert Paul Malvino, Ph.D., Digital Computer Electronics, 3rd Edition, Bab 10