SlideShare a Scribd company logo
1 of 207
Download to read offline
Sistem Terbenam Berasaskan Mikropemproses 68000

                                    Muhammad Mun’im Ahmad Zabidi
                                     Universiti Teknologi Malaysia

                                                January 29, 2009




If you found this book useful, donate to the Gaza fund
Kandungan

 1 Sistem Berasaskan Mikropemproses                                                                                                                                   1
   1.1 Sistem Berasaskan Mikropemproses              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    1
   1.2 Perkakasan . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    2
   1.3 Perisian . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    7
   1.4 Evolusi Mikropemproses . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    8
   1.5 Pemilihan Mikropemproses . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9

 2 Ciri Perisian 68000                                                                                                                                               11
   2.1 Famili 68k . . . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
   2.2 Model Pengaturcaraan . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
   2.3 Organisasi Ingatan . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
   2.4 Pengenalan kepada Set Suruhan 68000               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
   2.5 Beberapa Suruhan Asas . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
   2.6 Pengenalan kepada Mod Alamat . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
   2.7 Format Suruhan Mesin . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
   2.8 Latihan . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27

 3 Bahasa Himpunan                                                                                                                                                   29
   3.1 Pembangunan Perisian . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   29
   3.2 Perlaksanaan Aturcara . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33
   3.3 Format Penyata . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   34
   3.4 Ungkapan dalam Medan Kendalian .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
   3.5 Perintah Penghimpun . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37
   3.6 Penggunaan Simulator . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   39

 4 Mod Alamat                                                                                                                                                        47
   4.1 Mod Daftar Data Langsung . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   47
   4.2 Mod Daftar Alamat Langsung . . . . . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   49
   4.3 Alamat dan Daftar Alamat . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   49
   4.4 Mod Mutlak Panjang . . . . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   50
   4.5 Mod Mutlak Pendek . . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   51
   4.6 Mod Terdekat . . . . . . . . . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   53
   4.7 Mod Tersirat . . . . . . . . . . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
   4.8 Mod Daftar Alamat Tak Langsung . . . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
   4.9 Mod Pascatokok . . . . . . . . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
   4.10 Mod Prasusut . . . . . . . . . . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
   4.11 Mod Daftar Alamat Tak Langsung dengan Ofset .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   56
   4.12 Mod Daftar Alamat Tak Langsung dengan Indeks                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   57
   4.13 Mod PC Relatif dengan Ofset . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
   4.14 Mod PC Relatif dengan Indeks dan Ofset . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   59

                                                             i

If you found this book useful, donate to the Gaza fund
ii                                                                                                                                                      Kandungan


 5 Suruhan Olahan Data                                                                                                                                                   61
   5.1 Suruhan ADD dan SUB . . . . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   61
   5.2 Kesan ADD dan SUB Terhadap Bendera                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   62
   5.3 Suruhan Darab . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   65
   5.4 Suruhan Bahagi . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   67
   5.5 Mengolah Kendalian Berlainan Saiz . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   68
   5.6 Suruhan Logik . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   69
   5.7 Mengubah Bendera CCR . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   72
   5.8 Suruhan Anjak dan Putar . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   72
   5.9 Suruhan Olahan Bit . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   75
   5.10 Suruhan BCD . . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   76

 6 Kawalan Aturcara                                                                                                                                                      81
   6.1 Suruhan Lompat . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   81
   6.2 Suruhan Cabang Tanpa Syarat .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   82
   6.3 Suruhan Cabang Bersyarat . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   84
   6.4 Suruhan CMP, TST dan BTST .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   86
   6.5 Pemilihan Dua Turutan Suruhan             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   90
   6.6 Mengulang Turutan Suruhan . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   91
   6.7 Bentuk Gelung Alternatif . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   92

 7 Olahan Tatasusunan dan Rentetan                                                                                                                                        97
   7.1 Prinsip Tatasusunan . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    97
   7.2 Isu-Isu Dalam Olahan Tatasusunan              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   101
   7.3 Kajian Kes Olahan Tatasusunan .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   103
   7.4 Rentetan . . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   106
   7.5 Operasi Output Aksara . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   108
   7.6 Rutin TRAP dalam Easy68k . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   110
   7.7 Penggunaan Tatusunan Lanjutan .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   112

 8 Tindanan dan Subrutin                                                                                                                                                 115
   8.1 Tindanan . . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   115
   8.2 Prinsip Asas Subrutin . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   116
   8.3 Subrutin Bersarang . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   119
   8.4 Melindungi Isi Daftar . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   120
   8.5 Pengiriman Parameter . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   122
   8.6 Penggunaan Subrutin Yang Berkesan                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   126
   8.7 Kajian Kes Subrutin . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   127

 9 Ciri Perkakasan MC68000                                                                                                                                               131
   9.1 Pin dan Isyarat 68000 . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   131
   9.2 Isyarat Kawalan Bas Tak Segerak . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   133
   9.3 Isyarat Kawalan Sistem . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   134
   9.4 Kawalan Sampukan dan Status Pemproses                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   135
   9.5 Kawalan Periferal 6800 . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   138
   9.6 Isyarat Kawalan DMA . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   138
   9.7 Kitar Suruhan . . . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   140



If you found this book useful, donate to the Gaza fund
Kandungan                                                                                                                                                              iii


 10 Sistem Ingatan                                                                                                                                                     149
    10.1 Organisasi Ingatan . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   149
    10.2 Ingatan Baca Sahaja . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   150
    10.3 Ingatan Capaian Rawak . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   151
    10.4 Serpihan Ingatan Piawaian Industri        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   152
    10.5 Logik gam . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   155
    10.6 Logik Kawalan Ingatan . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   156
    10.7 Penyahkodan Alamat . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   158
    10.8 Litar Penjana DTACK* . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   161
    10.9 Penyahkodan Separa . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   163

 11 Pengantaramukaan Input/Output Asas                                                                                                                                 167
    11.1 Prinsip Input/Output . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   167
    11.2 Pengantaramukaan LED . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   171
    11.3 Pengantaramukaan Pamer 7 segmen . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   172
    11.4 Pengantaramukaan Suis . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   175
    11.5 Pengantaramukaan Papan Kekunci . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   179
    11.6 Input/Output Mudah dengan EASy68K                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   180

 12 Pengantaramukaan Selari - WIP                                                                    185
    12.1 Peranti PIA MC6821 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
    12.2 Input/Output dengan PIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

 13 Pengantaramukaan Selari - WIP                                                                                                                                      195
    13.1 Penghantaran Data Bersiri . . . . . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   195
    13.2 Peranti ACIA MC6850 . . . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   198
    13.3 Memulakan ACIA . . . . . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   201
    13.4 Menggunakan ACIA . . . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   203
    13.5 Serpihan Sokongan bagi Perhubungan Bersiri                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   205

 14 Kekecualian & Sampukan                                                                                                                                             209
    14.1 Mod Penyelia dan Pengguna . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   209
    14.2 Suruhan Kawalan Sistem . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   210
    14.3 Pemprosesan Kekecualian . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   212
    14.4 Kekecualian yang Disebabkan Perlaksanaan Aturcara                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   214
    14.5 Keadaan Ralat yang Menyebabkan Perangkap . . . .                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   218
    14.6 Reset dan Pememulaan Sistem . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   220
    14.7 Sampukan . . . . . . . . . . . . . . . . . . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   222
    14.8 Kitar Akuan Sampukan . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   223
    14.9 Sampukan Tervektor . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   223




If you found this book useful, donate to the Gaza fund
Bab 1

 Sistem Berasaskan Mikropemproses

 Objektif
     • Membandingkan ciri-ciri sistem terbenam dan sistem guna am

     • Menyenaraikan komponen utama sistem berasaskan mikropemproses

     • Menerangkan operasi dalaman mikropemproses

     • Menjelaskan evolusi mikropemproses


 Pengenalan
 Bab ini merupakan latar belakang kepada sistem berasaskan mikropemproses. Anda akan melihat
 aplikasi mikropemproses dan komponen-komponen dalamannya secara am. Anda akan melihat susunan
 dalaman komputer dan bagai-mana ia melaksanakan aturcara dalam ingatan. Anda akan juga melihat
 faktor-faktor yang perlu diketahui semasa memilih mikropemproses untuk sesuatu aplikasi. Akhir sekali,
 kita akan melihat evolusi mikropemproses hingga ke hari ini.


 1.1 Sistem Berasaskan Mikropemproses
 Teknologi mikropemproses telah membolehkan banyak peranti elektronik mempunyai kecerdikan dan
 memudahkan kehidupan manusia. Peralatan yang mengandungi mikropemproses boleh dikategorikan
 kepada komputer guna am dan sistem terbenam.

 Komputer Guna Am
 Apabila perkataan komputer disebut, selalunya kita akan memikirkan komputer guna am. Terdapat
 beberapa kategori utama komputer guna am:

 Komputer peribadi (PC1 ) — Apabila disebut perkataan “komputer”, bentuk yang paling pantas
     terlintas di fikiran mempunyai dua bentuk utama iaitu desktop dan laptop. Ia merupakan komputer
     guna am yang paling murah dan lazimnya menggunakan peranti papan kekunci dan tetikus untuk
     input, serta paparan dan pencetak untuk output.

 Pelayan — Pelayan2 merupakan sebarang komputer yang dipasang sepanjang masa untuk melayan
      permohonan dari pengguna. Pelayan adalah penggerak utama Internet, dengan menghidangkan
      apa saja maklumat yang diperlukan pengguna. Disebabkan pelayan perlu beroperasi tanpa henti
    1 personal   computer
    2 server



                                                         1

If you found this book useful, donate to the Gaza fund
2                                                         Bab 1. Sistem Berasaskan Mikropemproses


         berta-hun-tahun lamanya, ia dibina menggunakan perkakasan yang lebih berkualiti ber-banding
         komputer peribadi.
 Kerangka utama — Komputer kerangka utama3 adalah sejenis pelayan yang dibuat oleh syarikat IBM.
      Namanya merujuk kepada saiznya yang besar serta memerlukan bilik dengan penyejukan khusus.
      Dengan adanya Internet, fungsi kerangka utama tidak lagi sepenting dahulu kerana fungsinya
      boleh dilakukan oleh pelayan yang lebih murah.
 Superkomputer — Superkomputer ditakrifkan sebagai komputer yang terpantas semasa ia mula-mula
      diperkenalkan. Disebabkan teknologi komputer bergerak pantas, superkomputer hari ini akan
      menjadi komputer biasa pada hari esok. Superkomputer digunakan bagi pengiraan intensif
      seperti fizik kuantum, ramalan cuaca, permodelan molekul, simulasi (seperti simulasi pesawat
      dalam terowong udara dan simulasi senjata nuklear), dan sebagainya. Ia selalunya dijumpai di
      universiti-universiti utama, agensi ketenteraan dan makmal penyelidikan saintifik. Kebanyakan
      superkomputer hari ini dibina dengan beribu-ribu mikropemproses biasa yang digabungkan
      dengan penyambungan khusus. Versi kecil boleh dibina dengan empat pemproses ke atas dan
      ini dikenali sebagai gugusan komputer4 .
     Komputer guna am boleh melakukan pelbagai tugas menurut aturcara yang diisikan ke dalamnya
 dan peralatan yang disambungkan kepadanya. Untuk menggunakannya dengan efisien, komputer guna
 am memerlukan sistem pengoperasian. Dalam komputer peribadi, sistem pengoperasian yang kerap
 digunakan adalah Windows dan Mac OS X, manakala banyak pelayan menggunakan Linux atau Unix.

 Sistem Terbenam
 Sistem terbenam5 merupakan sistem komputer yang terkandung dalam satu peralatan. Umumnya, ia
 tidak kelihatan seperti komputer. Aplikasi sistem terbenam menggunakan lebih 98% daripada pengelu-
 aran mikropemproses baru sedangkan pengeluaran selebihnya barulah digunakan dalam komputer guna
 am. Berikut disenaraikan hanya segelintir sistem terbenam yang biasa kita temui:

                                   Telefon bimbit         Permainan video
                                   Kamera digital            Kad pintar
                                      Pencetak           Mesin tekanan darah
                                       Modem                Walkie-talkie
                              Ketuhar gelombang mikro     Pendingin hawa
                                 Sistem brek kereta         Radio kereta
                                Laser perangkap laju      TV litar tertutup


     Sistem terbenam direka untuk melakukan hanya satu fungsi berbanding komputer guna am yang
 boleh melakukan pelbagai fungsi. Jumlah sistem terbenam yang dikilang mencapai angka beberapa
 bilion setiap tahun. Sebagai jurutera, anda mungkin dikehendaki merekabentuk sistem terbenam,
 sedangkan anda hanya perlu membeli sebuah komputer peribadi. Jadual 1.1 meringkaskan perbezaan
 sistem terbenam dengan komputer kegunaan am.


 1.2 Perkakasan
 Sebarang sistem berasaskan mikropemproses terbahagi kepada dua aspek utama iaitu perkakasan6 dan
 perisian7 . Perkakasan adalah komponen-komponen yang boleh dilihat seperti papan litar, cip dan
     3 mainframe
     4 computer   cluster
     5 embedded    systems
     6 hardware
     7 software




If you found this book useful, donate to the Gaza fund
1.2. Perkakasan                                                                                       3

                       Jadual 1.1: Perbandingan komputer kegunaan am dan sistem terbenam


                  Kategori       Komputer Guna Am            Sistem Terbenam
                  Aplikasi       Boleh diubah oleh peng-     Tidak boleh, aplikasi telah dite-
                                 guna                        tapkan semasa rekabentuk
                  Antaramuka     Amnya mesti ada papan       Tidak tetap, ada kalanya mudah
                  pengguna       kekunci dan skrin           dengan beberapa butang dan
                                                             LED, ada kalanya sama
                                                             kompleks dengan komputer
                                                             guna am
                  Ciri penentu   Kelajuan dan                Lesapan kuasa, harga dan saiz
                                 keserasian perisian



 pendawaian. Perisian pula ialah aturcara yang terkandung dalam ingatan yang memboleh komputer
 berfungsi seperti yang dikehendaki. Perkakasan perlu dibina manakala perisian perlu ditulis.
     Perkakasan terdiri beberapa unsur standard iaitu pemproses, ingatan, dan peranti input/output (I/O).
 Spesifikasi pemproses paling penting adalah jenis dan kelajuannya seperti Freescale 68000 beroperasi
 pada 10 MHz. Spesifikasi ingatan terpenting ialah saiznya sama ada 32 kilobyte, 1 megabyte atau
 2 gigabyte. Peranti I/O merupakan komponen perkakasan yang dipilih bergantung aplikasi termasuk
 penukar analog/digital, penukar digital/analog, pengawal pemacu cakera, pemacu paparan video, dan
 sebagainya.

 Sistem Bas
 Struktur asas bagi sebuah sistem komputer asas ditunjukkan dalam Rajah 1.1. Kesemua komponen
 disambungkan melalui bas sistem iaitu sekelompok pengalir yang dikongsi oleh komponen-komponen
 dalam sistem. Bas sistem terbahagi kepada bas alamat, bas data dan bas kawalan. Fungsi terperinci
 ketiga-tiga bas ini akan diliputi kemudian.
      Pemproses atau unit pemprosesan pusat (CPU8 ) ialah jantung keseluruhan sistem. Ia mengawal
 keseluruhan operasi yang dilakukan oleh sistem. Pemproses melaksanakan aturcara yang tersimpan
 dalam ingatan.
      Ingatan berfungsi menyimpan aturcara dan data yang diperlukan oleh mikropemproses. Ingatan
 terbahagi kepada dua jenis: ingatan baca-sahaja (ROM9 ) dan ingatan capaian rawak (RAM10 ). ROM
 dikenali juga sebagai ingatan tidak meruap yang bermakna kandungannya kekal walaupun tanpa bekalan
 kuasa. RAM pula dikenali juga sebaga ingatan meruap yang mana kandungannya lenyap apabila bekalan
 kuasa diputuskan.
      Fungsi ROM dan RAM berbeza dalam komputer guna am dan sistem terbenam. Dalam komputer
 guna am, ROM mengandungi dua fungsi. Fungsi pertama ialah pengujian komponen-komponen kritikal
 semasa sistem mula-mula dihidupkan. Setelah lulus peringkat ini, ROM melaksanakan fungsi keduanya
 iaitu mengisikan sistem pengoperasian (seperti Windows atau Linux) ke dalam RAM. Setelah RAM
 diisikan dengan sistem pengoperasian, ROM sudah tidak diperlukan lagi sepanjang operasi normal
 sistem. Saiz RAM amat besar kerana ia perlu menempatkan sistem pengoperasian dan aplikasi.
 Pengguna boleh mengisikan sebarang aplikasi daripada cakera keras ke dalam RAM. Disebabkan
 maklumat dalam RAM lenyap apabila komputer ditutup, kesemua perisian ini perlu diisikan semula
 dari cakera keras setiap kali komputer mula-mula dipasang.
      Dalam sistem terbenam, fungsi ROM lebih penting kerana mengandungi keseluruhan aplikasi yang
    8 central
            processing unit
    9 read-onlymemory
   10 random access memory




If you found this book useful, donate to the Gaza fund
4                                                                 Bab 1. Sistem Berasaskan Mikropemproses


                                                                                        Bas Alamat

                                                                                        Bas Data

                                                                                        Bas Kawalan

                           CPU


                                        Ingatan       Ingatan
                                        Program                   Antaramuka     Antaramuka
                                                        Data
                                         (ROM)                       Selari        Bersiri
                                                       (RAM)




                             Rajah 1.1: Rajah blok suatu sistem berasaskan mikropemproses.



 menentukan fungsi peralatan. Disebabkan kandungan ROM tidak berubah, fungsi sistem akan kekal
 sepanjang hayat. RAM hanya diperlukan untuk menyimpan data yang perlu semasa operasi sistem.
 Segelintir sistem kecil boleh beroperasi tanpa RAM langsung.
      Peranti input/output (I/O) diperlukan bagi membolehkan komputer ber-hubung dengan dunia luar.
 Peranti I/O selari melibatkan operasi membaca suis, mengawal lampu dan memindahkan data dengan
 peranti selari seperti penukar D/A, penukar A/D atau pemacu cakera. Peranti I/O bersiri membolehkan
 perhubungan dengan komputer yang lebih besar atau dengan terminal operator. I/O bersiri agak lambat
 tetapi ia amat mudah: cuma dua dawai (untuk menghantar dan menerima data) dan dawai bumi
 diperlukan.
      Ada lagi komponen-komponen yang tidak ditunjukkan dalam Rajah 1.1 seperti litar pemasaan dan
 litar sampukan. Litar pemasaan mengawal kelajuan keseluruhan sistem dan biasanya terdiri daripada
 litar berasaskan pengayun hablur. Litar sampukan pula, jika ada, membolehkan pemproses mengawal
 banyak peranti input/output pada suatu masa.
      Dalam pembinaan sistem terbenam yang mudah, kesemua komponen uta-ma iaitu pemproses,
 ingatan dan peranti I/O boleh dikecilkan sehingga dapat dimuatkan dalam satu cip. Peranti ini dikenali
 sebagai mikropengawal11 atau komputer dalam satu cip. Bagi sesuatu famili mikropengawal, terdapat
 berbagai versi yang berbeza saiz ingatan dan jumlah peranti I/O walaupun menggunakan pemproses
 yang sama. Walaupun ia tidak berkeupayaan tinggi, ia banyak digunakan dalam sistem kecil kerana ia
 kecil, murah dan boleh beroperasi dengan kuasa bateri. Lazimnya ingatan dalam mikropengawal adalah
 terhad dan tidak boleh ditambah jadi jurutera pereka mesti mahir mengoptimumkan penggunaan ingatan.
 Konfigurasi peranti I/O juga tidak boleh dipinda maka sebelum membina sistem, jurutera pereka perlu
 memilih versi yang benar-benar sepadan dengan sistem yang hendak dikawal.
      Selain mikropemproses dan mikropengawal, sistem terbenam terdapat juga dalam bentuk sistem
 dalam cip (SoC12 ). Jika mikropengawal boleh dibeli di pasaran dengan mudah dan digunakan dalam
 pelbagai sistem, SoC direka khusus untuk sesuatu produk seperti telefon bimbit dan pemain MP3.
 Berbanding mikropengawal, ia jauh lebih kompleks kerana mempunyai peranti I/O maju seperti
 pengawal LCD grafik, antaramuka USB, pengawal kad SD, penyahkod audio MP3 dan seumpamanya.
 Kos untuk mereka SoC amat tinggi tetapi menjimatkan kos keseluruhan pembuatan sesuatu produk
 kerana dapat mengurangkan jumlah komponen dan saiz produk.


 Operasi Ingatan
 Ingatan boleh dianggap menyimpan maklumat berbentuk satu senarai panjang. Setiap unsur dalam
 senarai ini mempunyai alamat (lokasi) dan data (isi). Peranti ingatan mempunyai penyambungan kepada
 bas alamat, bas data dan input kawalan. Bas alamat, bersifat input, menentukan lokasi mana yang sedang
 dicapai. Jumlah talian alamat menentukan jumlah kedudukan yang terdapat dalam ingatan. Bagi bas
     11 microcontroller
     12   System-on-Chip




If you found this book useful, donate to the Gaza fund
1.2. Perkakasan                                                                                  5

                                                         Alamat             Data




                                           Alamat



                                               Data



                                 Isyarat     Baca
                                kawalan        Tulis




                                                   Rajah 1.2: Ingatan.



 alamat n bit, terdapat 2n alamat. Bas data, bersifat input dan output, memindahkan data masuk dan
 keluar ingatan. Jumlah bit yang boleh dicapai pada sesuatu masa ditentukan oleh jumlah talian data.
 Bas kawalan menentukan operasi yang akan dilakukan terhadap ingatan.
     Sebagai contoh, mikro-pemproses 6800 mempunyai bas alamat 16 bit dan bas data 8 bit. Oleh itu,
 saiz ingatannya ialah 216 = 65536 alamat dan setiap alamat mengandungi 8 bit (atau 1 byte). Bagi
 mikropemproses 68k, bas alamatnya bersaiz 24 bit jadi ia mempunyai 224 = 16777216 alamat. Setiap
 alamat menyimpan satu byte. Bagaimanapun, dua alamat bergandingan boleh dicapai serentak. Oleh itu
 bas datanya bersaiz 16 bit.
     Dua operasi boleh dilakukan terhadap ingatan: baca dan tulis. Operasi mana yang dilakukan
 ditentukan oleh isyarat BACA dan TULIS yang dihantar dari CPU ke ingatan sebagai sebahagian
 daripada bas kawalan. Dalam operasi baca, maklumat dipindahkan dari ingatan ke pemproses. Untuk
 operasi ini, alamat maklumat yang dikehendaki diberikan oleh pemproses kepada ingatan. Seterusnya,
 perintah BACA dikeluarkan. Apabila ingatan melihat kedua-dua maklumat ini, ia mengeluarkan data
 yang terletak di alamat yang dinyatakan ke bas data. Data ini akhirnya dibaca oleh CPU.
     Operasi tulis memindahkan data dari CPU ke dalam ingatan. Dalam operasi ini, bas data tidak
 menjadi output ingatan tetapi berfungsi sebagai input. Untuk menulis secebis data ke dalam ingatan,
 CPU memberikan alamat di mana data akan disimpan ke bas alamat. Seterusnya, data yang akan
 disimpan dikeluarkan ke bas data. Akhir sekali, perintah TULIS diberi. Apabila ingatan melihat
 kesemua maklumat ini, ia menyimpan data ke di alamat yang dinyatakan.




                        (a) Membaca ingatan.                             (b) Menulis ingatan.

                          Rajah 1.3: Dua operasi yang boleh dilakukan terhadap ingatan.



 Operasi Pemproses
 Bagi memahami operasi mikropemproses, kita akan melihat secara ringkas rekabentuk dalaman CPU.
 Setiap pemproses mengandungi tiga komponen asas:



