Anda di halaman 1dari 28

11

Organisasi Mikrokomputer

11.1. REVOLUSI MlKROKOMPUTER

Prinsip organisasi mikrokomputer adalah sarna dengan komputer besar yang lain. Mungkin anda bertanya, mengapa bab ini membicarakan organisasi mikrokomputer? Untuk suatu hal, kita percaya bahwa suatu buku tentang organisasi kornputer telah menjarnin bab tentang organisasi mikrokomputer disebabkan pengaruh kuat teknologi mikro elektronik. Kedatangan teknoiogi "large-scale integration (LSI)" dan "very large scale integration (VLSI" menghasilkan berbagai macam piranti komputer yang mempunyai hubungan, pada chip integrated circuit (IC), pada pembuangan setiap perancangan sistem. Sekarang, kita dapat menggunakan pembuatan block terse but untuk membentuk sistem digital yang lebih komplek, komputer, atau sistem komputer yang terpancang.

Kita juga dapat menggunakan bab ini sebagai acuan berbagai konsep yang diperkenalkan dalam bab-bab sebelumnya. Kita sekaran akan menyusun konsep-

383

384 Pengantar Organisasi Sistem Komputer

konsep ini dan menggabungkannya dalam diskusi tentang organisasi mikrok puter.

Revolusi mikrokomputer dimulai dengan "mlkroprosesor", yaitu pros dengan ship-tunggal. Prosesor ini memerlukan tiga dekade dari pengenalan k puter elektronik pertama kali sebelum munculnya mikroprosesor, tetapi men tungkan banyak dari pengalaman yang diperoleh dalam rancangan komputer y besar. Beberapa keunggulan feature secara organisasional adalah bentuk ba an utama dari hampir semua mikroprosesor sekarang ini yang jarang dihubung dalam komputer yang lebih besar dan lebih mahal dibandingkan dengan beber p tahun yang lalu. Mari kita perhatikan secara singkat tentang evolusi mi 0- prosesor dalam dua dekade terakhir ini,

11.2. PENGEMBANGAN SECARA TEKNOLOGI

Evolusi dad mikroprosesor dapM-nibagimenjadi empat generasi. Yaitu "ft generation microprocessor;,-zmikroproseso;generasipe-~ma), yang diperke kan pada awal tabun 1970-an, yang berisi hampir mencapai 4-bit kata (yaitu, I e 4040) atau 8-bit kata (yaitu, Intel 8080). Mikroprosesor ini dibuat denganme - gunakan teknologi PMO§_ dan ~l!l1akan dalam a~tri _~_e~e!!!_a_l}a p~sumer yang sed~!'_h~n~pula.

"Second-ienerot-ro;;-;;;;;;;'oP!9C~;~Qi:~'-' (Mikroprosesor generasi kedua) y mun~uipada-a;;I-~unJ97-fdan berisi 8-bit kata (yaitu, Intel 8085, Zilog

.- .~------

dan Motorola 6809). Mikroprosesor ini juga dibuat dengan teknologi PM

tetapi c_hipnya lebi~_?~~a!_d_Cln kerapatannyalebih tinggT(lebihaarft~ansistor chip). Mikroprosesor generasi kedua mampu dalampengalamatan spasi me yang lebih besar (hingga 64 kilobyte) dan berisi" lebih·dari b~gian -Do di dingkan dengan mikroprosesor generasi~dib~~Ckarakteri dengan kecepatan operasi yang lebih cepat, mengurangi kecepatan waktu power product, dan lebih handal dalam instruksinya. Aplikasi khusus dari mi 0- prosesor generasi kedua mencakup terminal inte1igen, sistem penerimaan d ta, pengontrol industri yang komplek, dan sistem komunikasi.

Pada awal tahun 1978 ditandai dengan dimulainya "third microproce 0 generation" (Mikroprosesor generasi ketiga) dengan memPerkena1KaIlI~t~18 8 dengan chip tunggal, 16 bit mikroprosesor. Pembuatan lain yang diikuti y sesuai dengan mikroprosesor yang sarna, seperti Zilog Z8000 dan Moto 68000. Teknologi yang dominan yang digunakan untuk pembuatan mi

I I' ~ I

Organisasi Mikrokomputer 3$5

prosesor ini diberi karakteristik dengan peningkatan ~m chip, kemampuan pemrosesan yang lebih kuat~~~n __ ~~~'!-ta[l__}_'angJepih .tin_ggi. __ Mikroprosesor geiierasi ketiga dapat mengalamatkan ruang memori yang besar (hingga 16 megabytes), termasuk feature virtual memori, dan memiliki kemampuan mengatasi interupsi yang lebih handal.

Intel APX-432, dengan sistem pemrosesan 32-bit, diperkenalkan dalam tahun 1981, inilah tanda adanya ~~ration" (generasi keempat). Versi yang paling akhir dari Motorola 68000 juga mencakup kemampuan meng-handle kata 32-bit, seperti yang dilakukan oleh National Semicolor NS 16032 dan Texas Instrument TI 99000. Dibuat dengan teknologi HMOS dan diberi karakteristik dengan peningkatan lebih lanjut dalam-"kerapatan chip dan kecepatan pemrose-

_,, __ .---·~c __ , ~ ~_._~ _

san, mikroprosesor generasi_ ~~emp.at ~ers~ing ketat dengan mainframes. Ke-

. ..~ \ <; " .. -.-_.... ,.".,., \C. r·· \ 40

mampuah pengalamatan virtual memori dari spasi hingga 2 byte, floating-point

perangtat keras, pemisahan sistem dan perangkat lunak pemakai, dan dukungan yang lebih efisien dari pembuatan multiprosesor, ada, kecuali beberapa feature dari mikroprosesor ini. APX-432 merupakan mikroprosesor pertama yang digunakan dalam struktur bus baru yang memperkerjakan packet switching. (Packet switching akan didiskusikan dalam Bagian 12.6).

Sehubungan dengan pengembangan mikroprosesor chip adalah pengembangan sejumlah besar variasi dari "IC support chips", dual-port RAM, floating-point ROM, pengontrol peripheral intelligent, pengontrol terminal cluster, unit interface parallel dan serial, pengontrol direct memory access (MA), unit manajemen memori, pengontrol komunikasi multi protokol, interface komunikasi yang dapat diprogram, pengontrol 110, dan prosesor 110, untuk menyebutkan pandangannya.

Meskipun mikroprosesor 8-bit masih berguna untuk beberapa aplikasi, tetapi, tentu saja, relatif terbatas hingga 16 dan 32 bit mikroprosesor, khususnya ketika operasi yang besar dan komplek digunakan. Mikroprosesor 80bit juga terbatas dalam kemampuan pengalamatan mernori. Mikroprosesor 8-bit secara khusus, mempunyai 16-bit alamat bus, sehingga dapat mengalamatkan hingga 65,536 (64K) bit dari memori ekstemal. Sebagai tambahan, sejumlah besar operasi harus diprogram (yaitu, diimplementasikan dengan suroutine), yang menghasilkan dalam waktu pemrosesan yang lebih besar dan menggunakan ruang memori yang mempunyai nilai.

Sebaliknya bahwa mikroprosesor 16 dan 32 bit adalah lebih besar dan lebih cepat. Mereka menggunakan perangkat keras yang lebih, mampu melalui teknologi VLSI, untuk mengimplementasikan variasi fungsi yang akan dHmplementasikan dalam perangkat lunak. Jika mereka dapat memproses kata yang lebih

386 Pengantar Organ"" Sistem Komputer

panjang, maka mikroprosesor ini telah meningkat kemampuan pengalam memori termasuk pengalamatan mode, yang memungkinkannya untuk me gi rimkan berjuta kata secara langsung. Mikroprosesor berisi register yang ban yang mendukung serangkaian instruksi yang lebih besar, dan dapat mengerj beberapa yang lebih cepat dan lebih efisien. Frekuensi clock dalam mikropros 0 ini secara khusus berada antara 8 hingga 20 Mhz, berlawanan dengan mikro sesor 8-bit dimana frekuensi clocknya hingga 6 MHz. Suatu arsitektur baru digabungkan ke dalam mikroprosesor 16 dan 32-bit akan mempercepat pen katan beberapa pesan dari magnitude, akhirnya mikroprosesor yang baru, se khusus menawarkan kemampuan manajemen memori yang memungkinka digunakan dalam lingkungan multitasking, multiuser.

