1.1. Tujuan
1. Praktikan dapat merancang prosesor dari bahasa assembly ke bahasa mesin
2. Praktikan dapat mengimplementasikan prosesor dengan Verilog (IF& ID part)
Dalam memproses sebuah data bisa dilakukan dengan waktu prosesnya cepat
atau lambat itu tergantung pada kecepatan prosesor tersebut. Satuan kecepatan
dalam prosesor ialah Mhz (Mega Heartz) / Ghz (Giga Heartz), semakin besar
kecepatan sebuah prosesor, maka semakin cepat pula kinerja komputer saat
sedang melakukan proses.
• Memory Instruksi
Menyimpan Instruksi yang akan di eksekusi. Inputnya alamat yang tadi
disimpan dalam PC sebanyak 32 bit. Keluarannya instruksi sepanjang 32 bit juga.
• Memory data
Menyimpan data hasil pemrosesan ALU. Masukkannya berupa alamat
yang akan dipakai untuk menyimpan data (32 bit) dan data yang akan disimpan
(32 bit). Keluarannya data 32 bit. Ada 2 macam memory data : memory read
untuk membaca data dan memory write untuk menyimpan data, yang
pemakaiannya diatur oleh control unit.
• Register
Menyimpan data yang akan diproses oleh ALU dan menyimpan data hasil
perhitungan. Setiap register mempunyai nama, nomor, dan fungsinya masing-
masing. Banyaknya 32 buah dengan masing-masing panjangnya 32 bit. Diakses
berdasarkan nomornya. Namun pada pemrograman, akses berdasarkan nama
registernya.
b. Komponen pendukung
• Shifter
penggeser bit, 2 kali ke kiri (shift left 2) atau mengalikan
dengan 4.
• Adder
penjumlah 2 buah inputan n bit dan menghasilkan sebuah
keluaran bit. Di MIPS ada 2 buah adder.
• Multiplexer
selector dari 2 buah input yang tersedia untuk di alirkan
ke output.
• Sign extend
Mengubah data 16 bit menjadi 32 bit dengan menambah
0 sebanyak 16 bit di awal.
A A
D D
D D
P Memori DRegister # Memori
ala instr
A
Ala
data A
TRegister #
C REGISTER
instruksi L
mat uksi ARegister # ma
t U
Dat
Organisasi Unit – Unit Fungsional MIPS yang di sederhanakan
a
Gambar diatas menunjukkan sebagian besar aliran data ke prosesor, hal itu
menhilangkan duaaspek penting dari pelaksanaan instruksi:
• Pertama, di beberapa tempat di gambar 1 menunjukan data yang berbeda.
• Penghilangan kedua pada gambar 1 adalah bahwa beberapa unti harus
dikendalikan yang tergantung pada jenis instruksi.
Fungsi utama prosesor adalah melakukan operasi aritmatika dan logika
terhadap data yang diambil dari memori atau dari informasi yang dimasukkan
melalui beberapa perangkat keras[1]. Instruksi - intruksi dijalankan dalam
bentuk siklus oleh prosesor. Siklus ini berulang terus-menerus selama program
yang dijalankan oleh prosesor tetap berjalan. Siklus ini pada umumnya terdiri dari
4 tahap proses, yaitu fetch, decode, execute dan write back.
BAB II
PROSEDUR KERJA
2.2. Cara Kerja (Kalimat dipasifkan dan gambar dibuat sesuai dengan yang ada
dimodul serta menampilkan langkah kerja masing-masing praktikan)
a. Merancang bahasa mesin
Contoh: Prosesor akan digunakan untuk melakukan perhitungan
berikut
D = (5+2)-(3+1)
Dengan bahasa assembly program di atas dapat dibuat sebagai berikut
addi R0,2. R0 = 2
addi R0,5. R0 = R0+5 (5+2)
addi R1,3. R1 = 3
addi R1,1. R1 = R1 + 1 (1+3)
sub R0,R1. R0 = R0(5+2)-R1(1+3)
Dari bahasa assembly di atas maka dapat dibuat bahasa mesin berdasarkan
tabel 1 sebagai berikut:
100000010
100000101
100001011
100001001
001000001
Pada percobaan pertama yaitu Pada praktikum kali ini yaitu melakukan
percobaan pada implementasi prosesor sederhana. Dengan program yang
dirancang yaitu X = (3+4+2) – (6+1) pertama kita merubahnya ke dalam bahasa
assembly terlebih dahulu.
addi R0,3. R0 = 3
addi R1,6. R1 = 6
Dimana 3 bit pertama merupakan opcode, untuk 3 bit yang ditengah yaitu
register A dan 3 bit terakhir adalah register B. 3 bit pertama dengan 100
dimaksudkan dengan add tipe immediate yaitu penjumlahan dengan tipe
immediate. 3 bit pertama dengan 001 dimaksudkan pada sub tipe register yaitu
pengurangan dengan tipe register. Kemudian untuk 3 bit yang ditengah dengan
000 itu dimaksudkan dengan add tipe register yaitu penjumlahan dengan tipe
register. Kemudian untuk 3 bit register akhir itu dimaksudkan dengan biner dari
angka yang akan dijumlahkan atau dikurangkan.
Pada percobaan kedua yaitu implementasi prosesor dengan Verilog, dilihat
pada modul praktikum, memori instruksi dan instruksi dekoder seperti yang
terlihat pada gambar di bawah ini :
Disini input yang digunakan yaitu clk dan rst. Kemudian terdapat 6 buah
wire diantranya addrPC 8 bit, dataRAM 9 bit, dan lainnya 3 bit yaitu oppcode,
regAddrA, regAddrB, imm. AddrPC merupakan wire antara PC dengan RAM,
menjadi output pada PC dan inputan pada RAM. Kemudian dataRAM yaitu
penghubung RAM dengan instructionDecoder, dimana merupakan output pada
RAM dan input pada instructionDecoder. Untuk oppcode, regAddrA, regAddrB,
dan imm merupakan output akhir. Kemudian dibuat testbench yang digunakan
untuk menguji program top level yang sudah dibuat tadi dan diujikan pada
modelsim. Berikut diagram dari testbench.
Ketika diinputkan nilai clk dan rst, maka akan didapatkan keluaran pada
opcode, register A, register B dan Immediate. Dimana pada masing – masing
hasilnya akan menampilkan 3 bit.
BAB IV
PENUTUP
5.1 Kesimpulan
1. Prosesor sederhana dapat dengan mengimplementasikan program
counter, RAM, dan instruction decoder.
2. Prosesor memiliki lebar data 9 bit diantaranya 3 bit opcode, 3 bit register
A, dan 3 bit register B / immediate.
3. Didalam perintah bahasa mesin dapat diambil kesimpulan dari dimana
Fetch merupakan peristiwa pengambilan perintah dan data yang
diperlukan dan prosesnya mengambil atau membawa instruksi dari
memori utama ke CPU untuk menjalankan setiap perintah yang ada
didalam Bahasa mesin pada sebuah program.
4. Dalam sebuah pengolahaan data dapat di artikan Prosesor adalah
manajemen pengolahaan data dengan menggunakan perumusan yang
begitu kompleks dan begitu akurat. Pengelolaan data yang dilakukan
prosesor bakal dibantu dengan media penyimpanan sementara yang
disebut RAM. Untuk melakukan proses yang begitu cepat.
5.2 Saran
1. Sebaiknya praktikan memahami materi yang akan dipraktikumkan.
2. Sebaiknya praktikan tepat waktu dalam mengikuti praktikum.
3. Sebaiknya praktikan bertanya jika ada materi praktikum yang tidak
paham.
DAFTAR PUSTAKA
[1] Gray, Jan. 2000. Designing a Simple FPGA - Optimized RISC CPU and
System on a Chip. Gray Research LLC. Bellevue, WA.
[3] KC Chang. 2005. Digital Systems Design with VHDL and Synthesis: An
Integrated Approach. Wiley - IEEE Computer Society, England.
[4] Nurman, Dhita Bagus Ananda, dkk. 2015. Perancangan Dan Implementasi
Soft Processor Berdasarkan Arsitektur OpenRISC 1200 pada FPGA.
Bandung : Universitas Telkom.