If you found this book useful, donate to the Gaza fund
6                                                              Bab 1. Sistem Berasaskan Mikropemproses

                                            CPU


                                             Unit
                                           Kawalan                   Bas Alamat



                                            ALU                      Bas Data



                                                                     Bas Kawalan
                                            Daftar




                                        Rajah 1.4: Unit Pemprosesan Pusat.



          • Daftar13

          • Unit kawalan14

          • Unit aritmetik dan logik (ALU15 )

     Daftar mikropemproses menyimpan maklumat yang sedang digunakan. Terdapat daftar yang
 kelihatan kepada pengaturcara dan ada juga yang terlindung. Unit kawalan mengawal operasi
 mikropemproses dan seterusnya keseluruhan sistem. ALU pula digunakan untuk memproses data.
     CPU boleh dikelaskan menurut jumlah bit yang diproses serentak, yang bergantung kepada saiz
 ALU, daftar dan bas data. Saiz yang lebih lebar membolehkan data bersaiz besar diproses lebih pantas.
 Sebagai contoh, data sebesar 32 bit dipindahkah dalam hanya satu langkah dengan bas data 32 bit tetapi
 memerlukan 4 langkah dengan bas data 8 bit.
     Mikropemproses 68000 mempunyai daftar 32 bit tetapi saiz ALU dan bas datanya hanya 16 bit.
 Oleh kerana kedua-dua saiz data digunakan, 68000 dirujuk sebagai pemproses 16/32 bit. Sebagai
 perbandingan, saiz bas data, ALU dan daftar pemproses 68HC11 kesemuanya 8 bit.
     Kesemua pemproses berfungsi dengan melaksanakan suruhan yang dipungut dari ingatan. Masa
 perlaksanaan setiap suruhan dinamai kitar suruhan atau kitar pungut-laksana. Kitar suruhan terdiri
 daripada dua fasa utama:

          • Pungut16 — ambil suruhan dari ingatan

          • Laksana17 — tafsir dan laksana suruhan

      Semasa fasa pungut, pemproses mengambil satu suruhan dari ingatan. Untuk mencapai ke suruhan
 ini, alamat suruhan diisikan dahulu ke daftar yang dinamai pembilang aturcara (PC18 ). Pemproses
 membaca suruhan yang terkandung di alamat yang dinyatakan dalam PC. Suruhan ini kemudiannya
 diisi ke daftar suruhan (IR 19 ). IR lazimnya tidak termasuk dalam senarai daftar-daftar pemproses yang
 boleh dicapai secara langsung oleh pengaturcara.
      Semasa fasa laksana, pemproses mentafsir atau menentukan jenis suruhan yang terkandung dalam
 IR. Suruhan adalah suatu nombor perduaan yang difahami oleh unit kawalan. Kombinasi bit dalam
 suruhan menentukan apakah operasi yang perlu dilakukan serta kedudukan data yang diproses oleh
     13 register
     14 control    unit
     15 Arithmetic    and Logic Unit
     16 fetch
     17 execute
     18 program    counter
     19   instruction register




If you found this book useful, donate to the Gaza fund
1.3. Perisian                                                                                     7


 suruhan tersebut. Setelah suruhan ditafsirkan, barulah pemproses boleh melakukan tugas yang
 dikehendaki.
     Senarai semua jenis suruhan yang boleh dilakukan digelar set suruhan20 . Set suruhan sesuatu
 mikropemproses bergantung kepada keupayaan mikropemproses tersebut. Sebagai contoh, sebuah
 pemproses 32 bit lazimnya mempunyai suruhan darab dan ia boleh mendarab dengan pantas dan
 mudah. Sebaliknya, sistem 8 bit lazimnya tiada suruhan darab. Jika operasi darab diperlukan, ia
 terpaksa dilaksanakan dengan berpuluh-puluh suruhan dan memakan masa yang lebih lama. Setelah
 mikropemproses menamatkan satu kitar suruhan, ia akan memungut lalu melaksanakan suruhan
 seterusnya sehingga komputer dimatikan.


 1.3 Perisian
 Perisian adalah istilah am yang merangkumi satu atau banyak aturcara atau program yang dilaksanakan
 dalam komputer. Sesuatu aturcara terdiri daripada banyak suruhan. Aturcara boleh dianggap suatu
 gubahan muzik sedangkan suruhan adalah satu not yang keluar dari satu alat muzik. Untuk memainkan
 lagu yang menarik, kita perlu tahu mengeluarkan bunyi dengan not yang betul pada masa yang tepat.
 Dengan cara yang sama, kita perlu tahu kesan setiap suruhan dan mengatur suruhan-suruhan di dalam
 suatu aturcara.
     Dalam penulisan aturcara, mula-mula kita perlu mendapatkan algoritma atau konsep penyelesaian
 masalah. Seterusnya, algoritma perlu diterjemah menjadi suatu aturcara yang boleh difahami komputer.
 Inilah proses penulisan aturcara atau pengekodan21 , yang boleh dilakukan dalam pelbagai bahasa
 pengaturcaraan. Dalam sistem berasaskan mikropemproses, terdapat beberapa bahasa pengaturcaraan
 utama iaitu bahasa mesin, bahasa himpunan dan bahasa tahap tinggi.

 Bahasa Mesin
 Bahasa mesin22 ialah bahasa tabii komputer berbentuk kod perduaan. Ia mengawal operasi tahap rendah
 yang paling mudah atau primitif. Setiap operasi primitif tidak lebih daripada operasi memindahkan
 kelompok-kelompok bit dari satu tempat ke tempat lain dalam komputer, operasi asas aritmetik seperti
 tambah dan tolak, dan sebagainya.
     Pengguna boleh mengaturcara komputer dengan bahasa mesin secara mendapatkan kod perduaan
 bagi setiap suruhan kemudian mengisikan suruhan ke dalam ingatan secara manual.. Ia boleh dilakukan
 untuk mikropemproses mudah tetapi agak remeh untuk 68000. Bahasa ini tidak cekap kerana
 pengaturcaraannya lambat dan kesilapan terlalu mudah berlaku.

 Bahasa Himpunan
 Untuk memudahkan penulisan bahasa mesin, aturcara ditulis dalam bahasa himpunan23 . Suruhan-
 suruhan dalam bahasa himpunan berbentuk kod senang ingat atau mnemonik. Aturcara punca diterjemah
 ke bahasa mesin dengan penghimpun24 . Bahasa himpunan, sama seperti bahasa mesin, adalah khusus
 kepada setiap mikropemproses. Ini bermakna aturcara himpunan untuk sesuatu mikropemproses tidak
 difahami oleh mikropemproses lain.
     Apabila penghimpun menghasilkan bahasa mesin yang akan dilaksanakan di sistem dengan
 mikropemproses yang lain, ia dinamai penghimpun silang25 . Contohnya, penghimpun ASM68K
 menghimpun bahasa himpunan 68000 tetapi dilaksanakan komputer peribadi. Aturcara yang dihasilkan
   20 instruction   set
   21 coding
   22 machine  language
   23 assembly  language
   24 assembler
   25 cross assembler




If you found this book useful, donate to the Gaza fund
8                                                         Bab 1. Sistem Berasaskan Mikropemproses


 oleh penghimpun digelar juga kod objek26 . Selain menukar aturcara punca ke bentuk objek, penghimpun
 menghasilkan fail senarai27 . Fail senarai menunjukkan mnemonik, lokasi ingatan yang digunakan, dan
 nilai perenambelasan setara bagi setiap suruhan.
     Bahasa himpunan harus digunakan untuk membina sistem berasas mikropemproses yang optimum.
 Ini kerana aturcara bahasa himpunan padat, pantas dan berupaya mengawal setiap komponen perkakasan
 dalam sistem. Namun begitu, pereka tidak boleh mengabaikan bahasa mesin sama sekali jika ingin
 melakukan pengaturcaraan secara berkesan.


 Bahasa Tahap Tinggi
 Bahasa tahap tinggi membolehkan aturcara lebih mudah ditulis dan mudah dialihkan ke sebarang
 mikropemproses lain jika perlu. Bagaimanapun, kod objek yang dihasilkan oleh pengkompil bahasa
 tahap tinggi selalunya beroperasi dengan lebih perlahan dan saiz kod objek yang terhasil lebih besar
 berbanding kod objek yang dikeluarkan oleh penghimpun. Dua bahasa tahap tinggi yang popular dalam
 pembinaan sistem terbenam ialah C dan BASIC.
     C ialah bahasa yang amat popular kerana ia berupaya mengawal sumber-sumber perkakasan hampir
 sama seperti bahasa himpunan. Dengan penggunaan pengkompil, aturcara punca dalam C ditukar ke
 kod objek. Sesetengah pengkompil membolehkan suruhan bahasa himpunan diselitkan dalam aturcara
 C membolehkan kedua-dua bahasa digabungkan dalam satu aturcara.
     BASIC28 ialah bahasa tahap tinggi yang paling mudah dipelajari. Penyata-penyata aturcara punca
 diterjemah semasa perlaksanaan ke bahasa mesin menggunakan pentafsir. Ini menyebabkan aturcara
 BASIC beroperasi dengan amat perlahan. Terdapat juga pengkompil BASIC yang menghasilkan
 aturcara bahasa mesin terus daripada aturcara punca. Ini sedikit sebanyak mempercepatkan perlak-
 sanaannya.


 1.4 Evolusi Mikropemproses
 Mikropemproses yang pertama ialah Intel 4004 yang diperkenalkan pada tahun 1971. Ia merupakan
 peranti 4 bit yang asalnya direka untuk membina alat kira. Pada tahun berikutnya, Intel memperkenalkan
 peranti 8008 iaitu mikropemproses 8 bit yang pertama. Cip ini diikuti oleh 8080 dan 8085. Produk
 mikropemproses pertama dari Motorola ialah MC6800 pada tahun 1974. Cip ini juga merupakan peranti
 8 bit. Suatu cip yang rekabentuknya berasal daripada MC6800 ialah 6502 yang dibina oleh MOS
 Technology Corporation. Cip 6502 digunakan dalam Apple II, iaitu komputer peribadi yang pertama.
     Mikropemproses 16 bit pertama ialah 8086 yang dikeluarkan oleh Intel pada tahun 1978. Cip kedua
 dalam siri ini – 8088 – digunakan dalam IBM PC asal. Kedua-dua cip ini merupakan asas kepada
 peranti 80286, 80386, 80486, Pentium dan pemproses-pemproses lain yang berasaskan Pentium. Setiap
 cip merupakan pembaikan kepada cip sebelumnya dan membentuk siri yang dikenali sebagai x86. Siri
 x86 dikembangkan ke 32 bit bermula dengan pemproses 80386, dikenali sebagai siri IA-32 oleh Intel.
 Seterusnya siri x86 dikembangkan ke 64 bit bermula dengan AMD Opteron dan Intel Core sebagai siri
 AMD64 dan EM64T.
     Motorola memperkenalkan pemproses 68000 pada tahun 1979. Peranti ini mengasaskan mikropem-
 proses famili 68k yang termasuk 68000, 68008, 68010, 68020, 68030, 68040 dan 68060. Siri ini pada
 asalnya direka sebagai pemproses dalam komputer guna am terutamanya dalam komputer Apple, tetapi
 pada hari ini ia hanya dijumpai dalam sistem terbenam selepas tiada lagi perkembangan siri ini selepas
 tahun 1993. Dalam satu perkembangan berkaitan, bahagian firma Motorola yang mereka pemproses
 (Motorola Semiconductor Products Sector) dipisahkan dari syarikat induk pada 2004 membentuk firma
 Freescale. Pada hari ini, pemproses Motorola 68k lebih tepat lagi disebut Freescale 68k.
     26 objectcode
     27 listing
              file
     28 Beginner’s All-purpose Symbolic Instruction Code




If you found this book useful, donate to the Gaza fund
1.5. Pemilihan Mikropemproses                                                                      9


 1.5 Pemilihan Mikropemproses
 Boleh dikatakan semua komputer peribadi pada hari ini menggunakan siri x86, sama ada dibuat oleh
 syarikat Intel, AMD dan lain-lain. Siri x86 ada juga digunakan dalam sistem terbenam prestasi tinggi
 yang agak besar seperti robot.
      Dalam pembinaan sistem terbenam, pemilihan pemproses tidak condong kepada siri x86 sahaja
 kerana terdapat pelbagai faktor lain seperti penggunaan kuasa, saiz dan kos. Terdapat pelbagai jenis
 mikropemproses yang digunakan dalam sistem terbenam. Ini berbeza dengan komputer guna am yang
 pilihan pemprosesnya terhad. Beberapa faktor perlu dipertimbangkan semasa membanding dan memilih
 mikropemproses untuk sesuatu tugas.
      Jurutera pereka boleh memilih peranti yang sesuai dengan aplikasi dari mikropengawal 4 atau
 8 bit hinggalah ke pemproses penuh 32 dan 64 bit. Dari Freescale sahaja terdapat mikropengawal
 ColdFire, M*Core, PowerPC, 68HC11, 68HC05, 68HC08 dan beberapa lagi. Dari firma lain terdapat
 mikropengawal ARM, PIC, MSP430, Rabbit, AVR, TMS320, Nios, MicroBlaze dan berpuluh-puluh
 lagi.
      Satu kaedah yang paling mudah bagi membezakan kelajuan sistem ialah juta suruhan sesaat
 (MIPS29 ). Contohnya, mikropemproses 68000 boleh mencapai 0.6 MIPS pada kelajuan 8 MHz tetapi
 68040 boleh mencecah 40 MIPS. Unit MIPS boleh digunakan untuk membandingkan pemproses dari
 siri yang sama seperti dalam siri 68k atau dalam siri x86. Bagaimanapun, unit ini tidak begitu tepat
 bagi membanding pemproses dari siri yang berbeza contohnya satu pemproses dari siri 68k dengan satu
 pemproses lain dari siri x86.
      Saiz dan kuantiti data yang perlu diproses menentukan saiz mikropemproses yang diperlukan.
 Contohnya, suatu sistem pemain video dengan grafik tiga dimensi perlu melukis imej di kaca TV
 dengan sangat pantas dan ingatannya pula perlu mempunyai ingatan yang besar untuk menyimpan
 maklumat bagi setiap bintik yang dipaparkan. Aplikasi ini tidak mungkin dapat diselesaikan dengan
 mikropemproses 8 bit. Sebaliknya, sebuah sistem penggera mungkin mendapat input sejam sekali dan
 maklumat yang di bawah kawalannya hanya memerlukan beberapa puluh byte untuk disimpan. Dalam
 aplikasi ini, pemproses 8 bit lebih daripada mencukupi.
      Integrasi sistem menggambarkan keupayaan pengembangan sesuatu cip mikropemproses atau
 mikropengawal. Jika peranti input/output banyak tersedia dalam cip asas, peralatan tambahan tidak
 lagi diperlukan. Ini dapat mengecilkan saiz papan litar dan mengurangkan penggunaan kuasa.
 Bagaimanapun, terlalu banyak peranti yang tidak digunakan akan menambahkan kos pembuatan.
      Jika komputer yang direka hendak dikeluarkan dengan banyak, dan keuntungan ingin dimaksi-
 mumkan, kita perlu memilih komputer terkecil yang mampu melakukan tugas dikehendaki. Mikropem-
 proses 4 bit, misalnya, masih banyak digunakan untuk kerana kosnya yang amat rendah.
      Satu lagi faktor yang perlu dipertimbangkan dalam pembuatan dalam sistem berasas mikropem-
 proses ialah lesapan kuasa. Sistem yang jimat kuasa boleh bergantung hanya kepada bateri sebaliknya
 sistem yang kurang cekap kuasa mungkin memerlukan unit bekalan kuasa yang disambungkan kepada
 soket arus ulang-alik. Sudah tentulah sistem yang bergantung kepada bateri amat mudah dibawa ke
 mana-mana. Mikropemproses yang kurang cekap kuasa juga mungkin memerlukan kipas penyejukan.
 Faktor ini menyebabkan rekabentuk cesi peralatan perlu diubah dan kerapkali menjadi lebih besar dan
 kurang mudah alih.
      Masa ke pasaran ialah masa yang diperlukan untuk menyiapkan sesuatu rekabentuk. Ia bergantung
 kepada kemahiran perekabentuk dan kewujudan kelengkapan dan komponen yang diperlukan. Sesuatu
 mikropemproses mempunyai kos dan lesapan kuasa yang rendah serta keupayaan yang tinggi tidak
 semestinya dipilih jika tiada jurutera dalam sesuatu organisasi tersebut pernah menggunakannya. Perlu
 diingat, masa untuk mereka sistem yang kedua jauh lebih singkat berbanding dengan rekabentuk
 pertama. Kehadiran komponen perkakasan dan perisian yang diperlukan juga penting untuk menyiapkan
 sesuatu projek dalam masa yang singkat.


   29 million   instructions per second




If you found this book useful, donate to the Gaza fund
10                                                        Bab 1. Sistem Berasaskan Mikropemproses


 Latihan
      1. Komponen atau litar manakah yang bukan sebahagian
         daripada pemproses?

          (a) RAM
          (b) ALU
          (c) Daftar
          (d) Unit kawalan
          (e) Pembilang aturcara

      2. Pilih pernyataan yang paling sesuai bagi menerangkan mikropemproses.

          (a) Cip yang mengandungi hanya pemproses
          (b) Cip yang mengandungi kesemua komponen komputer
          (c) Kurang luwes (fleksible) dalam rekabentuk sistem berbanding mikropengawal
          (d) Memerlukan hanya satu cip untuk membina sistem yang lengkap
          (e) Biasanya kurang menggunakan kuasa berbanding mikropengawal

      3. Yang manakah antara yang berikut tidak mengandungi mikropemproses?

          (a) Pelayan
          (b) Ketuhar gelombang mikro
          (c) MyKad
          (d) PDA
          (e) Tukul

      4. ROM bermakna

          (a) Run Once Memory
          (b) Residual Oxidation Memory
          (c) Reprogrammable Once Memory
          (d) Read-Only Memory
          (e) Random Oscillator Modulation

      5. Berikut disenarakan beberapa saiz bas alamat. Untuk setiap satu, kira saiz ruang ingatan bagi
         komputer berkenaan.

          (a) 16 bit
          (b) 20 bit
          (c) 24 bit
          (d) 32 bit




If you found this book useful, donate to the Gaza fund
Bab 2

 Ciri Perisian 68000

 Objektif
     • Menerangkan latar belakang famili 68k
     • Melakar model pengaturcaraan 68000
     • Menjelaskan organisasi ingatan
     • Menerangkan format suruhan mesin


 2.1 Famili 68k
 Bab ini merupakan pengenalan kepada senibina mikropemproses 68000 dan famili 68k. Peranti ini
 adalah pemproses pertama yang dikaji dengan mendalam. Berikut ialah sebab kenapa mikropemproses
 ini sesuai dikaji:

     • Ia popular.
     • Reka bentuknya kemas
     • Set suruhannya komprehensif

     Ia mempunyai ciri-ciri yang memudahkan rekabentuk sistem pengendalian dan pengaturcaraan
 bahasa tahap tinggi.
     Pemproses pada hari ini sememangnya kompleks dan akan terus menjadi semakin kompleks. Oleh
 itu mikropemproses pertama yang dipelajari sepatutnya lebih kompleks.
     Peranti MC68000 adalah pengasas siri 68k yang asalnya direka untuk menjadi unit pemprosesan
 pusat (CPU) dalam komputer guna am. Ia disusuli oleh beberapa komponen yang berbeza kelajuan dan
 keupayaan. Jadual 2.1 meringkaskan perbezaan CPU dalam famili 68k.
     Awalan MC menunjukkan bahawa peranti ini dibuat oleh Motorola atau Freescale. Sekiranya dibuat
 oleh rakan niaganya seperti SGS-Thomson atau Hitachi, awalan yang berbeza akan digunakan.
     Pada hari ini, famili 68k tidak lagi digunakan dalam komputer guna am tetapi meluas digunakan
 dalam sistem terbenam dalam bentuk yang berbeza-beza, antaranya:

     • Pemproses terbenam1 — merupakan pemproses asal dengan diubah nama untuk tujuan pemasaran
       seperti MC68EC000.
     • Mikropengawal — menggabungkan pemproses teras seperti CPU32 (yang paling mirip 68020)
       dengan ingatan dan peranti I/O asas seperti penukar analog ke digital (ADC), antaramuka bersiri,
       pembilang, pemasa dan litar-litar yang seumpamanya dalam satu cip.
    1 embedded   controller


                                                         11

If you found this book useful, donate to the Gaza fund
12                                                                                    Bab 2. Ciri Perisian 68000

                                   Jadual 2.1: Unit pemprosesan pusat (CPU) dalam siri 68k


                                      Bas      Bas
         Komponen           Tahun                       Ciri Penting
                                      Data    Alamat
          MC68000           1979       16       24      Asas siri 68k
          MC68008           1982       8        24      Asas siri 68k MC68008
          MC68010           1983       16       24      MC68000 dengan ingatan maya
          MC68020           1984       32       24      Pemproses 32 bit pertama dalam famili 68k
          MC68030           1987       32       32      MC68020 diperbaiki dengan ditambah MMU
          MC68040           1990       32       32      MC68030 diperbaiki dengan ditambah FPU
          MC68060           1993       64       32      MC68040 dengan 2 ALU dengan 1 FPU dan kelajuan 1
                                                        suruhan/kitar



       • Sistem dalam cip (SoC) – merupakan mikropengawal yang amat kompleks. Jika mikropengawal
         boleh digunakan dalam pelbagai sistem, SoC direka khusus untuk satu produk dan mengandungi
         peranti I/O yang kompleks seperti LCD, grafik, USB dan wayarles. Contoh SoC dari siri 68k ialah
         peranti Dragonball yang pernah digunakan dalam PDA PalmPilot.

     Teknologi pembuatan semikonduktor juga telah berubah. Pada asalnya MC68000 dibuat dengan
 teknologi NMOS, tetapi kini peranti yang paling mirip iaitu MC68HC000 dibuat dengan teknologi
 CMOS. Penggunan teknologi CMOS mengurangkan lesapan kuasa dari 1 W ke 100 mW sahaja.
     Selain peranti-peranti yang menggunakan pemproses berasaskan 68000, terdapat siri mikropengawal
 Coldfire yang menggunakan pemproses lebih moden. Dengan menggunakan seni bina dalaman RISC,
 pemproses ini mempunyai prestasi yang tinggi pada kos yang rendah.
     Keserasian aturcara adalah ciri penting ahli-ahli famili 68k. Aturcara yang ditulis untuk peranti
 68000 boleh dilaksanakan oleh ahli-ahli famili yang lebih maju seperti 68020 atau ColdFire. Setelah
 memahami suruhan-suruhan MC68000 asas, mudah untuk kita mengaturcara pemproses-pemproses lain
 dalam famili ini.


 2.2 Model Pengaturcaraan
 Model pengaturcaraan menunjukkan daftar CPU yang boleh dicapai oleh pengaturcaraan dan peta
 ingatan. Komponen-komponen lain CPU seperti daftar suruhan, ALU, dan unit kawalan tidak
 ditunjukkan kerana tidak berada di bawah kawalan pengaturcara.
     Pemproses 68000 mengandungi daftar berikut:

       • Lapan daftar data2 32 bit (D0-D7)

       • Tujuh daftar alamat3 32 bit (A0-A6)

       • Dua penuding tindanan4 (USP dan SSP)

       • Satu pembilang aturcara5 32 bit (PC)

       • Satu daftar status6 16 bit (SR)
      2 data register
      3 address  register
      4 stack pointer
      5 program counter
      6 status register




