pertemuan 3 stack dan queu

Click here to load reader

Post on 22-May-2015

710 views

Category:

Technology

6 download

Embed Size (px)

TRANSCRIPT

  • 1. STACK DAN QUEU BY: JUMIATI092904035Pendidikan Teknik Informatika & Komputer Pendidikan Teknik ElektroUniversitas Negeri MakassarPowerpoint TemplatesPage 1

2. STACK FRAME Sekarang amatilah bagaimana stack digunakan dalam contoh padaGambar 2.26. Selama eksekusi subroutine, enam lokasi pada puncakstack berisi entri yang diperlukan oleh subroutine tersebut. Lokasi inimerupakan ruang kerja privat untuk subroutine, dibuat pada saatsubroutine dimasuki dan dikosongkan pada saat subroutinemengembalikan kontrol ke calling program. Ruang semacam itudisebut stack frame. Jika subroutine memerlukan lebih banyak ruanguntuk variabel mernori lokal, maka dapat juga dialokasikan pada stack.Powerpoint TemplatesPage 2 3. Powerpoint Templates Page 3 4. SUBROUTINE Pada suatu program, seringkali perlu untuk melakukan subtask tertentuberulangkali pada nilai data yang berbeda. Subtask semacam itu biasanyadisebut subroutine. Misalnya, suatu subroutine dapat mengevaluasi fungsisinus atau mensortir suatu list nilai menjadi urutan meningkat ataumenurun. Instruksi Call hanyalah instruksi branch khusus yang melakukanoperasi berikut: Menyimpan isi PC dalam link register Branch ke alamat target yang ditetapkan oleh instruksi Instruksi Return adalah instruksi branch khusus yang melakukan operasiberikut: Branch ke alamat yang terdapat dalam link register. Powerpoint TemplatesPage 4 5. SUBROUTINE NESTING DAN STACKPROSESORPraktek pemrograman umum, yang disebut subroutine nesting, adalahmenggunakan satu sub routine untuk memanggil subroutine lain. Dalamhat ini, return address call yang kedua juga disimpan dalam link register,menghancurkan isi sebelumnya.Powerpoint Templates Page 5 6. PARAMETER PASSING Pada saat calling suatu subroutine, suatu program harus menyediakanparameter ke subroutine, yaitu operand atau alamatnya, yang akandigunakan dalam komputasi. Selanjutnya, subroutine mengembalikanparameter lain, dalam hal ini, hasil komputasi tersebut. Pertukaraninformasi antara calling program dan subroutine disebut sebagaiparameter passing. Parameter passing dapat dilakukan dengan beberapacara. Parameter tersebut dapat ditempatkan dalam register atau dalamlokasi memori, sehingga dapat diakses oleh subroutine. Atau alternatiflainnya, parameter tersebut dapat ditempatkan pada stack prosesor yangdigunakan untuk menyimpan return address Powerpoint Templates Page 6 7. Powerpoint Templates Page 7 8. Powerpoint Templates Page 8 9. Powerpoint Templates Page 9 10. Powerpoint Templates Page 10 11. INSTRUKSI TAMBAHAN Sejauh ini kita telah memperkenalkan instruksi berikut:Move, Load, Store, Clear, Add, Subtract, Increment, Decrement, Branch, Testbit, Compare, Call, dan Return. 13 Instruksi ini, bersama denganmode pengalamatan dalam Tabel 2.1, telah memungkinkan kita untukmenuliskan routine untuk mengilustrasikan operasi memory-mappedI/O dasar.Powerpoint TemplatesPage 11 12. a. INSTRUKSI LOGIKAOperasi logika,seperti AND, OR, dan NOT yang diterapkan pada bitindividu, adalah blok bangunan dasar dari sirkuit digital, sebagaimanadideskripsikan dalam Apendiks A. Juga akan menggunakan instruksiyang menerapkan operasi ini ke semua bit word atau byte secaramandiri dan paralel.b. INSTRUKSI SHIF DAN ROTATETerdapat banyak aplikasi yang meminta bit suatu operand di-shiftsejumlah posisi bit tertentu ke kanan atau kiri. Detil bagaimana shifttersebut dilakukan tergantung pada apakah operand tersebut adalahbilangan bertanda atau beberapa informasi binary-code yang lebihumum. Powerpoint Templates Page 12 13. b. INSTRUKSI SHIF DAN ROTATETerdapat banyak aplikasi yang meminta bit suatu operand di-shift sejumlahposisi bit tertentu ke kanan atau kiri. Detil bagaimana shift tersebut dilakukantergantung pada apakah operand tersebut adalah bilangan bertanda ataubeberapa informasi binary-code yang lebih umum. Powerpoint TemplatesPage 13 14. SHIFT ARITMATIKASuatu studi tentang representasi bilangan biner 2s-complement pada Gambar2.1 menyatakan bahwa pergeseran posisi bit nomor satu ke kiri setara denganmengalikannya dengan 2; dan menggesernya ke kanan setara denganmembaginya dengan 2.OPERASI ROTASIPada operasi pergeseran, bit yang bergeser di luar operand hilang, kecualibit terakhir yang digeser akan disimpan dalam flag Carry C. Powerpoint Templates Page 14 15. PROGRAM BYTE-SORTINGProgram byte-sorting menggunakan penyortiran straight-selection. Program bahasa-C untuk sortingFor(j=n - 1 ; j > 0 ; j = j 1) {for (k = j 1; k >= 0 ; k = k 1) {if (LIST [k] > LIST [j] { TEMP = LIST [k];LIST[k] = LIST [j]; LIST[j] = TEMP;} } } Powerpoint Templates Page 15 16. LINKED LIST Banyak program aplikasi nonnumerik mensyaratkan bahwa listinformasi yang berurutan direpresentasikan dan disimpandengan suatu cara srhingga mudah untuk menambahkan item kelist tersebut atau untuk menhapus item dari list pada posisiapapun dengan tetap menjaga urutan item yang diinginkanPowerpoint Templates Page 16 17. ENCODING INSTRUKSI MESIN Kita telah memperhatikan instruksi yang menjalankan operasisepertipenambahan, pengurangan, pemindahan, pergeseran, rotasi, dan branch. Instruksi ini dapat menggunkana operand denganukuran yang berbeda, seperti 32-bit dan 8-bit bilangan ataukarakter 8-bit ASCII-encoded. Tipe operasi yang dilakukan dantipe operand yang digunakan dapat ditentukan menggunakanpola biner ter-encode yang disebut sebagai OP code untukinstruksi tertentu.Powerpoint TemplatesPage 17 18. Sekian dan terima kasih Powerpoint TemplatesPage 18