SlideShare a Scribd company logo
1 of 16
Praktikum 8
Siklus Pengambilan
(Fetch 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 pengambilan
b. Mahasiswa dapat menjelaskan dan membuat program keadaan alamat
c. Mahasiswa dapat menjelaskan dan membuat program keadaan penembahan
d. Mahasiswa dapat menjelaskan dan membuat program keadaan memori
2. Dasar Teori
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 (timming 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.
Gambar 2a melukiskan simbol pencacah lingkar dengan keluaran.
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 2 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
Gambar 2b memperlihatkan pulsa-pulsa pewaktuan yang dikeluarkan oleh pencacah
lingkar. 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.
A. 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 3A memperlihatkan bagian-bagian komputer yang aktif selama keadaan T1
(bagian aktif digambarkan terang, dan bagian tidak aktif gelap).
Gambar 3 Siklus Pengambilan (a) Keadaan T1 (b) Keadaan T2 (c) Keadaan T3
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 seperti dibawah ini.
CON = Cp Ep LM CE L1 E 1 LA EA Su Eu LB Lo
= 0 1 0 1 1 1 0 0 0 0 1 1
B. Keadaan Penambahan
Gambar 3b memperlihatkan bagian-bagian aktif dari SAP-1 selama keadaan T2.
Keadaan ini disebut keadaan penambahan (increment state) karena hitungan pada pencacah
program ditingkatkan (ditambah) selama periode ini. Selama keadaan penambahan bagian
pengendali-pengurut menghasilkan sebuah kata-kendali berbentuk :
CON = Cp Ep LM CE L1 E 1 LA EA Su Eu LB Lo
= 1 0 1 1 1 1 1 0 0 0 1 1
Terlihat disini bahwa CP adalah bit yang aktif
C. Keadaan Memori
Keadaan T3 disebut keadaan memori (memory state) karena instruksi pada RAM
dengan alamat yang ditunjuk dipindahkan dari memori ke register instruksi. Gambar 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 LM CE L1 E 1 LA EA Su Eu LB Lo
= 0 0 1 0 0 1 1 0 0 0 1 1
D. Siklus Pengambilan
Keadaan-keadaan alamat, penambahan, dan memori disebut siklus pengambilan/
penjemputan (Fetch cycle) dari SAP-1. Selama keadaan alamat, EP dan LM aktif ini berarti
pencacah program mengaktifkan MAR melalui bus W. Dalam gambar 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 CE dan L1 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.
3. Percobaan
Membuat program siklus pengambilan
a. Membuat proyek SAP1-a top modul, program ini menggabungkan sub program PC,
MAR, RAM dan IR.
b. Buatlah proyek baru dengan nama SAP1-a.
c. Tambahkan program PC, MAR, RAM dan IR.
d. Tambahkan Source program baru dan beri nama SAP1_a
e. Tuliskan program SAP1_a seperti skrip dibawah ini.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity SAP1_a 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;
wBus : out STD_LOGIC_VECTOR (7 downto 0);
IRtoCU : out STD_LOGIC_VECTOR (3 downto 0)
);
end SAP1_a;
architecture Behavioral of SAP1_a 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;
signal sig_bus : STD_LOGIC_VECTOR (7 downto 0):=x"00";
signal sig_MARtoRAM : STD_LOGIC_VECTOR (3 downto 0):=x"0";
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 => IRtoCU );
wBus <= sig_bus;
end Behavioral;
f. Atur agar SAP1_a menjadi top module.
g. Lakukan Systhesize-XST dan pastikan tidak ada error.
h. Tambahkan program untuk simulasinya, beri nama file SAP1_a_tb
i. Tuliskan progran SAP1_a_tb, seperti pada skrip dibawah ini.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY SAP1_a_tb IS
END SAP1_a_tb;
ARCHITECTURE behavior OF SAP1_a_tb IS
COMPONENT SAP1_a
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;
wBus : OUT std_logic_vector(7 downto 0);
IRtoCU : OUT std_logic_vector(3 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';
--Outputs
signal wBus : std_logic_vector(7 downto 0):=x"00";
signal IRtoCU : std_logic_vector(3 downto 0):=x"0";
-- Clock period definitions
constant clk_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: SAP1_a PORT MAP (
clk => clk,
clr => clr,
Cp => Cp,
Ep => Ep,
nLm => nLm,
nCe => nCe,
nLi => nLi,
nEi => nEi,
wBus => wBus,
IRtoCU => IRtoCU
);
-- Clock process definitions
clk_process :process
begin
clk <= '0'; wait for clk_period/2;
clk <= '1'; wait for clk_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
clr <= '1'; wait for clk_period;
clr <= '0'; --wait for clk_period;
-- T1
Cp <= '0'; Ep <= '1';
nLm <= '0';
nCe <= '1';
nLi <= '1'; nEi <= '1';
wait for CLK_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
wait for CLK_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0';
nLi <= '0'; nEi <= '1';
wait for clk_period*3;
end process;
END;
j. Tampilkan hasil timing diagramnya. Seperti pada gambar dibawah ini.
4. Latihan
a. Buatlah program keadaan alamat pada siklus pengambilan
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY SAP1_a_tb IS
END SAP1_a_tb;
ARCHITECTURE behavior OF SAP1_a_tb IS
COMPONENT SAP1_a
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;
wBus : OUT std_logic_vector(7 downto 0);
IRtoCU : OUT std_logic_vector(3 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';
--Outputs
signal wBus : std_logic_vector(7 downto 0):=x"00";
signal IRtoCU : std_logic_vector(3 downto 0):=x"0";
-- Clock period definitions
constant clk_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: SAP1_a PORT MAP (
clk => clk,
clr => clr,
Cp => Cp,
Ep => Ep,
nLm => nLm,
nCe => nCe,
nLi => nLi,
nEi => nEi,
wBus => wBus,
IRtoCU => IRtoCU
);
-- Clock process definitions
clk_process :process
begin
clk <= '0'; wait for clk_period/2;
clk <= '1'; wait for clk_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
clr <= '1'; wait for clk_period;
clr <= '0'; --wait for clk_period;
-- T1
Cp <= '0'; Ep <= '1';
nLm <= '0';
nCe <= '1';
nLi <= '1'; nEi <= '1';
wait for CLK_period;
end process;
END;
b. Buatlah program keadaan penambahan pada siklus pengambilan
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY SAP1_a_tb IS
END SAP1_a_tb;
ARCHITECTURE behavior OF SAP1_a_tb IS
COMPONENT SAP1_a
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;
wBus : OUT std_logic_vector(7 downto 0);
IRtoCU : OUT std_logic_vector(3 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';
--Outputs
signal wBus : std_logic_vector(7 downto 0):=x"00";
signal IRtoCU : std_logic_vector(3 downto 0):=x"0";
-- Clock period definitions
constant clk_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: SAP1_a PORT MAP (
clk => clk,
clr => clr,
Cp => Cp,
Ep => Ep,
nLm => nLm,
nCe => nCe,
nLi => nLi,
nEi => nEi,
wBus => wBus,
IRtoCU => IRtoCU
);
-- Clock process definitions
clk_process :process
begin
clk <= '0'; wait for clk_period/2;
clk <= '1'; wait for clk_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
clr <= '1'; wait for clk_period;
clr <= '0'; --wait for clk_period;
-- T2
Cp <= '1'; Ep <= '0';
nLm <= '1';
nCe <= '1';
nLi <= '1'; nEi <= '1';
wait for CLK_period;
end process;
END;
c. Buatlah program keadaan memori pada siklus pengambilan
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY SAP1_a_tb IS
END SAP1_a_tb;
ARCHITECTURE behavior OF SAP1_a_tb IS
COMPONENT SAP1_a
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;
wBus : OUT std_logic_vector(7 downto 0);
IRtoCU : OUT std_logic_vector(3 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';
--Outputs
signal wBus : std_logic_vector(7 downto 0):=x"00";
signal IRtoCU : std_logic_vector(3 downto 0):=x"0";
-- Clock period definitions
constant clk_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: SAP1_a PORT MAP (
clk => clk,
clr => clr,
Cp => Cp,
Ep => Ep,
nLm => nLm,
nCe => nCe,
nLi => nLi,
nEi => nEi,
wBus => wBus,
IRtoCU => IRtoCU
);
-- Clock process definitions
clk_process :process
begin
clk <= '0'; wait for clk_period/2;
clk <= '1'; wait for clk_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
clr <= '1'; wait for clk_period;
clr <= '0'; --wait for clk_period;
-- T3
Cp <= '0'; Ep <= '0';
nLm <= '1';
nCe <= '0';
nLi <= '0'; nEi <= '1';
end process;
END;
5. Analisa
Fetch Cycle adalah siklus pengambilan data ke memori atau register. Aliran data
siklus pengambilan (Fetch Cycle) berdasarkan urutan kejadian selama siklus interuksi
tergantung pada rangan CPU. Sebuah CPU yang menggunakan register memori alamat
(MAR), Register memori buffer (MBR), pencacah program (PC) dan register
instruksi(IR). Proses pada siklus pengambilan (Fetch Cycle), instruksi dibaca dari
memori. Selanjutnya, PC berisi alamat instruksi berikutnya yang akan diambil. Alamat
ini dipindahkan di MAR(Memory Address Register) dan ditaruh di bus alamat.
Kemudian Control Unit meminta pembacaan memori dan hasilnya disimpan di bus data
dan disalin ke MBR (Memory Buffer Register), kemudian dipindahkan ke IR (Instruction
Regiter). PC (Program Counter) naik nilainya 1, sebagai persiapan untuk pengambilan
selanjutnya. Siklus selesai, CU memeriksa isi IR (Instruction Register) untuk
menentukan apakah IR (Instruction Register) berisi Operand Specifier yang
menggunakan pengalamatan tak langsung (Indirect).
Dengan demikian siklus Fetch sederhana sebenarnya terdiri atas 3 langkah dan 4
operasi mikro. Secara simbolik dapat ditulis sebagai berikut:
T1 : MAR  (PC)
T2 : MBR  (MEMORY)
PC  (PC)+1
T3 : IR  (MBR)
Dimana T1, T2, dan T3 merupakan unit waktu yang berdurasi sama dan berurutan.
Pada praktikum ini yaitu membuat program siklus pengambilan SAP1. Dalam
program ini menggunakan beberapa program lainnya seperti RAM, MAR (Memory
Address Register ), IR (Instruction Register), dan PC (Program Counter) untuk
membangun sebuah program SAP1. SAP1 adalah sebagai top modul.
Program Siklus Pengambilan terdiri dari 3 keadaan yaitu alamat, penambahan, dan
memori. Pada keadaan alamat yang aktif hanya PC, MAR, dan CON. Selama keadaan
alamat Ep dan Lm berbilai HIGH. Pada keadaan penambahan hanya Cp yang bernilai
HIGH. Pada keadaan memori hanya terdapat CE dan L1 yan bernilai HIGH.
6. Kesimpulan
Berdasarkan hasil praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :
 Program SAP1 adalah program yang terdiri dari RAM, IR, PC, dan MAR
 Program Siklus Pengambilan terdiri dari 3 keadaan yaitu keadaan T1 (alamat),
T2 (penambahan), dan T3 (memori) serta terdiri dari 4 operasi mikro yaitu
MAR, MBR, PC dan IR.

More Related Content

What's hot

Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksi
Ariev Kusuma
 

What's hot (20)

Shift register dan data direction
Shift register dan data directionShift register dan data direction
Shift register dan data direction
 
Bab 5 komputer sederhana sap-1
Bab 5   komputer sederhana sap-1Bab 5   komputer sederhana sap-1
Bab 5 komputer sederhana sap-1
 
Interupsi
InterupsiInterupsi
Interupsi
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Arsitektur mikroprosesor
Arsitektur mikroprosesorArsitektur mikroprosesor
Arsitektur mikroprosesor
 
Bab 4 aljabar boolean
Bab 4 aljabar booleanBab 4 aljabar boolean
Bab 4 aljabar boolean
 
Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi
 
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)
 
Context Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOContext Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBO
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputer
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksi
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Pert. 9 adder and substractor
Pert. 9 adder and substractorPert. 9 adder and substractor
Pert. 9 adder and substractor
 
Hardware. ppt
Hardware. pptHardware. ppt
Hardware. ppt
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Gerbang Universal NAND dan NOR
Gerbang Universal NAND dan NORGerbang Universal NAND dan NOR
Gerbang Universal NAND dan NOR
 

Similar to Siklus pengambilan (fetch cycle)

simple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptsimple-as-possible-computer-1.ppt
simple-as-possible-computer-1.ppt
widieyyaya
 

Similar to Siklus pengambilan (fetch cycle) (20)

Pemrograman SAP - 1
Pemrograman SAP - 1Pemrograman SAP - 1
Pemrograman SAP - 1
 
Control unit dan register output
Control unit dan register outputControl unit dan register output
Control unit dan register output
 
Siklus pelaksanaan (execution cycle)
Siklus pelaksanaan (execution cycle)Siklus pelaksanaan (execution cycle)
Siklus pelaksanaan (execution cycle)
 
Pemrograman sap 1
Pemrograman sap 1Pemrograman sap 1
Pemrograman sap 1
 
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
 
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...Tutorial membuat project termometer dan jam digital menggunakan codevision av...
Tutorial membuat project termometer dan jam digital menggunakan codevision av...
 
Register B dan Adder
Register B dan AdderRegister B dan Adder
Register B dan Adder
 
Modul praktikum instruksi dasar
Modul praktikum instruksi dasarModul praktikum instruksi dasar
Modul praktikum instruksi dasar
 
Pertemuan 9 orkom
Pertemuan 9 orkomPertemuan 9 orkom
Pertemuan 9 orkom
 
Resume komputer sap
Resume komputer sapResume komputer sap
Resume komputer sap
 
Mikrokontroler io tombol dan led
Mikrokontroler io tombol dan ledMikrokontroler io tombol dan led
Mikrokontroler io tombol dan led
 
Mikrokontroler pertemuan 5
Mikrokontroler pertemuan 5Mikrokontroler pertemuan 5
Mikrokontroler pertemuan 5
 
Alat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plcAlat penyortir botol minum berbasis plc
Alat penyortir botol minum berbasis plc
 
Tp.plc
Tp.plcTp.plc
Tp.plc
 
Motor Speed Control System
Motor Speed Control SystemMotor Speed Control System
Motor Speed Control System
 
Program counter, memory address register dan random access memory
Program counter, memory address register dan random access memoryProgram counter, memory address register dan random access memory
Program counter, memory address register dan random access memory
 
Program Counter, Memory Address Register dan Random Access Memory
Program Counter, Memory Address Register dan Random Access MemoryProgram Counter, Memory Address Register dan Random Access Memory
Program Counter, Memory Address Register dan Random Access Memory
 
Sap 2
Sap 2Sap 2
Sap 2
 
Slide 7-Pembangkit kode dan kode antara New.pptx
Slide 7-Pembangkit kode dan kode antara New.pptxSlide 7-Pembangkit kode dan kode antara New.pptx
Slide 7-Pembangkit kode dan kode antara New.pptx
 

More from Lusiana Diyan

Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan BisnisKemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Kemampuan Berkomunikasi 6 - Menyelesaikan Pesan Bisnis
Lusiana 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

ESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptx
ESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptxESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptx
ESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptx
adnijayautama
 
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953
 
Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...
Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...
Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...
Jual Obat Aborsi Denpasar ( Asli Ampuh No.1 ) 082223109953
 
Obat Aborsi jakarta WA 082223109953 Jual Obat Aborsi Cytotec Asli Di jakarta
Obat Aborsi jakarta WA 082223109953  Jual Obat Aborsi Cytotec Asli Di jakartaObat Aborsi jakarta WA 082223109953  Jual Obat Aborsi Cytotec Asli Di jakarta
Obat Aborsi jakarta WA 082223109953 Jual Obat Aborsi Cytotec Asli Di jakarta
Obat Aborsi jakarta WA 082223109953 Cytotec Asli Di jakarta
 
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
ssupi412
 
Petunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptx
Petunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptxPetunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptx
Petunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptx
pkmcipakudrive
 
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufakturBahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
AhmadAffandi36
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
yoodika046
 
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai Penuh
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai PenuhObat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai Penuh
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai Penuh
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli
 
Electrostatic Precipitator handbook manual
Electrostatic Precipitator handbook manualElectrostatic Precipitator handbook manual
Electrostatic Precipitator handbook manual
dendranov19
 
obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...
obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...
obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...
obat aborsi Pangkal pinang 082223109953 Jual obat aborsi
 

Recently uploaded (16)

ESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptx
ESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptxESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptx
ESTIMASI BIAYA PEMELIHARAAN BANGUNAN BERDASARKAN PEDOMAN PEMELIHARAAN DAN.pptx
 
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...
Jual Obat Aborsi Batam ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik Jual Ob...
 
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptxPPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
PPT PELAKSANA LAPANGAN PERPIPAAN MADYA - IWAN SYAHRONI.pptx
 
Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...
Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...
Jual Obat Aborsi Denpasar Bali ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik...
 
Obat Aborsi jakarta WA 082223109953 Jual Obat Aborsi Cytotec Asli Di jakarta
Obat Aborsi jakarta WA 082223109953  Jual Obat Aborsi Cytotec Asli Di jakartaObat Aborsi jakarta WA 082223109953  Jual Obat Aborsi Cytotec Asli Di jakarta
Obat Aborsi jakarta WA 082223109953 Jual Obat Aborsi Cytotec Asli Di jakarta
 
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Batam Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
 
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdfGambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
Gambar Rencana TOYOMARTO KETINDAN Malang jawa timur.pdf
 
K3 INSTALASI PENYALUR PETIR PERMEN 31 TH 2015
K3 INSTALASI PENYALUR PETIR PERMEN 31 TH 2015K3 INSTALASI PENYALUR PETIR PERMEN 31 TH 2015
K3 INSTALASI PENYALUR PETIR PERMEN 31 TH 2015
 
Petunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptx
Petunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptxPetunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptx
Petunjuk teknis Pengisian Usulan Alat Kesehatan SOPHI.pptx
 
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufakturBahan kuliah elemen mesin semester 2 rekayasa manufaktur
Bahan kuliah elemen mesin semester 2 rekayasa manufaktur
 
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptxPresentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
Presentation Bisnis Teknologi Modern Biru & Ungu_20240429_074226_0000.pptx
 
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai Penuh
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai PenuhObat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai Penuh
Obat Aborsi Sungai Penuh 082223109953 Jual Cytotec Asli Di Sungai Penuh
 
Makalah pptMOTOR LISTRIK DAN MOTOR AC.pptx
Makalah pptMOTOR LISTRIK DAN MOTOR AC.pptxMakalah pptMOTOR LISTRIK DAN MOTOR AC.pptx
Makalah pptMOTOR LISTRIK DAN MOTOR AC.pptx
 
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman MadyaPelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
Pelaksana Lapangan Pekerjaan Bangun air Limbah Permukiman Madya
 
Electrostatic Precipitator handbook manual
Electrostatic Precipitator handbook manualElectrostatic Precipitator handbook manual
Electrostatic Precipitator handbook manual
 
obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...
obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...
obat aborsi Pangkal pinang Wa 082223109953 Jual obat aborsi Cytotec asli Di P...
 

Siklus pengambilan (fetch cycle)

  • 1. Praktikum 8 Siklus Pengambilan (Fetch 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 pengambilan b. Mahasiswa dapat menjelaskan dan membuat program keadaan alamat c. Mahasiswa dapat menjelaskan dan membuat program keadaan penembahan d. Mahasiswa dapat menjelaskan dan membuat program keadaan memori 2. Dasar Teori 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 (timming 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. Gambar 2a melukiskan simbol pencacah lingkar dengan keluaran. 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 2 Pencacah Lingkar (a) simbol (b) Diagram Pewaktuan
  • 3. Kemudian pencacah lingkar direset menjadi 000001, dan siklus yang sama akan berulang. Setiap kata lingkar merepresentasikan satu keadaan T Gambar 2b memperlihatkan pulsa-pulsa pewaktuan yang dikeluarkan oleh pencacah lingkar. 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. A. 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 3A memperlihatkan bagian-bagian komputer yang aktif selama keadaan T1 (bagian aktif digambarkan terang, dan bagian tidak aktif gelap). Gambar 3 Siklus Pengambilan (a) Keadaan T1 (b) Keadaan T2 (c) Keadaan T3 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 seperti dibawah ini. CON = Cp Ep LM CE L1 E 1 LA EA Su Eu LB Lo = 0 1 0 1 1 1 0 0 0 0 1 1
  • 4. B. Keadaan Penambahan Gambar 3b memperlihatkan bagian-bagian aktif dari SAP-1 selama keadaan T2. Keadaan ini disebut keadaan penambahan (increment state) karena hitungan pada pencacah program ditingkatkan (ditambah) selama periode ini. Selama keadaan penambahan bagian pengendali-pengurut menghasilkan sebuah kata-kendali berbentuk : CON = Cp Ep LM CE L1 E 1 LA EA Su Eu LB Lo = 1 0 1 1 1 1 1 0 0 0 1 1 Terlihat disini bahwa CP adalah bit yang aktif C. Keadaan Memori Keadaan T3 disebut keadaan memori (memory state) karena instruksi pada RAM dengan alamat yang ditunjuk dipindahkan dari memori ke register instruksi. Gambar 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 LM CE L1 E 1 LA EA Su Eu LB Lo = 0 0 1 0 0 1 1 0 0 0 1 1 D. Siklus Pengambilan Keadaan-keadaan alamat, penambahan, dan memori disebut siklus pengambilan/ penjemputan (Fetch cycle) dari SAP-1. Selama keadaan alamat, EP dan LM aktif ini berarti pencacah program mengaktifkan MAR melalui bus W. Dalam gambar 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 CE dan L1 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.
  • 5. 3. Percobaan Membuat program siklus pengambilan a. Membuat proyek SAP1-a top modul, program ini menggabungkan sub program PC, MAR, RAM dan IR. b. Buatlah proyek baru dengan nama SAP1-a. c. Tambahkan program PC, MAR, RAM dan IR. d. Tambahkan Source program baru dan beri nama SAP1_a e. Tuliskan program SAP1_a seperti skrip dibawah ini. library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SAP1_a is
  • 6. 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; wBus : out STD_LOGIC_VECTOR (7 downto 0); IRtoCU : out STD_LOGIC_VECTOR (3 downto 0) ); end SAP1_a; architecture Behavioral of SAP1_a 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; signal sig_bus : STD_LOGIC_VECTOR (7 downto 0):=x"00"; signal sig_MARtoRAM : STD_LOGIC_VECTOR (3 downto 0):=x"0"; 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 );
  • 7. u4: IR port map( CLK => CLK, CLR => CLR, nLi => nLi, nEi => nEi, inIR => sig_bus, outIRlow => sig_bus(3 downto 0), outIRhigh => IRtoCU ); wBus <= sig_bus; end Behavioral; f. Atur agar SAP1_a menjadi top module. g. Lakukan Systhesize-XST dan pastikan tidak ada error. h. Tambahkan program untuk simulasinya, beri nama file SAP1_a_tb
  • 8. i. Tuliskan progran SAP1_a_tb, seperti pada skrip dibawah ini. LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY SAP1_a_tb IS END SAP1_a_tb; ARCHITECTURE behavior OF SAP1_a_tb IS COMPONENT SAP1_a 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; wBus : OUT std_logic_vector(7 downto 0); IRtoCU : OUT std_logic_vector(3 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'; --Outputs signal wBus : std_logic_vector(7 downto 0):=x"00"; signal IRtoCU : std_logic_vector(3 downto 0):=x"0"; -- Clock period definitions constant clk_period : time := 10 ns;
  • 9. BEGIN -- Instantiate the Unit Under Test (UUT) uut: SAP1_a PORT MAP ( clk => clk, clr => clr, Cp => Cp, Ep => Ep, nLm => nLm, nCe => nCe, nLi => nLi, nEi => nEi, wBus => wBus, IRtoCU => IRtoCU ); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin clr <= '1'; wait for clk_period; clr <= '0'; --wait for clk_period; -- T1 Cp <= '0'; Ep <= '1'; nLm <= '0'; nCe <= '1'; nLi <= '1'; nEi <= '1'; wait for CLK_period; -- T2 Cp <= '1'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; wait for CLK_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; nLi <= '0'; nEi <= '1'; wait for clk_period*3; end process; END; j. Tampilkan hasil timing diagramnya. Seperti pada gambar dibawah ini.
  • 10. 4. Latihan a. Buatlah program keadaan alamat pada siklus pengambilan LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY SAP1_a_tb IS END SAP1_a_tb; ARCHITECTURE behavior OF SAP1_a_tb IS COMPONENT SAP1_a 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; wBus : OUT std_logic_vector(7 downto 0); IRtoCU : OUT std_logic_vector(3 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'; --Outputs signal wBus : std_logic_vector(7 downto 0):=x"00"; signal IRtoCU : std_logic_vector(3 downto 0):=x"0"; -- Clock period definitions
  • 11. constant clk_period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: SAP1_a PORT MAP ( clk => clk, clr => clr, Cp => Cp, Ep => Ep, nLm => nLm, nCe => nCe, nLi => nLi, nEi => nEi, wBus => wBus, IRtoCU => IRtoCU ); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin clr <= '1'; wait for clk_period; clr <= '0'; --wait for clk_period; -- T1 Cp <= '0'; Ep <= '1'; nLm <= '0'; nCe <= '1'; nLi <= '1'; nEi <= '1'; wait for CLK_period; end process; END;
  • 12. b. Buatlah program keadaan penambahan pada siklus pengambilan LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY SAP1_a_tb IS END SAP1_a_tb; ARCHITECTURE behavior OF SAP1_a_tb IS COMPONENT SAP1_a 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; wBus : OUT std_logic_vector(7 downto 0); IRtoCU : OUT std_logic_vector(3 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'; --Outputs signal wBus : std_logic_vector(7 downto 0):=x"00"; signal IRtoCU : std_logic_vector(3 downto 0):=x"0"; -- Clock period definitions constant clk_period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: SAP1_a PORT MAP ( clk => clk, clr => clr, Cp => Cp, Ep => Ep, nLm => nLm, nCe => nCe, nLi => nLi, nEi => nEi, wBus => wBus, IRtoCU => IRtoCU ); -- Clock process definitions clk_process :process begin
  • 13. clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin clr <= '1'; wait for clk_period; clr <= '0'; --wait for clk_period; -- T2 Cp <= '1'; Ep <= '0'; nLm <= '1'; nCe <= '1'; nLi <= '1'; nEi <= '1'; wait for CLK_period; end process; END; c. Buatlah program keadaan memori pada siklus pengambilan LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY SAP1_a_tb IS END SAP1_a_tb; ARCHITECTURE behavior OF SAP1_a_tb IS COMPONENT SAP1_a 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;
  • 14. nEi : IN std_logic; wBus : OUT std_logic_vector(7 downto 0); IRtoCU : OUT std_logic_vector(3 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'; --Outputs signal wBus : std_logic_vector(7 downto 0):=x"00"; signal IRtoCU : std_logic_vector(3 downto 0):=x"0"; -- Clock period definitions constant clk_period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: SAP1_a PORT MAP ( clk => clk, clr => clr, Cp => Cp, Ep => Ep, nLm => nLm, nCe => nCe, nLi => nLi, nEi => nEi, wBus => wBus, IRtoCU => IRtoCU ); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin clr <= '1'; wait for clk_period; clr <= '0'; --wait for clk_period; -- T3 Cp <= '0'; Ep <= '0'; nLm <= '1'; nCe <= '0'; nLi <= '0'; nEi <= '1'; end process; END;
  • 15. 5. Analisa Fetch Cycle adalah siklus pengambilan data ke memori atau register. Aliran data siklus pengambilan (Fetch Cycle) berdasarkan urutan kejadian selama siklus interuksi tergantung pada rangan CPU. Sebuah CPU yang menggunakan register memori alamat (MAR), Register memori buffer (MBR), pencacah program (PC) dan register instruksi(IR). Proses pada siklus pengambilan (Fetch Cycle), instruksi dibaca dari memori. Selanjutnya, PC berisi alamat instruksi berikutnya yang akan diambil. Alamat ini dipindahkan di MAR(Memory Address Register) dan ditaruh di bus alamat. Kemudian Control Unit meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR (Memory Buffer Register), kemudian dipindahkan ke IR (Instruction Regiter). PC (Program Counter) naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya. Siklus selesai, CU memeriksa isi IR (Instruction Register) untuk menentukan apakah IR (Instruction Register) berisi Operand Specifier yang menggunakan pengalamatan tak langsung (Indirect). Dengan demikian siklus Fetch sederhana sebenarnya terdiri atas 3 langkah dan 4 operasi mikro. Secara simbolik dapat ditulis sebagai berikut: T1 : MAR  (PC) T2 : MBR  (MEMORY) PC  (PC)+1 T3 : IR  (MBR) Dimana T1, T2, dan T3 merupakan unit waktu yang berdurasi sama dan berurutan.
  • 16. Pada praktikum ini yaitu membuat program siklus pengambilan SAP1. Dalam program ini menggunakan beberapa program lainnya seperti RAM, MAR (Memory Address Register ), IR (Instruction Register), dan PC (Program Counter) untuk membangun sebuah program SAP1. SAP1 adalah sebagai top modul. Program Siklus Pengambilan terdiri dari 3 keadaan yaitu alamat, penambahan, dan memori. Pada keadaan alamat yang aktif hanya PC, MAR, dan CON. Selama keadaan alamat Ep dan Lm berbilai HIGH. Pada keadaan penambahan hanya Cp yang bernilai HIGH. Pada keadaan memori hanya terdapat CE dan L1 yan bernilai HIGH. 6. Kesimpulan Berdasarkan hasil praktikum dan analisa dapat ditarik kesimpulan sebagai berikut :  Program SAP1 adalah program yang terdiri dari RAM, IR, PC, dan MAR  Program Siklus Pengambilan terdiri dari 3 keadaan yaitu keadaan T1 (alamat), T2 (penambahan), dan T3 (memori) serta terdiri dari 4 operasi mikro yaitu MAR, MBR, PC dan IR.