If you found this book useful, donate to the Gaza fund
2.2. Model Pengaturcaraan                                                                          13




                                    

                                           Rajah 2.1: Set daftar 68000.




 Daftar Data

 Daftar data mempunyai pelbagai fungsi tetapi fungsi utamanya ialah menyimpan data yang akan dan
 telah diproses oleh ALU. Setiap daftar data bersaiz 32 bit. Setiap bit diberi nombor kedudukan dengan
 bit 0 terletak paling bawah dan bit 31 terletak teratas. Secebis data bersaiz 32 bit (kata panjang)
 menggunakan keseluruhan daftar. Data bersaiz 16 bit (kata) hanya menggunakan 16 bit bawah, iaitu
 bit 0 hingga 15. Data bersaiz 8 bit (byte) hanya menggunakan bit 0 hingga 7. Rujuk Rajah 2.1. Garisan-
 garisan kelabu menunjukkan sempadan untuk byte, kata dan kata panjang.
     Kesemua daftar ini bersifat umum yakni apa sahaja yang boleh dilakukan terhadap sesuatu daftar
 boleh dilakukan terhadap 7 daftar lain. Sesetengah mikropemproses lain mempunyai daftar data yang
 setiap satu mempunyai fungsi tertentu — tetapi tidak halnya dengan 68000.



 Daftar Alamat

 Daftar alamat, A0 hingga A7, digelar sedemikian kerana maklumat yang disimpan di dalamnya
 melambangkan lokasi suatu objek dalam ingatan. Setiap daftar alamat bertindak sebagai penuding.
 Kita tidak boleh melakukan operasi byte di dalam daftar alamat kerana alamat hanya bersaiz 16 bit
 atau 32 bit. Walaupun setiap daftar besarnya 32 bit, 68000 hanya menggunakan 24 bit terendah apabila
 mencapai ingatan menghasilkan julat alamat sebesar 224 (16M) byte.
     Terdapat suruhan-suruhan 68000 yang beroperasi hanya terhadap daftar alamat. Operasi byte
 terhadap daftar alamat tidak dibenarkan. Apabila nilai 16 bit diisikan, ia dipanjangkan ke 32 bit.
     Daftar alamat serbaguna, A0 hingga A6, berkelakuan sama. Apa sahaja yang boleh dilakukan kepada
 sesuatu daftar boleh juga dilakukan kepada enam daftar lain.
    Disebabkan bas alamat 68000 adalah 24 bit, hanya 24 daripada 32 bit yang terdapat dalam daftar
 alamat digunakan untuk mencapai ingatan.



If you found this book useful, donate to the Gaza fund
14                                                                          Bab 2. Ciri Perisian 68000


 Penuding Tindanan
 Penuding tindanan merupakan daftar alamat A7 atau SP. Dalam kebanyakan operasi, kelakuannya sama
 seperti daftar A0 hingga A6. Bagaimanapun, penuding tindanan mempunyai fungsi yang lebih khusus
 iaitu untuk melaksanakan tindanan dan subrutin.
      Pemproses 68k mempunyai dua mod pemprosesan iaitu mod penyelia atau mod pengguna. Untuk
 menyokong dua mod ini, terdapat dua penuding tindanan iaitu penuding tindanan penyelia (SSP7 )
 dan penuding tindanan pengguna (USP8 ). Penuding tindanan semasa diset menurut mod pemprosesan,
 dan dirujuk sebagai SP atau A7. Kewujudan dua mod dan dua penuding tindanan membolehkan 68k
 melaksanakan sistem pengoperasian9 . Sistem pengoperasian membolehkan sistem terus beroperasi jika
 terdapat ralat dalam perisian. Bagi sistem mudah, hanya SSP digunakan.

 Pembilang Aturcara
 Pembilang aturcara (PC) menuding kepada suruhan yang akan dilaksanakan. Daripada 32 bit yang ada
 di sini, hanya 24 bit dapat dikeluarkan ke bas alamat kerana itulah saiz fizikal bas alamat. Pemproses
 lanjutan dalam famili 68k menggunakan kesemua 32 bit. Untuk melaksanakan sesuatu suruhan, daftar
 PC diisi dengan alamat suruhan tersebut. Semasa suruhan dinyahkod oleh unit kawalan, PC ditambah
 supaya menuding ke suruhan yang berikutnya. Dengan itu, setelah suruhan dilaksanakan, CPU telah
 mempunyai maklumat yang cukup untuk memungut suruhan berikutnya.

 Daftar Status
 Daftar status dibahagikan kepada dua seksyen: byte sistem dan byte pengguna. Apabila 68000 berada
 dalam mod penyelia, keseluruhan daftar boleh dibaca dan diubah. Dalam mod pengguna, kedua-dua
 byte boleh dibaca tetapi hanya byte rendah boleh diubah.

 Byte Pengguna
 Bit-bit dalam daftar status yang paling kerap digunakan oleh pengaturcara ialah yang terdapat dalam byte
 pengguna. Byte pengguna yang dikenali juga sebagai daftar kod syarat10 (CCR). Setiap bit dalam CCR
 dinamai bendera. CCR menyimpan analisis operasi CPU terakhir. Fungsi setiap bendera diterangkan
 secara ringkas di sini:

       • C (carry) — Bernilai 1 apabila terdapat bawa semasa operasi tambah atau pinjam semasa operasi
         tambah. Dalam operasi anjak, ia mengandungi bit yang dianjak keluar dari kendalian.

       • V (overflow) — Bernilai 1 apabila limpahan aritmetik berlaku. Limpahan aritmetik berlaku
         apabila operasi terhadap integer bertanda melebihi ruang yang yang disediakan.

       • Z (zero) — Bernilai 1 apabila hasil operasi sifar.

       • N (negative) — Bernilai 1 apabila hasil operasi negatif.

       • X (extend) — Menyalin nilai C untuk operasi aritmetik. Dalam kebanyakan suruhan lain nilainya
         tidak berubah.

    Kesan setiap suruhan terhadap nilai bendera tidak sama. Terdapat suruhan yang mengubah kesemua
 bendera, ada juga yang mengubah hanya beberapa bit dan ada suruhan yang langsung tidak mengubah
 sebarang bendera. Untuk mengetahui kesan sesuatu suruhan terhadap CCR, set suruhan perlu dirujuk.
      7 supervisor
                 stack pointer
      8 user
          stack pointer
    9 operating system
   10 condition codes register




If you found this book useful, donate to the Gaza fund
2.3. Organisasi Ingatan                                                                               15




                             

                                             Rajah 2.2: Daftar status.



 Byte Sistem
 Bit-bit dalam byte sistem digunakan bagi mengawal operasi keseluruhan sistem. Butir terperinci
 penggunaan bit-bit ini diliputi dalam Bab 13.

     • I2 –I0 — Tiga bit serangkai ini dikenali sebagai bit topeng sampukan11 . Bit-bit ini mengawal tahap
       sampukan yang disambut oleh CPU. Jika dibenarkan melalui bit-bit ini, sampukan menyebabkan
       pemproses meninggalkan sebentar kerja yang sedang dilakukan bagi membuat suatu operasi yang
       lebih penting. Ciri ini membolehkan masa CPU digunakan dengan lebih optimum. Nilai I2 -I0
       semasa reset ialah 111.

     • S (supervisor) — Pemproses 68000 boleh berada sama ada dalam mod pengguna atau mod
       penyelia. Jika S=1, pemproses berada dalam mod penyelia. Ada tiga perbezaan mod-mod ini.
       Dalam mod penyelia penunjuk tindanan yang digunakan ialah SSP, keseluruhan daftar status boleh
       dicapai, dan kesemua suruhan boleh digunakan. Dalam mod pengguna, penunjuk tindanan yang
       aktif ialah USP, hanya byte rendah daftar status boleh dicapai dan beberapa suruhan tidak boleh
       dilaksanakan. Nilai bit S semasa reset ialah 1.

     • T (trace) — Jika T = 1, 68000 beroperasi dalam mod surih: selepas setiap suruhan, pemproses
       masuk ke rutin nyahpepijat12 bagi menyemak nilai daftar CPU dan isi ingatan. Nilai bit T semasa
       reset ialah 0 dan suruhan-suruhan dilaksanakan secara normal. Bit T hanya boleh diset ke 1 jika
       sistem telah disiapkan dengan rutin khas bagi mengendalikannya.


 2.3 Organisasi Ingatan
 Set suruhan 68000 boleh menyokong pemprosesan secara langsung lima jenis data. Lima jenis data ini
 ialah:

     • Bit

     • Digit BCD13 (4 bit setiap satu, tetapi diproses berpasangan)

     • Byte (8 bit)

     • Kata14 (16 bit)
   11 interruptmask bits
   12 debug routine
   13 binary coded decimal
   14 word




If you found this book useful, donate to the Gaza fund
16                                                                                 Bab 2. Ciri Perisian 68000


      • Kata panjang15 (32 bit)

     Suruhan-suruhan boleh memproses satu atau lebih daripada jenis-jenis ini, tetapi tidak semua
 suruhan boleh memproses kesemua jenis. Jika sesuatu suruhan boleh memproses lebih daripada satu
 jenis data, imbuhan .B (byte), .W (word) atau .L (longword) ditambah kepada mnemonik suruhan untuk
 memilih saiz data yang dikehendaki.
     Bagaimana dengan aksara, rentetan, titik-apung dan sebagainya? Data daripada jenis ini dijana
 melalui pengaturcaraan. Suruhan-suruhan individu tidak boleh mengendalikan data ini sebaliknya
 turutan suruhan atau subrutin mesti ditulis jenis-jenis data ini.
     Ingatan digunakan untuk menyimpan aturcara dan data. Ini berbeza dengan daftar yang hanya boleh
 menyimpan data. Ingatan lebih perlahan tetapi lebih besar berbanding daftar.
     Bas alamat peranti 68000 saiznya 24 bit menjadikan 68000 boleh mencapai 224 = 24 x 220 = 16
 megabyte ingatan. Ia boleh dilihat sebagai satu senarai petak atau sel, yang setiap satu menyimpan satu
 nilai 8 bit atau byte. Sel ingatan dinombor dari sifar sehingga muatan maksimum ingatan. Satu megabyte
 bersamaan 220 atau 1048576. Oleh itu 16 megabyte mengandungi 167771216 kedudukan atau alamat.
 Rajah 2.3(a) menunjukkan peta ingatan yang menunjukkan satu byte bagi setiap alamat.
     Alamat ingatan biasanya dituliskan dalam perenambelasan. Dalam dokumentasi Motorola/Freescale,
 nombor perenambelasan dinyatakan dengan simbol $. Jadi julat alamat 68000 ialah dari $000000 (0)
   15 longword




                            (a) Satu byte sebaris.                (b) Satu kata sebaris.

                                     Rajah 2.3: Dua kaedah mengatur ingatan.




                                 

                                Rajah 2.4: Menyimpan kata panjang dalam ingatan




If you found this book useful, donate to the Gaza fund
2.4. Pengenalan kepada Set Suruhan 68000                                                            17


 hingga $FFFFFF (16777121610 ).
      Bas data 68000 saiznya 16 bit. Ini menjadikan pemproses 68000 mampu mencapai sejumlah 16 bit
 data ingatan dalam satu langkah. Setiap kata hanya boleh disimpan bermula dari alamat genap. Oleh
 itu, kata pertama dalam ingatan mempunyai alamat $000000, kata kedua di $000002, kata ketiga di
 $000004 dan seterusnya. Jika kita menganggap ingatan hanya mengandungi kata, julat alamat ingatan
 ialah $0000000 hingga $FFFFFE.
      Peta ingatan boleh dilukis semula untuk memaparkan satu kata setiap baris. Alamat-alamat berbeza
 sebanyak dua dari satu baris ke baris berikutnya. Rajah 2.3(b) memaparkan peta ingatan yang standard
 dalam pengaturcaraan 68000.
      Sama seperti kata, kata panjang juga mesti bermula dari alamat genap. Alamat-alamat bagi kata-kata
 panjang bersebelahan berbeza sebanyak empat. Jika kata panjang pertama mempunyai alamat n, kata
 panjang akan berada di alamat n+4, dan seterusnya. Bagaimanapun, n ialah sebarang nilai genap. Rajah
 2.4 menunjukkan pandangan ingatan semasa menyimpan kata-kata panjang.
      Kata dan kata panjang tidak boleh bermula dari alamat ganjil. Cip 68000 menghalang operasi baca
 atau tulis yang melanggar syarat ini (contohnya, cuba membaca kata dari alamat ganjil). Jika operasi
 seperti ini dicuba, suatu kekecualian terjadi kerana terdapat ralat alamat. Bab 13 akan menerangkan
 lebih lanjut mengenai konsep kekecualian.
      Maklumat yang disimpan dalam ingatan terdiri daripada data dan suruhan. Data berbentuk nombor
 yang boleh diproses dengan operasi aritmetik atau aksara yang boleh diolah sebagai rentetan. Suruhan
 memberitahu pemproses bagaimana data perlu diproses. Semua data dan aturcara berbentuk nombor
 perduaan dan pengaturcara perlu memastikan komputer tidak mengelirukan suruhan dengan data.


 2.4 Pengenalan kepada Set Suruhan 68000
 Set suruhan menentukan operasi yang boleh dipilih untuk fungsi-fungsi pemindahan data, aritmetik,
 kawalan aturcara dan sebagainya Mikropemproses 68000 mempunyai cuma 54 suruhan asas, tetapi bila
 dikira kesemua variasinya, jumlahnya melebihi 1000! Setiap suruhan mesti mengandungi:

     • Kod operasi

     • Saiz kendalian

     • Kedudukan kendalian

     Kod operasi atau opkod menentukan operasi yang perlu dilakukan. Saiz kendalian menentukan sama
 ada operasi bertindak kepada data byte, kata atau kata panjang. Kedudukan kendalian memberitahu CPU
 alamat berkesan kendalian iaitu bagaimana kendalian dicapai, sama ada dalam daftar atau ingatan.
     Jadual 2.2 menyenaraikan set suruhan 68000. Setiap mnemonik melambangkan satu kod operasi.
 Satu huruf menentukan panjang kendalian sama ada byte (B), kata (W) atau kata panjang (L).
 Contohnya, suruhan bagi memindahkan kendalian 16 bit dari kedudukan punca ke destinasi berupa:

             MOVE.W      punca,destinasi

 yang mana punca dan destinasi menentukan kedudukan kendalian. Setiap suruhan yg boleh dilakukan
 oleh 68000 mempunyai opkod berlainan. Suruhan-suruhan boleh dikategorikan menurut jumlah
 kendalian iaitu dua kendalian, satu kendalian atau tiada kendalian langsung. Berikut adalah contoh
 tiga suruhan yang sah:

            MOVE.W     D0,D1       ;suruhan dua kendalian
            CLR.W      D1          ;suruhan satu kendalian
            NOP                    ;suruhan tanpa kendalian

     Suruhan-suruhan selalunya dikategorikan menurut operasi asas yang dilakukannya:



If you found this book useful, donate to the Gaza fund
18                                                                        Bab 2. Ciri Perisian 68000


      • pemindahan data

      • aritmetik

      • logik

      • putar dan anjak

      • olahan bit

      • BCD

      • kawalan aturcara

      • kawalan sistem

     Sesetengah suruhan mempunyai variasi yang beroperasi secara yang lebih khusus. Jadual 2.3
 menunjukkan variasi suruhan asas.
     Suruhan-suruhan akan diliputi secara berperingkat-peringkat. Suruhan pemindahan data diliputi
 dalam Bab 3 (mod alamat). Suruhan aritmetik, logik, putar dan anjak, olahan bit dan BCD merupakan
 suruhan yang mengubah atau memproses data. Ini diliputi dalam Bab 5 (suruhan olahan data). Suruhan
 kawalan aturcara diliputi dalam Bab 6 dan Bab 7. Akhir sekali, disebabkan suruhan kawalan sistem
 lebih khusus, ia diliputi dalam Bab 13.


 2.5 Beberapa Suruhan Asas
 Untuk memberi pengenalan kepada set suruhan 68000, tiga suruhan asas diterangkan di bawah iaitu
 CLR, MOVE dan ADD.

 Suruhan CLR
 Suruhan CLR (clear) ialah suruhan satu kendalian dengan format

                 CLR.s      <ea>

 yang mana s ialah B, L, atau W dan <ea> adalah alamat berkesan destinasi. Operasi ini memadam atau
 meletakkan sifar di destinasi yang ditetapkan. Operasi ini boleh ditakrifkan secara padat menggunakan
 RTL16 seperti berikut

                                                  0 → destinasi

 yang bermaksud gantikan destinasi dengan sifar.
     Keterangan lengkap mengenai suruhan CLR didapati dalam Users Manual. Keterangan mengenai
 suruhan menjelaskan destinasi yang dibenarkan, dalam bentuk mod alamat17 . Ciri-ciri lain yang
 diperincikan termasuk saiz data yang dibenarkan bagi sesuatu suruhan, kesan terhadap CCR, dan format
 bahasa mesin.




   16 Register   Transfer Language
   17 addressing   mode




If you found this book useful, donate to the Gaza fund
2.5. Beberapa Suruhan Asas                                                                       19

                                          Jadual 2.2: Set suruhan 68000.


              Mnemonik                      Makna                  Fungsi
               ABCD               Add decimal with extend          Tambah BCD dengan bendera X
                ADD                       Add binary               Tambah
                AND                      Logical AND               AND logik
                 ASL                 Arithmetic shift left         Anjak aritmetik kiri
                 ASR                Arithmetic shift right         Anjak aritmetik kanan
                  Bcc               Branch conditionally           Cabang bersyarat
               BCHG                  Bit test and change           Uji bit dan tukar
                BCLR                  Bit test and clear           Uji bit dan padam
                 BRA                    Branch always              Cabang sentiasa
                BSET                    Bit test and set           Uji bit dan set
                 BSR                Branch to subroutine           Cabang ke subrutin
                BTST                        Bit test               Uji bit
                CHK              Check register with bounds        Semak daftar dengan batasan
                 CLR                    Clear operand              Padam kendalian
                CMP                        Compare                 Banding
                 DBcc        Decrement and branch conditionally    Susut dan cabang bersyarat
                DIVS                     Signed divide             Bahagi bertanda
                DIVU                   Unsigned divide             Bahagi tak bertanda
                 EOR                     Exclusive OR              ATAU eksklusif
                 EXG                 Exchange registers            Tukarganti daftar
                 EXT                      Sign extend              Panjangkan tanda
                 JMP              Jump to effective address        Lompat
                 JSR                 Jump to subroutine            Lompat ke subrutin
                 LEA               Load effective address          Isi alamat berkesan
                LINK                       Link stack              Kait tindanan
                 LSL                   Logical shift left          Anjak logik kiri
                 LSR                  Logical shift right          Anjak logik kanan
               MOVE              Move source to destination        Alih punca ke destinasi
               MULS                      Sign multiply             Darab bertanda
               MULU                  Unsigned multiply             Darab tak bertanda
               NBCD              Negate decimal with extend        Nafi BCD dengan bendera X
                 NEG                         Negate                Nafi
                 NOP                     No operation              Tiada operasi
                 NOT                 One’s complement              Pelengkap satu
                  OR                      Logical OR               OR
                 PEA               Push effective address          Letak alamat ke tindanan
               RESET               Reset external devices          Reset peranti luar
                 ROL                       Rotate left             Putar kiri
                 ROR                      Rotate right             Putar kanan
                ROXL              Rotate left through extend       Putar kiri menerusi X
               ROXR              Rotate right through extend       Putar kanan menerusi X
                 RTE               Return from exception           Kembali daripada kekecualian
                 RTR                 Return and restore            Kembali dan perbetul
                 RTS               Return from subroutine          Kembali daripada subrutin
                SBCD            Subtract decimal with extend       Tolak BCD dengan bendera X
                  Scc                 Set conditionally            Set bersyarat
                STOP                    Stop processor             Henti pemproses
                 SUB                   Subtract binary             Tolak
                SWAP              Swap data register halves        Tukarganti atas/bawah daftar
                 TAS                Test and set operand           Uji dan set kendalian
                TRAP                          Trap                 Perangkap
               TRAPV                  Trap on overflow              Perangkap jika limpahan
                 TST                     Test operand              Uji kendalian
               UNLK                      Unlink stack              Buang kaitan tindanan




If you found this book useful, donate to the Gaza fund
20                                                                              Bab 2. Ciri Perisian 68000

                                      Jadual 2.3: Variasi set suruhan 68000.


              Mnemonik                      Makna                 Fungsi
               ADDA                       Add address             Tambah alamat
                ADDI                    Add immediate             Tambah data terdekat
               ADDQ                        Add quick              Tambah pantas
               ADDX                     Add with extend           Tambah dengan bendera X
                ANDI               Logical AND immediate          AND data terdekat
             ANDI to CCR        Logical AND immediate to CCR      AND data terdekat dengan CCR
              ANDI to SR         Logical AND immediate to SR      AND data terdekat dengan SR
                CMPA                   Compare address            Banding alamat
                CMPI                 Compare immediate            Banding data terdekat
               CMPM                   Compare memory              Banding ingatan
                EORI            Logical exclusive OR immediate    OR eksklusif data terdekat
                                Logical exclusive OR immediate    OR eksklusif data terdekat
             EORI to CCR
                                            to CCR                dengan CCR
                                Logical exclusive OR immediate    OR eksklusif data terdekat
             EORI to CCR
                                             to SR                dengan SR
            MOVE from SR          Move from SR to destination     Alih daripada SR ke destinasi
            MOVE to CCR            Move from source to CCR        Alih daripada punca ke CCR
             MOVE to SR             Move from source to SR        Alih daripada punca ke SR
                                                                  Alih penunjuk tindanan
              MOVE USP              Move user stack pointer
                                                                  pengguna
               MOVEA                    Move address              Alih ke daftar alamat
               MOVEM               Move multiple registers        Alih berbilang daftar
                MOVEP               Move peripheral data          Alih data periferal
               MOVEQ                     Move quick               Alih pantas
                NEGX                 Negate with extend           Nafi dengan bendera X
                 ORI               Logical OR immediate           OR data terdekat
              ORI to CCR        Logical OR immediate to CCR       OR data terdekat dengan CCR
               ORI to SR         Logical OR immediate to SR       OR data terdekat dengan SR
                SUBA                  Subtract address            Tolak daripada daftar alamat
                 SUBI                Subtract immediate           Tolak data terdekat
                SUBQ                    Subtract quick            Tolak pantas
                SUBX                Subtract with extend          Tolak dengan bendera X



 Contoh:
 Jika daftar D0 mengandungi $FA1234DE, apakah isinya selepas suruhan CLR.W D1?

 Penyelesaian:
 Suruhan CLR.W D1 memadam hanya kata rendah D1. Kata atas tidak terjejas. Oleh itu, D1 menjadi
 $FA120000.

 Suruhan MOVE
 Suruhan pemindahan data terpenting ialah MOVE (gerak). Suruhan ini mempunyai dua kendalian
 dengan format

             MOVE.s       <sea>,<dea>

 yang mana s ialah B, L atau W. Kendalian <sea> ialah alamat berkesan punca dan kendalian <dea>
 ialah alamat berkesan destinasi. Suatu salinan data di kendalian punca disalin ke kendalian destinasi.



