SlideShare a Scribd company logo
1 of 23
Praktikum 9
Siklus Pelaksanaan
(Execution Cycle)
Lusiana Diyan Ningrum
2210181051
Program Studi Teknik Komputer
Departemen Teknik Informatika dan Komputer
Politeknik Elektronika Negeri Surabaya
Surabaya
1. Tujuan:
a. Mahasiswa dapat menjelaskan dan membuat program Siklus Pelaksanaan
b. Mahasiswa dapat menjelaskan dan membuat program rutin LDA, ADD, SUB, OUT,
HLT.
2. Dasar Teori:
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.
A. 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 4a 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 4 Rutin LDA (a) Keadaan T4 (b) Keadaan T5 (c) Keadaan T6
Selama keadaan T5 bit-bit CE 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 4b).
T6 adalah keadaan tanpa operasi (no-operation; disingkat Nop). Selama
keadaan eksekusi yang ketiga ini semua register dalam kondisi tidak aktif (gambar
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 5 Diagram Pewaktuan Siklus Pengambilan LDA
Gambar 5 memperlihatkan diagram pewaktuan untuk rutin pengambilan dan rutin
LDA. Selama keadaan T1, Ep dan L 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, CE dan L
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 LM dan E 1 yang aktif . Pada tepi positif detak, medan
alamat didalam register instruksi dipindahkan ke MAR. Selama keadaan T5, CE
dan LA 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.
B. 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 6a). Dalam keadaan ini E 1 dan L M yang
aktif .
Gambar 6 Rutin ADD dan SUB (a) Keadaan T4 (b) Keadaan T5 (c) Keadaan T6
Bit-bit kendali CE dan L B menjadi aktif selama keadaan T5. Ini
memungkinkan kata RAM yang telah ditunjuk alamatnya itu untuk
mempersiapkan register B (gambar 6b). Seperti biasa, pengisian terjadi pada
pertengahan keadaan ketika tepi positif detak memasuki saluran-saluran CLK dari
register B.
Selama keadaan T6, Eu dan L A yang menjadi aktif. Dengan ini, bagian
penjumlah-pengurang (Add/Sub) mempersiapkan akumulator (lihat gambar 6c).
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. Bilamana tepi positif sinyal detak
muncul dalam keadaan gambar 6c, maka isi akumulator akan berubah dan
menyebabkan isi penjumlah-pengurang mengalami perubahan pula. Isi yang baru
ini akan beredar kembali kemasukan akumulator, akan tetapi isi itu tidak akan tiba
disana sebelum berlalunya dua kali waktu tunda propagasi sesudah munculnya tepi
positif dari pulsa detak (satu waktu tunda propagasi pada akumulator dan satu lagi
terjadi pada penjumlah-pengurang). Saat tibanya isi baru itu sudah terlalu terlembat
untuk mempersiapkan akumulator. Akibatnya, akumulator terhindar dari keadaan
pacu (yaitu pengisian lebih dari sekali pada tepi pulsa detak yang sama).
Gambar 7 memperlihatkan diagram pewaktuan untuk siklus pengambilan dan
rutin ADD. 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 7 Diagram Pewaktuan untuk Rutin ADD
Selama keadaan T4, E 1 dan L M menjadi aktif. Pada tepi pulsa detak
berikutnya, medan alamat didalam register instruksi berpindah ke MAR. Selama
keadaan T5 CE, dan LB yang aktif. Oleh karena itu, kata RAM yang dialamatkan
itu, diisikan kedalam register B dipertengahan keadaan ini. Selama keadaan T6 E U
dan LA menjadi aktif, dan pada waktu tibanya tepi poositif, hasil jumlahan dari
penjumlah-pengurang didalam akumulator.
C. Rutin SUB
Rutin Sub serupa dengan rutin ADD. Gambar 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 6c.
Diagram pewaktuan yang bersangkutan hampir identik dengan gambar 7.
Bayangkan bahwa SU rendah selama keadaan T1 sampai T5 dan SU menjadi tinggi
selama keadaan T6.
D. 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 8 Keadaan T4 instruksi OUT
Gambar 8 memperlihatkan bagian-bagian aktif dari SAP=1 selama eksekusi
dari sebuah instruksi out. Sehubungan dengan EA dan L 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 9 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 L O aktif ; dan kata
akumulator dipindahkan ke register keluaran pada waktu tibanya tepi positif dari
pulsa detak.
Gambar 9 Diagram Pewaktuan untuk Rutin OUT
E. Rutin HLT
Instruksi HLT tidak membutuhkan rutin kendali karena tidak sebuahpun
register terlihat dalam eksekusi dalam eksekusi instruksi bersangkutan. Bilamana
IR berisi :
IR = 1111 XXXX
Medan instruksi 1111 akan memberi tahu pengendali-pengurut untuk
menghentikan pemrosesan data. Pengendali-pengurut memberhentikan operasi
komputer dengan menghentikan detak.
F. 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 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 10. (a) Siklus Instruksi SAP-1 (b) Siklus Instruksi untuk Dua siklus Mesin
SAP-2 agak berbeda dari SAP-1 karena beberapa dari instruksinya
memerlukan lebih dari satu siklus mesin untuk pengambilan dan eksekusinya
gambar 10b memperlihatkan diagram pewaktuan bagi instruksi yang memerlukan
dua siklus mesin. Tiga keadaan T yang pertama adalah siklus pengambilan, namun
untuk eksekusinya diperlukan sembilan keadaan T berikutnya. Ini disebabkan oleh
karena instruksi dua-siklus mesin lebih rumit sehingga memerlukan keadaan T
ekstra untuk menyelesaikan eksekusinya.
Jumlah keadaan T yang diperlukan guna mengambil dan melaksanakan sebuah
instruksi dinamakan siklus instruksi (instruction cycle) . Dalam SAP-1, siklus
instruksi sama dengan siklus mesin. Dalam SAP-2 dan mikrokomputer yang lain,
siklus instruksi bisa sama dengan dua siklus mesin atau lebih, seperti ditunjukkan
pada gambar 10b.
3. Percobaan
9.1.Percobaan:
10.1.1. Membuat program Siklus Pelaksanaan LDA
a. Membuat program SAP1 top modul, program ini menggabungkan sub program PC,
MAR, RAM, IR, regA, ALU, regB, outReg. Tanpa program CU.
b. Buatlah proyek baru dengan nama SAP1-nCU.
c. Tambahkan program PC, MAR, RAM dan IR, regA, ALU, regB, outReg.
d. Tambahkan Source program baru dan beri nama SAP1
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity SAP1 is
Port ( CLK : in STD_LOGIC;
CLR : in STD_LOGIC;
Cp : in STD_LOGIC;
Ep : in STD_LOGIC;
nLm : in STD_LOGIC;
nCe : in STD_LOGIC;
nLi : in STD_LOGIC;
nEi : in STD_LOGIC;
nLa : in STD_LOGIC;
Ea : in STD_LOGIC;
Su : in STD_LOGIC;
Eu : in STD_LOGIC;
nLb : in STD_LOGIC;
nLo : in STD_LOGIC;
wbus : out STD_LOGIC_VECTOR (7 downto 0);
outPortA : out STD_LOGIC_VECTOR (7 downto 0);
outPort : out STD_LOGIC_VECTOR (7 downto 0);
LED : out STD_LOGIC_VECTOR (7 downto 0)
);
end SAP1;
architecture Behavioral of SAP1 is
component PC is
Port ( nCLK : in STD_LOGIC;
nCLR : in STD_LOGIC;
Cp : in STD_LOGIC;
Ep : in STD_LOGIC;
BUS_Low : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component MAR is
Port ( CLK : in STD_LOGIC;
nLm : in STD_LOGIC;
inMAR : in STD_LOGIC_VECTOR (3 downto 0);
outMAR : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component RAM is
Port ( nCe : in STD_LOGIC;
inRAM : in STD_LOGIC_VECTOR (3 downto 0);
outRAM : out STD_LOGIC_VECTOR (7 downto 0));
end component;
component IR is
Port ( CLK : in STD_LOGIC;
CLR : in STD_LOGIC;
nLi : in STD_LOGIC;
nEI : in STD_LOGIC;
inIR : in STD_LOGIC_VECTOR (7 downto 0);
outIRlow : out STD_LOGIC_VECTOR (3 downto 0);
outIRhigh : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component regA is
Port ( CLK : in STD_LOGIC;
nLa : in STD_LOGIC;
Ea : in STD_LOGIC;
inA : in STD_LOGIC_VECTOR (7 downto 0);
outA : out STD_LOGIC_VECTOR (7 downto 0);
regACC : out STD_LOGIC_VECTOR (7 downto 0));
end component;
component ALU is
Port ( Su : in STD_LOGIC;
Eu : in STD_LOGIC;
inA : in STD_LOGIC_VECTOR (7 downto 0);
inB : in STD_LOGIC_VECTOR (7 downto 0);
result : out STD_LOGIC_VECTOR (7 downto 0));
end component;
component regB is
Port ( CLK : in STD_LOGIC;
nLb : in STD_LOGIC;
inB : in STD_LOGIC_VECTOR (7 downto 0);
outB : out STD_LOGIC_VECTOR (7 downto 0));
end component;
component outReg is
Port ( CLK : in STD_LOGIC;
nLo : in STD_LOGIC;
inReg : in STD_LOGIC_VECTOR (7 downto 0);
LED : out STD_LOGIC_VECTOR (7 downto 0));
end component;
signal sig_bus : STD_LOGIC_VECTOR (7 downto 0):="00000000";
signal sig_MARtoRAM : STD_LOGIC_VECTOR (3 downto 0):="0000";
signal AtoAlu : STD_LOGIC_VECTOR (7 downto 0):="00000000";
signal BtoAlu : STD_LOGIC_VECTOR (7 downto 0):="00000000";
begin
u1: PC port map(
nCLK => CLK,
nCLR => CLR,
Cp => Cp,
Ep => Ep,
BUS_Low => sig_bus(3 downto 0) );
u2: MAR port map(
CLK => CLK,
nLm => nLm,
inMAR => sig_bus(3 downto 0),
outMAR => sig_MARtoRAM ); u3:
RAM port map(
nCe => nCe,
inRAM => sig_MARtoRAM,
outRAM => sig_bus );
u4: IR port map(
CLK => CLK,
CLR => CLR,
nLi => nLi,
nEi => nEi,
inIR => sig_bus,
outIRlow => sig_bus(3 downto 0),
outIRhigh => outPort(3 downto 0) );
u6: regA port map(
CLK => CLK,
nLa => nLa,
Ea => ea,
inA => sig_bus,
outA => sig_bus,
regACC => AtoAlu );
u7: ALU port map(
Su => Su,
Eu => Eu,
inA => AtoAlu,
inB => BtoAlu,
result => sig_bus );
u8: regB port map(
CLK => CLK,
nLb => nLb,
inB => sig_bus,
outB => BtoAlu );
u9: outReg port map(
CLK => CLK,
nLo => nLo,
inReg => sig_bus,
LED => LED);
wbus <= sig_bus;
outPort(7 downto 4)<=sig_MARtoRAM;
outPortA <= AtoALU;
end Behavioral;
e. Atur agar SAP1_a menjadi top module.
f. Lakukan Systhesize-XST dan pastikan tidak ada error.
g. Buatlah program untuk simulasinya, beri nama file SAP1_tb.
h. Tuliskan progran SAP1_a_tb, seperti pada skrip dibawah ini.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY sap1_tb IS
END sap1_tb;
ARCHITECTURE behavior OF sap1_tb IS
COMPONENT SAP1
PORT(
CLK : IN std_logic;
CLR : IN std_logic;
Cp : IN std_logic;
Ep : IN std_logic;
nLm : IN std_logic;
nCe : IN std_logic;
nLi : IN std_logic;
nEi : IN std_logic;
nLa : IN std_logic;
Ea : IN std_logic;
Su : IN std_logic;
Eu : IN std_logic;
nLb : IN std_logic;
nLo : IN std_logic;
wbus : OUT std_logic_vector(7 downto 0);
outPortA : out STD_LOGIC_VECTOR (7 downto 0);
outPort : OUT std_logic_vector(7 downto 0);
LED : out STD_LOGIC_VECTOR (7 downto 0)
);
END COMPONENT;
--Inputs
signal CLK : std_logic := '0';
signal CLR : std_logic := '0';
signal Cp : std_logic := '0';
signal Ep : std_logic := '0';
signal nLm : std_logic := '1';
signal nCe : std_logic := '1';
signal nLi : std_logic := '1';
signal nEi : std_logic := '1';
signal nLa : std_logic := '1';
signal Ea : std_logic := '0';
signal Su : std_logic := '0';
signal Eu : std_logic := '0';
signal nLb : std_logic := '1';
signal nLo : std_logic := '1';
--Outputs
signal wbus : std_logic_vector(7 downto 0):="00000000";
signal outPortA : STD_LOGIC_VECTOR (7 downto 0):="00000000";
signal outPort : std_logic_vector(7 downto 0):="00000000";
signal LED : std_logic_vector(7 downto 0):="00000000";
-- Clock period definitions
constant CLK_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: SAP1 PORT MAP (
CLK => CLK,
CLR => CLR,
Cp => Cp,
Ep => Ep,
nLm => nLm,
nCe => nCe,
nLi => nLi,
nEi => nEi,
nLa => nLa,
Ea => Ea,
Su => Su,
Eu => Eu,
nLb => nLb,
nLo => nLo,
wbus => wbus,
outPortA => outPortA,
outPort => outPort,
LED => LED
);
-- Clock process definitions
CLK_process :process
begin
CLK <= '1';
wait for CLK_period/2;
CLK <= '0';
wait for CLK_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
CLR <= '1'; wait for CLK_period/2;
CLR <= '0';
-- ************* LDA
*****************************************************
-- T1
Cp <= '0'; Ep <= '1';
nLm <= '0';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0'; --
nLi <= '0'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T4
Cp <= '0'; Ep <= '0';
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '0';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T5
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0'; --
nLi <= '1'; nEi <= '1';
nLa <= '0'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period; --
-- T6
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period; --
i. Tampilkan hasil simulasinya.
10.1.2. Membuat program Siklus Pelaksanaan ADD.
a. Tambahkan program dibawah ini pada SAP1_tb
-- ************* ADD **********************************************
-- T1
Cp <= '0'; Ep <= '1'; --
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0'; --
nLi <= '0'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T4
Cp <= '0'; Ep <= '0';
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '0'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T5
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '0';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '0';
nLo <= '1';
wait for CLK_period;
-- T6
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '0'; Ea <= '0';
Su <= '0'; Eu <= '1';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
b. Tampilkan hasil simulasinya.
10.1.1. Membuat program Siklus Pelaksanaan SUB.
a. Tambahkan program dibawah ini pada SAP1_tb
-- ************* SUBB
*****************************************************
-- T1
Cp <= '0'; Ep <= '1'; --
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0'; --
nLi <= '0'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T4
Cp <= '0'; Ep <= '0';
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '0'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T5
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '0';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '0';
nLo <= '1';
wait for CLK_period;
-- T6
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '0'; Ea <= '0';
Su <= '1'; Eu <= '1';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
b. Tampilkan hasil simulasinya
10.1.2. Membuat program Siklus Pelaksanaan OUT.
a. Tambahkan program dibawah ini pada SAP1_tb.
-- ************* OUT **********************************************
-- T1
Cp <= '0'; Ep <= '1'; --
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0'; --
nLi <= '0'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T4
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '1';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '0';
wait for CLK_period;
--OFF
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
b. Tampilkan hasil simulasinya.
10.1.1. Membuat program Siklus Pelaksanaan HLT
a. Tambahkan program dibawah ini pada SAP1_tb.
-- ************* HALT ***********************************************
-- T1
Cp <= '0'; Ep <= '1'; --
nLm <= '0'; --
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0'; --
nLi <= '0'; nEi <= '1';
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
-- T4
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';wait for CLK_period;
--T5
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
--T6
Cp <= '0'; Ep <= '0';
nLm <= '1'; --
nCe <= '1';
nLi <= '1'; nEi <= '1'; --
nLa <= '1'; Ea <= '0';
Su <= '0'; Eu <= '0';
nLb <= '1';
nLo <= '1';
wait for CLK_period;
b. Tampilkan hasil simulasinya.
4. Latihan
5. Analisa
Pada praktikum ini yaitu membuat program siklus pengambilan SAP1. Dalam
program ini menggunakan beberapa program lainnya seperti RAM, MAR, IR, dan PC
untuk membangun sebuah program SAP1. SAP1 adalah sebagai top modul.
Dalam praktikum kali ini terdapat 3 keadaan T4, T5, dan T6 yang merupakan siklus
eksekusi dari SAP1. Pada intruksi LDA hnaya T4(alamat memori dikirim dari register
intruksi ke MAR) dan T5(data memori diambil dari register intruksi ke akumulator) yang
aktif. Pada intruksi ADD dan SUB 3 keadaan aktif semua dan data diambil dari memori
dan dijumlahkan dengan akumulator hasilnya akan disimpan di kembali ke akumulator.
Sedangkan untuk intruksi OUT hanya memerlukan satu tahap T4 yaitu memindahkan
data dari akumulator ke dalam register keluaran, dan pengendali/pengurut akan mengirim
nilai ke CON.
Execution adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput
dari main memory dan sudah berada di IR register, Control Unit di CPU mengartikan
instruksi tersebut, melaksanakan operasi yang harus dilakukan, seperti
penjemputan/pengambilan data dari main memory, mengirim instruksi ke ALU untuk
melakukan operasi aritmatika atau logika dan menyimpan hasil pengolahan kembali ke
main memory. Sedangkan Execution sequence adalah proses atau langkah sebuah
eksekusi program yang terjadi dan berlangsung pada sebuah sistem mikroprosesor.
Sebuah mikroprosesor harus dapat melakukan proses:
 Fetch Data atau mengambil data baik dari memori maupun I/O dengan proses baca
(read) data.
 Proses Data atau mengolah data dalam salah satu operasi aritmatika atau logika.
 Write Data atau menulis data ke memori atau I/O.
 Fetch Instruction atau mengambil instruksi yaitu membaca instruksi dari memori.
 Interpret Instruction, yaitu proses menginterpretasikan/menerjemahkan instruksi.
Instruksi hari didekode untuk menentukan aksi dari suatu instruksi yang harus dilakukan.
Instruksi dalam bahasa mesin berbentuk kode-kode biner dalam heksadesimal. Setiap
perintah dikodekan dan disusun dalam sebuah set instruksi. Untuk mendapatkan
gambaran yang jelas, bagaimana bagian-bagian dari sebuah komputer atau sistem
mikroprosesor bekerja.
Berikut adalah beberapa perintah dalam Execution Cycle:
a. Penambahan (ADD)
ADD R1, X = Menambahkan isi lokasi X ke register R1
T1 : MAR (IR(Alamat))
T2 : MBR Memory
T3 :IR (R1) + (MBR)
b. ISZ
Isi lokasi X ditambah dengan 1. Apabila hasilnya sama dengan Nol (0), maka
instruksi berikutnya dilompati.
T1 :MAR (IR(Alamat))
T2 :MBR Memory
T3 :IR (MBR) + 1
T4 : Memory(MBR)
If (MBR=0) then (PC+1)
c. BSA X
Merupakan alamat instruksi yang berada setelah instruksi BSA disimpan di lokasi X
dan eksekusi dilanjutkan pada lokasi X + 1. Alamat yang disimpan akan digunakan
kemudian untuk keperluan return.
T1 : MAR (IR(Alamat))
MBR (PC)
T2 : PC(IR (Alamat))
Memory (MBR)
T3 : PC(PC) + 1
6. Kesimpulan
Berdasarkan hasil praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :
 Execution adalah proses dari CPU untuk mengerjakan instruksi yang sudah
dijemput dari main memory dan sudah berada di IR.
 Program SAP1 adalah program yang terdiri dari RAM, IR, PC, MAR, ALU,
RegB, RegA, RegOut.
 Siklus eksekusi hanya terjadi pada keadaan T4, T5, dan T6.
 Beberapa perintah yang digunakan pada execution cycle antara lain :
penambahan (Add), Isi Lokasi X (ISZ), dan BSA X.

More Related Content

What's hot

Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksiratna46
 
Laporan kerja praktek sistem informasi monitoring material gudang
Laporan kerja praktek sistem informasi monitoring material gudangLaporan kerja praktek sistem informasi monitoring material gudang
Laporan kerja praktek sistem informasi monitoring material gudangILex Daud Basra
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataFraiza Geraldi
 
Pertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaPertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaBuhori Muslim
 
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND CPIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C raosandy11
 
Arsitektur mikroprosesor
Arsitektur mikroprosesorArsitektur mikroprosesor
Arsitektur mikroprosesorBuchori Sumarno
 
ATM (Asynchronous Transfer Mode)
ATM (Asynchronous Transfer Mode)ATM (Asynchronous Transfer Mode)
ATM (Asynchronous Transfer Mode)Nabilah Rahmadani
 
program menghitung volume bangun ruang dengan bahasa C
program menghitung volume bangun ruang dengan bahasa Cprogram menghitung volume bangun ruang dengan bahasa C
program menghitung volume bangun ruang dengan bahasa Ckir yy
 
Jenis &amp; proses interupsi
Jenis &amp; proses interupsiJenis &amp; proses interupsi
Jenis &amp; proses interupsisigitpurnama12
 
Pertemuan 11 input output
Pertemuan 11 input outputPertemuan 11 input output
Pertemuan 11 input outputBuhori Muslim
 
Instruction cycle presentation
Instruction   cycle presentationInstruction   cycle presentation
Instruction cycle presentationMoniba Irfan
 
unit kontrol
unit kontrolunit kontrol
unit kontroldewi2093
 

What's hot (20)

Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksi
 
Laporan kerja praktek sistem informasi monitoring material gudang
Laporan kerja praktek sistem informasi monitoring material gudangLaporan kerja praktek sistem informasi monitoring material gudang
Laporan kerja praktek sistem informasi monitoring material gudang
 
Struktur CPU
Struktur CPUStruktur CPU
Struktur CPU
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus Data
 
Pertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan jugaPertemuan 9.1 pengalamatan juga
Pertemuan 9.1 pengalamatan juga
 
Sap 2
Sap 2Sap 2
Sap 2
 
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND CPIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
PIC18 TIMER PROGRAMMING IN ASSEMBLY AND C
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Arsitektur mikroprosesor
Arsitektur mikroprosesorArsitektur mikroprosesor
Arsitektur mikroprosesor
 
ATM (Asynchronous Transfer Mode)
ATM (Asynchronous Transfer Mode)ATM (Asynchronous Transfer Mode)
ATM (Asynchronous Transfer Mode)
 
Chapter5
Chapter5Chapter5
Chapter5
 
program menghitung volume bangun ruang dengan bahasa C
program menghitung volume bangun ruang dengan bahasa Cprogram menghitung volume bangun ruang dengan bahasa C
program menghitung volume bangun ruang dengan bahasa C
 
Prosessor SAP 1
Prosessor SAP 1Prosessor SAP 1
Prosessor SAP 1
 
Proses bisnis flowchart
Proses bisnis flowchartProses bisnis flowchart
Proses bisnis flowchart
 
Jenis &amp; proses interupsi
Jenis &amp; proses interupsiJenis &amp; proses interupsi
Jenis &amp; proses interupsi
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Pertemuan 11 input output
Pertemuan 11 input outputPertemuan 11 input output
Pertemuan 11 input output
 
Instruction cycle presentation
Instruction   cycle presentationInstruction   cycle presentation
Instruction cycle presentation
 
Pemrograman SAP - 1
Pemrograman SAP - 1Pemrograman SAP - 1
Pemrograman SAP - 1
 
unit kontrol
unit kontrolunit kontrol
unit kontrol
 

Similar to Siklus Pelaksanaan LDA

Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Lusiana Diyan
 
Register Instruksi dan Accumulator
Register Instruksi dan AccumulatorRegister Instruksi dan Accumulator
Register Instruksi dan AccumulatorLusiana Diyan
 
simple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptsimple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptwidieyyaya
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23France Rhezhek
 
Pert 6
Pert 6Pert 6
Pert 6Wanti
 
Alat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcAlat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcDeva Saputra
 
Control unit dan register output
Control unit dan register outputControl unit dan register output
Control unit dan register outputLusiana Diyan
 
4 plc-dasar-dasar-pemrograman-new-6
4 plc-dasar-dasar-pemrograman-new-64 plc-dasar-dasar-pemrograman-new-6
4 plc-dasar-dasar-pemrograman-new-6Rendy Ardiwinata
 
Flip-Flop Presentation
Flip-Flop PresentationFlip-Flop Presentation
Flip-Flop PresentationYoollan MW
 
Final project of process control
Final project of process controlFinal project of process control
Final project of process controlFitra Dani
 
Pertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasarPertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasarjumiathyasiz
 
Register B dan Adder
Register B dan AdderRegister B dan Adder
Register B dan AdderLusiana Diyan
 
Bab 5 counter
Bab 5 counterBab 5 counter
Bab 5 counterpersonal
 
Laporan acara flip flop
Laporan acara flip flopLaporan acara flip flop
Laporan acara flip flopYuwan Kilmi
 
Laporan Praktikum Flip Flop
Laporan Praktikum Flip FlopLaporan Praktikum Flip Flop
Laporan Praktikum Flip FlopAnarstn
 

Similar to Siklus Pelaksanaan LDA (20)

Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)Siklus pengambilan (fetch cycle)
Siklus pengambilan (fetch cycle)
 
Resume komputer sap
Resume komputer sapResume komputer sap
Resume komputer sap
 
Register Instruksi dan Accumulator
Register Instruksi dan AccumulatorRegister Instruksi dan Accumulator
Register Instruksi dan Accumulator
 
simple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptsimple-as-possible-computer-1.ppt
simple-as-possible-computer-1.ppt
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
 
Pert 6
Pert 6Pert 6
Pert 6
 
Alat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcAlat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plc
 
Control unit dan register output
Control unit dan register outputControl unit dan register output
Control unit dan register output
 
4 plc-dasar-dasar-pemrograman-new-6
4 plc-dasar-dasar-pemrograman-new-64 plc-dasar-dasar-pemrograman-new-6
4 plc-dasar-dasar-pemrograman-new-6
 
Flip-Flop Presentation
Flip-Flop PresentationFlip-Flop Presentation
Flip-Flop Presentation
 
Pemrograman sap 1
Pemrograman sap 1Pemrograman sap 1
Pemrograman sap 1
 
Final project of process control
Final project of process controlFinal project of process control
Final project of process control
 
Bahasa assembly
Bahasa assemblyBahasa assembly
Bahasa assembly
 
Ladder diagram
Ladder diagramLadder diagram
Ladder diagram
 
Pertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasarPertemuan 8 unit pengolahan dasar
Pertemuan 8 unit pengolahan dasar
 
Register B dan Adder
Register B dan AdderRegister B dan Adder
Register B dan Adder
 
Sismik
Sismik Sismik
Sismik
 
Bab 5 counter
Bab 5 counterBab 5 counter
Bab 5 counter
 
Laporan acara flip flop
Laporan acara flip flopLaporan acara flip flop
Laporan acara flip flop
 
Laporan Praktikum Flip Flop
Laporan Praktikum Flip FlopLaporan Praktikum Flip Flop
Laporan Praktikum Flip Flop
 

More from Lusiana Diyan

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifLusiana Diyan
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam TimLusiana Diyan
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisLusiana Diyan
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan BisnisLusiana Diyan
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Lusiana Diyan
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Lusiana Diyan
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentLusiana Diyan
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTLusiana Diyan
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimLusiana Diyan
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLLusiana Diyan
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web ServerLusiana Diyan
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiLusiana Diyan
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREPLusiana Diyan
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleLusiana Diyan
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakLusiana Diyan
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCLusiana Diyan
 

More from Lusiana Diyan (20)

Komunikasi Bisnis yang Efektif
Komunikasi Bisnis yang EfektifKomunikasi Bisnis yang Efektif
Komunikasi Bisnis yang Efektif
 
Berkomunikasi dalam Tim
Berkomunikasi dalam TimBerkomunikasi dalam Tim
Berkomunikasi dalam Tim
 
Berkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan KeragamanBerkomunikasi di Dunia dengan Keragaman
Berkomunikasi di Dunia dengan Keragaman
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
 
Menulis Pesan Bisnis
Menulis Pesan BisnisMenulis Pesan Bisnis
Menulis Pesan Bisnis
 
Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3Vocabulary Engineering Enrichment 3
Vocabulary Engineering Enrichment 3
 
Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2Vocabulary Engineering Enrichment 2
Vocabulary Engineering Enrichment 2
 
Vocabulary Engineering Enrichment
Vocabulary Engineering EnrichmentVocabulary Engineering Enrichment
Vocabulary Engineering Enrichment
 
DESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENTDESIGN THINGKING & PROJECT MANAGEMENT
DESIGN THINGKING & PROJECT MANAGEMENT
 
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan CoppeliasimTutorial Membuat Simple Crane Menggunakan Coppeliasim
Tutorial Membuat Simple Crane Menggunakan Coppeliasim
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Kontrol LED melalui Web Server
Kontrol LED melalui Web ServerKontrol LED melalui Web Server
Kontrol LED melalui Web Server
 
Installasi NodeMCU
Installasi NodeMCUInstallasi NodeMCU
Installasi NodeMCU
 
Akses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry PiAkses GPIO pada Raspberry Pi
Akses GPIO pada Raspberry Pi
 
Building A Simple Robot in VREP
Building A Simple Robot in VREPBuilding A Simple Robot in VREP
Building A Simple Robot in VREP
 
Tutorial Menggunakan Software Eagle
Tutorial Menggunakan Software EagleTutorial Menggunakan Software Eagle
Tutorial Menggunakan Software Eagle
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Open Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DCOpen Loop Analog Control System - Motor DC
Open Loop Analog Control System - Motor DC
 

Recently uploaded

05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 

Recently uploaded (6)

05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 

Siklus Pelaksanaan LDA

  • 1. Praktikum 9 Siklus Pelaksanaan (Execution Cycle) Lusiana Diyan Ningrum 2210181051 Program Studi Teknik Komputer Departemen Teknik Informatika dan Komputer Politeknik Elektronika Negeri Surabaya Surabaya
  • 2. 1. Tujuan: a. Mahasiswa dapat menjelaskan dan membuat program Siklus Pelaksanaan b. Mahasiswa dapat menjelaskan dan membuat program rutin LDA, ADD, SUB, OUT, HLT. 2. Dasar Teori: 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. A. 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 4a 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 4 Rutin LDA (a) Keadaan T4 (b) Keadaan T5 (c) Keadaan T6
  • 3. Selama keadaan T5 bit-bit CE 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 4b). T6 adalah keadaan tanpa operasi (no-operation; disingkat Nop). Selama keadaan eksekusi yang ketiga ini semua register dalam kondisi tidak aktif (gambar 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 5 Diagram Pewaktuan Siklus Pengambilan LDA Gambar 5 memperlihatkan diagram pewaktuan untuk rutin pengambilan dan rutin LDA. Selama keadaan T1, Ep dan L 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, CE dan L 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 LM dan E 1 yang aktif . Pada tepi positif detak, medan alamat didalam register instruksi dipindahkan ke MAR. Selama keadaan T5, CE dan LA menjadi aktif; ini berarti kata data RAM dengan alamat yang ditentukan
  • 4. itu ditransfer kepada akumulator pada tepi positif detak. Sebagaimana diketahui keadaan T6 dari rutin LDA adalah keadaan nop. B. 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 6a). Dalam keadaan ini E 1 dan L M yang aktif . Gambar 6 Rutin ADD dan SUB (a) Keadaan T4 (b) Keadaan T5 (c) Keadaan T6 Bit-bit kendali CE dan L B menjadi aktif selama keadaan T5. Ini memungkinkan kata RAM yang telah ditunjuk alamatnya itu untuk mempersiapkan register B (gambar 6b). Seperti biasa, pengisian terjadi pada pertengahan keadaan ketika tepi positif detak memasuki saluran-saluran CLK dari register B. Selama keadaan T6, Eu dan L A yang menjadi aktif. Dengan ini, bagian penjumlah-pengurang (Add/Sub) mempersiapkan akumulator (lihat gambar 6c). 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. Bilamana tepi positif sinyal detak muncul dalam keadaan gambar 6c, maka isi akumulator akan berubah dan
  • 5. menyebabkan isi penjumlah-pengurang mengalami perubahan pula. Isi yang baru ini akan beredar kembali kemasukan akumulator, akan tetapi isi itu tidak akan tiba disana sebelum berlalunya dua kali waktu tunda propagasi sesudah munculnya tepi positif dari pulsa detak (satu waktu tunda propagasi pada akumulator dan satu lagi terjadi pada penjumlah-pengurang). Saat tibanya isi baru itu sudah terlalu terlembat untuk mempersiapkan akumulator. Akibatnya, akumulator terhindar dari keadaan pacu (yaitu pengisian lebih dari sekali pada tepi pulsa detak yang sama). Gambar 7 memperlihatkan diagram pewaktuan untuk siklus pengambilan dan rutin ADD. 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 7 Diagram Pewaktuan untuk Rutin ADD
  • 6. Selama keadaan T4, E 1 dan L M menjadi aktif. Pada tepi pulsa detak berikutnya, medan alamat didalam register instruksi berpindah ke MAR. Selama keadaan T5 CE, dan LB yang aktif. Oleh karena itu, kata RAM yang dialamatkan itu, diisikan kedalam register B dipertengahan keadaan ini. Selama keadaan T6 E U dan LA menjadi aktif, dan pada waktu tibanya tepi poositif, hasil jumlahan dari penjumlah-pengurang didalam akumulator. C. Rutin SUB Rutin Sub serupa dengan rutin ADD. Gambar 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 6c. Diagram pewaktuan yang bersangkutan hampir identik dengan gambar 7. Bayangkan bahwa SU rendah selama keadaan T1 sampai T5 dan SU menjadi tinggi selama keadaan T6. D. 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.
  • 7. Gambar 8 Keadaan T4 instruksi OUT Gambar 8 memperlihatkan bagian-bagian aktif dari SAP=1 selama eksekusi dari sebuah instruksi out. Sehubungan dengan EA dan L 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 9 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 L O aktif ; dan kata akumulator dipindahkan ke register keluaran pada waktu tibanya tepi positif dari pulsa detak. Gambar 9 Diagram Pewaktuan untuk Rutin OUT
  • 8. E. Rutin HLT Instruksi HLT tidak membutuhkan rutin kendali karena tidak sebuahpun register terlihat dalam eksekusi dalam eksekusi instruksi bersangkutan. Bilamana IR berisi : IR = 1111 XXXX Medan instruksi 1111 akan memberi tahu pengendali-pengurut untuk menghentikan pemrosesan data. Pengendali-pengurut memberhentikan operasi komputer dengan menghentikan detak. F. 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 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 10. (a) Siklus Instruksi SAP-1 (b) Siklus Instruksi untuk Dua siklus Mesin SAP-2 agak berbeda dari SAP-1 karena beberapa dari instruksinya memerlukan lebih dari satu siklus mesin untuk pengambilan dan eksekusinya gambar 10b memperlihatkan diagram pewaktuan bagi instruksi yang memerlukan
  • 9. dua siklus mesin. Tiga keadaan T yang pertama adalah siklus pengambilan, namun untuk eksekusinya diperlukan sembilan keadaan T berikutnya. Ini disebabkan oleh karena instruksi dua-siklus mesin lebih rumit sehingga memerlukan keadaan T ekstra untuk menyelesaikan eksekusinya. Jumlah keadaan T yang diperlukan guna mengambil dan melaksanakan sebuah instruksi dinamakan siklus instruksi (instruction cycle) . Dalam SAP-1, siklus instruksi sama dengan siklus mesin. Dalam SAP-2 dan mikrokomputer yang lain, siklus instruksi bisa sama dengan dua siklus mesin atau lebih, seperti ditunjukkan pada gambar 10b. 3. Percobaan 9.1.Percobaan: 10.1.1. Membuat program Siklus Pelaksanaan LDA a. Membuat program SAP1 top modul, program ini menggabungkan sub program PC, MAR, RAM, IR, regA, ALU, regB, outReg. Tanpa program CU. b. Buatlah proyek baru dengan nama SAP1-nCU. c. Tambahkan program PC, MAR, RAM dan IR, regA, ALU, regB, outReg. d. Tambahkan Source program baru dan beri nama SAP1
  • 10. library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SAP1 is Port ( CLK : in STD_LOGIC; CLR : in STD_LOGIC; Cp : in STD_LOGIC; Ep : in STD_LOGIC; nLm : in STD_LOGIC; nCe : in STD_LOGIC; nLi : in STD_LOGIC; nEi : in STD_LOGIC; nLa : in STD_LOGIC; Ea : in STD_LOGIC; Su : in STD_LOGIC; Eu : in STD_LOGIC; nLb : in STD_LOGIC; nLo : in STD_LOGIC; wbus : out STD_LOGIC_VECTOR (7 downto 0); outPortA : out STD_LOGIC_VECTOR (7 downto 0); outPort : out STD_LOGIC_VECTOR (7 downto 0); LED : out STD_LOGIC_VECTOR (7 downto 0) ); end SAP1; architecture Behavioral of SAP1 is component PC is Port ( nCLK : in STD_LOGIC; nCLR : in STD_LOGIC; Cp : in STD_LOGIC; Ep : in STD_LOGIC; BUS_Low : out STD_LOGIC_VECTOR (3 downto 0)); end component; component MAR is Port ( CLK : in STD_LOGIC; nLm : in STD_LOGIC; inMAR : in STD_LOGIC_VECTOR (3 downto 0); outMAR : out STD_LOGIC_VECTOR (3 downto 0)); end component; component RAM is Port ( nCe : in STD_LOGIC; inRAM : in STD_LOGIC_VECTOR (3 downto 0); outRAM : out STD_LOGIC_VECTOR (7 downto 0)); end component; component IR is Port ( CLK : in STD_LOGIC; CLR : in STD_LOGIC; nLi : in STD_LOGIC; nEI : in STD_LOGIC; inIR : in STD_LOGIC_VECTOR (7 downto 0); outIRlow : out STD_LOGIC_VECTOR (3 downto 0); outIRhigh : out STD_LOGIC_VECTOR (3 downto 0)); end component; component regA is Port ( CLK : in STD_LOGIC; nLa : in STD_LOGIC; Ea : in STD_LOGIC; inA : in STD_LOGIC_VECTOR (7 downto 0); outA : out STD_LOGIC_VECTOR (7 downto 0); regACC : out STD_LOGIC_VECTOR (7 downto 0)); end component;
  • 11. component ALU is Port ( Su : in STD_LOGIC; Eu : in STD_LOGIC; inA : in STD_LOGIC_VECTOR (7 downto 0); inB : in STD_LOGIC_VECTOR (7 downto 0); result : out STD_LOGIC_VECTOR (7 downto 0)); end component; component regB is Port ( CLK : in STD_LOGIC; nLb : in STD_LOGIC; inB : in STD_LOGIC_VECTOR (7 downto 0); outB : out STD_LOGIC_VECTOR (7 downto 0)); end component; component outReg is Port ( CLK : in STD_LOGIC; nLo : in STD_LOGIC; inReg : in STD_LOGIC_VECTOR (7 downto 0); LED : out STD_LOGIC_VECTOR (7 downto 0)); end component; signal sig_bus : STD_LOGIC_VECTOR (7 downto 0):="00000000"; signal sig_MARtoRAM : STD_LOGIC_VECTOR (3 downto 0):="0000"; signal AtoAlu : STD_LOGIC_VECTOR (7 downto 0):="00000000"; signal BtoAlu : STD_LOGIC_VECTOR (7 downto 0):="00000000"; begin u1: PC port map( nCLK => CLK, nCLR => CLR, Cp => Cp, Ep => Ep, BUS_Low => sig_bus(3 downto 0) ); u2: MAR port map( CLK => CLK, nLm => nLm, inMAR => sig_bus(3 downto 0), outMAR => sig_MARtoRAM ); u3: RAM port map( nCe => nCe, inRAM => sig_MARtoRAM, outRAM => sig_bus ); u4: IR port map( CLK => CLK, CLR => CLR, nLi => nLi, nEi => nEi, inIR => sig_bus, outIRlow => sig_bus(3 downto 0), outIRhigh => outPort(3 downto 0) ); u6: regA port map( CLK => CLK, nLa => nLa, Ea => ea, inA => sig_bus, outA => sig_bus, regACC => AtoAlu ); u7: ALU port map( Su => Su, Eu => Eu, inA => AtoAlu, inB => BtoAlu, result => sig_bus );
  • 12. u8: regB port map( CLK => CLK, nLb => nLb, inB => sig_bus, outB => BtoAlu ); u9: outReg port map( CLK => CLK, nLo => nLo, inReg => sig_bus, LED => LED); wbus <= sig_bus; outPort(7 downto 4)<=sig_MARtoRAM; outPortA <= AtoALU; end Behavioral; e. Atur agar SAP1_a menjadi top module. f. Lakukan Systhesize-XST dan pastikan tidak ada error.
  • 13. g. Buatlah program untuk simulasinya, beri nama file SAP1_tb. h. Tuliskan progran SAP1_a_tb, seperti pada skrip dibawah ini. LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY sap1_tb IS END sap1_tb; ARCHITECTURE behavior OF sap1_tb IS
  • 14. COMPONENT SAP1 PORT( CLK : IN std_logic; CLR : IN std_logic; Cp : IN std_logic; Ep : IN std_logic; nLm : IN std_logic; nCe : IN std_logic; nLi : IN std_logic; nEi : IN std_logic; nLa : IN std_logic; Ea : IN std_logic; Su : IN std_logic; Eu : IN std_logic; nLb : IN std_logic; nLo : IN std_logic; wbus : OUT std_logic_vector(7 downto 0); outPortA : out STD_LOGIC_VECTOR (7 downto 0); outPort : OUT std_logic_vector(7 downto 0); LED : out STD_LOGIC_VECTOR (7 downto 0) ); END COMPONENT; --Inputs signal CLK : std_logic := '0'; signal CLR : std_logic := '0'; signal Cp : std_logic := '0'; signal Ep : std_logic := '0'; signal nLm : std_logic := '1'; signal nCe : std_logic := '1'; signal nLi : std_logic := '1'; signal nEi : std_logic := '1'; signal nLa : std_logic := '1'; signal Ea : std_logic := '0'; signal Su : std_logic := '0'; signal Eu : std_logic := '0'; signal nLb : std_logic := '1'; signal nLo : std_logic := '1'; --Outputs signal wbus : std_logic_vector(7 downto 0):="00000000"; signal outPortA : STD_LOGIC_VECTOR (7 downto 0):="00000000"; signal outPort : std_logic_vector(7 downto 0):="00000000"; signal LED : std_logic_vector(7 downto 0):="00000000"; -- Clock period definitions constant CLK_period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: SAP1 PORT MAP ( CLK => CLK, CLR => CLR, Cp => Cp, Ep => Ep, nLm => nLm, nCe => nCe, nLi => nLi, nEi => nEi, nLa => nLa,
  • 15. Ea => Ea, Su => Su, Eu => Eu, nLb => nLb, nLo => nLo, wbus => wbus, outPortA => outPortA, outPort => outPort, LED => LED ); -- Clock process definitions CLK_process :process begin CLK <= '1'; wait for CLK_period/2; CLK <= '0'; wait for CLK_period/2; end process; -- Stimulus process stim_proc: process begin CLR <= '1'; wait for CLK_period/2; CLR <= '0'; -- ************* LDA ***************************************************** -- T1 Cp <= '0'; Ep <= '1'; nLm <= '0'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T2 Cp <= '1'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; -- nLi <= '0'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T4 Cp <= '0'; Ep <= '0'; nLm <= '0'; -- nCe <= '1';
  • 16. nLi <= '1'; nEi <= '0'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T5 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; -- nLi <= '1'; nEi <= '1'; nLa <= '0'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- -- T6 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- i. Tampilkan hasil simulasinya. 10.1.2. Membuat program Siklus Pelaksanaan ADD. a. Tambahkan program dibawah ini pada SAP1_tb -- ************* ADD ********************************************** -- T1 Cp <= '0'; Ep <= '1'; -- nLm <= '0'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T2 Cp <= '1'; Ep <= '0';
  • 17. nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; -- nLi <= '0'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T4 Cp <= '0'; Ep <= '0'; nLm <= '0'; -- nCe <= '1'; nLi <= '1'; nEi <= '0'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T5 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '0'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '0'; nLo <= '1'; wait for CLK_period; -- T6 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '0'; Ea <= '0'; Su <= '0'; Eu <= '1'; nLb <= '1'; nLo <= '1'; wait for CLK_period; b. Tampilkan hasil simulasinya.
  • 18. 10.1.1. Membuat program Siklus Pelaksanaan SUB. a. Tambahkan program dibawah ini pada SAP1_tb -- ************* SUBB ***************************************************** -- T1 Cp <= '0'; Ep <= '1'; -- nLm <= '0'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T2 Cp <= '1'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; -- nLi <= '0'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T4 Cp <= '0'; Ep <= '0'; nLm <= '0'; -- nCe <= '1'; nLi <= '1'; nEi <= '0'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T5
  • 19. Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '0'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '0'; nLo <= '1'; wait for CLK_period; -- T6 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '0'; Ea <= '0'; Su <= '1'; Eu <= '1'; nLb <= '1'; nLo <= '1'; wait for CLK_period; b. Tampilkan hasil simulasinya 10.1.2. Membuat program Siklus Pelaksanaan OUT. a. Tambahkan program dibawah ini pada SAP1_tb. -- ************* OUT ********************************************** -- T1 Cp <= '0'; Ep <= '1'; -- nLm <= '0'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T2 Cp <= '1'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1';
  • 20. wait for CLK_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; -- nLi <= '0'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T4 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '1'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '0'; wait for CLK_period; --OFF Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; b. Tampilkan hasil simulasinya. 10.1.1. Membuat program Siklus Pelaksanaan HLT a. Tambahkan program dibawah ini pada SAP1_tb. -- ************* HALT *********************************************** -- T1 Cp <= '0'; Ep <= '1'; -- nLm <= '0'; -- nCe <= '1'; nLi <= '1'; nEi <= '1';
  • 21. nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T2 Cp <= '1'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; -- nLi <= '0'; nEi <= '1'; nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; -- T4 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1';wait for CLK_period; --T5 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period; --T6 Cp <= '0'; Ep <= '0'; nLm <= '1'; -- nCe <= '1'; nLi <= '1'; nEi <= '1'; -- nLa <= '1'; Ea <= '0'; Su <= '0'; Eu <= '0'; nLb <= '1'; nLo <= '1'; wait for CLK_period;
  • 22. b. Tampilkan hasil simulasinya. 4. Latihan 5. Analisa Pada praktikum ini yaitu membuat program siklus pengambilan SAP1. Dalam program ini menggunakan beberapa program lainnya seperti RAM, MAR, IR, dan PC untuk membangun sebuah program SAP1. SAP1 adalah sebagai top modul. Dalam praktikum kali ini terdapat 3 keadaan T4, T5, dan T6 yang merupakan siklus eksekusi dari SAP1. Pada intruksi LDA hnaya T4(alamat memori dikirim dari register intruksi ke MAR) dan T5(data memori diambil dari register intruksi ke akumulator) yang aktif. Pada intruksi ADD dan SUB 3 keadaan aktif semua dan data diambil dari memori dan dijumlahkan dengan akumulator hasilnya akan disimpan di kembali ke akumulator. Sedangkan untuk intruksi OUT hanya memerlukan satu tahap T4 yaitu memindahkan data dari akumulator ke dalam register keluaran, dan pengendali/pengurut akan mengirim nilai ke CON. Execution adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput dari main memory dan sudah berada di IR register, Control Unit di CPU mengartikan instruksi tersebut, melaksanakan operasi yang harus dilakukan, seperti penjemputan/pengambilan data dari main memory, mengirim instruksi ke ALU untuk melakukan operasi aritmatika atau logika dan menyimpan hasil pengolahan kembali ke main memory. Sedangkan Execution sequence adalah proses atau langkah sebuah eksekusi program yang terjadi dan berlangsung pada sebuah sistem mikroprosesor. Sebuah mikroprosesor harus dapat melakukan proses:  Fetch Data atau mengambil data baik dari memori maupun I/O dengan proses baca (read) data.  Proses Data atau mengolah data dalam salah satu operasi aritmatika atau logika.  Write Data atau menulis data ke memori atau I/O.
  • 23.  Fetch Instruction atau mengambil instruksi yaitu membaca instruksi dari memori.  Interpret Instruction, yaitu proses menginterpretasikan/menerjemahkan instruksi. Instruksi hari didekode untuk menentukan aksi dari suatu instruksi yang harus dilakukan. Instruksi dalam bahasa mesin berbentuk kode-kode biner dalam heksadesimal. Setiap perintah dikodekan dan disusun dalam sebuah set instruksi. Untuk mendapatkan gambaran yang jelas, bagaimana bagian-bagian dari sebuah komputer atau sistem mikroprosesor bekerja. Berikut adalah beberapa perintah dalam Execution Cycle: a. Penambahan (ADD) ADD R1, X = Menambahkan isi lokasi X ke register R1 T1 : MAR (IR(Alamat)) T2 : MBR Memory T3 :IR (R1) + (MBR) b. ISZ Isi lokasi X ditambah dengan 1. Apabila hasilnya sama dengan Nol (0), maka instruksi berikutnya dilompati. T1 :MAR (IR(Alamat)) T2 :MBR Memory T3 :IR (MBR) + 1 T4 : Memory(MBR) If (MBR=0) then (PC+1) c. BSA X Merupakan alamat instruksi yang berada setelah instruksi BSA disimpan di lokasi X dan eksekusi dilanjutkan pada lokasi X + 1. Alamat yang disimpan akan digunakan kemudian untuk keperluan return. T1 : MAR (IR(Alamat)) MBR (PC) T2 : PC(IR (Alamat)) Memory (MBR) T3 : PC(PC) + 1 6. Kesimpulan Berdasarkan hasil praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :  Execution adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput dari main memory dan sudah berada di IR.  Program SAP1 adalah program yang terdiri dari RAM, IR, PC, MAR, ALU, RegB, RegA, RegOut.  Siklus eksekusi hanya terjadi pada keadaan T4, T5, dan T6.  Beberapa perintah yang digunakan pada execution cycle antara lain : penambahan (Add), Isi Lokasi X (ISZ), dan BSA X.