11.3. PANDANGAN UMUM DAHl SISTEM MIKROKOMPUTER

Gambar 11-1 menunjukkan suatu diagram blok dari sistem mikrokomputer. pemrosesan pusa~dalah chi~ikropros~ a, yang disusun dengan MPU (mi 0 prosesor unit), yan . n kan den an . dan unit penp eral me u ~an kontrol bus. Berbagai variasi chip pe~dukung}ugidi~~j·u· termasuk generator jam, pengontrol bus, pengontro interupsi, dan pengontrol di c memory access (DMA). Semua komponen tersebut dapat dikelornpokkan k dalam tiga unit fungsional yang berbeda,: yaitu "microprocessing unit (MP " "memory", dan "input/output (I/O)". (Tentu saja, MPU tak lain dari C Komunikasi antarunit tersebut dikontrol dengan MPU.

membuat ro y~~AalaI11 memori. Pro_gramini.

memanipulasi data dan membuat keputusan berdasarkan pada - data. Program in

-_ .... " . . ~-------

m~diakan waktu -<W!. signal kontrol untuk pengontrol bus, 110, dan me ri

ROM dan RAM akan__!nenyi;;;panpro'Siarri dan data. RAM menyediakan in

_ .. _ .. __ ._ .. - . _.

struksi dan data tuk MPU atas permintaan dan menerimaan data baru dari

untuk disimpan. ~OM akan m~~~~-U';it 110 ~ e ~lakan hubungan_k9mu~~~ antara MPU dan~~l.~}~~r-dan mernbiarkan meng-input data ke dan meng-output data dan bagian ekstemal peripheral se keyboard, printer, monitor, dan disk atau unit penyimpanan disket.

~!1~8_!l_I!!~_l)ggunak3!l .. bJ~ses.(j_l!!.ll!Jg"!l!!1j~a§D_~l!_~~!J.~flsol1lllflikasi e ngan berbagai bagian dari sistemrnikrokomputer. Kita membedakan tiga daribuses, yaitu: data bus, alamat bus, dan kontrol bus. Data bus akan-m-e-fl.-..-I

_.---------------- '-- .... -...-._ --

.---

I I ' ~ I

Organisasi Mikrokomputer 387

MPU

Add~bus

Control bus

ROM RAM

t

I Hard d,1I< I

I DisIt~ I Modem

Gambar 11-1 Diagram blok sederhana dari sistem mikrokomputer,

rimkan data ke dan dari MPU. Data dalam hal ini berisi angka yang disimpan diTam rnemori yang hams dibaca oleh MPU atau angka dalam register MPU yang harus ditulis ke dalam memori. Data bus, oleh karena itu, disebut dengan "bidirectional", karena data dapat berjalan pada semua tujuan, dari memori ke MPU atau dari MPU ke memori. Untuk memberikan pengaruh pada transfer data ini, MPU akan menggunakan baris kontrol "read/write". Misalnya,jika baris kontrol ini diatur dengan angka I, maka MPU akan membaca data dari data bus, tetapi jika diatur kernbali dengan angka 0, maka MPU akan menempatkan (menulis) data pada data bus. Address bus memungkinkan MPU untuk mernilih lokasi

---- ------~.--..._ --------_ .. _ -~ -- .. _-_________.---- .. _- --_ _" .. --- __ .--_

memori atau tujuan (bagian) 110 untuk transfer data. Address bus dapat berupa

"undirectlonal'-' karena informasi yang berjalan hanya dalam satu tujuan, yaitu dari MPU ke memori atau VO.

388 Pengantar Orgar.isasi Sistem Komputer

Pada beberapa rancangan mikroprosesor, alamat dan data bus adalah (mini secara bagian) di-multiplexed (misalnya, Intel 8085 dan 8086). Dengan kata I bus yang sarna dapat digunakan untuk transfer data bidirectional atau pemili alamat undirectional. Rancangan mikroprosesor lain, seperti Motorola 680 menggunakan data terpisah dan alamat bus.

Control bus berisi berbagai variasi baris kontrol yang diperlukan untuk ngontrol operasi MPU (misalnya, baris kontrol read/write). Bus bias;myam pakan bidirectional; namun demikian beberapa mikroprosesor menggun kontrol bus unidirectional. Dalam kasus selanjutnya, beberapa baris kont. hanya berjalan pada MPU ketika yang lainnya berjalan hanya.ke dalam MPU. i

Program yang mengontrol operasi sistem mikrokomputer terdiri atas instru ; iinstruksi yang dapat dibuat oleh mikroprosesor. Serangkaian instruction d at dibagi ke dalam kelompok menurut tipe operasi yang menunjukkan instru ,si. Kelompok ini mencakup aritmatika, logika, transfer data, input/ouput, kont dan cabang instruksi.

Beberapa organisasi dan hubungan adalah mungkin di an tara blok build internal sistem mikrokomputer. Organisasi tertentu akan menambah pembu pada satu kelompok instruksi ketika pengurangan yang lainnya. Oleh karena tidak ada sesuatu yang disebut "best" (terbaik) arsitektur mikrokomputer. dengan organisasi mikrokomputer terbaik dalam aplikasi yang terikat. Misal jika mikrokomputer digunakan untuk hampir semua data logging, maka org isasinya harus dioptimiskan untuk pemasukan memori dan operasi 110. Jika ini digunakan secara pokok untuk meremukkan angka, maka diperlukan arsite u yang diorientasikan denganimelalui hitungan matematika.

11.4. UNIT PEMROSESAN SINGLE-CHIP (MPU)

Organisasi internal MPU, seperti CPU, terdiri dari (1) regis~~!~et, (2) arithm ti and logic unit (ALU), dan (3) cO_!ltr_o!logic unit (CLU). Transfer data dalam diselesaikan melalui s~t~ ~tau lebih bus internaL Angka bit dimana MPU (khu nya, ALU) dapat memproses secara paralel dengan menentukan word len pokok dari mikroprosesor. Kata MPU merupakan elemen pokok yang d dialamatkan dalam memori dan menentukan elemen data pokok dari mi prosesor dan menentukan lebar data bus. Misalnya, panjang kata 16 bit mi prosesor adalah 16 bit, memerlukan 16 bit-wide data bus.

I '

I I ~ I

Organisasi Mikrokomputer 389

Infonnasi yang ditangani oleh mikroprosesor adalah dua tipe: yaitu instruksi dan data (operand). Panjang kata pokok biasanya bebas instruksinya atau panjang operand-nya. Suatu instruksi mungkin satu, dua, atau lebih panjang kata dan dapat tidak berisi apapun (operand), dapat juga berisi operand satu, dua, atau lebih. Mikroprosesor dapat mendukung beberapa tipe data (operand), seperti aritmatika, logika, boolean, dan data alphanumerik;

Register Set .-----

Register ser terdiri atas register-register dengan tujuan umum, dimana biasanya ada antara 8 hingga 32 (tergantung pada mikroprosesor khusus), dan register dengan tujuan tertentu, yang masing-masing digunakan untuk fungsi khusus dan digunakan langsung atau tidak langsung oleh instruksi program. General-purpose register (register dengan tujuan umum) dapat digunakan (6khi~~~s1)

.--------- ~

sebagai akumulator, sumber atau tujuan register data, atau register alamat yang

berisi pc,irltermemciiTatau- nilaf indeks.Se6agaltainbaha~, registerdengan tujuan

-- -----_-- --- _- -

umum ini dapat digunakan untuk memberikan fasilitas perpindahan block, untuk

mengijinkan adanya (stacking), d3:~ u~tuk-~enambah ~!(i!!t.at indeks. Beberapa mi1<:TOPr"osesor membebaniJm~~berik~;;:-batasan pad a beberapa register dengan tujuan umum. Misalnya, beberapa register dapat digunakan hanya untuk memori alamat atau hanya sebagai register data. Meskipun batasan ini merupakan batas pemrograman yang fleksibel Uika kita menggunakan register ini untuk fungsi lain, kita pertama kali harus menyimpan isinya secara sementara), namun batasan ini memungkinkan perancang komputer untuk bekerja sarna dengan format instruksi yang lebih kompak.

Sebaliknya, Special-purpose register (register dengan tujuan tertentu), digun~.!"l:'~~un!!rJPC)biasanya_~~rdiri atas aiamat memori temE!t kata instruksi berikutnya akan diambil. Hampir semua mikrop~rmenca:-kup iebih dari satu "ac~.umula!«!r (ACC)", fungsi- fungsi dimana menyimpan satu operand _<!g_C!!~~er<!$ik.an oleh ALU -dan menyimpan hasil dari

~ ..... ~;=C~~iste~ .. (I~Lbe!"!Si .i~struksi. opcode. ~~ister ~~I1_ang_a iisrantayangdigunakan dalam penghitungan alarnat memori

yang efektif dalam mode pengalamatan indeks.

Hampir semua mikroprosesor bergabung dengan register tujuan tertentu, yang disebut dengan stack register, yang mengambil pada porsi set RAM untuk operasi subroutine atau untuk menangani kondisi perkecualian (misalnya, interupsi). Stack akan menyimpan alamat instruksi yang harus dibuat

390 Pengantar Organisasi $istem Komputer

setelah subroutine lengkap. Dengan demikian instruksi berikutnyayang dia akan menjadi subroutine yang pertama, dan ketika mikroprosesor meng instruksi yang terakhir dari subroutine (yang selalu berupa instruksi retu mikroprosesor terse but akan mengganti isi PC dengan alamat paling atas dari dan menyimpulkan pembuatan program utama. (Nested subroutine) juga dapat dukung, jika ada cukup memori untuk menyimpan alamat return yang perlu.

Hampir semua mikroprosesor 16~ dan 32~bit menggunakan segment regi e untuk mengimplementasikan pemetaan memori ketika pemasukan memori rna. Mekanisme ini akan menterjemahkan alamat logika program ke dalam ala a fisiko Beberapa mikroprosesor berisi memory refresh register yang menye 'a kan secara otomatis transparan refresh dari dynamika RAM (lihat bagian 3 ). Biasanya, mikroprosesor berisi vector interrupt register yang memungkin tabel interupsi untuk menempatkan dimana soja dalam memori. Dalam hal semua yang MPU harus mengambil instruksi pertama dari interrupt service tine merupakan alamat tidak langsung dari lokasi memori yang berisi ins tersebut.

Angka temporary register, yang tidak dapat dimasukkan pada pemakai, juga di dalam hampir semua mikroprosesor dan digunakan untuk menan n operand lanjutan atau hasil penyimpanan sementara dari operasi. Misalnya, s register berisi berbagai indikasi, yang disebut dengan flag, yang disediakan mikroprosesor. Tiap flag digunakan untuk menunjukkan status dari kondisi kroprosesor tertentu sebagai hasil dari suatu operasi. Beberapa flag digun langsung oleh instruksi, ketika angka-angka flag yang Jainnya diuji di ba program kontrol untuk menentukan serangkaian instruksi yang mengikuti a Berikut ini beberapa contoh dari flag yang umum:

1. Sign flag. Flag ini digunakan untuk menunjukkan tanda dari hasil s manipulasi data atau operasi transfer data. Ini memerlukan angka significant bit (signbit) dari hasil dan dapat diuji untuk sign yang po iti (sign bit = 0) atau sign negatif (sign bit = I). Flag ini menganggap an k significant bit (msb) dad hasil ketika angka-angka yang tidak diberi digunakan. Mikroprosesor tidak mempunyai cara dengan mengetahui data menunjukkan angka yang ber-sign atau yang tidak atau info nonnumerik, ini tergantung pada programer untuk menjaga track ini.

2. Carry flag. Flag ini diset ke 1 jika operasi aritmatika, seperti penarnb atau pengurangan, akan menghasilkan di dalam carry atau mengelu msb.jika sebaliknya maim flag ini di-set dengan O.

I I·' I

Organisasi Mikrokomputer 391

3. Auxiliary carry flag. Flag ini digunakan untuk memberikan pengaruh status dari carry lanjutan dalam dua-digit BCD (desimal) dari operasi aritmatika.

4. Parity flag. Parity flag biasanya menunjukkan odd parity dari suatu basil. Jika angka satu ada sebagai hasilnya, maka parity flag di set dengan 1,jika sebaliknya, maka parity flag di set dengan 0 (yang membuat total angka satu oddlaneh).

5. Interruptflag. Flag ini digunakan untuk memungkinkan atau tidak memungkinkan adanya interupsi. Jika interrupt flag di set dengan 0, maka dapat diinteruptsi, danjika di set dengan I, maka tidak dapat.

Beberapa mikroprosesor mempunyai indikator status tambahan. Misalnya, overflow flag, yang digunakan untuk menunjukkan overflow yang dihasilkan dari aritmatika komplemen 2 (lihat bagian 2.3). Perhatikan bahwa flag ini berbeda dengan carry flag dan dua di antaranya tidak dapat saling ditukar. Beberapa mikroprosesor berisi subtract flag yang di set dengan 1 untuk operasi termasuk pengurangan dan diset dengan 0 untuk memasukkan operasi penambahan.

Beberapa mikroprosesor 16- dan 32-bit dapat beroperasi dalam user mode" maupun dalam system (supervisor) mode. Proses dua mode tersebut disediakan untuk menambah keamanan dalam sistem. Hampir semua pemakai program membuat dalam mode pemakai ketika mengoperasikan sistem yang membuat dalam mode sistem. Hampir semua instruksi membuat yang sarna dalam mode tetapi beberapa instruksi, seperti instrnksi 110, dan interrupt, dapat dibuat hanya dalam mode sistem. Sehubungan dengan hal itu, untuk menunjukkan status tertentu dari prosesor, maka status register hams berisi user/system flag.

Akhimya, beberapa mikroprosesor mempunyai trap flag yang diatur untuk membuat interupsi setelah pembuatan masing-masing instruksi, Feature ini memungkinkan programer untuk mengoperasikan mikroprosesor dalam single mode, yang sangat berguna dalam pembuatan program.

Aritmatika dan Logic Unit (ALU)

Aritmatic and Logic Q_ni_t (ALU) menunjukkan operasi aritmatika, logika, dan manipulasl daia-.,ada angka biller. Pada berbagai mikroprosesor, ALU mampu dalru:D penimbahan, pengurangan, perbandingan, pengambilan, dan operasiIogikil-yang ditentukan dengan control logic unit (CLU). Pada hampir semua mikroprosesor aritmatika komplemen 2 digunakan untuk menunjukkan angka negatif.

392 Pengantar Organisasi Sistem Komputer

Lebar ALU berhubungan dengan panjang kata pokok dari MPU. ALU e e

lukan register penyimpan tuk menyimp~ .~pu~ kata (operan dan I tc

(yang kadang- adang internal pada ALU) ul!!!!LmenyiI!!I?_an !_asil semental"a a·

operasi ALU. In an dalam u la_tQf, register sementara, atau d a

register dengan t!J.i!1an umum dalam MPU, atau b~al dari memontitaIna.

_ _u_u .. ~

dalam opt:rasi ALU diki"ririifan mel~~l!!1'~c!a_~\l_mulator,y.ada.reg t ~engan tuJuan umum dalam MPU, untuk menentukan lokasi memori utama, ta untuk tujuan lain. Jika beberapa operasi ALU berpengaruh pada satu flag lebih, maka hasil dari operasi ALU akan membawa status signal untuk me s atau men-set kembali flag terse but dalam register status.

Pada umumnya, operasi ALU dapat diklasifikasikan ke dalam operasi si operand atau dua-operand. Berikut ini beberapa contoh dari single-ope n operasi ALU yang umum:

1. INCREMENT; Menambah angka operand dengan 1.

2. DECREMENT; Mengurangi angka operand dengan 1.

3. CLEAR; Men-set operand pada O.

4. SHIFT; mengambil operand ke sebelah kiri (dengan menggunakan ins SHIFT-LEFT) atau ke sebelah kanan (dengan menggunakan ins SHIFT-RIGT) dengan satu posisi bit atau lebih. Pada hampir semua m' prosesor, bit yang diambil dari operand tidak hilang tetapi diambil se g i pengganti ke dalam flag carry bit dari register status.

5. ROT ATE; modifikasi dari operasi SHIFT dimana flag carry dan ope n membentuk ring (sirkulasi) register pengambil (shift register). Di sini, memungkinkan adanya operand ROTATE-LEFT atau ROTATE-RIG

6. INVERT; Meng-komplemen semua bit dari operand.

Di antara instruksi ALU two-operand yang paling umum adalah sebagai ber

1. ADD: Menghasilkan jumlah binary dari dua operand. Jika suatu op menghasilkan di dalam carry-out dari most significant bit, maka carry dalam register status diset dengan angka I.

2. SUBTRACT: Mengurangi satu operand dari yang lain. Biasanya subtr n diekspresikan dalam komplemen 2 dan ditambahkan untuk minuend. terakhir yang dibuat dengan operasi ini disimpan dalam carry flag. 3~ COMPARE: Menentukan operand terbesar di antara dua operand de pengumngan. Hasilnya mungkin positif, negatif atau nol akan me p ngaruhi kondisi flag.

, , I I ~ I

Organisasi Mikrokomputer 393

4. AND, OR, XOR: Beroperasi secara logis pada hubungan bit dari dua operand.

Operasi aritmatika ALU dalam mikroprosesor 8 bit dibatasi dengan penambahan dan pengurangan biner. Bahkan, mikroprosesor 6- dan 32- bit yang lebih hebat menyediakan untuk aritmatika sign dan unsign, perkalianan pembagian, aritmatika desimal, dan bahkan aritmatika floating-point.

Control Logic Unit (CLU)

Control Logic Unit (CLU) mempunyai dua tugas dari pe-sinkron-an operasi unit internal dar, MPU, seperti ALU dani-egi~ier, d~n operasi ·madul mikrokomputer yang lain, seperti port I/O dan memori. Fungsi dari CLU adalah untuk mengambil instruksi dari memori dan_~-dec~c!~uaf~~gahIr~n ~~alkontr(J yang diperlukan oleh MPU unru1Qremouatim instruksi tersebut. Dalam dua aturannya, CLU juga membuat signal waktu dan signal kontrol yang dikirimkan, melalui kontrol bus, ke komponen lain dari sistem mikrokompoter dan menangani dan merespon signal eksternal seperti interupsi.

Untuk menyediakan sinkronisasi yang diperlukan di antara semua elemen, sistem mikrokomputer begabung dengan clock pulse generator. Signal waktu yang disediakan oleh lingkaran jam adalah periodik dan single-phase atau multiphase. Signal multiphase berisi signal periodik' yang disinkronkan dengan yang lainnya tetapi biasanya di luar phase. Gambar 11-2 menunjukkan contoh singlephase dan dua pashe signal jam. Meskipun mikroprosesor 8-bit telah digunakan dalam implementasi jam dua phase, hampir semua mikroprosesor yang lebih baru (8-bit dan 32-bit mikroprosesor) sekarang menggunakan implementasi jam single-phase.

Control logic unit sebenarnya merupakan komputer dengan tujuan tertentu dalam MPU dan memerlukan suatu program untuk menuntunnya dalam pembuatan suatu instruksi. Pada hampir semua mikroprosesor, CLU merupakari microprogrammed. Yaitu, signal waktu dan signal kontrol diperlukan untuk mengambil dan membuat suatu isntruksi yang dibuat dengan pembuatan serangkaian microinstruction (atau microcode) yang residen dalam control memory, yang biasanya berupa ROM. Mikro instruksi disimpan dalam ROM yang membentuk microprogram yang secara lengkap menentukan signal kontrol. Dengan demikian masing-masing instruksi mikroprosesor yang sebaliknya dapat mengembalikan kontrol yang diperlukan dan signal waktu untuk pembuatan instruksi makro. Dengan demikian pembuatan alamat, pengambilan, dan pemberian

394 Pengantar Organisasi Sistem Komputer

One cloc>< ;>eriod '

Ph_l

(bJ T wo-phasil! clod<

Gambar 11-2 Signal waktu.

decode diperoleh dengan eara yang sarna dengan instruksi makro. Demikianju a. kita dapat memasukkan dalarn program mikro cabang yang tidak kondisio cabang kondisional pada status flag, dan subroutine akan memanggil dan ngembalikan. Secara khusus, berbagai operasi mikro, ditunjukkan dengan struksi makro, termasuk sepertisumber pemilihan operand ALU, fungsi A kontrol carry, shift kontrol, interrupt kontrol, dan kontrol data in/out. Seperti y telah kita ketahui, penggunaan mikroprograming akan mengurangi pertimban n keberadaan perangkat keras dan menyediakan pesan organisasi CLU yang tin dan dapat seeara cepat dan mudah dimodifikasi dan didiagnosa.

Marl kita lihat secara ringkas serangkaian operasional microprogram C Ketika instruksi mikro diambil dari memori, opcode-nya digunakan untuk men ntukan ROM permulaan alamat dari segmen program mikro (microroutine) mengimplementasikan instruksi. Setelah menerima alamat permulaan mikrorou . e, ROM akan mendukung instruksi mikro. Ini biasanya mengirimkan instruksi m· pada pipeline register (Iihat Ba~09) yang melayani sebagai buffer dan meningka penampilan dan kecepatan dengan overlapping pembuatan instruksi mikro dan gambilan instruksi mikro selanjutnya. Satu kali semua instruksi mikro dalarn mi routine dibuat, maka pembuatan instruksi mikro akan lengkap. Jika instruksi m selanjutnya diambil, maka prosesnya akan diulang.

I I, f I I

Organisasi Mikrokomputer 395

11.5 SET INSTRUKSI

S~ilksimencakup instruksiaritmatika dan logika, instruksi transfer data, instruksi input/oUtpuf;in_!itruksi ca!>~f-1~' _dan instruksi kontrol. Semua mikroprosesor mendukung hampir semua tipe instruksi tersebut, tetapi serangkaian instruksi sangat bervariasi dari mikroprosesor ke mikroprosesor lainnya, seperti dalam format instruksi. Setiap pembuat mikroprosesor akan menyediakan pemakai dengan daftar berbagai variasi instruksi yang ada dan formatnya.

Instruksi-instruksi dibuat dengan (penggabungan) angka byte. Bagian dari instruksi yang menentukan apa yang disebutaeng;; oper~~.£.~~ .. ~J9"pcode). Bagian dari instruksi yang berisj.informasi, data, ata~mat yang diperlukan UritUkkeJengkapans~ua~~peIl'a;~mn instruksi dise~~t~_n_g~n ~gd. InstruksililStriikSimUilgkmoerv'ariasi panjangnya, tetapimasing-masing mempunyai format yang sama; opcode selalu diikuti dengan satu operand atau lebih. Instruksi ~~Jebib dari sa_tlI_'?e~~~!l?_ ~i~b~t_ dengan inst~ksi.multi-ope~na'.!.. l!~k memberikan lokasi dan pernasukan suatu operand, mikroprosesor akan mengguTiakart-satu dari berbagai addressing ~ode yang ada.

Jika setiap instruksi diulang seperti pola bit, maka memungkinkan untuk memprogram mikroprosesor dengan menuliskan kode biner dari setiap instruksi. Ini dlSeout dengarimacbine lang;agep·rog~ammiDg: Secarajelas, bah~a proses ini me-merruKan ·waktu, cenderung mempiulyaiKesalahan, dan tidak bisa diharapkan untuk sejumlah besar instruksi. Namun demikian, biasanya suatu altematif pendekatan pemrograman tingkat rendah, yang disebut dengan assembly language programming, telah digunakan. Dalam assembly language. - setiap instruksi 6ahasa rnesirrtlltunjukkan dengan simbol ~ang disebut dengan mnemonic, bukannya dengall po la bit. Translasi -one-to-one an tara instruksi ber-simbol tersebut dan hubungan kode bahasa mesin ditunjukkan dengan program yang disebut dengan assembler. Ada dua tipedar!!i_!>sembler: yaitu seif-ass~!I1bl~r, yang berjalan pad a mikrokornputeruntuk ~embuatk~d~·bahasa- mesin: da~~r~~=asstmlbler~yang berjalan pad a komputer yang berbeda aefigany:ingpertallla dimana kode mesin yang ~:_mb~~an diQ_lJ_~t.

Untuk mengilustrasikan perhedaan antara bahasa mesin dan instruksi bahasa assembly, perhatikan operasi transfer dari register ke register B ~ (A). Suatu instruksi bahasa mesin untuk transfer semacam itu berupa

I 01 000 III I

396 Pengantar Organisasi Sistem Komputer

dimana pola bit 01 menunjukkan opcode, dan 000 dan 111 menunjukkan al tujuan register B dan alamat sumber register A, secara respektif 'Hubu instruksi bahasa assembler akan berupa sebagai berikut:

MOVB,A

Dengan demikian tugas assembler akan membuat kode 01 untuk instruksi (pindah), 000 untuk menunjukkan register B, dan III menunjukkan su register A.

Tipe Instruksi

;

Instruksi aritmatika. Instruksi aritmatika menyediakan untuk manip I

data aritmatika, Instruksi khusus dalamjenis ini adalah ADD, ADD WITH C COMPLEMENTS I' dan 2 , dan MULTIPLY dan DEVIDE. Opcode pada m n masing instruksi tersebut diikuti, biasanya, dengan alamat sumber dan tujuan re dimana operand yang berhubungan dengan instruksi yang disimpan.

Misalnya, instruksi INCREMENT akan meningkatkan dengan 1 isi su register dan menyimpan hasil dalam register tujuan. Demikian juga, ins COMPLEMENT 2 akan mengurangi isi sumber register dari 2 (dimana n pakan panjang kata) dan menempatkan hasilnya ke dalam register tujuan.

Instruksi Logika. Jenis instruksi ini menyediakan manipulasi untuk a logika. Instruksi khusus jenis ini adalah AND, OR, XOR, (eksklusif OR), ROTATE, SmFT, dan COMPARE. Format dari instruksi ini sarna deng struksi aritmatika.

Misalnya, instruksi AND akan secara logika AND (bit demi bit) isi su tujuan register dan menyimpan hasilnya dalam register tujuan. Instruksi TATE-LEFT n BITS akan memutar isi register tujuan kepada sebelah kiri de bit n dan menyimpan hasilnya kembali dalam register tujuan. Bit terlahir diputar akan diperoleh dalam bit flag carry dari register status. Perbedaan a instruksi ROTATE dan SHIFT ditunjukkan dalam Gambar 11-3. Instruksi C PARE akan menentukan (dengan pengurangan) apakah isi register tujuan I bi besar atau sarna atau kurang dari register sumber dan mengatur status fhg semestinya untuk merefleksi hasilnya.

Instruksi transfer data. Instruksi transfer data memungkinkan transfe tara infonnasi antara dua register MPU atau antara lokasi memori utama d register MPU. Instruksi ini termasuk MOVE, EXCHANGE DATA, dan LO 0

, I I I ' ~ I

Organisasi Mikrokomputer 397

SHI FT· FIGHT opera~'o"

::-1 'w~

L.L ~___'t ~ LTv f'~

ROTATE·HIGHT opeeanon

Gambar 11-3 Operasi SHIFT dan ROTATE.

Mari kita perhatikan dua instruksi tersebut. Instruksi MOVE DATA akan menyimpan isi register sumber ke dalam register tujuan. Dalam instruksi LOAD REGISTER IMMEDIATE, data merupakan bagian dari instruksi. Dengan demikian instruksi ini dapat digunakan untuk mengenalkan konstanta dalam program.

Instruksi input/output. Jenis instuksi ini menyediakan untuk mentransfer informasi .antara MPU dan port input atau output. Instruksi ini secara khusus mencakup input data dan output data dan operasi data bus selama I/O.

Ada dua tipe pokok dari operasi I/O, yatu: memory-mapped I/O, dimana bagjan input/output dihubungkan sebagai lokasi memori virtual, dan I/O mapped 110, dimana bagian input/output bebas dari memori. Dalam memory-mapped 110, bagian input/output dipasang pada bus alamat. Setiap bag ian input diperlakukan seperti bagian dari memori dengan mempunyai beberapa data yang ditulis ke dalamnya. Dengan kata lain, bahwa port 110 diberikan susunan alamat dan dimasukkan seolah-olah mereka itu lokasi rnemori. Konsekuensinya, hasil memory-mapped I/O tidak memerlukan instruksi tertentu jika seluruh instruksi memory-reference dalam serangkaian instruksi dari mikroprosesor dapat juga mereferensi bagian I/O.

Dalam operasi I/O-mapped 110, tidak diperlukan referensi langsung pada alamat memori. Transfer informasi dikerjakan di bawah kontrol program dan diberi tanda dengan signal interrupt yang dibuat oleh bagian yang memerlukan layanan MPU. Jika fasilitas direct memory access (DMA) ada, maka bagian peripheral dapat memasukkan memori utama langsung, dengan melalui MPU.

398 Pengantar Organisasi Sistem Komputer

Instruksi cabang.. Instruksi cabang menunjukkan suatu bagian penting serangkaian instruksi. Instruksi ini menyediakan pemakai dengan arti mem kan alternatif serangkaian yang normal dari pembuatan instruksi, kemungki sebagai hasil dari mekanisme pembuatan keputusan. Instruksi cabang se . khusus merupakan lompatan kondisional dan nonkondisional, instruksi rout. e dan interupsi perangkat lunak. 1 i

Suatu contoh dari lompatan kondisional adalah instruksi JUMP-ON-CA Y Jika flag carry diatur, isi register alamat data akan ditransfer ke program cou te dan byte yang masih ada dari instruksi diintepretasikan sebagai alamat ins berikutnya yang harus diambil. Jika carry flag diatur kembali, maka prog counter tidak akan berubah, dan suatu instruksi tidak mempunyai pengaruh perjalanan program. Dalam instruksi nonkondisional, program counter se berubah untuk rnernungkinkan adanya suatu lornpatan.

Instruksi subroutine dan perangkat lunak rnemungkinkan pernakai mengel kan program utama dari titik tertentu dan kemudian memasukkan kembali p d ternpat yang sarna atau tempat Jain yang ditentukan relatiflebih baik. Pengelu a dan pernasukan kembali dapat dikerjakan dengan instruksi JUMP dan RETU

Instruksl kontrol. Instruksi ini rnencakup instruksi interupsi, no opera 0 (NOP), dan HLAT atau (WAIT). Interup hard(ware), merupakan kebalikan interup soft(ware), tidak disebabkan oleh instruksi program tetapi oleh ba yang memerlukan komunikasi dengan MPU. Jika terjadi interup, maka cab rnikroprosesor akan keluar dari program dan memasukkan subroutine y khusus ditulis untuk menangani adanya interup.

Ada dua tipe pokok dari interup; yaitu: maskable dan nonrnaskable. Mas interrupt mernungkinkan secara sementara dengan instruksi tertentu seperti TERRUPT DISABLE. Pemakai dapat menunjukkan bagian dari program y tidak harus diinterupsi dengan permulaan setiap bagian dengan instruksi INT RUPT DISABLE dan mengakhiri bagian terse but dengan instruksi INTERR ENABLE. Sebaliknya, nonmaskable interrupt tidak dapat menjadi disable ngan instruksi perangkat lunak. Jika terjadi interup nonmaskable, maka perj nan program akan terinterupsi.

Jika mikrokomputer berisi lebih dari satu bagian yang memerlukan inte program, maka mikrokomputer tersebut harus menentukan bagian mana G a ada) yang telah mernbuat suatu permintaan dan bekerja padanya. Mikroprose or menyelesaikan ini dengan dua cara pokok. Yang pertama adalah skema vecto interrupt, dimana sirkuit logika ekstemal menyediakan mikroprosesor (atas

I I ~ I

Organisasi Mikrokomputer 399

bus) dengan permulaan alamat dari service subroutine yang digabungkan dengan bagian interupsi. Skema ini biiasanya diprioritaskan untuk memecahkan konflik yang muncul jika dua atau lebih bag ian interupsi MPU secara simultan. Metode kedua adalah skema polled-interrupt, dimana semua bag ian rnengirimkan permintaan interupsinya pada baris kontrol tunggal, dengan demikian mengaktifitaskan bag ian routine interupsi umum. Routine ini, sebaliknya, dengan sukses dapat menginterogasi permintaan interupsi status bit dari masing-rnasing bagian. Jika bagian interupsi ditemukan, maka routine interupsi umum akan melompat pada routine yang menangani bagian terse but.

11.6. MODE PENGALAMATAN

Suatu mikrokomputer disebut dengan byte-addressable jika setiap byte dalam n_-.~!llempunyarai;.;rt-Y~~T;eTheda.1Tkitseti·ap kata mempunyai a1amat yang berbeda tetapi setiap byte bukan merupakan mikrokomputer maka disebut dengan word-addressable. Misalnya, byte-addressable mikrokomputer dengan 16-bit alamat field mempunyai spasi alamat maksimal z" bytes kebalikan dari 216 kala, j ika merupakan mikrokomputer word-addressable.

Hajnpir semua mikroprosesor menggunakan bervariasi addressing mode.

~ -. - -- .

Angka rnodepengalamatan dalam mikroprosesor menunjukkan ekstensi dari

serangkaian instruksi dan secara efisien menangani berbagai ~ariasi struktur data. Mode pengalamatan telah didiskusikan secara mendalam dalam Bab 5 dan secara singkat diterangkan sedikit di sini.

Meskipun tenninologi digunakan secara berbeda dari satu pembuatan mikroprosesor dengan yang lain, daftar berikut ini menerangkan mode pengalamatan yang biasa dipakai:

1. Direct addressing. Alamat memori yang efektif dimana operand yang ~te~tukan"sem@j.rEagJan darT1i1St~ksi, yang secara langsung me·rigll(uti"bpcoae:-rni·-;;:;~~--Upakan metodeyang ha-;pir (straight forwards, dengan pemasukan infonnasi ke dalam memori yang sangat cepat. Namun demikian jika semua lokasi memori dialamatkan secara langsung, maka instruksi akan terdiri atas beberapa kata.

2. Register addre~inK.. Dalam variant pengalamatan langsung ini, operand ctttok.astKai1'd~lam register MPU dan alamat dari register merupakan bag ian dari instruksi.

400 Pengantar Organisasi Sistem Komputer

.J 3. !!!_direct addressing. A~ama~g ditentukan dal<l!!l:_~aIl.gaI1 alamat instruksi akan mengambil lokasi dimana alamat yang efektif ditempatk Jika suatufokasi adalah register MPU, maka mode pengalamatan disebut dengan register indirect addressing. Pengalamatan yang ti langsung dapat dikembangkan pada beberapa level, yang disebut ngan level of deferral, dimana satu lokasi mengacu ke lokasi yang I yang sebaliknya akan mengacu ke lokasi yang lain, dan seterusnya.

-.J 4. Base addressing. Pendekatan ini digunakan pada pokoknya untuk refere si array atau untuk memberi lokasi kembali suatu program dalam mem l. Alamat ini dibentuk dengan penambahan isi lokasi memori atau regi (baik yang dapat dialamatkan tidak langsung) untuk menentukan angka y

\.l disebut dengan displacement.

5. Indexed addressing. Alamat yang ditentukan dalam instruksi ditamb pada isi dari index register untuk membentuk alamat yang efektif Den menggunakan instruksi khusus, register indeks dapat menambab atau ngurangi untuk memberikan fasilitas serangkaian melalui set konsek atau alamat yang diberi ruang. Jika register indeks secara otomatis meni katkan atau mengurangi setiap waktu yang digunakan, maka proses disebut dengan autoiodexiog.

°6. Relative addressing. Sangat berhubungan dengan indexed addressing, mat yang ditentukan dalam instruksi ditambahkan pada isi program cou

untuk membentuk alamat yang efektif. i

I

7. Immediate addressing. Operand untuk suatu instruksi merupakan bag

dari instruksi, dan oleh karena itu, tidak ada pengalamatan yang diperlu untuk mendapatkan informasi. Secara formal, immediate addressing buk nlab suatu mode pengalamatan.

8. Page addressing. Jika suatu angka dari memori utama adalah lebih be ar dibandingkan dengan angka lokasi yang dapat di alamatkan secara la - sung dengan suatu instruksi, maka memori utama akan dibagi ke dal m pages. Ukuran tiap page adalah sarna dengan angka maksimum lokasi yang dapat dialamati secara langsung. Page dimasukkan den n menggunakan salah satu mode pangalamatan yang diberikan daftamy sini, dan alamat yang efektif dari lokasi memori yang direferensi n merupakan alamat yang ditentukan untuk memulai page dimana mun ul suatu instruksi.

)

I I ~ I

Organisasi Mikrokomputer 401

Beberapa mode pengalamatan dapat diimplementasikan dengan menggunakan kombinasi dari daftartersebut. Misalnya, suatu mode indirect relaitve addressing, alamat yang ditentukan dari suatu instruksi akan berada pada lokasi isi dimana akan ditambahkan pada isi program counter untuk membentuk alamat yang efektif dimana operandnya ditempatkan.

11.7. PEMBUATAN PENGATURAN WAKTU

Untuk memahami bagaimana mikroprosesor beroperasi, ini perlu mengenal dengan adanya pembuatan system timing. Pada pokoknya, MPU merupakan synchronous sequential circuit (lihat bagian 3.5), dimana teks berikutnya ditentukan dengan instruksi, dengan adanya state controllogie unit (CLU), dan kadangkadang dengan kejadian ekstemal seperti interup. Seperti yang kita ketahui, bahwa sirkuit sekuensial dibandingkan dengan bagian memori dan bagian kombinasi (lihat Gambar 3-5). Bagian memori dalam MPU terdiri dari berbagai variasi register dan flag. Perubahan dalam isi register terse but dan flag ter sebut ditentukan dengan sirkuit kombinasi dalam MPU dan di-sinkron-kan dengan akurasi hitungan jam. Bagian kombinasi menunjukkan berbagai variasi fungsi yang berhubungan dengan, atau misalnya, manipulasi data, transfer data antarregister, pemeliharaan status, dan cariasi proses pembuatan keputusan, dan berlaku juga pada signal ekstemal yang diterima dari memori dan bagian 110.

Bagian kombinasi merupakan bag ian yang berisi beberapa gate level, yang memperkenalkan jumlah significant dari waktu delay. Oleh karena itu, rata rata jam ditentukan sehingga ada waktu yang sesuai antara hitungan jam dengan akomodasi delay tersebut, termasuk juga waktu yang diperlukan untuk bagian memori untuk mengubah state.

Waktu yang diperlukan untuk pengambilan dan pembuatan istruksi disebut dengan instruction cycle. lni merupakan waktu yang digunakan oleh MPU untuk mengambil opcode dari instruksi mikro (berikutnya) dari memori dan men-deeodenya, untuk mengambil sisa instruksi (pengambilan operand) jika diperlukan, dan untuk membuat suatu instruksi. Lingkaran instruksi lebih Janjut dibagi ke dalam machine cycles, ~, ~, ..... Suatu lingkaran mesin diperlukan setiap saat MPU memasukkan bagian ekstemal, seperti memori atau bagian I/O, Dengan demikian untuk pembuatan suatu instruksi, MPU memberikan initial serangkaian lingkaran mesin. Tiap lingkaran mesin ini lebih lanjut dibagi ke dalam clock state, II> 12, dan seterusnya ....... Meskipun angka jam ditentukan per variasi lingkaran mesin, setiap

402 Pengantar Organisasi Sistem Komputer

jam mempunyai panjang yang sama, dan durasinya sarna dengan periode Oleh karena itu state jam menunjukkan unit terkecil dari aktifitas pemro Untuk memasukkan bagian ekstemal, maka MPU harus mengikuti kejai seperti berikut ini:

1. Mengirimkan alamat suatu bagian pada alamat bus.

2. Mempersiapkan data kata dengan membuat signal kontrol read (write) menyebabkan suatu bagian untuk ditempatkan data katanya pada data Jika suatu instruksi diambil, maka MPU akan mengambil kata pertam dan meningkatkan program counter (PC).

3. Membaca data atau instruksi kata dari data bus dan menempatkannya d register internal. Jika MPU merupakan mode write, maka bagian ekste akan membaca kata dari data bus.

Dengan demikian minimal tiga state clock yang diperlukan untuk setiap lingk mesin. State tambahan yang diperlukan, misalnya, jika bagian ekstemal ti siap, untuk suatu decode instruksi, atau dalam lingkaran mesin yang menan n interupsi,

11.8. SINGLE-SUCED MIKROPROSESOR

Mikroprosesor single-chip adalah terbatas dan fleksibel untuk beberapa apli MisaInya, panjang kata dan rangkaian instruksi dari mikroprosesor telah dite u kan, dan kecepatan efektifnya juga terbatas. Beberapa aplikasi memerlukan e cepatan yang lebih tinggi atau instruksi khusus. Misalnya, sistem penerimaan realtime, memerlukan konstruksi yang menunjukkan suatu perkalian, pembag dan aritmatika floating-point. Untuk menggunakan mikroprosesor sebagai gontrol disk, kita memerlukan suatu instruksi seperti deteksi karakter dan pen pan dan disk read/write. Kita dapat memprogram mikroprosesor singleuntuk membuat instruksi khusus ini, tetapi akan menghasilkan dengan kecep yang rendah.

Untuk membuat mikroprosesor sangat cepat, kita memerlukan elemen 10 yang mempunyai karakteristik switching sangat cepat. Integrated circuit keluarga logika dibuat dengan teknologi yang popu/er yang mampu den kecepatan efektifyang lebih besar, dengan minimal suatu faktor 4, dari pada y disediakan oleh keluarga logika yang berdasarkan pada teknologi MOS. N

I I I I

Organisasi Mikrokomputer 403

demikian bagian populer memerlukan tenaga relatif besar yang boros dan tidak dapat digabungkan ke dalam rancangan mikroprosesor single-chip.

Problem ini dapat diatasi dengan menggunakan teknik bit-slice untuk membuat mikroprosesor. Mikroprosesor bit-slice disusun dengan tingkat penampilan yang tinggi yang mampu menyediakan mikroprosesor single-chip. Mikroprosesor single-chip berbeda dengan mikroprosesor MOS konvensional dalam penanganan bagan data yang terpisah dari fungsi kontrol, MPU merupakan bagian dalam serangkaian chip LSI dan ditempatkan pada single chip.

Bagian kontrol dari bit-slice MPU adalah dapat diprogram dan berisi pengontrol program mikro dan memori. Bagian penanganan data berisi angka slice processor yang sarna yang dihubungkan secara paralel. Setiap sl ice berisi angka kecil dari bit (biasanya dua atau em pat) dari setiap register dan hubungan ALU bersarna dengan sirkuit logika yang diperlukan untuk menunjukkan suatu operasi aritmatika dan logika dalam bit tersebeut. Dengan demikian, dengan menggunakan pendekatan bit-slice, para perancang dapat mengimplementasikan arsitektur mikroprosesor dengan berbagai variasi panjang kata dan serangkaian instruksi.

Untuk menunjukkan suatu operasi yang berguna yang sarna dengan instruksi bahasa mesin tunggal, MPU harus berjalan melalui serangkaian instruksi rnikro. Dalam mikroprosesor single-chip ini, dikerjakan dengan kontrol Iogik unit (CLU), dimana program mikronya biasanya tidak dapat dimasukkan ke pemakai. Sebaliknya, mikroprosesor bit-slice adalah: user micro-programmable. Pemakai harus membuat program rnikro, menentukan berbagai variasi mikro routine, dan menyimpannya ke dalam ROM.

Pembuatan block khusus dari mikroprosesor bit-slice berisi, misalnya, 4-bit slice yang terdiri atas 4-bit ALU, sebuah shifter (yang mungkin merupakan bagian dari ALU), multiplexer, buses, register dan flag. Kita kemudian dapat menghubungkan block tersebut secara paralel untuk menangai panjang kata yang lebih besar. Misalnya, Gambar 11-4 menunjukkan hubungan 4-bit slice untuk membentuk 16-bit MPU. Ini penting memperhatikan dua benda dalam relasi organisasi ini:

1. Data dan alamat bus dibuat hingga 16-bit dari 4 bit setiap slice.

2. Kata instruksi mikro yang diambil dari memori program mikro disobek, Satu kelompok instruksi mikro bit menyediakan opcode instruksi mikro pada seluruh slice-nya, Kelompok lain dari bit akan berjalan ke pengontrol program mikro untuk menentukan, misalnya, alamat instruksi mikro selanjutnya.

404 Pengantar Organisasi Sistem Komputer

lni jelas bahwa penambahan komponen diperlukan untuk mengimplemen ikan suatu mikroprosesor yang lengkap dari slice. Komponen ini termasuk su tu counter program, register instruksi dan decoder, register untuk menangani I/O interfacing memori utama, dan mungkin stack. Berbagai variasi yang menduk . g chip ada untuk menangani pembuatan suatu instruksi, tetapi sirkuit logika i bahan hampir selalu diperlukan untuk membuat mikroprosesor yang lengkap slice. Kekurangan lainnya dari mikroprosesor bit-slice adalah terbatas kern puannya dari dukungan perangkat lunak. Namun demikian, kekurangan ini h dikontraskan dengan beberapa keuntungan lain yang disediakan dengan pe katan arsitektural ini. Mikroprosesor bit-slice menawarkan suatu rancangan y lebih fleksibel dibandingkan dengan mikroprosesor konvensional dan dapat e nyesuaikan dengan aplikasi yang baru. Slice dapat dengan mudah dihubun untuk mencapai suatu tingkat tertentu dari data dengan kecepatan tinggi, perancang dapat menentukan panjang kata dan serangkaian instruksi.

Organisasi Bit-slice

Mikroprosesor bit-slice yang dapat diprogram berisi dua modul pokok: y i modul kontrol dan modut pemrosesan data. Dua e1emen pokok dari con 0 module adalah microprogram controller (atau sequencer) dan microprog memory. Organisasi CPU semacam ini ditunjukkan secara skematis dalam G bar 11-5, yang mengilustrasikan hubungan dari elemen-elemen terse but.

Data processing module, mencakup ALU, register dengan tujuan urn program counter, status register, register instruksi, register data, register al memori, dan sirkuit logika yang diperIukan untuk menunjukkan operasi ari tika pokok dan logika. Modul pemrosesan data ini dikontrol oleh mikrorou n jumtah totalnya disebut dengan microprogram, yang disimpan dalam me 0 program mikro. Untuk mencapai kecepatan tinggi, memori ini biasanya di u dari bipolar ROM atau PROM.

Kontroler mikroprogram merangkai suatu pesan dimana instrusksi mikr buat. Setiap instruksi mikro memberi awalan aksi dalam e1emen pemrosesan a dan atau bus controller. Instruksi mikro terdiri atas angka field yang mengo operasi elemen pemrosesan data, menyediakan untuk operasi seperti kontrol dan menentukan instruksi mikro selanjutnya untuk dibuat dalam basis info yang diperoleh dari opcode dan kontrol flag dari instruksi makro.

Kata instruksi mikro yang diambil dari memori program mikro diba dalam kelompok yang berbeda. Kelompok yang pertama diumpanbalikkan a

I I f I

Organisasi Mikrokomputer 405

._
~
:::J ~
..:l
~ :3 ~
'" ~ .0
C ~ ~
i :> .~
f 0..
U'" ..c
'"' <D.
~~ ~
- ..,.
11
~
:5 ~, ~
L ..,. :0
·A ~ I ...
I
I
r-- :::J •
" 0..
2 U" W I
-.~ I
to '';;"'iii
.s ;;
e l"- v 0
<.> ~ ..
~ ::; :::J
..c
., ... s
E 15 I ., ...
'" ... :0 c
~ > ~
"'~ '--- v
o 0
~ - - :::J
0)." r--
o " 0.. I
t; E U" !
.~~ I
~
I ...
/r I I-- ..
!
e -e-
:0 ..
~ :.c
I 1 '--- 0 -e-
:>
v "'-
utl ~ .
• ~:.=
.no> e--
E .j.
'" ~ 7
~ "
g;;: 15
o_g v
o <:
~ c g~
.~ u
::?: ., a
:l il~
:0 il E
I <0 ~ <:
~ -::J ._
.., to
<{E 406 Pengantar Organisasi Sistem Komputer

Gambar 11-5 Diagram skema CPU bit-slice.

kontroler program mikro. Kelompok yang kedua akan mengontrol modul p rosesan data. Kelompok yang ketiga akan mengatur aliran informasi antara k ntroler bus dan CPU. Prosedur ini disebut dengan horizontal microprogr ming dan memungkinkan beberapa fungsi untuk ditunjukkan secara simu dalam lingkaran instruksi mikro tunggal. Namun demikian, jika tidak se u signal kontrol diperlukan dalam Iingkaran instruksi mikro yang sama, m pendekatan ini sangat sia-sia karena setiap bit kontrol ditunjukkan pada Iingk

. tunggal dan dibuat setiap lingkaran instruksi mikro baik diperlukan atau ti Pada khususnya, pendekatan ini menuntun kata instruksi mikro yang lebih jang.

Suatu altematif pendekatan pada horisontal programming adalah timesh signal kontrol yang secara mutual lain dengan lingkaran instruksi mikro y n sama dan mengurangi angka bit kontrol. Prosedur ini disebut dengan vert a programming. Untuk mengilustrasikan perbedaan anatara dua pendekatan ni perhatikan situasi dimana tujuh signal kontrol dibuat dalam horisontal progr rn ming tetapi hanya satu sebenamya yang diperlukan dalam lingkaran ins mikro yang sama. Jika suatu signal secara mutual adalah eksklusif, kita d a menggunakan vertikal programming untuk membuat salah satu dari tujuh si kontrol dengan hanya tiga kontrol bit dengan menggunakan decoder 3 X 8 se sederhana.

I I f I

I ' t

Organisasi Mikrokomputer 407

SOAL

1. Tunjukkan secara sistimatika bagaimana MPU rnenggunakan interup vector dalam data bus untuk cabang bagian 110 interup service routine dalam memori utarna.

2. Perhatikan 8-bit MPU yang mempunyai 16-bit alamat bus. Gabungan dengan MPU adallah 256 bag ian lIO.

(a). Gunakan sebanyak 4 x 16 decoder chip -masing-masing dengan input chip enable (E) - yang diperlukan untuk membuat suatu sirkuit, dalam bentuk diagram block, yang akan membuat 256 bag ian I/O memilih signal. Sirkuit hams didapatkan dengan baris kontrol 110 (IOC) dari MPU.

(b). Berapa banyak alamat bit yang diperlukan?

(e). Porsi mana dari I6-bit alamat bus yang membawa bag ian alamat?

3. Berapa angka minimum dari alamat bit yang diperlukan untuk alamat unit memori yang disusun atas dua 256 x 8-bit memori chip? Tunjukkan diagram blok yang mengimplementasikan unit memori ini.

4. Berapa angka minimum dari alamat bit yang diperlukan untuk alamat unit memori yang disusun atas empat 256 x 8-bbitmemori chip?

(a). Berapa bit yang ditempatkan untuk fungsi pemilihan chip?

(b). Berapa bit yang ditempatkan untuk fungsi alamat kata memori?

(e). Tunjukkan diagram block yang mengimplementasikan unit memoriini.

5. Berapa bagian yang dapat dipilih dengan 8-bit alamat dengan menggunakan decoder 8 x 256? Berikan code heksadesimal dari alamat 8-bit :

(a). Kapan pemilihan bagian angka 1.

(b). Kapan pemilihan bagian angka 10.

(e). Kapan pemilihan bagian angka 65.

6. Berapa signal kontrol yang dapat dibuat dari 9 instruksimikro bit dengan menggunakan tiga decoder 3 x 3? Tunjukkan implementasi diagaram blocknya.

7. Perhatikan 16-bit MPU dimana instruksinya disusun atas 8-bit field. Byte pertama menunjukkan opcode, dan bit kedua menunjukkan alamat field atau operand.

(a)" Berapa maksimum spasi memori yang dapat dialamatkan?

(b). Berapa banyak bit yang diperlukan untuk progrma counter (PC) dan untuk register instruksi OR).

408 Pengantar Organisasi Sistem Komputer

(c). Apa (impact) pada kecepatan MPU jika mikroprosesor mempunyai (i 8-bit alamat bus dan 8-bit data bus, atau (ii) 8-bit alamat bus dan 4 data bus?

8. Suatu mikroprosesor mempunyai 332 instruksi dan 16 K kata dari peny, - panan memori utama. Berapa banyak bit yang diperlukan untuk kata .nstruksi dalam system single-address (lihat Bab 5).

9. Sediakan flowchart yang menunjukkan operasi yang dilakukan oleh dalam pengambilan dan pembuatan instruksi program.

10. Anggap bahwa accumulator (ACC) berisi angka (C6)16 register B berisi (94)16' dan flag pembawa C berisi I. Baik ACC dan B adalah 8-bit register. isi dari ACC dan C setelah pembuatan setiap instruksi berikut ini?

(a) ADDB ACC ~ (ACC) + (B)
(b) XORB ACe ~ (ACC) + (B)
(c) CMA ACC ~(ACC)
(d) RTL Rotate ACC dan Cleft
(e) SUB B ACC ~ (ACC) - (B) 11. Perhatikan suatu instruksi yang disebut dengan ADT yang mengambil s operand dari memori, menambahkannya ke dalam akumulator, dan m m baginya dengan hasi12. Bagian fraksional hasilnya diabaikan,

(a). Berapa state jam yang diperlukan untuk membuat instruksi tersebu (b). Gunakan register bahasa transfer (RTL~ lihat Bab 4) untuk menun

kan serangkaian operasi mikro yang diperlukan untuk membua struksi ini selama setiap state jam.

12. Perhatikan dua MPU, A dan B. MPU A memerlukan 4 jam state untuk masukkan memori dan 2 jam state untuk menunjukkan suatu penamba a MPU B rnemerlukan 5 jam state untuk rnernasukkan rnemori dan 2 jam t untuk menunjukkan suatu penarnbahan.

(a). Jika MPU A ditangani oleh 4-MHz jam dan MPU B ditangani 6MHz jam, berapa total waktu yang diperlukan setiap mikropros s untuk mengambil tiga angka dari rnemori, jurnlahkanlah, dan si hasilnya kembali dalam memori.

(b). Jika MPU A rnenunjukkan operasi dalam bagian (a) dalarn w kt yang sarna yang digunakan oleh MPU B, menjadi bagai frekuensijarn?

I ' I I ~ I I

Organisasi Mikrokomputer 409

13. Tiga status bit So, Sh dan S2 digunakan oleh MPU untuk menunjukkan transaksi bus yang diperlukan seperti ditunjukkan dalam tabel :

S2 51 sQ Bus Cycle
0 0 0 Interrupt acknowledge (lNRA)
0 0 I/O read (lOR)
0 0 liD write (lOW)
0 I 1 Halt
0 0 Fetch instruction (A)
0 Memory read (MR)
0 Memory write (MW)
Inactive (a). Rancangan sirkuit Iogika untuk decode status informasi untuk pengontrol bus.

(b). Berikan contoh transaksi yang diperlukan MPU untuk menjadikan bus tidak aktif.

14. Gambar 11-2 (b) menunjukkan signal waktu darijarn dua-phase. Rancangan sirkuit yang menghasilkan signal ketika ditangani oleh sumber hitungan untuk cycle duty berikut ini :

(a). 25 %.

(b). 50 %.

(c). 75 %.

Plot diagram waktu yang menunjukkan hubungan antara phase 1, phase 2, dan sumber hitungan unstuk setiap kasus. (Perhatikan; Duty cycle berarti prosentasi waktu dimana signal dari sumber hitungan pada logika 1). (Perhatikan: Gunakan T flip-flop).

15. (a). Selalu diperlukan untuk poll bagian I/O untuk rnengubah data dengan MPU ketika 110 terprogram digunakan?

(b). Jika dua bagian telah dilayani pada waktu yang sarna, bagaimana MPU memilih yang harus dilayani pertama kali di bawah program 110 dalam interup?

16. Seperti diilustrasikan dalam Gambar 11-4, MPU slice dapat dikurangi untuk mencapai suatu tingkat yang sesuai untuk angka yang dioperasikannya. Namun demikian, pengurangan tidak merupakan satu satunya jalan dimana bit-slice MPU dapat dikombinasikan untuk menunjukkan pemrosesan

410 Pengantar Organisasi Sistem Komputer

paralel, Anggap bahwa kita ingin memproses vector tiga demensi, set p 8-bit panjangnya. Dengan menggunakan 4-bit slice seperti dalam Gam 11-4, tunjukkan ubungan slice tersebut untuk membentuk unit hitun vector tiga demensi.

17. Pada berbagai fungsi waktu, MPU kadang-kadang menggunakan timer - terva1. Termasuk down counter (lihat Bab 3) yang dipanggil dengan an dari suatu bagian output, dan jika interval telah hilang (counter menca ai nol), maka flag interup akan diatur. Jika suatu interupsi telah diselesaikj ' alamat permulaan dari service routine ditempatkan pada data bus. Ang p bahwa 8-bit bus, dan rancangan interval timer dalam bentuk diagram bl

I I. I I

Anda mungkin juga menyukai