If you found this book useful, donate to the Gaza fund
2.6. Pengenalan kepada Mod Alamat                                                                21


 Walaupun suruhan ini diberi nama gerak, operasi sebenarnya menyalin data kerana kendalian punca
 tidak berubah. Suruhan ini boleh memindahkan data antara daftar dengan ingatan. RTL untuk suruhan
 ini ialah

                                                  punca → destinasi

 yang bermaksud data dari punca dipindahkan ke destinasi.

 Suruhan ADD
 Salah satu suruhan aritmetik ialah ADD (tambah). Suruhan ini mempunyai dua kendalian dengan format

                  ADD.s      <sea>,<dea>

 yang mana s ialah B, L atau W. RTL untuk suruhan ini ialah

                                             punca + destinasi → destinasi

    Kendalian punca ditambahkan kepada kendalian destinasi kemudian hasil tambah disimpan di
 kendalian destinasi. Oleh itu, nilai kendalian destinasi berubah selepas suruhan dilaksanakan.


 2.6 Pengenalan kepada Mod Alamat
 Mod alamat ialah penentu bagi mendapatkan data yang terletak dalam daftar atau dalam ingatan. Mod
 alamat memberitahu pemproses bagaimana ia mendapatkan kedudukan kendalian sebenar. Kedudukan
 sebenar lebih dikenali sebagai alamat berkesan18 dan dijana semasa perlaksanaan suruhan.
    Peranti 68000 adalah pemproses berkuasa tinggi dengan mod-mod alamat yang canggih. Ini
 memudahkan pengaturcaraan bahasa himpunan kerana sesuatu kedudukan data boleh dicapai dengan
 menggunakan jumlah suruhan yang sedikit. Pemproses 68000 mempunyai 14 mod alamat kesemuanya
 yang boleh dikumpulkan kepada enam mod asas.

     • Daftar langsung19 — Alamat berkesan ialah daftar yang dinyatakan.

     • Mutlak20 — Alamat berkesan terkandung di dalam suruhan dan digunakan secara langsung
       (mutlak) tanpa perubahan.

     • Daftar tak langsung21 — Alamat berkesan terletak di dalam daftar. Kendalian terletak di alamat
       yang terdapat di dalam daftar.

     • Terdekat22 — Kendalian adalah sebahagian daripada suruhan dan tidak perlu dicari lagi.

     • Relatif pembilang aturcara23 — Alamat berkesan dikira dengan mengambil nilai PC dan
       menambah atau menolak nilai sesaran24 . Harus diingati PC sentiasa menuding ke suruhan
       berikutnya.

     • Tersirat25 — Kendalian ialah daftar yang dinyatakan oleh mnemonik dalam suruhan seperti SR,
       USP, SSP atau PC.
   18 effective address atau ringkasnya ea
   19 register direct
   20 absolute
   21 register indirect
   22 immediate
   23 program counter relative
   24 offset
   25 inherent




If you found this book useful, donate to the Gaza fund
22                                                                      Bab 2. Ciri Perisian 68000


 Pengalamatan Daftar Langsung
 Dalam mod pengalamatan daftar langsung alamat atau lokasi kendalian dinyatakan secara langsung
 sebagai sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi
 mendapatkan alamat berkesan. Dalam pengalamatan daftar langsung, kendalian terletak di dalam suatu
 daftar data atau alamat.
     Format am bagi suruhan CLR menggunakan pengalamatan daftar data langsung ialah

             CLR.s        Dn

 yang mana kendalian dengan panjang s yang dipadam terletak dalam daftar Dn, yang bermakna salah
 satu daripada D0, D1, , D7. Oleh itu

             CLR.W        D1

 memadam kata rendah dalam daftar D1. Suruhan MOVE memerlukan dua kendalian dengan format

             MOVE.s       Dm,Dn

      Oleh itu, suruhan

             MOVE.B       D0,D1

 menyalin D0[7:0] ke D1[7:0].

 Pengalamatan Mutlak
 Dalam mod pengalamatan mutlak alamat atau lokasi kendalian dinyatakan secara langsung sebagai
 sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi mendapatkan
 alamat berkesan. Dalam pengalamatan mutlak, kendalian terletak di dalam suatu lokasi ingatan.
 Kendalian kata dan kata panjang mesti diletakkan dalam lokasi genap.
    Format am bagi suruhan CLR menggunakan pengalamatan mutlak ialah

             CLR.s        XXXX

 yang mana kendalian bersaiz s yang dipadam terletak dalam lokasi XXXX di ingatan. Oleh itu

             CLR.W        $2000

 memadam kata yang terletak di alamat 2000 perenambelasan. Nilai XXXX dianggap perpuluhan kecuali
 jika diawali oleh simbol $ untuk menandakan bahawa ini ialah nilai perenambelasan. Suruhan

             MOVE.W       2000,D2

 bermakna salin 16 bit dari lokasi 2000 perpuluhan ke D2[15:0].

 Pengalamatan Tak Langsung
 Dalam mod pengalamatan tak langsung, suatu daftar alamat digunakan sebagai punca alamat suatu
 kendalian dalam ingatan. Isi daftar alamat dianggap penuding ke lokasi tersebut. Kendalian kata
 dan kata panjang mesti diletakkan dalam lokasi genap. Mod ini dikenali dengan tanda kurungan yang
 mengelilingi nama satu daftar alamat seperti dalam suruhan berikut

             CLR.B        (A0)

 Dalam suruhan ini, satu byte yang terletak di ingatan akan dipadam. Alamat byte ialah apa-apa nilai
 yang terdapat dalam daftar A0.



If you found this book useful, donate to the Gaza fund
2.7. Format Suruhan Mesin                                                                               23


 Pengalamatan Relatif
 Dalam mod pengalamatan relatif nilai alamat kendalian didapati dengan menambah suatu sesaran kepada
 nilai dalam pembilang aturcara. Alamat berkesan didapati dengan melalui ungkapan

                                               PC + sesaran → ea

 Nilai sesaran mempunyai tanda positif atau negatif. Simbol * merujuk kepada nilai semasa pembilang
 aturcara. Oleh itu

                 BRA      *+2

 menyebabkan operasi cabang ke alamat dua byte ke hadapan.

 Pengalamatan Terdekat
 Dalam mod pengalamatan terdekat menyatakan suatu nilai malar. Nilai ini terletak di dalam suruhan.
 Contohnya

                 MOVE.B   #’m’,D2

 Menyalin nilai ASCII untuk m ke dalam daftar D0. Simbol # difahami oleh penghimpun untuk
 menandakan pengalamatan terdekat. Mod terdekat tidak dibenarkan sebagai kendalian destinasi.


 2.7 Format Suruhan Mesin
 Pemproses 68000 melaksanakan aturcara yang mengandungi suruhan bahasa mesin. Pengaturcara
 jarang-jarang menulis aturcara dalam bahasa mesin kerana adalah lebih produktif menulis aturcara
 bahasa himpunan kemudian menterjemahkannya ke bahasa mesin. Bagaimanapun, kefahaman men-
 genai format bahasa mesin membolehkan pengaturcara mempergunakan keupayaan mikropemproses
 sepenuhnya.
      Setiap suruhan mesin untuk 68000 terdiri daripada sekurang-kurangnya satu kata 16 bit. Ia
 boleh mengandungi sehingga empat kata lanjutan. Kata pertama dalam suruhan, iaitu kata operasi26 ,
 mengandungi maklumat tentang operasi, saiz data dan mod alamat. Kata lanjutan ditambah kepada
 suruhan untuk kendalian terdekat, alamat berkesan punca dan alamat berkesan destinasi. Rujuk
 Rajah 2.5 untuk susun atur suatu suruhan.
      Bit-bit yang mentakrifkan suruhan bermula dari bit tertinggi (bit 15) kata operasi. Jumlah bit sebenar
 bagi takrifan suruhan bergantung kepada suruhan. Pemproses 68000 akan menyemak dahulu nibel
 tertinggi (bit 15:12) . Maksud nibel ini ditunjukkan di Jadual 2.4. Baki bit dalam kata operasi digunakan
 untuk menjelaskan lagi operasi yang perlu dilakukan.
   26 control   word




                             

                                         Rajah 2.5: Format suruhan mesin




If you found this book useful, donate to the Gaza fund
24                                                                               Bab 2. Ciri Perisian 68000

                                     Jadual 2.4: Kod operasi pemproses 68000.


             Bit 15:12              Operasi                  Bit 15:12          Operasi
               0000       Olahan bit/MOVEP/Terdekat            1000          OR/DIV/SBCD
               0001               Gerak byte                   1001           SUB/SUBX
               0010           Gerak kata panjang               1010           Emulator A
               0011               Gerak kata                    101            CMP/EOR
               0100                 Pelbagai                   1100       AND/MUL/ABCD/EXG
               0101        ADDQ/SUBQ/Scc/DBcc                  1101           ADD/ADDX
               0110                Bcc/BSR                     1110           Anjak/Putar
               0111                MOVEQ                       1111            Emulator F




     Rajah 2.6 menunjukkan format am untuk suruhan satu kendalian. Bit 15:6 mentakrifkan operasi
 yang akan dilakukan. Bit 5:0 ialah medan alamat berkesan yakni maklumat mengenai kedudukan
 kendalian. Ia terbahagi kepada medan mod dan medan daftar. Pemproses 68000 mempunyai 14 mod
 alamat. Salah satu mod asas ialah mod daftar langsung, yang mana maklumat yang diolah terletak dalam
 daftar data (D0-D7). Mod daftar langsung ditentukan oleh bit 000 dalam medan mod dan nombor daftar
 (0-7) dalam medan daftar. Rujuk Jadual 2.5 untuk mod-mod alamat yang dibenarkan.




                             

                                 Rajah 2.6: Format am suruhan mesin satu kendalian.




                                       Jadual 2.5: Mod alamat bagi MC68000


                   Mod      Daftar                Mod alamat                    Sintaks
                   000       rrr             Daftar data langsung                  Dn
                   001       rrr            Daftar alamat langsung                 An
                   010       rrr       Daftar alamat tak langsung (ARI)           (An)
                   011       rrr            ARI dengan pascatokok                (An)+
                   100       rrr             ARI dengan prasusut                 -(An)
                   101       rrr               ARI dengan ofset                  N(An)
                   110       rrr         ARI dengan ofset dan indeks           N(An,Xm)
                   111       000                 Mutlak pendek                  $XXXX
                   111       001                 Mutlak panjang              $XXXXXXXX
                   111       010            PC relatif dengan ofset              N(PC)
                   111       011       PC relatif dengan ofset dan indeks      N(PC,Xm)
                   111       100                    Terdekat                   #$XXXX



   Untuk menunjukkan bagaimana pola bit suruhan mesin didapati, kita kaji semula suruhan CLR,
 MOVE dan ADD.



If you found this book useful, donate to the Gaza fund
2.7. Format Suruhan Mesin                                                                          25


 Suruhan Mesin untuk CLR
 Rajah 2.7a ialah format suruhan mesin untuk operasi CLR. Pola 0100 dalam bit 15:12 digunakan oleh
 berbagai-bagai suruhan. Oleh itu, pola 0010 dalam bit 11:8 digabungkan dengan pola 0100 dalam nibel
 teratas mentarifkan operasi CLR. Rajah 2.7(b) menunjukkan format mesin untuk suruhan CLR.B D0.




                             
                (a) Format am untuk CLR.




                             
           (b) Contoh bagi suruhan CLR.B D0.

                                      Rajah 2.7: Suruhan mesin untuk CLR.



 Suruhan Mesin untuk MOVE
 Suruhan MOVE merupakan suruhan dua kendalian dengan satu kendalian punca dan satu kendalian
 destinasi. Format am suruhan MOVE ditunjukkan dalam Rajah 2.8(a). Terdapat tiga format berbeza
 untuk setiap saiz data yang dibenarkan.
     Dalam suruhan MOVE, alamat berkesan untuk kendalian punca mempunyai format yang sama
 dengan alamat berkesan suruhan satu kendalian, iaitu medan mod di kiri (bit 5:3) dan medan daftar
 di kanan (bit 2:0). Untuk kendalian destinasi, kedudukan medan terbalik, iaitu medan mod di kanan (bit
 8:6) dan medan daftar di kiri (11:9). Keadaan ini mudah mengelirukan jika kita bekerja dalam bahasa
 mesin sepenuhnya, tetapi itulah hasil kerja perekabentuk 68000 akibat ingin memudahkan mikrokodnya.




                       
                     (a) Format am untuk MOVE.




                             
        (b) Contoh bagi suruhan MOVE.W D7,D0.

                                     Rajah 2.8: Suruhan mesin untuk MOVE.




If you found this book useful, donate to the Gaza fund
26                                                                           Bab 2. Ciri Perisian 68000


    Rajah 2.8(b) menunjukkan format mesin untuk suruhan MOVE.W D7,D0 iaitu 0011 0000 0000
 0111. Suruhan ini memindahkan kata bawah D7 ke kata bawah D0. Kata bawah D0 akan berubah
 manakala kata atas D0 serta keseluruhan D7 tidak berubah.

 Suruhan Mesin untuk ADD
 Suruhan ADD adalah suruhan dua kendalian tetapi format mesinnya tidak serupa dengan suruhan
 MOVE. Untuk suruhan ADD, salah satu atau kedua-dua kendaliannya mestilah daftar data. Nibel teratas
 kata operasi ialah 1101. Bit 11:9 menentukan daftar data yang digunakan. Bit 8:6 ialah medan opmod
 yang menentukan mod operasi. Jika destinasi hasil tambah ialah daftar data, medan opmod bernilai 000,
 001 atau 010 untuk kendalian byte, kata atau kata panjang. Jika destinasi hasil tambah bukan daftar data,
 medan opmod bernilai 100, 101 atau 110.




                             
               (a) Format am untuk ADD.




                             
         (b) Contoh bagi suruhan ADD.W D1,D0.

                                      Rajah 2.9: Suruhan mesin untuk ADD.




If you found this book useful, donate to the Gaza fund
2.8. Latihan                                                                                    27


 2.8 Latihan
    1. Apakah saiz bas data dan saiz bas alamat 68000?

    2. Berapakah jumlah bit dalam daftar status 68000 yang digunakan? Berapa bitkah yang boleh
       digunakan dalam mod pengguna?

    3. Apakah daftar yang mesti diberikan satu nilai awal sebelum melaksanakan suatu aturcara?

    4. Apakah nilai bendera C dalam jika daftar status berisi nilai $2705?

    5. Kata panjang $01020305 terletak di alamat $2020. Byte $03 terletak dalam alamat mana?

    6. Berikan format mesin untuk suruhan CLR.B D7.

    7. Berikan format mesin untuk suruhan MOVE.L D5,D3.

    8. Berikan format mesin untuk suruhan ADD.W D2,D3.

    9. D0 berisi $11223344 sebelum MOVE.W #$2211,D0 dilaksanakan. Apakah isinya selepas suruhan
       ini?

   10. D0 berisi $49828934 dan D1 berisi $92385938 sebelum suruhan MOVE.B D0,D1 dilaksanakan.
       Apakah nilai kedua-dua daftar selepas suruhan ini?

   11. Apakah yang salah dengan suruhan MOVE.W #200,$FFF?

   12. Suatu nilai kata panjang terletak di alamat $2020. Apakah alamat kata panjang yang menuruti
       nilai ini?

   13. D4 berisi $FFFFFFF sebelum suruhan MOVE #1,D4 dilaksanakan.            Apakah isinya selepas
       suruhan ini?

   14. Apakah perbezaan antara suruhan MOVE.W #$2000,D0 dengan MOVE.W $2000,D0?

   15. Jika alamat $1000 berisi 1919 dan D1 berisi $20202020, apakah nilai D1 selepas suruhan ADD
       $1000,D1?

   16. Tukar suruhan mesin $4241 ke bentuk bahasa himpunan setara.

   17. Tukar suruhan mesin $3007 ke bentuk bahasa himpunan setara.

   18. Dengan menggunakan nilai perenambelasan untuk kesemua jawapan anda, tentukan operasi dan
       lokasi yang terbabit dalam suruhan-suruhan berikut

         (a) CLR.L $8000
         (b) MOVE.W 2000,3000
         (c) MOVE.W $2000,D0
         (d) MOVE.W 2000,D0




If you found this book useful, donate to the Gaza fund
28                                                      Bab 2. Ciri Perisian 68000




If you found this book useful, donate to the Gaza fund
Bab 3

 Bahasa Himpunan

 Objektif
     • Menerangkan proses penulisan aturcara

     • Penggunaan penghimpun

     • Menulis aturcara asas


 Pengenalan
 Bab ini memperkenalkan anda kepada proses penulisan aturcara untuk pemproses 68k. Anda akan meli-
 hat langkah-langkah dalam penulisan aturcara bahasa himpunan. Seterusnya anda akan diperkenalkan
 kepada penyata-penyata bahasa himpunan.


 3.1 Pembangunan Perisian
 Pembangunan perisian adalah proses bagi menyediakan aturaca yang boleh dilaksanakan dalam
 mikropemproses. Tugas yang perlu mikropemproses lakukan harus ditukarkan ke bentuk bahasa mesin
 yang difahami oleh pemproses. Terdapat beberapa fasa iaitu analisis masalah, pengekodan aturcara, dan
 perlaksanaan.

 Analisis Masalah
 Analisis masalah adalah fasa bagi menukarkan tugas yang perlu dilakukan kepada suatu bentuk abstrak
 yang tidak khusus kepada mana-mana mesin atau pemproses. Dalam fasa ini, pengaturcara akan
 menghasilkan sama ada carta alir (flowchart) atau pseudokod. Salah satu keadah ini boleh digunakan
 untuk tujuan rekod dan dokumentasi. Carta alir berbentuk grafik dan lebih mudah difahami. Walaupun
 boleh dihasilkan dengan tangan dengan cepat, carta alir dalam bentuk salinan lembut agak sukar
 dihasilkan tanpa perisian yang khusus. Pseudokod pula adalah program olok-olok yang biasanya ditulis
 dalam bahasa pengaturcaraan yang menyerupai C atau Pascal. Ia tidak boleh dilaksanakan terus kerana
 ia menggunakan sintaks C atau Pascal yang dipermudahkan. Kaedah pseudokod lebih mudah bagi
 penulisan dokumentasi menggunakan perisian pemprosesan perkataan.

 Pengekodan
 Fasa kedua dalam penulisan adalah pengekodan. Dalam fasa ini, pengaturcara menyediakan aturcara
 dalam bentuk fail punca1 menggunakan penyunting. Aturcara yang terkandung dalam fail ini boleh
    1 source   file


                                                         29

If you found this book useful, donate to the Gaza fund
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete
68k utm complete

More Related Content

What's hot (20)

Controller Sensor
Controller SensorController Sensor
Controller Sensor
 
Dokumentasi keselamatan
Dokumentasi keselamatanDokumentasi keselamatan
Dokumentasi keselamatan
 
Asas keselamatan dalam kejuruteraan (elektrik, mekanikal dan kimpalan)
Asas keselamatan dalam kejuruteraan (elektrik, mekanikal dan kimpalan)Asas keselamatan dalam kejuruteraan (elektrik, mekanikal dan kimpalan)
Asas keselamatan dalam kejuruteraan (elektrik, mekanikal dan kimpalan)
 
Report akhir Latihan Industri UPSI
Report akhir Latihan Industri UPSIReport akhir Latihan Industri UPSI
Report akhir Latihan Industri UPSI
 
Topik 8 kilat
Topik 8 kilatTopik 8 kilat
Topik 8 kilat
 
Bab6 implementasi
Bab6 implementasiBab6 implementasi
Bab6 implementasi
 
Teknologi sensor
Teknologi sensorTeknologi sensor
Teknologi sensor
 
Laporan hari usahawan muda
Laporan hari usahawan mudaLaporan hari usahawan muda
Laporan hari usahawan muda
 
Refleksi kendiri
Refleksi kendiriRefleksi kendiri
Refleksi kendiri
 
Bab 8
Bab 8Bab 8
Bab 8
 
Automation
AutomationAutomation
Automation
 
Sofbol
SofbolSofbol
Sofbol
 
Litar pneumatik
Litar pneumatikLitar pneumatik
Litar pneumatik
 
Keselamatan di bengkel
Keselamatan di bengkelKeselamatan di bengkel
Keselamatan di bengkel
 
Manifold Gauge atau Tolok Tekanan
Manifold Gauge atau Tolok TekananManifold Gauge atau Tolok Tekanan
Manifold Gauge atau Tolok Tekanan
 
Penggodaman
PenggodamanPenggodaman
Penggodaman
 
Motor Arus Terus (AT)
Motor Arus Terus (AT)Motor Arus Terus (AT)
Motor Arus Terus (AT)
 
PENIPUAN SCAMMER.pdf
PENIPUAN SCAMMER.pdfPENIPUAN SCAMMER.pdf
PENIPUAN SCAMMER.pdf
 
Borang perjanjian sewarumah
Borang perjanjian sewarumahBorang perjanjian sewarumah
Borang perjanjian sewarumah
 
Panduan Menservis Unit Pisah
Panduan Menservis Unit Pisah Panduan Menservis Unit Pisah
Panduan Menservis Unit Pisah
 

Viewers also liked

Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGChapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGFrankie Jones
 
Sejarah pembagunan komputer
Sejarah pembagunan komputerSejarah pembagunan komputer
Sejarah pembagunan komputerRaja Afifi
 
Dokumen item contoh bagi pbs ting. 1
Dokumen item contoh bagi pbs ting. 1Dokumen item contoh bagi pbs ting. 1
Dokumen item contoh bagi pbs ting. 1surayahhusein
 
soldering @ pematerian
soldering @ pemateriansoldering @ pematerian
soldering @ pematerianfadhilibrahim
 
iab - nuevos formatos display
iab - nuevos formatos displayiab - nuevos formatos display
iab - nuevos formatos displayAlfredo Cisneros
 
Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ...
 Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ... Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ...
Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ...Act TravelWise
 
Vcp market demand sidf presentation jan 2013
Vcp market demand sidf presentation jan 2013Vcp market demand sidf presentation jan 2013
Vcp market demand sidf presentation jan 2013Salvatore Santoro
 
Brief "50 najbardziej kreatywnych w biznesie"
Brief  "50 najbardziej kreatywnych w biznesie"Brief  "50 najbardziej kreatywnych w biznesie"
Brief "50 najbardziej kreatywnych w biznesie"K2 Internet SA
 
2013 equipaniento (catalogo) [lq]
2013 equipaniento (catalogo) [lq]2013 equipaniento (catalogo) [lq]
2013 equipaniento (catalogo) [lq]fbcat
 
Vida gallega na biblioteca museo etnoloxico
Vida gallega na biblioteca museo etnoloxicoVida gallega na biblioteca museo etnoloxico
Vida gallega na biblioteca museo etnoloxicoMUSEO ETNOLOXICO
 
Good Vibrations for Learning and Information Literacy with Netvibes
Good Vibrations for Learning and Information Literacy with NetvibesGood Vibrations for Learning and Information Literacy with Netvibes
Good Vibrations for Learning and Information Literacy with NetvibesBuffy Hamilton
 
Rautomead Newsletter issue 03
Rautomead Newsletter issue 03 Rautomead Newsletter issue 03
Rautomead Newsletter issue 03 Rautomead Limited
 
Polímeros De Coordinción
Polímeros De CoordinciónPolímeros De Coordinción
Polímeros De CoordinciónAna Blanco
 
Dnet 143 Ven 31 07
Dnet 143 Ven 31 07Dnet 143 Ven 31 07
Dnet 143 Ven 31 07nomerossi
 
Soldering presentation
Soldering presentationSoldering presentation
Soldering presentationEncik Mirul
 
13 wimo winblad et al worldwide econ imp 2012
13 wimo winblad et al worldwide econ imp 201213 wimo winblad et al worldwide econ imp 2012
13 wimo winblad et al worldwide econ imp 2012alzheimer.tunisie
 

Viewers also liked (20)

Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGChapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
 
M6800
M6800M6800
M6800
 
Sejarah pembagunan komputer
Sejarah pembagunan komputerSejarah pembagunan komputer
Sejarah pembagunan komputer
 
Dokumen item contoh bagi pbs ting. 1
Dokumen item contoh bagi pbs ting. 1Dokumen item contoh bagi pbs ting. 1
Dokumen item contoh bagi pbs ting. 1
 
soldering @ pematerian
soldering @ pemateriansoldering @ pematerian
soldering @ pematerian
 
NMAP dan HPING
NMAP dan HPINGNMAP dan HPING
NMAP dan HPING
 
iab - nuevos formatos display
iab - nuevos formatos displayiab - nuevos formatos display
iab - nuevos formatos display
 
Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ...
 Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ... Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ...
Anna Semlyen, 20’s Plenty for Us - European Mobility Week 2015 - How 20 mph ...
 
Healthworks
HealthworksHealthworks
Healthworks
 
Vcp market demand sidf presentation jan 2013
Vcp market demand sidf presentation jan 2013Vcp market demand sidf presentation jan 2013
Vcp market demand sidf presentation jan 2013
 
Brief "50 najbardziej kreatywnych w biznesie"
Brief  "50 najbardziej kreatywnych w biznesie"Brief  "50 najbardziej kreatywnych w biznesie"
Brief "50 najbardziej kreatywnych w biznesie"
 
2013 equipaniento (catalogo) [lq]
2013 equipaniento (catalogo) [lq]2013 equipaniento (catalogo) [lq]
2013 equipaniento (catalogo) [lq]
 
Vida gallega na biblioteca museo etnoloxico
Vida gallega na biblioteca museo etnoloxicoVida gallega na biblioteca museo etnoloxico
Vida gallega na biblioteca museo etnoloxico
 
Good Vibrations for Learning and Information Literacy with Netvibes
Good Vibrations for Learning and Information Literacy with NetvibesGood Vibrations for Learning and Information Literacy with Netvibes
Good Vibrations for Learning and Information Literacy with Netvibes
 
Rautomead Newsletter issue 03
Rautomead Newsletter issue 03 Rautomead Newsletter issue 03
Rautomead Newsletter issue 03
 
Polímeros De Coordinción
Polímeros De CoordinciónPolímeros De Coordinción
Polímeros De Coordinción
 
Dnet 143 Ven 31 07
Dnet 143 Ven 31 07Dnet 143 Ven 31 07
Dnet 143 Ven 31 07
 
Soldering presentation
Soldering presentationSoldering presentation
Soldering presentation
 
13 wimo winblad et al worldwide econ imp 2012
13 wimo winblad et al worldwide econ imp 201213 wimo winblad et al worldwide econ imp 2012
13 wimo winblad et al worldwide econ imp 2012
 
Examen de admisión 2009 2
Examen de admisión 2009 2Examen de admisión 2009 2
Examen de admisión 2009 2
 

Similar to 68k utm complete

T5 bab 3 sistem( 8 17)
T5 bab 3 sistem( 8 17)T5 bab 3 sistem( 8 17)
T5 bab 3 sistem( 8 17)Home
 
T4 bab 6(38 45 ) peralatan, perkakas dan kaedah kerja
T4 bab 6(38  45 ) peralatan, perkakas dan kaedah kerjaT4 bab 6(38  45 ) peralatan, perkakas dan kaedah kerja
T4 bab 6(38 45 ) peralatan, perkakas dan kaedah kerjaHome
 
Buku kerja kh ting. 2
Buku kerja kh ting. 2Buku kerja kh ting. 2
Buku kerja kh ting. 2Bahia Ikram
 
T5 bab 1 rekabentuk dan penghasilan produk( 1-5)
T5 bab 1 rekabentuk dan penghasilan produk( 1-5)T5 bab 1 rekabentuk dan penghasilan produk( 1-5)
T5 bab 1 rekabentuk dan penghasilan produk( 1-5)Home
 
T4 bab 4(30 31) rekabentuk berbantu komputer
T4 bab 4(30 31) rekabentuk berbantu komputerT4 bab 4(30 31) rekabentuk berbantu komputer
T4 bab 4(30 31) rekabentuk berbantu komputerHome
 
Skor A KHB KT T2 set 1
Skor A KHB KT T2 set 1Skor A KHB KT T2 set 1
Skor A KHB KT T2 set 1Zamiyah Ali
 
T5 bab 2 reka bentuk bantuan komputer(6-7)
T5 bab 2 reka bentuk bantuan komputer(6-7)T5 bab 2 reka bentuk bantuan komputer(6-7)
T5 bab 2 reka bentuk bantuan komputer(6-7)Home
 
Aplikasi Perangkaian Sosial Web 2.0 dalam Pendidikan
Aplikasi Perangkaian Sosial Web 2.0 dalam PendidikanAplikasi Perangkaian Sosial Web 2.0 dalam Pendidikan
Aplikasi Perangkaian Sosial Web 2.0 dalam PendidikanMohamed Amin Embi
 
Persamaan pertidaksamaan linear mutlak
Persamaan pertidaksamaan linear mutlakPersamaan pertidaksamaan linear mutlak
Persamaan pertidaksamaan linear mutlakrianika safitri
 
Skor A KHB KT T.2 set 2
Skor A KHB KT T.2 set 2Skor A KHB KT T.2 set 2
Skor A KHB KT T.2 set 2Zamiyah Ali
 
Pk01 2 status laporan bt 2017 reading for fun
Pk01 2  status laporan bt 2017 reading for funPk01 2  status laporan bt 2017 reading for fun
Pk01 2 status laporan bt 2017 reading for funWei Fen Chua
 
Document1
Document1Document1
Document1Pok Nik
 
Modul Latihan Topikal Reka Cipta SPM
Modul Latihan Topikal Reka Cipta SPMModul Latihan Topikal Reka Cipta SPM
Modul Latihan Topikal Reka Cipta SPMMohd Nazri Awang
 
OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)
OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)
OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)Khairun Nisa Aziz
 
T5 bab 4 produk(18-22)
T5 bab 4 produk(18-22)T5 bab 4 produk(18-22)
T5 bab 4 produk(18-22)Home
 
Bps SMK Kulai Besar 2013
Bps SMK Kulai Besar 2013Bps SMK Kulai Besar 2013
Bps SMK Kulai Besar 2013ALSAFII
 

Similar to 68k utm complete (20)

T5 bab 3 sistem( 8 17)
T5 bab 3 sistem( 8 17)T5 bab 3 sistem( 8 17)
T5 bab 3 sistem( 8 17)
 
T4 bab 6(38 45 ) peralatan, perkakas dan kaedah kerja
T4 bab 6(38  45 ) peralatan, perkakas dan kaedah kerjaT4 bab 6(38  45 ) peralatan, perkakas dan kaedah kerja
T4 bab 6(38 45 ) peralatan, perkakas dan kaedah kerja
 
Buku kerja kh ting. 2
Buku kerja kh ting. 2Buku kerja kh ting. 2
Buku kerja kh ting. 2
 
T5 bab 1 rekabentuk dan penghasilan produk( 1-5)
T5 bab 1 rekabentuk dan penghasilan produk( 1-5)T5 bab 1 rekabentuk dan penghasilan produk( 1-5)
T5 bab 1 rekabentuk dan penghasilan produk( 1-5)
 
Fbmk 1996 2_a
Fbmk 1996 2_aFbmk 1996 2_a
Fbmk 1996 2_a
 
T4 bab 4(30 31) rekabentuk berbantu komputer
T4 bab 4(30 31) rekabentuk berbantu komputerT4 bab 4(30 31) rekabentuk berbantu komputer
T4 bab 4(30 31) rekabentuk berbantu komputer
 
Skor A KHB KT T2 set 1
Skor A KHB KT T2 set 1Skor A KHB KT T2 set 1
Skor A KHB KT T2 set 1
 
T5 bab 2 reka bentuk bantuan komputer(6-7)
T5 bab 2 reka bentuk bantuan komputer(6-7)T5 bab 2 reka bentuk bantuan komputer(6-7)
T5 bab 2 reka bentuk bantuan komputer(6-7)
 
3528 3
3528 33528 3
3528 3
 
Aplikasi Perangkaian Sosial Web 2.0 dalam Pendidikan
Aplikasi Perangkaian Sosial Web 2.0 dalam PendidikanAplikasi Perangkaian Sosial Web 2.0 dalam Pendidikan
Aplikasi Perangkaian Sosial Web 2.0 dalam Pendidikan
 
Persamaan pertidaksamaan linear mutlak
Persamaan pertidaksamaan linear mutlakPersamaan pertidaksamaan linear mutlak
Persamaan pertidaksamaan linear mutlak
 
Pengurusan sukan
Pengurusan sukanPengurusan sukan
Pengurusan sukan
 
Skor A KHB KT T.2 set 2
Skor A KHB KT T.2 set 2Skor A KHB KT T.2 set 2
Skor A KHB KT T.2 set 2
 
Perlembagaan persatuan
Perlembagaan persatuanPerlembagaan persatuan
Perlembagaan persatuan
 
Pk01 2 status laporan bt 2017 reading for fun
Pk01 2  status laporan bt 2017 reading for funPk01 2  status laporan bt 2017 reading for fun
Pk01 2 status laporan bt 2017 reading for fun
 
Document1
Document1Document1
Document1
 
Modul Latihan Topikal Reka Cipta SPM
Modul Latihan Topikal Reka Cipta SPMModul Latihan Topikal Reka Cipta SPM
Modul Latihan Topikal Reka Cipta SPM
 
OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)
OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)
OfficeCentral User Manual (BM) - Pengurusan Perhubungan Pelanggan (CRM)
 
T5 bab 4 produk(18-22)
T5 bab 4 produk(18-22)T5 bab 4 produk(18-22)
T5 bab 4 produk(18-22)
 
Bps SMK Kulai Besar 2013
Bps SMK Kulai Besar 2013Bps SMK Kulai Besar 2013
Bps SMK Kulai Besar 2013
 

Recently uploaded

TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINITUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINIZAINABAFINABINTISUHA
 
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdfKIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdfSandyItab
 
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdfPENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf1370zulaikha
 
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikanPBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikangipgp24202619
 
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdfReka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdfMDFARIDSHAFARIBINHAR
 
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdfNURULAFIFIBINTIROSLA
 
Slide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasSlide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasAdiebsulhy55
 
Reka Bentuk Teknologi Nota Tingkatan satu1
Reka Bentuk  Teknologi Nota Tingkatan satu1Reka Bentuk  Teknologi Nota Tingkatan satu1
Reka Bentuk Teknologi Nota Tingkatan satu1MDFARIDSHAFARIBINHAR
 
Buku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptxBuku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptxHussalwaHussain1
 
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...MDFARIDSHAFARIBINHAR
 
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genapKISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genapDewiUmbar
 
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdfTopik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdfNursKitchen
 

Recently uploaded (12)

TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINITUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
 
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdfKIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
 
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdfPENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
 
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikanPBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
 
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdfReka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
 
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
 
Slide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasSlide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkas
 
Reka Bentuk Teknologi Nota Tingkatan satu1
Reka Bentuk  Teknologi Nota Tingkatan satu1Reka Bentuk  Teknologi Nota Tingkatan satu1
Reka Bentuk Teknologi Nota Tingkatan satu1
 
Buku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptxBuku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptx
 
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
 
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genapKISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
 
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdfTopik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
 

68k utm complete

  • 1. Sistem Terbenam Berasaskan Mikropemproses 68000 Muhammad Mun’im Ahmad Zabidi Universiti Teknologi Malaysia January 29, 2009 If you found this book useful, donate to the Gaza fund
  • 2. Kandungan 1 Sistem Berasaskan Mikropemproses 1 1.1 Sistem Berasaskan Mikropemproses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Perkakasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Perisian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Evolusi Mikropemproses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Pemilihan Mikropemproses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Ciri Perisian 68000 11 2.1 Famili 68k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Model Pengaturcaraan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Organisasi Ingatan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Pengenalan kepada Set Suruhan 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.5 Beberapa Suruhan Asas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6 Pengenalan kepada Mod Alamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.7 Format Suruhan Mesin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.8 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3 Bahasa Himpunan 29 3.1 Pembangunan Perisian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Perlaksanaan Aturcara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3 Format Penyata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4 Ungkapan dalam Medan Kendalian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.5 Perintah Penghimpun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.6 Penggunaan Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Mod Alamat 47 4.1 Mod Daftar Data Langsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.2 Mod Daftar Alamat Langsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3 Alamat dan Daftar Alamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4 Mod Mutlak Panjang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5 Mod Mutlak Pendek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.6 Mod Terdekat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7 Mod Tersirat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.8 Mod Daftar Alamat Tak Langsung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.9 Mod Pascatokok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.10 Mod Prasusut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.11 Mod Daftar Alamat Tak Langsung dengan Ofset . . . . . . . . . . . . . . . . . . . . . . 56 4.12 Mod Daftar Alamat Tak Langsung dengan Indeks . . . . . . . . . . . . . . . . . . . . . 57 4.13 Mod PC Relatif dengan Ofset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.14 Mod PC Relatif dengan Indeks dan Ofset . . . . . . . . . . . . . . . . . . . . . . . . . 59 i If you found this book useful, donate to the Gaza fund
  • 3. ii Kandungan 5 Suruhan Olahan Data 61 5.1 Suruhan ADD dan SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2 Kesan ADD dan SUB Terhadap Bendera . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.3 Suruhan Darab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.4 Suruhan Bahagi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5 Mengolah Kendalian Berlainan Saiz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.6 Suruhan Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.7 Mengubah Bendera CCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.8 Suruhan Anjak dan Putar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.9 Suruhan Olahan Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.10 Suruhan BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6 Kawalan Aturcara 81 6.1 Suruhan Lompat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.2 Suruhan Cabang Tanpa Syarat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.3 Suruhan Cabang Bersyarat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.4 Suruhan CMP, TST dan BTST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.5 Pemilihan Dua Turutan Suruhan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.6 Mengulang Turutan Suruhan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.7 Bentuk Gelung Alternatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7 Olahan Tatasusunan dan Rentetan 97 7.1 Prinsip Tatasusunan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.2 Isu-Isu Dalam Olahan Tatasusunan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.3 Kajian Kes Olahan Tatasusunan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.4 Rentetan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.5 Operasi Output Aksara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.6 Rutin TRAP dalam Easy68k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.7 Penggunaan Tatusunan Lanjutan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8 Tindanan dan Subrutin 115 8.1 Tindanan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.2 Prinsip Asas Subrutin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8.3 Subrutin Bersarang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.4 Melindungi Isi Daftar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.5 Pengiriman Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 8.6 Penggunaan Subrutin Yang Berkesan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8.7 Kajian Kes Subrutin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 9 Ciri Perkakasan MC68000 131 9.1 Pin dan Isyarat 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 9.2 Isyarat Kawalan Bas Tak Segerak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 9.3 Isyarat Kawalan Sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.4 Kawalan Sampukan dan Status Pemproses . . . . . . . . . . . . . . . . . . . . . . . . . 135 9.5 Kawalan Periferal 6800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.6 Isyarat Kawalan DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.7 Kitar Suruhan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 If you found this book useful, donate to the Gaza fund
  • 4. Kandungan iii 10 Sistem Ingatan 149 10.1 Organisasi Ingatan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.2 Ingatan Baca Sahaja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 10.3 Ingatan Capaian Rawak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 10.4 Serpihan Ingatan Piawaian Industri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.5 Logik gam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 10.6 Logik Kawalan Ingatan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 10.7 Penyahkodan Alamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 10.8 Litar Penjana DTACK* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 10.9 Penyahkodan Separa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 11 Pengantaramukaan Input/Output Asas 167 11.1 Prinsip Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 11.2 Pengantaramukaan LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 11.3 Pengantaramukaan Pamer 7 segmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 11.4 Pengantaramukaan Suis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 11.5 Pengantaramukaan Papan Kekunci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 11.6 Input/Output Mudah dengan EASy68K . . . . . . . . . . . . . . . . . . . . . . . . . . 180 12 Pengantaramukaan Selari - WIP 185 12.1 Peranti PIA MC6821 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 12.2 Input/Output dengan PIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 13 Pengantaramukaan Selari - WIP 195 13.1 Penghantaran Data Bersiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 13.2 Peranti ACIA MC6850 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 13.3 Memulakan ACIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 13.4 Menggunakan ACIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 13.5 Serpihan Sokongan bagi Perhubungan Bersiri . . . . . . . . . . . . . . . . . . . . . . . 205 14 Kekecualian & Sampukan 209 14.1 Mod Penyelia dan Pengguna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 14.2 Suruhan Kawalan Sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 14.3 Pemprosesan Kekecualian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 14.4 Kekecualian yang Disebabkan Perlaksanaan Aturcara . . . . . . . . . . . . . . . . . . . 214 14.5 Keadaan Ralat yang Menyebabkan Perangkap . . . . . . . . . . . . . . . . . . . . . . . 218 14.6 Reset dan Pememulaan Sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 14.7 Sampukan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 14.8 Kitar Akuan Sampukan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 14.9 Sampukan Tervektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 If you found this book useful, donate to the Gaza fund
  • 5. Bab 1 Sistem Berasaskan Mikropemproses Objektif • Membandingkan ciri-ciri sistem terbenam dan sistem guna am • Menyenaraikan komponen utama sistem berasaskan mikropemproses • Menerangkan operasi dalaman mikropemproses • Menjelaskan evolusi mikropemproses Pengenalan Bab ini merupakan latar belakang kepada sistem berasaskan mikropemproses. Anda akan melihat aplikasi mikropemproses dan komponen-komponen dalamannya secara am. Anda akan melihat susunan dalaman komputer dan bagai-mana ia melaksanakan aturcara dalam ingatan. Anda akan juga melihat faktor-faktor yang perlu diketahui semasa memilih mikropemproses untuk sesuatu aplikasi. Akhir sekali, kita akan melihat evolusi mikropemproses hingga ke hari ini. 1.1 Sistem Berasaskan Mikropemproses Teknologi mikropemproses telah membolehkan banyak peranti elektronik mempunyai kecerdikan dan memudahkan kehidupan manusia. Peralatan yang mengandungi mikropemproses boleh dikategorikan kepada komputer guna am dan sistem terbenam. Komputer Guna Am Apabila perkataan komputer disebut, selalunya kita akan memikirkan komputer guna am. Terdapat beberapa kategori utama komputer guna am: Komputer peribadi (PC1 ) — Apabila disebut perkataan “komputer”, bentuk yang paling pantas terlintas di fikiran mempunyai dua bentuk utama iaitu desktop dan laptop. Ia merupakan komputer guna am yang paling murah dan lazimnya menggunakan peranti papan kekunci dan tetikus untuk input, serta paparan dan pencetak untuk output. Pelayan — Pelayan2 merupakan sebarang komputer yang dipasang sepanjang masa untuk melayan permohonan dari pengguna. Pelayan adalah penggerak utama Internet, dengan menghidangkan apa saja maklumat yang diperlukan pengguna. Disebabkan pelayan perlu beroperasi tanpa henti 1 personal computer 2 server 1 If you found this book useful, donate to the Gaza fund
  • 6. 2 Bab 1. Sistem Berasaskan Mikropemproses berta-hun-tahun lamanya, ia dibina menggunakan perkakasan yang lebih berkualiti ber-banding komputer peribadi. Kerangka utama — Komputer kerangka utama3 adalah sejenis pelayan yang dibuat oleh syarikat IBM. Namanya merujuk kepada saiznya yang besar serta memerlukan bilik dengan penyejukan khusus. Dengan adanya Internet, fungsi kerangka utama tidak lagi sepenting dahulu kerana fungsinya boleh dilakukan oleh pelayan yang lebih murah. Superkomputer — Superkomputer ditakrifkan sebagai komputer yang terpantas semasa ia mula-mula diperkenalkan. Disebabkan teknologi komputer bergerak pantas, superkomputer hari ini akan menjadi komputer biasa pada hari esok. Superkomputer digunakan bagi pengiraan intensif seperti fizik kuantum, ramalan cuaca, permodelan molekul, simulasi (seperti simulasi pesawat dalam terowong udara dan simulasi senjata nuklear), dan sebagainya. Ia selalunya dijumpai di universiti-universiti utama, agensi ketenteraan dan makmal penyelidikan saintifik. Kebanyakan superkomputer hari ini dibina dengan beribu-ribu mikropemproses biasa yang digabungkan dengan penyambungan khusus. Versi kecil boleh dibina dengan empat pemproses ke atas dan ini dikenali sebagai gugusan komputer4 . Komputer guna am boleh melakukan pelbagai tugas menurut aturcara yang diisikan ke dalamnya dan peralatan yang disambungkan kepadanya. Untuk menggunakannya dengan efisien, komputer guna am memerlukan sistem pengoperasian. Dalam komputer peribadi, sistem pengoperasian yang kerap digunakan adalah Windows dan Mac OS X, manakala banyak pelayan menggunakan Linux atau Unix. Sistem Terbenam Sistem terbenam5 merupakan sistem komputer yang terkandung dalam satu peralatan. Umumnya, ia tidak kelihatan seperti komputer. Aplikasi sistem terbenam menggunakan lebih 98% daripada pengelu- aran mikropemproses baru sedangkan pengeluaran selebihnya barulah digunakan dalam komputer guna am. Berikut disenaraikan hanya segelintir sistem terbenam yang biasa kita temui: Telefon bimbit Permainan video Kamera digital Kad pintar Pencetak Mesin tekanan darah Modem Walkie-talkie Ketuhar gelombang mikro Pendingin hawa Sistem brek kereta Radio kereta Laser perangkap laju TV litar tertutup Sistem terbenam direka untuk melakukan hanya satu fungsi berbanding komputer guna am yang boleh melakukan pelbagai fungsi. Jumlah sistem terbenam yang dikilang mencapai angka beberapa bilion setiap tahun. Sebagai jurutera, anda mungkin dikehendaki merekabentuk sistem terbenam, sedangkan anda hanya perlu membeli sebuah komputer peribadi. Jadual 1.1 meringkaskan perbezaan sistem terbenam dengan komputer kegunaan am. 1.2 Perkakasan Sebarang sistem berasaskan mikropemproses terbahagi kepada dua aspek utama iaitu perkakasan6 dan perisian7 . Perkakasan adalah komponen-komponen yang boleh dilihat seperti papan litar, cip dan 3 mainframe 4 computer cluster 5 embedded systems 6 hardware 7 software If you found this book useful, donate to the Gaza fund
  • 7. 1.2. Perkakasan 3 Jadual 1.1: Perbandingan komputer kegunaan am dan sistem terbenam Kategori Komputer Guna Am Sistem Terbenam Aplikasi Boleh diubah oleh peng- Tidak boleh, aplikasi telah dite- guna tapkan semasa rekabentuk Antaramuka Amnya mesti ada papan Tidak tetap, ada kalanya mudah pengguna kekunci dan skrin dengan beberapa butang dan LED, ada kalanya sama kompleks dengan komputer guna am Ciri penentu Kelajuan dan Lesapan kuasa, harga dan saiz keserasian perisian pendawaian. Perisian pula ialah aturcara yang terkandung dalam ingatan yang memboleh komputer berfungsi seperti yang dikehendaki. Perkakasan perlu dibina manakala perisian perlu ditulis. Perkakasan terdiri beberapa unsur standard iaitu pemproses, ingatan, dan peranti input/output (I/O). Spesifikasi pemproses paling penting adalah jenis dan kelajuannya seperti Freescale 68000 beroperasi pada 10 MHz. Spesifikasi ingatan terpenting ialah saiznya sama ada 32 kilobyte, 1 megabyte atau 2 gigabyte. Peranti I/O merupakan komponen perkakasan yang dipilih bergantung aplikasi termasuk penukar analog/digital, penukar digital/analog, pengawal pemacu cakera, pemacu paparan video, dan sebagainya. Sistem Bas Struktur asas bagi sebuah sistem komputer asas ditunjukkan dalam Rajah 1.1. Kesemua komponen disambungkan melalui bas sistem iaitu sekelompok pengalir yang dikongsi oleh komponen-komponen dalam sistem. Bas sistem terbahagi kepada bas alamat, bas data dan bas kawalan. Fungsi terperinci ketiga-tiga bas ini akan diliputi kemudian. Pemproses atau unit pemprosesan pusat (CPU8 ) ialah jantung keseluruhan sistem. Ia mengawal keseluruhan operasi yang dilakukan oleh sistem. Pemproses melaksanakan aturcara yang tersimpan dalam ingatan. Ingatan berfungsi menyimpan aturcara dan data yang diperlukan oleh mikropemproses. Ingatan terbahagi kepada dua jenis: ingatan baca-sahaja (ROM9 ) dan ingatan capaian rawak (RAM10 ). ROM dikenali juga sebagai ingatan tidak meruap yang bermakna kandungannya kekal walaupun tanpa bekalan kuasa. RAM pula dikenali juga sebaga ingatan meruap yang mana kandungannya lenyap apabila bekalan kuasa diputuskan. Fungsi ROM dan RAM berbeza dalam komputer guna am dan sistem terbenam. Dalam komputer guna am, ROM mengandungi dua fungsi. Fungsi pertama ialah pengujian komponen-komponen kritikal semasa sistem mula-mula dihidupkan. Setelah lulus peringkat ini, ROM melaksanakan fungsi keduanya iaitu mengisikan sistem pengoperasian (seperti Windows atau Linux) ke dalam RAM. Setelah RAM diisikan dengan sistem pengoperasian, ROM sudah tidak diperlukan lagi sepanjang operasi normal sistem. Saiz RAM amat besar kerana ia perlu menempatkan sistem pengoperasian dan aplikasi. Pengguna boleh mengisikan sebarang aplikasi daripada cakera keras ke dalam RAM. Disebabkan maklumat dalam RAM lenyap apabila komputer ditutup, kesemua perisian ini perlu diisikan semula dari cakera keras setiap kali komputer mula-mula dipasang. Dalam sistem terbenam, fungsi ROM lebih penting kerana mengandungi keseluruhan aplikasi yang 8 central processing unit 9 read-onlymemory 10 random access memory If you found this book useful, donate to the Gaza fund
  • 8. 4 Bab 1. Sistem Berasaskan Mikropemproses Bas Alamat Bas Data Bas Kawalan CPU Ingatan Ingatan Program Antaramuka Antaramuka Data (ROM) Selari Bersiri (RAM) Rajah 1.1: Rajah blok suatu sistem berasaskan mikropemproses. menentukan fungsi peralatan. Disebabkan kandungan ROM tidak berubah, fungsi sistem akan kekal sepanjang hayat. RAM hanya diperlukan untuk menyimpan data yang perlu semasa operasi sistem. Segelintir sistem kecil boleh beroperasi tanpa RAM langsung. Peranti input/output (I/O) diperlukan bagi membolehkan komputer ber-hubung dengan dunia luar. Peranti I/O selari melibatkan operasi membaca suis, mengawal lampu dan memindahkan data dengan peranti selari seperti penukar D/A, penukar A/D atau pemacu cakera. Peranti I/O bersiri membolehkan perhubungan dengan komputer yang lebih besar atau dengan terminal operator. I/O bersiri agak lambat tetapi ia amat mudah: cuma dua dawai (untuk menghantar dan menerima data) dan dawai bumi diperlukan. Ada lagi komponen-komponen yang tidak ditunjukkan dalam Rajah 1.1 seperti litar pemasaan dan litar sampukan. Litar pemasaan mengawal kelajuan keseluruhan sistem dan biasanya terdiri daripada litar berasaskan pengayun hablur. Litar sampukan pula, jika ada, membolehkan pemproses mengawal banyak peranti input/output pada suatu masa. Dalam pembinaan sistem terbenam yang mudah, kesemua komponen uta-ma iaitu pemproses, ingatan dan peranti I/O boleh dikecilkan sehingga dapat dimuatkan dalam satu cip. Peranti ini dikenali sebagai mikropengawal11 atau komputer dalam satu cip. Bagi sesuatu famili mikropengawal, terdapat berbagai versi yang berbeza saiz ingatan dan jumlah peranti I/O walaupun menggunakan pemproses yang sama. Walaupun ia tidak berkeupayaan tinggi, ia banyak digunakan dalam sistem kecil kerana ia kecil, murah dan boleh beroperasi dengan kuasa bateri. Lazimnya ingatan dalam mikropengawal adalah terhad dan tidak boleh ditambah jadi jurutera pereka mesti mahir mengoptimumkan penggunaan ingatan. Konfigurasi peranti I/O juga tidak boleh dipinda maka sebelum membina sistem, jurutera pereka perlu memilih versi yang benar-benar sepadan dengan sistem yang hendak dikawal. Selain mikropemproses dan mikropengawal, sistem terbenam terdapat juga dalam bentuk sistem dalam cip (SoC12 ). Jika mikropengawal boleh dibeli di pasaran dengan mudah dan digunakan dalam pelbagai sistem, SoC direka khusus untuk sesuatu produk seperti telefon bimbit dan pemain MP3. Berbanding mikropengawal, ia jauh lebih kompleks kerana mempunyai peranti I/O maju seperti pengawal LCD grafik, antaramuka USB, pengawal kad SD, penyahkod audio MP3 dan seumpamanya. Kos untuk mereka SoC amat tinggi tetapi menjimatkan kos keseluruhan pembuatan sesuatu produk kerana dapat mengurangkan jumlah komponen dan saiz produk. Operasi Ingatan Ingatan boleh dianggap menyimpan maklumat berbentuk satu senarai panjang. Setiap unsur dalam senarai ini mempunyai alamat (lokasi) dan data (isi). Peranti ingatan mempunyai penyambungan kepada bas alamat, bas data dan input kawalan. Bas alamat, bersifat input, menentukan lokasi mana yang sedang dicapai. Jumlah talian alamat menentukan jumlah kedudukan yang terdapat dalam ingatan. Bagi bas 11 microcontroller 12 System-on-Chip If you found this book useful, donate to the Gaza fund
  • 9. 1.2. Perkakasan 5 Alamat Data Alamat Data Isyarat Baca kawalan Tulis Rajah 1.2: Ingatan. alamat n bit, terdapat 2n alamat. Bas data, bersifat input dan output, memindahkan data masuk dan keluar ingatan. Jumlah bit yang boleh dicapai pada sesuatu masa ditentukan oleh jumlah talian data. Bas kawalan menentukan operasi yang akan dilakukan terhadap ingatan. Sebagai contoh, mikro-pemproses 6800 mempunyai bas alamat 16 bit dan bas data 8 bit. Oleh itu, saiz ingatannya ialah 216 = 65536 alamat dan setiap alamat mengandungi 8 bit (atau 1 byte). Bagi mikropemproses 68k, bas alamatnya bersaiz 24 bit jadi ia mempunyai 224 = 16777216 alamat. Setiap alamat menyimpan satu byte. Bagaimanapun, dua alamat bergandingan boleh dicapai serentak. Oleh itu bas datanya bersaiz 16 bit. Dua operasi boleh dilakukan terhadap ingatan: baca dan tulis. Operasi mana yang dilakukan ditentukan oleh isyarat BACA dan TULIS yang dihantar dari CPU ke ingatan sebagai sebahagian daripada bas kawalan. Dalam operasi baca, maklumat dipindahkan dari ingatan ke pemproses. Untuk operasi ini, alamat maklumat yang dikehendaki diberikan oleh pemproses kepada ingatan. Seterusnya, perintah BACA dikeluarkan. Apabila ingatan melihat kedua-dua maklumat ini, ia mengeluarkan data yang terletak di alamat yang dinyatakan ke bas data. Data ini akhirnya dibaca oleh CPU. Operasi tulis memindahkan data dari CPU ke dalam ingatan. Dalam operasi ini, bas data tidak menjadi output ingatan tetapi berfungsi sebagai input. Untuk menulis secebis data ke dalam ingatan, CPU memberikan alamat di mana data akan disimpan ke bas alamat. Seterusnya, data yang akan disimpan dikeluarkan ke bas data. Akhir sekali, perintah TULIS diberi. Apabila ingatan melihat kesemua maklumat ini, ia menyimpan data ke di alamat yang dinyatakan. (a) Membaca ingatan. (b) Menulis ingatan. Rajah 1.3: Dua operasi yang boleh dilakukan terhadap ingatan. Operasi Pemproses Bagi memahami operasi mikropemproses, kita akan melihat secara ringkas rekabentuk dalaman CPU. Setiap pemproses mengandungi tiga komponen asas: If you found this book useful, donate to the Gaza fund
  • 10. 6 Bab 1. Sistem Berasaskan Mikropemproses CPU Unit Kawalan Bas Alamat ALU Bas Data Bas Kawalan Daftar Rajah 1.4: Unit Pemprosesan Pusat. • Daftar13 • Unit kawalan14 • Unit aritmetik dan logik (ALU15 ) Daftar mikropemproses menyimpan maklumat yang sedang digunakan. Terdapat daftar yang kelihatan kepada pengaturcara dan ada juga yang terlindung. Unit kawalan mengawal operasi mikropemproses dan seterusnya keseluruhan sistem. ALU pula digunakan untuk memproses data. CPU boleh dikelaskan menurut jumlah bit yang diproses serentak, yang bergantung kepada saiz ALU, daftar dan bas data. Saiz yang lebih lebar membolehkan data bersaiz besar diproses lebih pantas. Sebagai contoh, data sebesar 32 bit dipindahkah dalam hanya satu langkah dengan bas data 32 bit tetapi memerlukan 4 langkah dengan bas data 8 bit. Mikropemproses 68000 mempunyai daftar 32 bit tetapi saiz ALU dan bas datanya hanya 16 bit. Oleh kerana kedua-dua saiz data digunakan, 68000 dirujuk sebagai pemproses 16/32 bit. Sebagai perbandingan, saiz bas data, ALU dan daftar pemproses 68HC11 kesemuanya 8 bit. Kesemua pemproses berfungsi dengan melaksanakan suruhan yang dipungut dari ingatan. Masa perlaksanaan setiap suruhan dinamai kitar suruhan atau kitar pungut-laksana. Kitar suruhan terdiri daripada dua fasa utama: • Pungut16 — ambil suruhan dari ingatan • Laksana17 — tafsir dan laksana suruhan Semasa fasa pungut, pemproses mengambil satu suruhan dari ingatan. Untuk mencapai ke suruhan ini, alamat suruhan diisikan dahulu ke daftar yang dinamai pembilang aturcara (PC18 ). Pemproses membaca suruhan yang terkandung di alamat yang dinyatakan dalam PC. Suruhan ini kemudiannya diisi ke daftar suruhan (IR 19 ). IR lazimnya tidak termasuk dalam senarai daftar-daftar pemproses yang boleh dicapai secara langsung oleh pengaturcara. Semasa fasa laksana, pemproses mentafsir atau menentukan jenis suruhan yang terkandung dalam IR. Suruhan adalah suatu nombor perduaan yang difahami oleh unit kawalan. Kombinasi bit dalam suruhan menentukan apakah operasi yang perlu dilakukan serta kedudukan data yang diproses oleh 13 register 14 control unit 15 Arithmetic and Logic Unit 16 fetch 17 execute 18 program counter 19 instruction register If you found this book useful, donate to the Gaza fund
  • 11. 1.3. Perisian 7 suruhan tersebut. Setelah suruhan ditafsirkan, barulah pemproses boleh melakukan tugas yang dikehendaki. Senarai semua jenis suruhan yang boleh dilakukan digelar set suruhan20 . Set suruhan sesuatu mikropemproses bergantung kepada keupayaan mikropemproses tersebut. Sebagai contoh, sebuah pemproses 32 bit lazimnya mempunyai suruhan darab dan ia boleh mendarab dengan pantas dan mudah. Sebaliknya, sistem 8 bit lazimnya tiada suruhan darab. Jika operasi darab diperlukan, ia terpaksa dilaksanakan dengan berpuluh-puluh suruhan dan memakan masa yang lebih lama. Setelah mikropemproses menamatkan satu kitar suruhan, ia akan memungut lalu melaksanakan suruhan seterusnya sehingga komputer dimatikan. 1.3 Perisian Perisian adalah istilah am yang merangkumi satu atau banyak aturcara atau program yang dilaksanakan dalam komputer. Sesuatu aturcara terdiri daripada banyak suruhan. Aturcara boleh dianggap suatu gubahan muzik sedangkan suruhan adalah satu not yang keluar dari satu alat muzik. Untuk memainkan lagu yang menarik, kita perlu tahu mengeluarkan bunyi dengan not yang betul pada masa yang tepat. Dengan cara yang sama, kita perlu tahu kesan setiap suruhan dan mengatur suruhan-suruhan di dalam suatu aturcara. Dalam penulisan aturcara, mula-mula kita perlu mendapatkan algoritma atau konsep penyelesaian masalah. Seterusnya, algoritma perlu diterjemah menjadi suatu aturcara yang boleh difahami komputer. Inilah proses penulisan aturcara atau pengekodan21 , yang boleh dilakukan dalam pelbagai bahasa pengaturcaraan. Dalam sistem berasaskan mikropemproses, terdapat beberapa bahasa pengaturcaraan utama iaitu bahasa mesin, bahasa himpunan dan bahasa tahap tinggi. Bahasa Mesin Bahasa mesin22 ialah bahasa tabii komputer berbentuk kod perduaan. Ia mengawal operasi tahap rendah yang paling mudah atau primitif. Setiap operasi primitif tidak lebih daripada operasi memindahkan kelompok-kelompok bit dari satu tempat ke tempat lain dalam komputer, operasi asas aritmetik seperti tambah dan tolak, dan sebagainya. Pengguna boleh mengaturcara komputer dengan bahasa mesin secara mendapatkan kod perduaan bagi setiap suruhan kemudian mengisikan suruhan ke dalam ingatan secara manual.. Ia boleh dilakukan untuk mikropemproses mudah tetapi agak remeh untuk 68000. Bahasa ini tidak cekap kerana pengaturcaraannya lambat dan kesilapan terlalu mudah berlaku. Bahasa Himpunan Untuk memudahkan penulisan bahasa mesin, aturcara ditulis dalam bahasa himpunan23 . Suruhan- suruhan dalam bahasa himpunan berbentuk kod senang ingat atau mnemonik. Aturcara punca diterjemah ke bahasa mesin dengan penghimpun24 . Bahasa himpunan, sama seperti bahasa mesin, adalah khusus kepada setiap mikropemproses. Ini bermakna aturcara himpunan untuk sesuatu mikropemproses tidak difahami oleh mikropemproses lain. Apabila penghimpun menghasilkan bahasa mesin yang akan dilaksanakan di sistem dengan mikropemproses yang lain, ia dinamai penghimpun silang25 . Contohnya, penghimpun ASM68K menghimpun bahasa himpunan 68000 tetapi dilaksanakan komputer peribadi. Aturcara yang dihasilkan 20 instruction set 21 coding 22 machine language 23 assembly language 24 assembler 25 cross assembler If you found this book useful, donate to the Gaza fund
  • 12. 8 Bab 1. Sistem Berasaskan Mikropemproses oleh penghimpun digelar juga kod objek26 . Selain menukar aturcara punca ke bentuk objek, penghimpun menghasilkan fail senarai27 . Fail senarai menunjukkan mnemonik, lokasi ingatan yang digunakan, dan nilai perenambelasan setara bagi setiap suruhan. Bahasa himpunan harus digunakan untuk membina sistem berasas mikropemproses yang optimum. Ini kerana aturcara bahasa himpunan padat, pantas dan berupaya mengawal setiap komponen perkakasan dalam sistem. Namun begitu, pereka tidak boleh mengabaikan bahasa mesin sama sekali jika ingin melakukan pengaturcaraan secara berkesan. Bahasa Tahap Tinggi Bahasa tahap tinggi membolehkan aturcara lebih mudah ditulis dan mudah dialihkan ke sebarang mikropemproses lain jika perlu. Bagaimanapun, kod objek yang dihasilkan oleh pengkompil bahasa tahap tinggi selalunya beroperasi dengan lebih perlahan dan saiz kod objek yang terhasil lebih besar berbanding kod objek yang dikeluarkan oleh penghimpun. Dua bahasa tahap tinggi yang popular dalam pembinaan sistem terbenam ialah C dan BASIC. C ialah bahasa yang amat popular kerana ia berupaya mengawal sumber-sumber perkakasan hampir sama seperti bahasa himpunan. Dengan penggunaan pengkompil, aturcara punca dalam C ditukar ke kod objek. Sesetengah pengkompil membolehkan suruhan bahasa himpunan diselitkan dalam aturcara C membolehkan kedua-dua bahasa digabungkan dalam satu aturcara. BASIC28 ialah bahasa tahap tinggi yang paling mudah dipelajari. Penyata-penyata aturcara punca diterjemah semasa perlaksanaan ke bahasa mesin menggunakan pentafsir. Ini menyebabkan aturcara BASIC beroperasi dengan amat perlahan. Terdapat juga pengkompil BASIC yang menghasilkan aturcara bahasa mesin terus daripada aturcara punca. Ini sedikit sebanyak mempercepatkan perlak- sanaannya. 1.4 Evolusi Mikropemproses Mikropemproses yang pertama ialah Intel 4004 yang diperkenalkan pada tahun 1971. Ia merupakan peranti 4 bit yang asalnya direka untuk membina alat kira. Pada tahun berikutnya, Intel memperkenalkan peranti 8008 iaitu mikropemproses 8 bit yang pertama. Cip ini diikuti oleh 8080 dan 8085. Produk mikropemproses pertama dari Motorola ialah MC6800 pada tahun 1974. Cip ini juga merupakan peranti 8 bit. Suatu cip yang rekabentuknya berasal daripada MC6800 ialah 6502 yang dibina oleh MOS Technology Corporation. Cip 6502 digunakan dalam Apple II, iaitu komputer peribadi yang pertama. Mikropemproses 16 bit pertama ialah 8086 yang dikeluarkan oleh Intel pada tahun 1978. Cip kedua dalam siri ini – 8088 – digunakan dalam IBM PC asal. Kedua-dua cip ini merupakan asas kepada peranti 80286, 80386, 80486, Pentium dan pemproses-pemproses lain yang berasaskan Pentium. Setiap cip merupakan pembaikan kepada cip sebelumnya dan membentuk siri yang dikenali sebagai x86. Siri x86 dikembangkan ke 32 bit bermula dengan pemproses 80386, dikenali sebagai siri IA-32 oleh Intel. Seterusnya siri x86 dikembangkan ke 64 bit bermula dengan AMD Opteron dan Intel Core sebagai siri AMD64 dan EM64T. Motorola memperkenalkan pemproses 68000 pada tahun 1979. Peranti ini mengasaskan mikropem- proses famili 68k yang termasuk 68000, 68008, 68010, 68020, 68030, 68040 dan 68060. Siri ini pada asalnya direka sebagai pemproses dalam komputer guna am terutamanya dalam komputer Apple, tetapi pada hari ini ia hanya dijumpai dalam sistem terbenam selepas tiada lagi perkembangan siri ini selepas tahun 1993. Dalam satu perkembangan berkaitan, bahagian firma Motorola yang mereka pemproses (Motorola Semiconductor Products Sector) dipisahkan dari syarikat induk pada 2004 membentuk firma Freescale. Pada hari ini, pemproses Motorola 68k lebih tepat lagi disebut Freescale 68k. 26 objectcode 27 listing file 28 Beginner’s All-purpose Symbolic Instruction Code If you found this book useful, donate to the Gaza fund
  • 13. 1.5. Pemilihan Mikropemproses 9 1.5 Pemilihan Mikropemproses Boleh dikatakan semua komputer peribadi pada hari ini menggunakan siri x86, sama ada dibuat oleh syarikat Intel, AMD dan lain-lain. Siri x86 ada juga digunakan dalam sistem terbenam prestasi tinggi yang agak besar seperti robot. Dalam pembinaan sistem terbenam, pemilihan pemproses tidak condong kepada siri x86 sahaja kerana terdapat pelbagai faktor lain seperti penggunaan kuasa, saiz dan kos. Terdapat pelbagai jenis mikropemproses yang digunakan dalam sistem terbenam. Ini berbeza dengan komputer guna am yang pilihan pemprosesnya terhad. Beberapa faktor perlu dipertimbangkan semasa membanding dan memilih mikropemproses untuk sesuatu tugas. Jurutera pereka boleh memilih peranti yang sesuai dengan aplikasi dari mikropengawal 4 atau 8 bit hinggalah ke pemproses penuh 32 dan 64 bit. Dari Freescale sahaja terdapat mikropengawal ColdFire, M*Core, PowerPC, 68HC11, 68HC05, 68HC08 dan beberapa lagi. Dari firma lain terdapat mikropengawal ARM, PIC, MSP430, Rabbit, AVR, TMS320, Nios, MicroBlaze dan berpuluh-puluh lagi. Satu kaedah yang paling mudah bagi membezakan kelajuan sistem ialah juta suruhan sesaat (MIPS29 ). Contohnya, mikropemproses 68000 boleh mencapai 0.6 MIPS pada kelajuan 8 MHz tetapi 68040 boleh mencecah 40 MIPS. Unit MIPS boleh digunakan untuk membandingkan pemproses dari siri yang sama seperti dalam siri 68k atau dalam siri x86. Bagaimanapun, unit ini tidak begitu tepat bagi membanding pemproses dari siri yang berbeza contohnya satu pemproses dari siri 68k dengan satu pemproses lain dari siri x86. Saiz dan kuantiti data yang perlu diproses menentukan saiz mikropemproses yang diperlukan. Contohnya, suatu sistem pemain video dengan grafik tiga dimensi perlu melukis imej di kaca TV dengan sangat pantas dan ingatannya pula perlu mempunyai ingatan yang besar untuk menyimpan maklumat bagi setiap bintik yang dipaparkan. Aplikasi ini tidak mungkin dapat diselesaikan dengan mikropemproses 8 bit. Sebaliknya, sebuah sistem penggera mungkin mendapat input sejam sekali dan maklumat yang di bawah kawalannya hanya memerlukan beberapa puluh byte untuk disimpan. Dalam aplikasi ini, pemproses 8 bit lebih daripada mencukupi. Integrasi sistem menggambarkan keupayaan pengembangan sesuatu cip mikropemproses atau mikropengawal. Jika peranti input/output banyak tersedia dalam cip asas, peralatan tambahan tidak lagi diperlukan. Ini dapat mengecilkan saiz papan litar dan mengurangkan penggunaan kuasa. Bagaimanapun, terlalu banyak peranti yang tidak digunakan akan menambahkan kos pembuatan. Jika komputer yang direka hendak dikeluarkan dengan banyak, dan keuntungan ingin dimaksi- mumkan, kita perlu memilih komputer terkecil yang mampu melakukan tugas dikehendaki. Mikropem- proses 4 bit, misalnya, masih banyak digunakan untuk kerana kosnya yang amat rendah. Satu lagi faktor yang perlu dipertimbangkan dalam pembuatan dalam sistem berasas mikropem- proses ialah lesapan kuasa. Sistem yang jimat kuasa boleh bergantung hanya kepada bateri sebaliknya sistem yang kurang cekap kuasa mungkin memerlukan unit bekalan kuasa yang disambungkan kepada soket arus ulang-alik. Sudah tentulah sistem yang bergantung kepada bateri amat mudah dibawa ke mana-mana. Mikropemproses yang kurang cekap kuasa juga mungkin memerlukan kipas penyejukan. Faktor ini menyebabkan rekabentuk cesi peralatan perlu diubah dan kerapkali menjadi lebih besar dan kurang mudah alih. Masa ke pasaran ialah masa yang diperlukan untuk menyiapkan sesuatu rekabentuk. Ia bergantung kepada kemahiran perekabentuk dan kewujudan kelengkapan dan komponen yang diperlukan. Sesuatu mikropemproses mempunyai kos dan lesapan kuasa yang rendah serta keupayaan yang tinggi tidak semestinya dipilih jika tiada jurutera dalam sesuatu organisasi tersebut pernah menggunakannya. Perlu diingat, masa untuk mereka sistem yang kedua jauh lebih singkat berbanding dengan rekabentuk pertama. Kehadiran komponen perkakasan dan perisian yang diperlukan juga penting untuk menyiapkan sesuatu projek dalam masa yang singkat. 29 million instructions per second If you found this book useful, donate to the Gaza fund
  • 14. 10 Bab 1. Sistem Berasaskan Mikropemproses Latihan 1. Komponen atau litar manakah yang bukan sebahagian daripada pemproses? (a) RAM (b) ALU (c) Daftar (d) Unit kawalan (e) Pembilang aturcara 2. Pilih pernyataan yang paling sesuai bagi menerangkan mikropemproses. (a) Cip yang mengandungi hanya pemproses (b) Cip yang mengandungi kesemua komponen komputer (c) Kurang luwes (fleksible) dalam rekabentuk sistem berbanding mikropengawal (d) Memerlukan hanya satu cip untuk membina sistem yang lengkap (e) Biasanya kurang menggunakan kuasa berbanding mikropengawal 3. Yang manakah antara yang berikut tidak mengandungi mikropemproses? (a) Pelayan (b) Ketuhar gelombang mikro (c) MyKad (d) PDA (e) Tukul 4. ROM bermakna (a) Run Once Memory (b) Residual Oxidation Memory (c) Reprogrammable Once Memory (d) Read-Only Memory (e) Random Oscillator Modulation 5. Berikut disenarakan beberapa saiz bas alamat. Untuk setiap satu, kira saiz ruang ingatan bagi komputer berkenaan. (a) 16 bit (b) 20 bit (c) 24 bit (d) 32 bit If you found this book useful, donate to the Gaza fund
  • 15. Bab 2 Ciri Perisian 68000 Objektif • Menerangkan latar belakang famili 68k • Melakar model pengaturcaraan 68000 • Menjelaskan organisasi ingatan • Menerangkan format suruhan mesin 2.1 Famili 68k Bab ini merupakan pengenalan kepada senibina mikropemproses 68000 dan famili 68k. Peranti ini adalah pemproses pertama yang dikaji dengan mendalam. Berikut ialah sebab kenapa mikropemproses ini sesuai dikaji: • Ia popular. • Reka bentuknya kemas • Set suruhannya komprehensif Ia mempunyai ciri-ciri yang memudahkan rekabentuk sistem pengendalian dan pengaturcaraan bahasa tahap tinggi. Pemproses pada hari ini sememangnya kompleks dan akan terus menjadi semakin kompleks. Oleh itu mikropemproses pertama yang dipelajari sepatutnya lebih kompleks. Peranti MC68000 adalah pengasas siri 68k yang asalnya direka untuk menjadi unit pemprosesan pusat (CPU) dalam komputer guna am. Ia disusuli oleh beberapa komponen yang berbeza kelajuan dan keupayaan. Jadual 2.1 meringkaskan perbezaan CPU dalam famili 68k. Awalan MC menunjukkan bahawa peranti ini dibuat oleh Motorola atau Freescale. Sekiranya dibuat oleh rakan niaganya seperti SGS-Thomson atau Hitachi, awalan yang berbeza akan digunakan. Pada hari ini, famili 68k tidak lagi digunakan dalam komputer guna am tetapi meluas digunakan dalam sistem terbenam dalam bentuk yang berbeza-beza, antaranya: • Pemproses terbenam1 — merupakan pemproses asal dengan diubah nama untuk tujuan pemasaran seperti MC68EC000. • Mikropengawal — menggabungkan pemproses teras seperti CPU32 (yang paling mirip 68020) dengan ingatan dan peranti I/O asas seperti penukar analog ke digital (ADC), antaramuka bersiri, pembilang, pemasa dan litar-litar yang seumpamanya dalam satu cip. 1 embedded controller 11 If you found this book useful, donate to the Gaza fund
  • 16. 12 Bab 2. Ciri Perisian 68000 Jadual 2.1: Unit pemprosesan pusat (CPU) dalam siri 68k Bas Bas Komponen Tahun Ciri Penting Data Alamat MC68000 1979 16 24 Asas siri 68k MC68008 1982 8 24 Asas siri 68k MC68008 MC68010 1983 16 24 MC68000 dengan ingatan maya MC68020 1984 32 24 Pemproses 32 bit pertama dalam famili 68k MC68030 1987 32 32 MC68020 diperbaiki dengan ditambah MMU MC68040 1990 32 32 MC68030 diperbaiki dengan ditambah FPU MC68060 1993 64 32 MC68040 dengan 2 ALU dengan 1 FPU dan kelajuan 1 suruhan/kitar • Sistem dalam cip (SoC) – merupakan mikropengawal yang amat kompleks. Jika mikropengawal boleh digunakan dalam pelbagai sistem, SoC direka khusus untuk satu produk dan mengandungi peranti I/O yang kompleks seperti LCD, grafik, USB dan wayarles. Contoh SoC dari siri 68k ialah peranti Dragonball yang pernah digunakan dalam PDA PalmPilot. Teknologi pembuatan semikonduktor juga telah berubah. Pada asalnya MC68000 dibuat dengan teknologi NMOS, tetapi kini peranti yang paling mirip iaitu MC68HC000 dibuat dengan teknologi CMOS. Penggunan teknologi CMOS mengurangkan lesapan kuasa dari 1 W ke 100 mW sahaja. Selain peranti-peranti yang menggunakan pemproses berasaskan 68000, terdapat siri mikropengawal Coldfire yang menggunakan pemproses lebih moden. Dengan menggunakan seni bina dalaman RISC, pemproses ini mempunyai prestasi yang tinggi pada kos yang rendah. Keserasian aturcara adalah ciri penting ahli-ahli famili 68k. Aturcara yang ditulis untuk peranti 68000 boleh dilaksanakan oleh ahli-ahli famili yang lebih maju seperti 68020 atau ColdFire. Setelah memahami suruhan-suruhan MC68000 asas, mudah untuk kita mengaturcara pemproses-pemproses lain dalam famili ini. 2.2 Model Pengaturcaraan Model pengaturcaraan menunjukkan daftar CPU yang boleh dicapai oleh pengaturcaraan dan peta ingatan. Komponen-komponen lain CPU seperti daftar suruhan, ALU, dan unit kawalan tidak ditunjukkan kerana tidak berada di bawah kawalan pengaturcara. Pemproses 68000 mengandungi daftar berikut: • Lapan daftar data2 32 bit (D0-D7) • Tujuh daftar alamat3 32 bit (A0-A6) • Dua penuding tindanan4 (USP dan SSP) • Satu pembilang aturcara5 32 bit (PC) • Satu daftar status6 16 bit (SR) 2 data register 3 address register 4 stack pointer 5 program counter 6 status register If you found this book useful, donate to the Gaza fund
  • 17. 2.2. Model Pengaturcaraan 13 
 Rajah 2.1: Set daftar 68000. Daftar Data Daftar data mempunyai pelbagai fungsi tetapi fungsi utamanya ialah menyimpan data yang akan dan telah diproses oleh ALU. Setiap daftar data bersaiz 32 bit. Setiap bit diberi nombor kedudukan dengan bit 0 terletak paling bawah dan bit 31 terletak teratas. Secebis data bersaiz 32 bit (kata panjang) menggunakan keseluruhan daftar. Data bersaiz 16 bit (kata) hanya menggunakan 16 bit bawah, iaitu bit 0 hingga 15. Data bersaiz 8 bit (byte) hanya menggunakan bit 0 hingga 7. Rujuk Rajah 2.1. Garisan- garisan kelabu menunjukkan sempadan untuk byte, kata dan kata panjang. Kesemua daftar ini bersifat umum yakni apa sahaja yang boleh dilakukan terhadap sesuatu daftar boleh dilakukan terhadap 7 daftar lain. Sesetengah mikropemproses lain mempunyai daftar data yang setiap satu mempunyai fungsi tertentu — tetapi tidak halnya dengan 68000. Daftar Alamat Daftar alamat, A0 hingga A7, digelar sedemikian kerana maklumat yang disimpan di dalamnya melambangkan lokasi suatu objek dalam ingatan. Setiap daftar alamat bertindak sebagai penuding. Kita tidak boleh melakukan operasi byte di dalam daftar alamat kerana alamat hanya bersaiz 16 bit atau 32 bit. Walaupun setiap daftar besarnya 32 bit, 68000 hanya menggunakan 24 bit terendah apabila mencapai ingatan menghasilkan julat alamat sebesar 224 (16M) byte. Terdapat suruhan-suruhan 68000 yang beroperasi hanya terhadap daftar alamat. Operasi byte terhadap daftar alamat tidak dibenarkan. Apabila nilai 16 bit diisikan, ia dipanjangkan ke 32 bit. Daftar alamat serbaguna, A0 hingga A6, berkelakuan sama. Apa sahaja yang boleh dilakukan kepada sesuatu daftar boleh juga dilakukan kepada enam daftar lain. Disebabkan bas alamat 68000 adalah 24 bit, hanya 24 daripada 32 bit yang terdapat dalam daftar alamat digunakan untuk mencapai ingatan. If you found this book useful, donate to the Gaza fund
  • 18. 14 Bab 2. Ciri Perisian 68000 Penuding Tindanan Penuding tindanan merupakan daftar alamat A7 atau SP. Dalam kebanyakan operasi, kelakuannya sama seperti daftar A0 hingga A6. Bagaimanapun, penuding tindanan mempunyai fungsi yang lebih khusus iaitu untuk melaksanakan tindanan dan subrutin. Pemproses 68k mempunyai dua mod pemprosesan iaitu mod penyelia atau mod pengguna. Untuk menyokong dua mod ini, terdapat dua penuding tindanan iaitu penuding tindanan penyelia (SSP7 ) dan penuding tindanan pengguna (USP8 ). Penuding tindanan semasa diset menurut mod pemprosesan, dan dirujuk sebagai SP atau A7. Kewujudan dua mod dan dua penuding tindanan membolehkan 68k melaksanakan sistem pengoperasian9 . Sistem pengoperasian membolehkan sistem terus beroperasi jika terdapat ralat dalam perisian. Bagi sistem mudah, hanya SSP digunakan. Pembilang Aturcara Pembilang aturcara (PC) menuding kepada suruhan yang akan dilaksanakan. Daripada 32 bit yang ada di sini, hanya 24 bit dapat dikeluarkan ke bas alamat kerana itulah saiz fizikal bas alamat. Pemproses lanjutan dalam famili 68k menggunakan kesemua 32 bit. Untuk melaksanakan sesuatu suruhan, daftar PC diisi dengan alamat suruhan tersebut. Semasa suruhan dinyahkod oleh unit kawalan, PC ditambah supaya menuding ke suruhan yang berikutnya. Dengan itu, setelah suruhan dilaksanakan, CPU telah mempunyai maklumat yang cukup untuk memungut suruhan berikutnya. Daftar Status Daftar status dibahagikan kepada dua seksyen: byte sistem dan byte pengguna. Apabila 68000 berada dalam mod penyelia, keseluruhan daftar boleh dibaca dan diubah. Dalam mod pengguna, kedua-dua byte boleh dibaca tetapi hanya byte rendah boleh diubah. Byte Pengguna Bit-bit dalam daftar status yang paling kerap digunakan oleh pengaturcara ialah yang terdapat dalam byte pengguna. Byte pengguna yang dikenali juga sebagai daftar kod syarat10 (CCR). Setiap bit dalam CCR dinamai bendera. CCR menyimpan analisis operasi CPU terakhir. Fungsi setiap bendera diterangkan secara ringkas di sini: • C (carry) — Bernilai 1 apabila terdapat bawa semasa operasi tambah atau pinjam semasa operasi tambah. Dalam operasi anjak, ia mengandungi bit yang dianjak keluar dari kendalian. • V (overflow) — Bernilai 1 apabila limpahan aritmetik berlaku. Limpahan aritmetik berlaku apabila operasi terhadap integer bertanda melebihi ruang yang yang disediakan. • Z (zero) — Bernilai 1 apabila hasil operasi sifar. • N (negative) — Bernilai 1 apabila hasil operasi negatif. • X (extend) — Menyalin nilai C untuk operasi aritmetik. Dalam kebanyakan suruhan lain nilainya tidak berubah. Kesan setiap suruhan terhadap nilai bendera tidak sama. Terdapat suruhan yang mengubah kesemua bendera, ada juga yang mengubah hanya beberapa bit dan ada suruhan yang langsung tidak mengubah sebarang bendera. Untuk mengetahui kesan sesuatu suruhan terhadap CCR, set suruhan perlu dirujuk. 7 supervisor stack pointer 8 user stack pointer 9 operating system 10 condition codes register If you found this book useful, donate to the Gaza fund
  • 19. 2.3. Organisasi Ingatan 15 
 Rajah 2.2: Daftar status. Byte Sistem Bit-bit dalam byte sistem digunakan bagi mengawal operasi keseluruhan sistem. Butir terperinci penggunaan bit-bit ini diliputi dalam Bab 13. • I2 –I0 — Tiga bit serangkai ini dikenali sebagai bit topeng sampukan11 . Bit-bit ini mengawal tahap sampukan yang disambut oleh CPU. Jika dibenarkan melalui bit-bit ini, sampukan menyebabkan pemproses meninggalkan sebentar kerja yang sedang dilakukan bagi membuat suatu operasi yang lebih penting. Ciri ini membolehkan masa CPU digunakan dengan lebih optimum. Nilai I2 -I0 semasa reset ialah 111. • S (supervisor) — Pemproses 68000 boleh berada sama ada dalam mod pengguna atau mod penyelia. Jika S=1, pemproses berada dalam mod penyelia. Ada tiga perbezaan mod-mod ini. Dalam mod penyelia penunjuk tindanan yang digunakan ialah SSP, keseluruhan daftar status boleh dicapai, dan kesemua suruhan boleh digunakan. Dalam mod pengguna, penunjuk tindanan yang aktif ialah USP, hanya byte rendah daftar status boleh dicapai dan beberapa suruhan tidak boleh dilaksanakan. Nilai bit S semasa reset ialah 1. • T (trace) — Jika T = 1, 68000 beroperasi dalam mod surih: selepas setiap suruhan, pemproses masuk ke rutin nyahpepijat12 bagi menyemak nilai daftar CPU dan isi ingatan. Nilai bit T semasa reset ialah 0 dan suruhan-suruhan dilaksanakan secara normal. Bit T hanya boleh diset ke 1 jika sistem telah disiapkan dengan rutin khas bagi mengendalikannya. 2.3 Organisasi Ingatan Set suruhan 68000 boleh menyokong pemprosesan secara langsung lima jenis data. Lima jenis data ini ialah: • Bit • Digit BCD13 (4 bit setiap satu, tetapi diproses berpasangan) • Byte (8 bit) • Kata14 (16 bit) 11 interruptmask bits 12 debug routine 13 binary coded decimal 14 word If you found this book useful, donate to the Gaza fund
  • 20. 16 Bab 2. Ciri Perisian 68000 • Kata panjang15 (32 bit) Suruhan-suruhan boleh memproses satu atau lebih daripada jenis-jenis ini, tetapi tidak semua suruhan boleh memproses kesemua jenis. Jika sesuatu suruhan boleh memproses lebih daripada satu jenis data, imbuhan .B (byte), .W (word) atau .L (longword) ditambah kepada mnemonik suruhan untuk memilih saiz data yang dikehendaki. Bagaimana dengan aksara, rentetan, titik-apung dan sebagainya? Data daripada jenis ini dijana melalui pengaturcaraan. Suruhan-suruhan individu tidak boleh mengendalikan data ini sebaliknya turutan suruhan atau subrutin mesti ditulis jenis-jenis data ini. Ingatan digunakan untuk menyimpan aturcara dan data. Ini berbeza dengan daftar yang hanya boleh menyimpan data. Ingatan lebih perlahan tetapi lebih besar berbanding daftar. Bas alamat peranti 68000 saiznya 24 bit menjadikan 68000 boleh mencapai 224 = 24 x 220 = 16 megabyte ingatan. Ia boleh dilihat sebagai satu senarai petak atau sel, yang setiap satu menyimpan satu nilai 8 bit atau byte. Sel ingatan dinombor dari sifar sehingga muatan maksimum ingatan. Satu megabyte bersamaan 220 atau 1048576. Oleh itu 16 megabyte mengandungi 167771216 kedudukan atau alamat. Rajah 2.3(a) menunjukkan peta ingatan yang menunjukkan satu byte bagi setiap alamat. Alamat ingatan biasanya dituliskan dalam perenambelasan. Dalam dokumentasi Motorola/Freescale, nombor perenambelasan dinyatakan dengan simbol $. Jadi julat alamat 68000 ialah dari $000000 (0) 15 longword (a) Satu byte sebaris. (b) Satu kata sebaris. Rajah 2.3: Dua kaedah mengatur ingatan. 
 Rajah 2.4: Menyimpan kata panjang dalam ingatan If you found this book useful, donate to the Gaza fund
  • 21. 2.4. Pengenalan kepada Set Suruhan 68000 17 hingga $FFFFFF (16777121610 ). Bas data 68000 saiznya 16 bit. Ini menjadikan pemproses 68000 mampu mencapai sejumlah 16 bit data ingatan dalam satu langkah. Setiap kata hanya boleh disimpan bermula dari alamat genap. Oleh itu, kata pertama dalam ingatan mempunyai alamat $000000, kata kedua di $000002, kata ketiga di $000004 dan seterusnya. Jika kita menganggap ingatan hanya mengandungi kata, julat alamat ingatan ialah $0000000 hingga $FFFFFE. Peta ingatan boleh dilukis semula untuk memaparkan satu kata setiap baris. Alamat-alamat berbeza sebanyak dua dari satu baris ke baris berikutnya. Rajah 2.3(b) memaparkan peta ingatan yang standard dalam pengaturcaraan 68000. Sama seperti kata, kata panjang juga mesti bermula dari alamat genap. Alamat-alamat bagi kata-kata panjang bersebelahan berbeza sebanyak empat. Jika kata panjang pertama mempunyai alamat n, kata panjang akan berada di alamat n+4, dan seterusnya. Bagaimanapun, n ialah sebarang nilai genap. Rajah 2.4 menunjukkan pandangan ingatan semasa menyimpan kata-kata panjang. Kata dan kata panjang tidak boleh bermula dari alamat ganjil. Cip 68000 menghalang operasi baca atau tulis yang melanggar syarat ini (contohnya, cuba membaca kata dari alamat ganjil). Jika operasi seperti ini dicuba, suatu kekecualian terjadi kerana terdapat ralat alamat. Bab 13 akan menerangkan lebih lanjut mengenai konsep kekecualian. Maklumat yang disimpan dalam ingatan terdiri daripada data dan suruhan. Data berbentuk nombor yang boleh diproses dengan operasi aritmetik atau aksara yang boleh diolah sebagai rentetan. Suruhan memberitahu pemproses bagaimana data perlu diproses. Semua data dan aturcara berbentuk nombor perduaan dan pengaturcara perlu memastikan komputer tidak mengelirukan suruhan dengan data. 2.4 Pengenalan kepada Set Suruhan 68000 Set suruhan menentukan operasi yang boleh dipilih untuk fungsi-fungsi pemindahan data, aritmetik, kawalan aturcara dan sebagainya Mikropemproses 68000 mempunyai cuma 54 suruhan asas, tetapi bila dikira kesemua variasinya, jumlahnya melebihi 1000! Setiap suruhan mesti mengandungi: • Kod operasi • Saiz kendalian • Kedudukan kendalian Kod operasi atau opkod menentukan operasi yang perlu dilakukan. Saiz kendalian menentukan sama ada operasi bertindak kepada data byte, kata atau kata panjang. Kedudukan kendalian memberitahu CPU alamat berkesan kendalian iaitu bagaimana kendalian dicapai, sama ada dalam daftar atau ingatan. Jadual 2.2 menyenaraikan set suruhan 68000. Setiap mnemonik melambangkan satu kod operasi. Satu huruf menentukan panjang kendalian sama ada byte (B), kata (W) atau kata panjang (L). Contohnya, suruhan bagi memindahkan kendalian 16 bit dari kedudukan punca ke destinasi berupa: MOVE.W punca,destinasi yang mana punca dan destinasi menentukan kedudukan kendalian. Setiap suruhan yg boleh dilakukan oleh 68000 mempunyai opkod berlainan. Suruhan-suruhan boleh dikategorikan menurut jumlah kendalian iaitu dua kendalian, satu kendalian atau tiada kendalian langsung. Berikut adalah contoh tiga suruhan yang sah: MOVE.W D0,D1 ;suruhan dua kendalian CLR.W D1 ;suruhan satu kendalian NOP ;suruhan tanpa kendalian Suruhan-suruhan selalunya dikategorikan menurut operasi asas yang dilakukannya: If you found this book useful, donate to the Gaza fund
  • 22. 18 Bab 2. Ciri Perisian 68000 • pemindahan data • aritmetik • logik • putar dan anjak • olahan bit • BCD • kawalan aturcara • kawalan sistem Sesetengah suruhan mempunyai variasi yang beroperasi secara yang lebih khusus. Jadual 2.3 menunjukkan variasi suruhan asas. Suruhan-suruhan akan diliputi secara berperingkat-peringkat. Suruhan pemindahan data diliputi dalam Bab 3 (mod alamat). Suruhan aritmetik, logik, putar dan anjak, olahan bit dan BCD merupakan suruhan yang mengubah atau memproses data. Ini diliputi dalam Bab 5 (suruhan olahan data). Suruhan kawalan aturcara diliputi dalam Bab 6 dan Bab 7. Akhir sekali, disebabkan suruhan kawalan sistem lebih khusus, ia diliputi dalam Bab 13. 2.5 Beberapa Suruhan Asas Untuk memberi pengenalan kepada set suruhan 68000, tiga suruhan asas diterangkan di bawah iaitu CLR, MOVE dan ADD. Suruhan CLR Suruhan CLR (clear) ialah suruhan satu kendalian dengan format CLR.s <ea> yang mana s ialah B, L, atau W dan <ea> adalah alamat berkesan destinasi. Operasi ini memadam atau meletakkan sifar di destinasi yang ditetapkan. Operasi ini boleh ditakrifkan secara padat menggunakan RTL16 seperti berikut 0 → destinasi yang bermaksud gantikan destinasi dengan sifar. Keterangan lengkap mengenai suruhan CLR didapati dalam Users Manual. Keterangan mengenai suruhan menjelaskan destinasi yang dibenarkan, dalam bentuk mod alamat17 . Ciri-ciri lain yang diperincikan termasuk saiz data yang dibenarkan bagi sesuatu suruhan, kesan terhadap CCR, dan format bahasa mesin. 16 Register Transfer Language 17 addressing mode If you found this book useful, donate to the Gaza fund
  • 23. 2.5. Beberapa Suruhan Asas 19 Jadual 2.2: Set suruhan 68000. Mnemonik Makna Fungsi ABCD Add decimal with extend Tambah BCD dengan bendera X ADD Add binary Tambah AND Logical AND AND logik ASL Arithmetic shift left Anjak aritmetik kiri ASR Arithmetic shift right Anjak aritmetik kanan Bcc Branch conditionally Cabang bersyarat BCHG Bit test and change Uji bit dan tukar BCLR Bit test and clear Uji bit dan padam BRA Branch always Cabang sentiasa BSET Bit test and set Uji bit dan set BSR Branch to subroutine Cabang ke subrutin BTST Bit test Uji bit CHK Check register with bounds Semak daftar dengan batasan CLR Clear operand Padam kendalian CMP Compare Banding DBcc Decrement and branch conditionally Susut dan cabang bersyarat DIVS Signed divide Bahagi bertanda DIVU Unsigned divide Bahagi tak bertanda EOR Exclusive OR ATAU eksklusif EXG Exchange registers Tukarganti daftar EXT Sign extend Panjangkan tanda JMP Jump to effective address Lompat JSR Jump to subroutine Lompat ke subrutin LEA Load effective address Isi alamat berkesan LINK Link stack Kait tindanan LSL Logical shift left Anjak logik kiri LSR Logical shift right Anjak logik kanan MOVE Move source to destination Alih punca ke destinasi MULS Sign multiply Darab bertanda MULU Unsigned multiply Darab tak bertanda NBCD Negate decimal with extend Nafi BCD dengan bendera X NEG Negate Nafi NOP No operation Tiada operasi NOT One’s complement Pelengkap satu OR Logical OR OR PEA Push effective address Letak alamat ke tindanan RESET Reset external devices Reset peranti luar ROL Rotate left Putar kiri ROR Rotate right Putar kanan ROXL Rotate left through extend Putar kiri menerusi X ROXR Rotate right through extend Putar kanan menerusi X RTE Return from exception Kembali daripada kekecualian RTR Return and restore Kembali dan perbetul RTS Return from subroutine Kembali daripada subrutin SBCD Subtract decimal with extend Tolak BCD dengan bendera X Scc Set conditionally Set bersyarat STOP Stop processor Henti pemproses SUB Subtract binary Tolak SWAP Swap data register halves Tukarganti atas/bawah daftar TAS Test and set operand Uji dan set kendalian TRAP Trap Perangkap TRAPV Trap on overflow Perangkap jika limpahan TST Test operand Uji kendalian UNLK Unlink stack Buang kaitan tindanan If you found this book useful, donate to the Gaza fund
  • 24. 20 Bab 2. Ciri Perisian 68000 Jadual 2.3: Variasi set suruhan 68000. Mnemonik Makna Fungsi ADDA Add address Tambah alamat ADDI Add immediate Tambah data terdekat ADDQ Add quick Tambah pantas ADDX Add with extend Tambah dengan bendera X ANDI Logical AND immediate AND data terdekat ANDI to CCR Logical AND immediate to CCR AND data terdekat dengan CCR ANDI to SR Logical AND immediate to SR AND data terdekat dengan SR CMPA Compare address Banding alamat CMPI Compare immediate Banding data terdekat CMPM Compare memory Banding ingatan EORI Logical exclusive OR immediate OR eksklusif data terdekat Logical exclusive OR immediate OR eksklusif data terdekat EORI to CCR to CCR dengan CCR Logical exclusive OR immediate OR eksklusif data terdekat EORI to CCR to SR dengan SR MOVE from SR Move from SR to destination Alih daripada SR ke destinasi MOVE to CCR Move from source to CCR Alih daripada punca ke CCR MOVE to SR Move from source to SR Alih daripada punca ke SR Alih penunjuk tindanan MOVE USP Move user stack pointer pengguna MOVEA Move address Alih ke daftar alamat MOVEM Move multiple registers Alih berbilang daftar MOVEP Move peripheral data Alih data periferal MOVEQ Move quick Alih pantas NEGX Negate with extend Nafi dengan bendera X ORI Logical OR immediate OR data terdekat ORI to CCR Logical OR immediate to CCR OR data terdekat dengan CCR ORI to SR Logical OR immediate to SR OR data terdekat dengan SR SUBA Subtract address Tolak daripada daftar alamat SUBI Subtract immediate Tolak data terdekat SUBQ Subtract quick Tolak pantas SUBX Subtract with extend Tolak dengan bendera X Contoh: Jika daftar D0 mengandungi $FA1234DE, apakah isinya selepas suruhan CLR.W D1? Penyelesaian: Suruhan CLR.W D1 memadam hanya kata rendah D1. Kata atas tidak terjejas. Oleh itu, D1 menjadi $FA120000. Suruhan MOVE Suruhan pemindahan data terpenting ialah MOVE (gerak). Suruhan ini mempunyai dua kendalian dengan format MOVE.s <sea>,<dea> yang mana s ialah B, L atau W. Kendalian <sea> ialah alamat berkesan punca dan kendalian <dea> ialah alamat berkesan destinasi. Suatu salinan data di kendalian punca disalin ke kendalian destinasi. If you found this book useful, donate to the Gaza fund
  • 25. 2.6. Pengenalan kepada Mod Alamat 21 Walaupun suruhan ini diberi nama gerak, operasi sebenarnya menyalin data kerana kendalian punca tidak berubah. Suruhan ini boleh memindahkan data antara daftar dengan ingatan. RTL untuk suruhan ini ialah punca → destinasi yang bermaksud data dari punca dipindahkan ke destinasi. Suruhan ADD Salah satu suruhan aritmetik ialah ADD (tambah). Suruhan ini mempunyai dua kendalian dengan format ADD.s <sea>,<dea> yang mana s ialah B, L atau W. RTL untuk suruhan ini ialah punca + destinasi → destinasi Kendalian punca ditambahkan kepada kendalian destinasi kemudian hasil tambah disimpan di kendalian destinasi. Oleh itu, nilai kendalian destinasi berubah selepas suruhan dilaksanakan. 2.6 Pengenalan kepada Mod Alamat Mod alamat ialah penentu bagi mendapatkan data yang terletak dalam daftar atau dalam ingatan. Mod alamat memberitahu pemproses bagaimana ia mendapatkan kedudukan kendalian sebenar. Kedudukan sebenar lebih dikenali sebagai alamat berkesan18 dan dijana semasa perlaksanaan suruhan. Peranti 68000 adalah pemproses berkuasa tinggi dengan mod-mod alamat yang canggih. Ini memudahkan pengaturcaraan bahasa himpunan kerana sesuatu kedudukan data boleh dicapai dengan menggunakan jumlah suruhan yang sedikit. Pemproses 68000 mempunyai 14 mod alamat kesemuanya yang boleh dikumpulkan kepada enam mod asas. • Daftar langsung19 — Alamat berkesan ialah daftar yang dinyatakan. • Mutlak20 — Alamat berkesan terkandung di dalam suruhan dan digunakan secara langsung (mutlak) tanpa perubahan. • Daftar tak langsung21 — Alamat berkesan terletak di dalam daftar. Kendalian terletak di alamat yang terdapat di dalam daftar. • Terdekat22 — Kendalian adalah sebahagian daripada suruhan dan tidak perlu dicari lagi. • Relatif pembilang aturcara23 — Alamat berkesan dikira dengan mengambil nilai PC dan menambah atau menolak nilai sesaran24 . Harus diingati PC sentiasa menuding ke suruhan berikutnya. • Tersirat25 — Kendalian ialah daftar yang dinyatakan oleh mnemonik dalam suruhan seperti SR, USP, SSP atau PC. 18 effective address atau ringkasnya ea 19 register direct 20 absolute 21 register indirect 22 immediate 23 program counter relative 24 offset 25 inherent If you found this book useful, donate to the Gaza fund
  • 26. 22 Bab 2. Ciri Perisian 68000 Pengalamatan Daftar Langsung Dalam mod pengalamatan daftar langsung alamat atau lokasi kendalian dinyatakan secara langsung sebagai sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi mendapatkan alamat berkesan. Dalam pengalamatan daftar langsung, kendalian terletak di dalam suatu daftar data atau alamat. Format am bagi suruhan CLR menggunakan pengalamatan daftar data langsung ialah CLR.s Dn yang mana kendalian dengan panjang s yang dipadam terletak dalam daftar Dn, yang bermakna salah satu daripada D0, D1, , D7. Oleh itu CLR.W D1 memadam kata rendah dalam daftar D1. Suruhan MOVE memerlukan dua kendalian dengan format MOVE.s Dm,Dn Oleh itu, suruhan MOVE.B D0,D1 menyalin D0[7:0] ke D1[7:0]. Pengalamatan Mutlak Dalam mod pengalamatan mutlak alamat atau lokasi kendalian dinyatakan secara langsung sebagai sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi mendapatkan alamat berkesan. Dalam pengalamatan mutlak, kendalian terletak di dalam suatu lokasi ingatan. Kendalian kata dan kata panjang mesti diletakkan dalam lokasi genap. Format am bagi suruhan CLR menggunakan pengalamatan mutlak ialah CLR.s XXXX yang mana kendalian bersaiz s yang dipadam terletak dalam lokasi XXXX di ingatan. Oleh itu CLR.W $2000 memadam kata yang terletak di alamat 2000 perenambelasan. Nilai XXXX dianggap perpuluhan kecuali jika diawali oleh simbol $ untuk menandakan bahawa ini ialah nilai perenambelasan. Suruhan MOVE.W 2000,D2 bermakna salin 16 bit dari lokasi 2000 perpuluhan ke D2[15:0]. Pengalamatan Tak Langsung Dalam mod pengalamatan tak langsung, suatu daftar alamat digunakan sebagai punca alamat suatu kendalian dalam ingatan. Isi daftar alamat dianggap penuding ke lokasi tersebut. Kendalian kata dan kata panjang mesti diletakkan dalam lokasi genap. Mod ini dikenali dengan tanda kurungan yang mengelilingi nama satu daftar alamat seperti dalam suruhan berikut CLR.B (A0) Dalam suruhan ini, satu byte yang terletak di ingatan akan dipadam. Alamat byte ialah apa-apa nilai yang terdapat dalam daftar A0. If you found this book useful, donate to the Gaza fund
  • 27. 2.7. Format Suruhan Mesin 23 Pengalamatan Relatif Dalam mod pengalamatan relatif nilai alamat kendalian didapati dengan menambah suatu sesaran kepada nilai dalam pembilang aturcara. Alamat berkesan didapati dengan melalui ungkapan PC + sesaran → ea Nilai sesaran mempunyai tanda positif atau negatif. Simbol * merujuk kepada nilai semasa pembilang aturcara. Oleh itu BRA *+2 menyebabkan operasi cabang ke alamat dua byte ke hadapan. Pengalamatan Terdekat Dalam mod pengalamatan terdekat menyatakan suatu nilai malar. Nilai ini terletak di dalam suruhan. Contohnya MOVE.B #’m’,D2 Menyalin nilai ASCII untuk m ke dalam daftar D0. Simbol # difahami oleh penghimpun untuk menandakan pengalamatan terdekat. Mod terdekat tidak dibenarkan sebagai kendalian destinasi. 2.7 Format Suruhan Mesin Pemproses 68000 melaksanakan aturcara yang mengandungi suruhan bahasa mesin. Pengaturcara jarang-jarang menulis aturcara dalam bahasa mesin kerana adalah lebih produktif menulis aturcara bahasa himpunan kemudian menterjemahkannya ke bahasa mesin. Bagaimanapun, kefahaman men- genai format bahasa mesin membolehkan pengaturcara mempergunakan keupayaan mikropemproses sepenuhnya. Setiap suruhan mesin untuk 68000 terdiri daripada sekurang-kurangnya satu kata 16 bit. Ia boleh mengandungi sehingga empat kata lanjutan. Kata pertama dalam suruhan, iaitu kata operasi26 , mengandungi maklumat tentang operasi, saiz data dan mod alamat. Kata lanjutan ditambah kepada suruhan untuk kendalian terdekat, alamat berkesan punca dan alamat berkesan destinasi. Rujuk Rajah 2.5 untuk susun atur suatu suruhan. Bit-bit yang mentakrifkan suruhan bermula dari bit tertinggi (bit 15) kata operasi. Jumlah bit sebenar bagi takrifan suruhan bergantung kepada suruhan. Pemproses 68000 akan menyemak dahulu nibel tertinggi (bit 15:12) . Maksud nibel ini ditunjukkan di Jadual 2.4. Baki bit dalam kata operasi digunakan untuk menjelaskan lagi operasi yang perlu dilakukan. 26 control word 
 Rajah 2.5: Format suruhan mesin If you found this book useful, donate to the Gaza fund
  • 28. 24 Bab 2. Ciri Perisian 68000 Jadual 2.4: Kod operasi pemproses 68000. Bit 15:12 Operasi Bit 15:12 Operasi 0000 Olahan bit/MOVEP/Terdekat 1000 OR/DIV/SBCD 0001 Gerak byte 1001 SUB/SUBX 0010 Gerak kata panjang 1010 Emulator A 0011 Gerak kata 101 CMP/EOR 0100 Pelbagai 1100 AND/MUL/ABCD/EXG 0101 ADDQ/SUBQ/Scc/DBcc 1101 ADD/ADDX 0110 Bcc/BSR 1110 Anjak/Putar 0111 MOVEQ 1111 Emulator F Rajah 2.6 menunjukkan format am untuk suruhan satu kendalian. Bit 15:6 mentakrifkan operasi yang akan dilakukan. Bit 5:0 ialah medan alamat berkesan yakni maklumat mengenai kedudukan kendalian. Ia terbahagi kepada medan mod dan medan daftar. Pemproses 68000 mempunyai 14 mod alamat. Salah satu mod asas ialah mod daftar langsung, yang mana maklumat yang diolah terletak dalam daftar data (D0-D7). Mod daftar langsung ditentukan oleh bit 000 dalam medan mod dan nombor daftar (0-7) dalam medan daftar. Rujuk Jadual 2.5 untuk mod-mod alamat yang dibenarkan. 
 Rajah 2.6: Format am suruhan mesin satu kendalian. Jadual 2.5: Mod alamat bagi MC68000 Mod Daftar Mod alamat Sintaks 000 rrr Daftar data langsung Dn 001 rrr Daftar alamat langsung An 010 rrr Daftar alamat tak langsung (ARI) (An) 011 rrr ARI dengan pascatokok (An)+ 100 rrr ARI dengan prasusut -(An) 101 rrr ARI dengan ofset N(An) 110 rrr ARI dengan ofset dan indeks N(An,Xm) 111 000 Mutlak pendek $XXXX 111 001 Mutlak panjang $XXXXXXXX 111 010 PC relatif dengan ofset N(PC) 111 011 PC relatif dengan ofset dan indeks N(PC,Xm) 111 100 Terdekat #$XXXX Untuk menunjukkan bagaimana pola bit suruhan mesin didapati, kita kaji semula suruhan CLR, MOVE dan ADD. If you found this book useful, donate to the Gaza fund
  • 29. 2.7. Format Suruhan Mesin 25 Suruhan Mesin untuk CLR Rajah 2.7a ialah format suruhan mesin untuk operasi CLR. Pola 0100 dalam bit 15:12 digunakan oleh berbagai-bagai suruhan. Oleh itu, pola 0010 dalam bit 11:8 digabungkan dengan pola 0100 dalam nibel teratas mentarifkan operasi CLR. Rajah 2.7(b) menunjukkan format mesin untuk suruhan CLR.B D0. 
 (a) Format am untuk CLR. 
 (b) Contoh bagi suruhan CLR.B D0. Rajah 2.7: Suruhan mesin untuk CLR. Suruhan Mesin untuk MOVE Suruhan MOVE merupakan suruhan dua kendalian dengan satu kendalian punca dan satu kendalian destinasi. Format am suruhan MOVE ditunjukkan dalam Rajah 2.8(a). Terdapat tiga format berbeza untuk setiap saiz data yang dibenarkan. Dalam suruhan MOVE, alamat berkesan untuk kendalian punca mempunyai format yang sama dengan alamat berkesan suruhan satu kendalian, iaitu medan mod di kiri (bit 5:3) dan medan daftar di kanan (bit 2:0). Untuk kendalian destinasi, kedudukan medan terbalik, iaitu medan mod di kanan (bit 8:6) dan medan daftar di kiri (11:9). Keadaan ini mudah mengelirukan jika kita bekerja dalam bahasa mesin sepenuhnya, tetapi itulah hasil kerja perekabentuk 68000 akibat ingin memudahkan mikrokodnya. 
 (a) Format am untuk MOVE. 
 (b) Contoh bagi suruhan MOVE.W D7,D0. Rajah 2.8: Suruhan mesin untuk MOVE. If you found this book useful, donate to the Gaza fund
  • 30. 26 Bab 2. Ciri Perisian 68000 Rajah 2.8(b) menunjukkan format mesin untuk suruhan MOVE.W D7,D0 iaitu 0011 0000 0000 0111. Suruhan ini memindahkan kata bawah D7 ke kata bawah D0. Kata bawah D0 akan berubah manakala kata atas D0 serta keseluruhan D7 tidak berubah. Suruhan Mesin untuk ADD Suruhan ADD adalah suruhan dua kendalian tetapi format mesinnya tidak serupa dengan suruhan MOVE. Untuk suruhan ADD, salah satu atau kedua-dua kendaliannya mestilah daftar data. Nibel teratas kata operasi ialah 1101. Bit 11:9 menentukan daftar data yang digunakan. Bit 8:6 ialah medan opmod yang menentukan mod operasi. Jika destinasi hasil tambah ialah daftar data, medan opmod bernilai 000, 001 atau 010 untuk kendalian byte, kata atau kata panjang. Jika destinasi hasil tambah bukan daftar data, medan opmod bernilai 100, 101 atau 110. 
 (a) Format am untuk ADD. 
 (b) Contoh bagi suruhan ADD.W D1,D0. Rajah 2.9: Suruhan mesin untuk ADD. If you found this book useful, donate to the Gaza fund
  • 31. 2.8. Latihan 27 2.8 Latihan 1. Apakah saiz bas data dan saiz bas alamat 68000? 2. Berapakah jumlah bit dalam daftar status 68000 yang digunakan? Berapa bitkah yang boleh digunakan dalam mod pengguna? 3. Apakah daftar yang mesti diberikan satu nilai awal sebelum melaksanakan suatu aturcara? 4. Apakah nilai bendera C dalam jika daftar status berisi nilai $2705? 5. Kata panjang $01020305 terletak di alamat $2020. Byte $03 terletak dalam alamat mana? 6. Berikan format mesin untuk suruhan CLR.B D7. 7. Berikan format mesin untuk suruhan MOVE.L D5,D3. 8. Berikan format mesin untuk suruhan ADD.W D2,D3. 9. D0 berisi $11223344 sebelum MOVE.W #$2211,D0 dilaksanakan. Apakah isinya selepas suruhan ini? 10. D0 berisi $49828934 dan D1 berisi $92385938 sebelum suruhan MOVE.B D0,D1 dilaksanakan. Apakah nilai kedua-dua daftar selepas suruhan ini? 11. Apakah yang salah dengan suruhan MOVE.W #200,$FFF? 12. Suatu nilai kata panjang terletak di alamat $2020. Apakah alamat kata panjang yang menuruti nilai ini? 13. D4 berisi $FFFFFFF sebelum suruhan MOVE #1,D4 dilaksanakan. Apakah isinya selepas suruhan ini? 14. Apakah perbezaan antara suruhan MOVE.W #$2000,D0 dengan MOVE.W $2000,D0? 15. Jika alamat $1000 berisi 1919 dan D1 berisi $20202020, apakah nilai D1 selepas suruhan ADD $1000,D1? 16. Tukar suruhan mesin $4241 ke bentuk bahasa himpunan setara. 17. Tukar suruhan mesin $3007 ke bentuk bahasa himpunan setara. 18. Dengan menggunakan nilai perenambelasan untuk kesemua jawapan anda, tentukan operasi dan lokasi yang terbabit dalam suruhan-suruhan berikut (a) CLR.L $8000 (b) MOVE.W 2000,3000 (c) MOVE.W $2000,D0 (d) MOVE.W 2000,D0 If you found this book useful, donate to the Gaza fund
  • 32. 28 Bab 2. Ciri Perisian 68000 If you found this book useful, donate to the Gaza fund
  • 33. Bab 3 Bahasa Himpunan Objektif • Menerangkan proses penulisan aturcara • Penggunaan penghimpun • Menulis aturcara asas Pengenalan Bab ini memperkenalkan anda kepada proses penulisan aturcara untuk pemproses 68k. Anda akan meli- hat langkah-langkah dalam penulisan aturcara bahasa himpunan. Seterusnya anda akan diperkenalkan kepada penyata-penyata bahasa himpunan. 3.1 Pembangunan Perisian Pembangunan perisian adalah proses bagi menyediakan aturaca yang boleh dilaksanakan dalam mikropemproses. Tugas yang perlu mikropemproses lakukan harus ditukarkan ke bentuk bahasa mesin yang difahami oleh pemproses. Terdapat beberapa fasa iaitu analisis masalah, pengekodan aturcara, dan perlaksanaan. Analisis Masalah Analisis masalah adalah fasa bagi menukarkan tugas yang perlu dilakukan kepada suatu bentuk abstrak yang tidak khusus kepada mana-mana mesin atau pemproses. Dalam fasa ini, pengaturcara akan menghasilkan sama ada carta alir (flowchart) atau pseudokod. Salah satu keadah ini boleh digunakan untuk tujuan rekod dan dokumentasi. Carta alir berbentuk grafik dan lebih mudah difahami. Walaupun boleh dihasilkan dengan tangan dengan cepat, carta alir dalam bentuk salinan lembut agak sukar dihasilkan tanpa perisian yang khusus. Pseudokod pula adalah program olok-olok yang biasanya ditulis dalam bahasa pengaturcaraan yang menyerupai C atau Pascal. Ia tidak boleh dilaksanakan terus kerana ia menggunakan sintaks C atau Pascal yang dipermudahkan. Kaedah pseudokod lebih mudah bagi penulisan dokumentasi menggunakan perisian pemprosesan perkataan. Pengekodan Fasa kedua dalam penulisan adalah pengekodan. Dalam fasa ini, pengaturcara menyediakan aturcara dalam bentuk fail punca1 menggunakan penyunting. Aturcara yang terkandung dalam fail ini boleh 1 source file 29 If you found this book useful, donate to the Gaza fund