Sabtu, 06 Desember 2008

4 Pertanyaan pada Modul Arkom

  • Hub antara jumlah bit pada opcode dan jumlah intruksi yang ada.

Pada jumlah bit opcode instruksi harus mencakup opcode itu sendiri dengan implisit dan ekplisit operand. Isndtuksi di tentukan oleh sususan dan tata letak bit suatu instruksi.

Sedangkan pada instruksi di tentukan juga oleh panjang intruksi itu sendiri yang mempengaruhi dan di pengaruhi oleh, ukuran memori, oganisasi memori, struktur bus, kompleksitas cpu, dan kecepatan cpu itu sendiri.

Inti dalam alokasi bit adalah berada pada untung rugi antara jumlah opcode dengan kemampuan pengalamatannya. Opcode yang banyak akan menyebabkan bit yang lebih banyak pada fild opcode, yang secara otomatis akan mengurangi jumlah bit untuk pengalamatan. faktor yang mempengaruhi penggunaan bit adalah

- jumlah mode pengalamatan

- jumlah operand

jumlah operan akan di pengaruhi oleh kemampuan intruksi dan jumlah operand yang sedikit akan menjadikan iintruksi yang panjang dalam suatu fungi.

- regiter vs memori

membutuhkan jumlah bit yang berbeda pada pngunanannya dan akan membutuhkan bit yang kecil apabila dilakukan pengalamatan implisit pada mode pengalamtan langsung kememori

- jumlah set register

akan di pengaruhi oleh jumlah bit intruksi pada register

- jangkauan alamat

- granularitas alamat

-

  • hub antara jumlah bit pada alamat yang ada di set instruksi dengan jumlah alamat yang bisa di jangkau

panjang instruksi harus merupakan panjang karakter, yang umumnya 8 bit dan kelipatan panjang bilangan fixed point. Akan di abaikan apabila terjadi pemboran bit pada word ketika jumlah karakter di simpan di dalamnya

  • cara agar set intruksi jumlah dapat mnambah jangkauan pada memori

caranya ada beberpa yaitu menambah ukuran memori, pengorganisassian memori, struktur busnya, kopmpleksitas cpu serta kecepatan cpu itu sendiri. Pada intruksi yang komplek akan mempengaruhi perancangan perangkat keras proseor karena fungsi fungsi yang disajaikan cpu harus di implementasikan dalam perangkat keras.

  • Kapan dan saat apa mode pengalamatan di gunakan

Mmode pengalamatan akan di lakukan apbila mode pengalamatan tersebut di lakukan secara implisit atau eksplisit, yang kesemuanya memerlukan jumlah bit yang berbeda

Jumat, 28 November 2008

Microcomputer Hardware

1.1 Introduction to Microcomputers

Even though electronic digital computers have existed since the 1940's, microcomputers have been around only since the late 1970's. The appearance of microcomputers coincided with the development of large-scale integrated circuits (LSI chips). An integrated circuit is a tiny chip of silicon on which is layered multiple electronic circuits. Figure 1.1 illustrates the size of a common silicon chip.













A chip like the ones shown in Figure 1.1 can hold thousands of electronic circuits containing millions of individual components. In order to connect wires to the chip so that signals can be sent to and from it, the chip must be mounted in a plastic package containing wire leads. This plastic case is called a dual in-line package, or DIP for short. The name is quite descriptive since a DIP consists of two rows of leads on each side of the plastic case. A DIP is shown in Figure 1.2.

chip-dip.gif (4553 bytes)

Figure 1.2 Chip in a DIP

A typical microcomputer will contain dozens of chips that perform such functions as storing data, routing data, displaying data, and performing arithmetic and logic operations on data. These chips are usually plugged into special sockets like the one shown in Figure 1.3. These

chip-socket.gif (7188 bytes)

Figure 1.3 Chip and Socket



sockets are then attached to a large printed circuit board called the motherboard. The motherboard of a microcomputer is shown in Figure 1.4.




Figure 1.4 Microcomputer Motherboard

In addition to a variety of chips, the motherboard of a microcomputer also contains a series of expansion slots. These are the long sockets shown in the upper-left corner of Figure 1.4. These sockets are designed to hold additional printed circuit boards for such things as video display adapters, serial interfaces, and instrument interfaces.

Although microcomputers from a variety of manufacturers appeared in the 1970’s, it was the introduction of the Personal Computer (PC) from IBM in 1981 that initiated the widespread use of microcomputers in the sciences. The IBM-PC was the first microcomputer from a major vendor to combine the important features of large memory capacity (up to 640,000 characters), rapid processing speed (a 4.77 MHz clock), high resolution graphics, and convenient expansion capabilities. Within months of the introduction of the IBM-PC, other computer manufacturers such as Hewlett-Packard, AT&T, and Zenith introduced copies of the IBM-PC that performed exactly like the model from IBM. These copies were sometimes referred to as clones or compatibles. The acceptance of the IBM-PC architecture by so many different computer companies helped to establish it as an industry standard. This standard, at least in part, is still with us today. We still use the term PC to refer to any microcomputer whose heritage traces back to the original IBM-PC.

1.2 Computers are Digital Devices

All data transfer, storage, and processing done by a microcomputer is performed digitally using binary (base two) codes. This binary system translates every character entered in the computer into a set of 1's and 0's. For example, the PC represents the capital letter "C" as 1000011. The advantage of binary coding over other methods is that a sequence of only two possible states is required to represent a character in the electronic circuits of the computer. The binary digit 1 could be represented by a signal level of +5 volts and a binary 0 could be represented by a signal level of 0 volts. Therefore, the smallest piece of information that needs to be stored in memory is a single binary digit. A single binary digit is called a bit (abbreviated with a lowercase b). Different groupings of bits are used to represent different characters or instructions.

A collection of eight bits is called a byte (abbreviated with an uppercase B). One byte can represent any one of 256 characters (28 = 256). The word "hello" would require a total of five bytes of memory – one byte for each character in the word. Since we are primarily concerned with how many characters the memory banks of a computer can hold, memory size is referred to in units of bytes. The memory size of modern computers is typically measured in megabytes (MB). In binary arithmetic, the power of two which is closest to 1,000,000 is 220 (220 = 1,048,576). Therefore, in computer jargon, the prefix "mega" stands for 1,048,576. A similar situation exists for the prefix "kilo". Normally, the prefix "kilo" means 1,000 such as in kilometer (km). When speaking of computer memory, however, the prefix "kilo" means the power of two that is closest to 1,000. This is 210 which is 1,024. Therefore, a computer having 256 kilobytes of memory has the ability to store as many as 262,144 (256 X 1,024 = 262,144). Frequently, the word kilobyte is abbreviated with a capital K. Fortunately, the distinction between the normal use of the terms "kilo" and "mega" and there use in reference to computers is of little importance.

1.3 Microcomputer Parts

All microcomputers, regardless of the brand, share a common overall design. This design is illustrated in Figure 1.5. The CPU, shown in the middle of the diagram, is the brain of the computer. CPU stands for central processing unit and it is the chip that contains all the circuitry for performing arithmetic and logic operations and for directing data to and from memory. In a microcomputer, the CPU is contained on a single chip. Minicomputers and mainframe computers have CPU's that occupy several chips.

computer architecture.gif (12445 bytes)

Figure 1.5 Relationship of CPU to Memory and I/O Devices

KOMPUTER SEBAGAI ALAT PEMECAHAN MASALAH

1. Dasar-dasar pemprosesan komputer
1.1. Arsitektur komputer
Sampai saat ini komputer sudah mengalami perubahan dari model awalnya, walaupun begitu semua komputer memiliki arsitektur dasar yang sama. Skema komputer (computer schema), adalah diagram yang menggambarkan unit-unit dasar yang terdapat dalam semua sistem komputer.
1. Central processing unit (CPU), yang mengendalikan semua unit sistem komputer yang lain dan mengubah input menjadi output.
• Primary storage (penyimpanan primer), berisi data yang sedang diolah dan program.
• Control unit (unit pengendali), membuat semua unit bekerja sama sebagai suatu sistem
• Arithmatika and logical Unit , tempat berlangsungkan operasi perhitungan matematika dan logika.
2. Unit Input, memasukkan data ke dalam primary storage.
3. Secondary storage (penyimpanan sekunder), menyedikan tempat untuk menyimpan program dan data saat tiak digunakan.
4. Unit Output, mencatat hasil pengolahan.

1.1.1 Peralatan Input
Beberapa alat input memiliki fungsi ganda, yaitu sebagai alat input dan juga sebagai alat output untuk menghasilkan data. Alat input/ouput demikian dikenal dengan terminal. Alat input dibagi ke dalam dua golongan yaitu alat input langsung dan tidak langsung. Bila terminal dihubungkan dengan pusat komputer yang letaknya jauh dari terminal melalui alat komunikasi, maka disebut dengan nama Remote Job Entry (RJE) terminal atau Remote Batch terminal.
Alat input langsung memungkinkan input diproses secara langsung oleh CPU melalui alat input tanpa terlebih dahulu dinmasukkan ke dalam media penyimpanan ekternal. Alat input langsung terdiri dari beberapa golongan yaitu: keyboard, pointing device, scanner, voice recognizer.
Alat input tidak langsung , dimana data yang dimasukkan tidak langsung diproses oleh CPU, tetapi direkam terlebih dahulu ke suatu media mechine readable form (bentuk yang hanya dapat dibaca oleh komputer dan merupakan penyimpanan ekternal). Alat input tidak langsung terdiri dari: key-to-card, key-to-tape, key-to-disk.

1.1.2. Penyimpanan primer (primary storage)
Penyimpanan primer ada dalam beberapa bentuk yang memberikan beragam kemampuan dalam hal operasi dan kecepatan. Ukuran dari penyimpanan primer ditunjukkan dalam satuan Kilo Byte(KB), Mega Byte(MB), Giga Byte(GB). Bentuk-bentuk penyimpanan primer:
o RAM (random access memory), adalah memori yang dapat diakses yaitu memori yang dapat diisi dan diambil isinya. RAM bersifat volatile karena isinya akan hilang bilang listrik padam.
o ROM (read only memory) adalah memori yang hanya dapat dibaca dan bersifat non volatile yaitu isi dari ROM tidak akan hilang jika listrik padam. ROM berisikan intruksi dan data yang memberitahukan komputer apa yang akan dilakukan pada saat komputer dinyalakan.
o Cache Memory merupakan RAM khusus yang diletakkan antara processor. Cache memory akan dibaca terlebih dahulu oleh processor sebelum mencari intruksi atau data di RAM biasa.

1.1.3. Unit Output
Output yang dihasilkan pengolahan data dapat digolongkan ke dalam 4 macam bentuk, yaitu : tulisan, image, suara, dan bentuk yang hanya dapat di baca dan dimengerti komputer. Tiga yang pertama adalah output yang dapat dipergunakan langsung oleh manusia, sedangkan yang ke empat digunakan sebagai input untuk proses selanjutnya atau sebagai input komputer yang lain.

Alat output dapat berbentuk :
1. Hard copy, alat yang digunakan untuk mencetak tulisan, angka, karakter khusus dan simbol serta image pada media hard (keras) seperti misalnya kertas atau film. Misalnya Printer, Plotter, COM (Computer Output Microform)
2. Soft copy, alat yang digunakan untuk menampilkan tulisan, image pada media soft (lunak) yang berupa sinyal elektronik. Misalnya video display, flat planel display, speaker.

1.2. Software
Perangkat lunak (software) adalah satu atau kumpulan dari beberapa program. Perangkat lunak terbagi perangkat lunak sistem dan perangkat lunak aplikasi.
Perangkat lunak sistem melaksanakan tugas-tugas dasar yang diperlukan semua pemakai komputer yang berhubungan dengan perangkat keras. Perangkat lunak ini disediakan oleh pembuat perangkat keras atau oleh perusahaan yang mengkhususkan diri dalam membuat perangkat lunak. Ada 3 jenis dasar perangkat lunak sistem: sistem operasi, penterjemah bahasa dan program utility.
Perangkat lunak aplikasi adalah program yang dibuat oleh pemakai menggunakan bahasa pemrograman untuk menyelesaikan suatu tugas khusus.

1.2.1. Sistem Operasi (Operating Sistem)
Sistem operasi yang biasa dikenal dengan singkatan OS merupakan program yang memiliki fungsi sebagai interface/penghubung antara pemakai dengan perangkat lunak dan perangkat keras. OS layaknya seperti manajer di dalam perusahaan , yaitu bertanggung jawab, mengendalikan dan mengkoordinasikan kegiatan dari sistem komputer.

Fungsi utama Sistem Operasi
1. Manajemen proses, mencakup penyiapan, penjadwalan, dan pemantauan proses pada komputer.
2. Manajemen sumber daya, berkaitan dengan pengendalian terhadap pemakaian sumber daya dalam sistem komputer yang dilakukan oleh program sistem atau program aplikasi saat itu.
3. Manajemen data, pengendalian terhadap data masukan/keluaran, termasuk dalam hal pengalokasian dalam piranti penyimpan sekunder maupun dalam memori utama.
Tujuan utama Sistem Operasi
1. Mempermudah penggunaan sistem komputer terutama pemrogram.
2. Memberikan layanan bagi program aplikasi untuk memanfaatkan sumber daya komputer.
3. Mengusahakan agar sumber daya sistem komputer digunakan secara efisien.

Contoh OS : DOS, Windows 95, Windows 98, Windows Me/ Windows XP
Windows NT/Windows 2000, OS/2, Unix, Linux

1.2.2. Perangkat Lunak Aplikasi (PLA)
Perangkat lunak ini membantu pengelolaan sumber daya fisik dan konseptual perusahaan. PLA diperoleh dengan 2 cara yaitu:
1. Membuat sendiri (custom programming)
Sebagian perusahaan yang menggunakan komputer besar dengan dibantu staf spesialis informasi, merancang sistem berbasis komputer untuk memenuhi kebutuhan unik perusahaan. Produk mereka adalah koleksi perangkat lunak (software library) dari program pesanan (custom program).
2. Membeli jadi (preweritten package).
Beberapa program aplikasi jadi yang terdapat dipasaran dapat dikelompokkan menjadi empat kelompok::
1. Paket Aplikasi Bisnis Umum
2. Paket Aplikasi Khusus industri
3. Paket Aplikasi Peningkatan Produktivitas Organisasi
4. Paket Produktivitas Perorangan

1.3. Peranan peralatan input, output dan perangkat lunak dalam pemecahan masalah.
Semua alat input dan output dapat berkontribusi pada pemecahan masalah baik secara langsung dan tidak langsung. Contoh: keyboard , display, printer dan plotter (berperan langsung), source data automation device, microfilm (berperan tidak langsung).
Seperti halnya perangkat keras, perangkat lunak dapat juga berperan langsung atau tidak langsung. Contoh: sistem operasi (berperan tidak langsung), aplikasi bisnis umum dan industri (berperan tidak langsung), sebagian perangkat lunak aplikasi peningkatan produktivitas organisasi perorangan (berperan tidak langsung), spreadsheet, analisis statistik dan perkiraan, manajemen proyek (berperan langsung).

2. Database
2.1. Hirarki data
Perusahaan secara taradisional mengorganisasikan data mereka dalam suatu hirarki yang terdiri dari elemen data (field), catatan (record), dan file.
o Elemen data, adalah unit yang terkecil, tidak dapat lagi dibagi menjadi unit yang lebih kecil. Misalnya nama, nomor pegawai, gaji, upah perjam dll.
o Catatan, terdiri dari elemen data yang berhubungan dengan suatu objek atau kegiatan tertentu, misalnya catatan yang menjelaskan tiap jenis persediaan dan tiap penjualan.
o File adalah suatu kumpulan catatan data yang berhubungan dengan suatu subyek tertentu. Misalnya file pemesanan pembelian, file data pegawai, file penjualan.

2.2. Penyimpanan Sekunder (secondary storage)
Penyimpanan sekunder dibagi berdasarkan akses datanya
1. Sequential access storage device (SASD)
Alat penyimpanan dengan penyusunan dan pembacaan datanya secara berurut yaitu satu catatan mengikuti catatan lain.
2. Direct access storage device (DASD)
Alat penyimpanan dengan penyusunan dan pembacaan datanya langsung pada posisinya.

2.3. Pengolahan data (data processing)
Ada 2 cara dalam pengolahan data:
1. Pengolahan data berkelompok (batch processing) pengolahan yang dilakukan dengan mengumpul transaksi dalam periode tertentu
2. Pengolahan data langsung (online processing)
pengolahan data yang dilakukan per transaksi, kadang saat transaksi terjadi. Real Time System: Sistem yang mengendalikan sistem fisik dan mengharuskan komputer berespon cepat pada status sistem fisik

2.4. Database
2.4.1. Era Database
Sebelum era database ditandai dengan
o Sumber data dikumpulkan dalam file-file yang tidak terhubung satu dengan lainnya
o Setiap aplikasi memiliki/merancang file data sendiri
o Memiliki kelemahan: duplikasi data, ketergantungan data, kepemilikan data tersebar

Untuk memecahkan masalah di atas dilakukan dengan cara pengorganisasian data secara fisik dan mengarah ke organisasi logis. Organisasi fisik (logical organization), mengintegrasikan data dari beberapa lokasi fisik yang berbeda dan merupakan cara pemakai melihat data. Organisasi fisik (physical organization), merupakan cara komputer melihat data sebagai file-file yang terpisah.

Dua teknik untuk memenuhi kebutuhan integrasi logis:
1. Integrasi logis dalam satu file
o Inverted file
Suatu file yang disimpan secara urutan tertentu, dengan suatu indeks yang menyertainya memungkinkan record-record dari file itu dipilih dalam urutan berbeda.
o Linked list
Suatu teknik yang dapat mencapai hasil yang sama tanpa menggunakan indeks tetapi dengan menentukan field tersendiri yang ditambahkan pada tiap record dalam file.
2. Integrasi logis antara beberapa file
Mengunakan link untuk menghubungkan record-record dalam suatu file dengan record yang berhubungan secara logis difile lain.

2.4.2. Konsep database
Merupakan integrasi logis dari catatan-catatan dalam banyak file. Database adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dalam suatu cara yang memudahkan pengambilan kembali. Gambar 2.
Tujuan utama dari konsep database:
1. Meminimumkan pengulangan data
2. Independensi data
3. Inkonsistensi data
4. Pemakaian bersama

Hirarki data :
o field
o record
o file
o database

2.4.3. Struktur database
Penekanan pada kegiatan pengolahan data adalah pada kemampuan untuk mengakses data dengan cepat serta efisien dalam penggunaan secondary storage.
1. Struktur data berjenjang (hierarchical data structure)
Hubungan antara data membentuk suatu jenjang seperti pohon. Suatu pohon dibentuk dari beberapa elemen grup data yang berjenjang, disebut dengan node. Node yang paling atas atau level 1 disebut dengan root . tiap node dapat bercabang ke node lain. Satu node hanya mempunyai satu orang tua.

2. Struktur data jaringan (network data structure)
Hubungan data sama dengan struktur hirarki, tetapi untuk setiap node bisa mempunyai lebih dari satu orang tua.

3. Struktur data hubungan (relational data structure)
Data disusun dalam bentuk tabel dua dimensi yang terdiri dari kolom (field) dan baris (record). Hubungan antara record didasarkan pada nilai dari field kunci bukan berdasarkan alamat atau pointer di dalam record seperti pada strutur pohon dan jaringan.

2.4.4. Database Management System (DBMS)
Adalah perangkat lunak yang menetapkan dan memelihara integrasi logis antar file, baik ekplisit maupun inplisit. Contoh: IDS, Information Management System(IMS), Structured Query Language/Data System(SQL/DS), Query by Example(QBE), ORACLE, dBase II-III-III plus-IV, Foxbase, Qbase dll.

2.4.5. Keunggulan dan kelemahan database dan DBMS
Keuntungan :
1. mengurangi kerangkapan data
2. mencapai independensi data
3. mengintegrasi data dari beberapa file
4. mengambil data dan informasi secara cepat
5. meningkatkan keamanan data

Kelemahan:
1. perangkat lunak yang mahal
2. konfigurasi perangkat keras yang besar
3. mempertahankan staff Database Administrator

2.4.6. Peranan database dan DBMS dalam memecahkan masalah
Database terkomputerisasi maupun DBMS bukanlah prasyarat mutlak untuk pemecahan masalah. Namun, memberikan dasar-dasar penggunaan komputer sebagai suatu sistem informasi para spesialis informasi dan pemakai.

DASAR-DASAR ARSITEKTUR KOMPUTER

Tujuan


 Mengetahuii Gerbang Logiika
 Mempellajarii Gerbang Logiika
 Siimboll-siimboll Gerbang Logiika
 Tabell Kebenaran Gerbang Logiika

Pendahuluan

“Computer iis the Dumb Machiine”
 Tiidak mengenall huruf dan biillangan
 Hanya mengenall alliiran lliistriik
- volltase tiinggii
- volltase rendah
 Maniipullasii volltase tiinggii dan rendah
untuk mempresentasiikan data
maupun iinstruksii

Pengertian

Logic Gate (Gerbang Logika)
 Rangkaian sederhana yang memproses sinyal
masukan dan menghasilkan sinyal keluaran
dengan logika tertentu.
 Diagram blok simbol rangkaian digital yang
memproses sinyal masukan menjadi nilai
keluaran dengan perilaku tertentu.
 AND
 OR
 NOT

Pengertian

Logic Gate (Gerbang Logika)
 Rangkaian sederhana yang memproses sinyal
masukan dan menghasilkan sinyal keluaran
dengan logika tertentu.
 Diagram blok simbol rangkaian digital yang
memproses sinyal masukan menjadi nilai
keluaran dengan perilaku tertentu.
 AND
 OR
 NOT

Pengertian

Kombinasi gerbang logika dengan fungsi
baru :
 Rangkaian penjumlahan bilangan binner
(Adder)
 Komponen dasar memori (Flip-flop)
 Multiplexer (MUX)
 Decoder
 Penggeser (shifter)
 Pencacah (counter)
 dll

Logika Alljjabar

Aturan Alljabar Boellean
 Priinsiip True (benar) – Fallse (sallah)
 True = 1
 Fallse = 0
“Semakiin sederhana semakiin baiik”

LogikLogika Alljjabar
 Aturan Alljabar Boellean:
1. Operasii AND ( . )
0.0=0 A.0=0
1.0=0 A.1=A
0.1=0 A.A=A
1.1=1 A.A’’=0

LogikLogika Alljjabar
2. Operasii OR (+)
0+0=0 A+0=A
1+0=1 A+1=1
0+1=1 A+A=A
1+1=1 A+A’’=1

LogikLogika Alljjabar
3. Operasii NOT ( ‘‘ )
0’’=1 1’’=0 A”=A
4. Hukum Asosiiatiif (Associiatiive Law)
(A.B).C=A.(B.C)=A.B.C
(A+B)+C=A+(B+C)=A+B+C

LogikLogika Alljjabar
5. Hukum Diistriibutiif (Diistriibutiive Law)
A.(B+C)=(A.B)+(A.C)
A+(B.C)=(A+B).(A+C)
6. Hukum Komutatiif (Commutatiive
Law)
A.B=B.A
A+B=B+A

LogikLogika Alljjabar
7. Aturan Priioriitas (Precedence)
AB=A.B
A.B+C=(A.B)+C
A+B.C=A+(B.C)
8. Teorema DeMorgan
(A.B)’’=A’’+B’’ (NAND)
(A+B)’’=A’’.B’’ (NOR)

JeniJenis Gerbang Logiika
 Gerbang Dasar
AND ( . )
Output merupakan volltase tiinggii (1)
jiika semua iinput volltase tiinggii (1).
&
A
Q
B
A
Q
B
IEC

JeniJenis Gerbang Logiika
OR ( + )
Output merupakan volltase tiinggii (1)
Jiika sallah satu iinput volltase tiinggii (1)
>1
A
Q
B
IEC
A
Q
B

JeniJenis Gerbang Logiika
NOT ( ‘‘ ) atau ( )
Keballiikan darii niillaii masukan
=1
A
Q
IEC
A Q

JeniJenis Gerbang Logiika
 Gerbang Turunan
NAND ( NOT AND ) Q=A.B
Output tinggi (1) jika salah satu input
rendah (0)
Gabungan gerbang AND diikuti gerbang NOT
Kebalikan gerbang AND
A
B
Q
A
Q
B
&
A
Q
B
IEC

JeniJenis Gerbang Logiika
NOR
Penggabungan gerbang OR diiiikutii
gerbang NOT
Keballiikan gerbang OR
Output rendah (0) jiika sallah satu
masukannya tiinggii (1)

JeniJenis Gerbang Logiika
XOR ( + )
Output tiinggii (1) jiika sallah satu iinput
tiinggii (1) tapii tiidak keduanya
Output tiinggii (1) jiika iinput berbeda
Q=A+B=A’’.B+A.B’’

JeniJenis Gerbang Logiika
XNOR
Output rendah (0) jiika sallah satu
rendah (0) tapii tiidak keduanya
Keballiikan darii gerbang XOR
Output (1) jiika iinput sama
Q=A+B=A’’.B’’+A.B

KombinasKombinasii Gerbang Logiika
 Kombiinasii 2 gerbang
 Kombiinasii 3 gerbang

KombinasKombinasii Gerbang Logiika
 Teorema DeMorgan
“setiap ekspresi logika biner tidak akan berubah
jika:
1. Mengubah seluruh variabel menjadi
komplemennya.
2. Mengubah semua operasi AND menjadi OR.
3. Mengubah semua operasi OR menjadi AND
4. Mengomplemenkan seluruh ekspresi
A.B=A+B
A+B=A.B

Arsitektur Komputer von Neumann

Arsitektur komputer tradisional terdiri dari empat komponen utama yaitu "Prosesor", "Memori Penyimpanan", "Masukan" (Input), dan "Keluaran" (Output). Model tradisional tersebut sering dikenal dengan nama arsitektur von Neumann (Gambar 1-2). Pada saat awal, komputer berukuran sangat besar sehingga komponen-komponennya dapat memenuhi sebuah ruangan yang sangat besar. Sang pengguna -- menjadi programmer yang sekali gus merangkap menjadi menjadi operator komputer -- juga bekerja di dalam ruang komputer tersebut.

Gambar 1-2. Arsitektur Komputer von Neumann


Walau pun berukuran besar, sistem tersebut diketegorikan sebagai "komputer pribadi" (PC). Siapa saja yang ingin melakukan koputasi; harus memesan/antri untuk mendapatkan alokasi waktu (rata-rata 30-120 menit). Jika ingin melakukan kompilasi Fortran, maka pengguna pertama kali akan me-load kompilator Fortran, yang diikuti dengan "load" program dan data. Hasil yang diperoleh, biasanya berbentuk cetakan (print-out).

Timbul beberapa masalah pada sistem PC tersebut. Umpama, alokasi pesanan harus dilakukan dimuka. Jika pekerjaan rampung sebelum rencana semula, maka sistem komputer menjadi "idle"/ tidak tergunakan. Sebaliknya, jika perkerjaan rampung lebih lama dari rencana semula, para calon pengguna berikutnya harus menunggu hingga pekerjaan selesai. Selain itu, seorang pengguna kompilator Fortran akan beruntung, jika pengguna sebelumnya juga menggunakan Fortran. Namun, jika pengguna sebelumnya menggunakan Cobol, maka pengguna Fortran harus me-"load" Masalah ini ditanggulangi dengan menggabungkan para pengguna kompilator sejenis ke dalam satu kelompok batch yang sama. Medium semula yaitu punch card diganti dengan tape.

Selanjutnya, terjadi pemisahan tugas antara programer dan operator. Para operator biasanya secara eksklusif menjadi penghuni "ruang kaca" seberang ruang komputer. Para programer yang merupakan pengguna (users), mengakses komputer secara tidak langsung melalui bantuan para operator. Para pengguna mempersiapkan sebuah job yang terdiri dari program aplikasi, data masukan, serta beberapa perintah pengendali program. Medium yang lazim digunakan ialah kartu berlubang (punch card). Setiap kartu dapat menampung informasi satu baris hingga 80 karakter Set kartu job lengkap tersebut kemudian diserahkan kepada para operator.

Register-register CPU


Setiap hal yang dikerjakan CPU dibagi-bagi menjadi beberapa langkah yang sederhana dan berurutan. Osilator clock membangkitkan clock CPU yang digunakan dalam langkah (step) kerja CPU dalam urutan perkerjaannya. Karena clock CPU ini sangat cepat untuk ukuran manusia, sehingga yang terlihat bahwa CPU bekerja secara langsung dan cepat.

Mikrokontroler 8-bit dari Motorola M68HC05 dan M68HC11 memiliki organisasi khusus yan disebut dengan arsitektur Von Neumann. Dalam arsitektur ini, CPU dan rangkaian memori di-interkoneksi-kan dengan bus alamat dan bus data. Bus alamat digunakan untuk menentukan lokasi memori yang mana yang akan diakses, dan bus data digunakan untuk mengirim informasi baik dari CPU ke lokasi memori dan sebaliknya.

Dalam arsitektur implementasi Motorola ini terdapat beberapa memori spesial yang disebut dengan register CPU yang terletak di dalam CPU itu sendiri. Register ini mirip dengan memori yang dapat menyimpan informasi. Tetapi register ini terjalur langsung di dalam CPU dan bukan bagian dari memori konvensional mikrokontroler.

CPU menganggap semua lokasi memori sebagai satu kesatuan walaupun di dalamnya terdapat instruksi program, data variabel, maupun kontrol input-output (I/O). Teknik semacam ini yang disebut dengan memory-mapped I/O. Artinya, semua piranti input-output dari sistem mikrokontroler memiliki alamat tersendiri yang ikut dipetakan dalam peta memori, sehingga dianggap sebagai bagian dari memori itu sendiri.

Di dalam CPU juga terdapat komponen ALU atau Arithmatic Logic Unit yang digunakan untuk melakukan kalkulasi aritmatika dan logika yang didefinisikan oleh instruksi. Berbagai macam variasi operasi aritmatika biner dikerjakan dalam ALU ini. Hampir semua operasi aritmatika biner didasarkan pada operasi tambah. Pengurangan dikerjakan sebagai proses tambah dengan salah satu data dikomplemenkan. Perkalian dikerjakan sebagai urutan beberapa proses tambah dan operasi shift dalam ALU. Blok diagram dari CPU M68HC05 ditampilkan dalam gambar 4.1 di bawah ini.

gb41.gif (2133 bytes)


Register-register CPU
CPU yang berbeda memiliki set register yang berbeda pula. Perbedaan utama terletak pada jumlah dan ukuran dari register itu sendiri. Dalam gambar 4.1 diperlihatkan register-register CPU yang terdapat dalam mikrokontroler keluarga M68HC05.

gb42.gif (2430 bytes)

Register A berukuran 8 bit, juga dikenal sebagai akumulator karena register ini digunakan untuk menyimpan hasil dari operasi aritmatika dan manipulasi data. Register ini juga dapat langsung diakses untuk operasi non-aritmatika. Akumulator digunakan dalam proses eksekusi dari program saat isi dari beberapa lokasi memori yang digunakan di-load ke akumulator. Demikian juga instruksi penyimpanan akan menyebabkan isi dari akumulator disimpan dalam memori yang telah ditentukan.
Register X adalah index register yang berukuran 8 bit. Kegunaan utama dari index register ini adalah untuk menunjukkan suatu area memori di mana CPU akan mengambil atau menuliskan suatu informasi. Kadang-kadang index register juga disebut dengan pointer register.

PC atau program counter digunakan CPU untuk menata urutan alamat instruksi yang akan dikerjakan. Saat CPU reset atau baru dihidupkan, PC ini dimuati dengan alamat yang telah ditentukan dalam reset vector. Lokasi reset vector ini berisi alamat dari instruksi pertama yang akan dikerjakan oleh CPU. Saat suatu instruksi dikerjakan, CPU akan menambah isi PC sehingga akan menunjuk ke alamat informasi berikutnya yang akan dibutuhkan CPU. Jumlah bit dari PC sama persis dengan jumlah jalur bus alamat. Isi dari register ini dinyatakan dalam empat digit heksadesimal di mana enam bit teratas selalu nol karena hanya 10 bit jalur bus alamat.

CCR atau condition code register adalah register dengan ukuran 8 bit, yang menyimpan indikator status dari hasil operasi CPU sebelumnya. Terdapat tiga bit teratas tidak digunakan dan selalu sama dengan logika satu. Instruksi percabangan menggunakan bit-bit status dalam register ini untuk mengerjakan suatu keputusan percabangan.

Isi dari CCR ini adalah sebuah interrupt mask dan empat indikator status seperti pada gambar 4.1. Kelima flag tersebut adalah H atau half cary, N atau negative, Z atau zero, dan C atau carry/borrow.
Flag H (half carry) digunakan untuk operasi aritmatika BCD (Binary Coded Decimal) dan dipengaruhi oleh kerja instruksi ADD dan ADC. Bit H ini akan set jika ada carry yang timbul dari digit heksadesimal 0-3 (low order) dan digit desimal 4-7 (high order).

Bit I (interrupt mask) bukanlah status flag tetapi merupakan bit yang akan men-nonaktif-kan semua sumber interrupt yang maskable saat bit ini diset. Interrupt baru akan aktif jika bit ini nol. Jika ada interrupt eksternal yang terjadi saat bit I diset, maka interrupt tersebut akan di-latch dan akan diproses saat bit I dinolkan. Karena itu, interrupt yang terjadi tidak akan hilang. Setelah interrupt ditangani, instruksi RTI (return from interrupt) akan menyebabkan register ini dikembalikan ke nilai semula. Umumnya, bit I ini akan menjadi nol setelah instruksi RTI dilaksanakan.

Flag N (negative) akan diset jika hasil dari operasi aritmatika, logika, maupun manipulasi data yang terakhir adalah negatif. Nilai negatif dalam two's complement ditandai jika bit MSB adalah satu.
Flag Z (zero) diset jika hasil dari operasi aritmatika, logika, maupun manipulasi data terakhir adalah nol. Instruksi perbandingan (compare) akan mengurangi suatu harga dari suatu lokasi memori yang akan dites. Jika nilainya sama, maka bit Z ini akan diset.

Flag C (carry/borrow) digunakan untuk menandai apakah ada carry dari hasil operasi tambah atau ada borrow darioperasi pengurangan. Instruksi shift dan rotate juga dapat memakai bit C ini.
SP atau stack pointer digunakan sebagai pointer ke lokasi yang tersedia berikutnya dalam tumpukan stack dalam uruatn LIFO (last-in first-out). Stack ini dapat dianalogikan sebagai tumpukan kartu. Setiap kartu menyimpan satu byte (8 bit) informasi. Dalam suatu saat, CPU dapat menaruh satu kartu di atas tumpukan kartu tersebut maupun mengambil satu kartu dari tumpukan. Kartu di dalam tumpukan tidak dapat diambil kecuali jika kartu di atasnya sudah diambil sebelumnya. Stack mirip dengan tumpukan kartu ini hanya saja dalam fisiknya, stack mempunyai arah tumpukan ke bawah bukan ke atas seperti pada tumpukan kartu.

SP akan menunjuk pada alamat stack yang akan tersedia berikutnya. Jika CPU menaruh informasi dalam stack, maka data tersebut akan dituliskan dalam memori yang ditunjukkan oleh nilai SP saat itu, dan kemudian nilai SP akan dikurangi satu sehingga SP akan menunjukkan ke lokasi memori berikutnya yang kosong untuk digunakan sebagai penyimpan berikutnya. Jika CPU mengambil data dari stack, SP akan ditambah satu sehingga menunjukkan ke lokasi stack yang terakhir, dan kemudian data diambil dan dibaca oleh CPU. Saat CPU pertama kali dihidupkan atau setelah instruksi Reset Stack Pointer (RSP), maka SP akan menunjukkan memori tertentu dalam RAM.

Reset
Reset digunakan untuk memaksa sistem mikrokontroler untuk menuju alamat tertentu. Sistem periperal dan sejumlah bit kontrol dan status juga dipaksa untuk menuju ke state awal sebagai hasil dari proses reset. Aksi-aksi berikut ini yang terjadi akibat proses reset dari mikrokontroler:
1. Semua register data direction (DDR) diset nol (input)
2. Nilai SP dipaksa menjadi $00FF
3. Bit I dalam CCR diset
4. Latch interrupt eksternal dinolkan
5. Latch STOP dinolkan
6. Latch WAIT dinolkan

Kondisi-kondisi berikut ini yang akan menyebabkan mikrokontroler M68HC05 menjadi reset:
1. Sinyal input low pada kaki RESET
2. Reset karena pertama kali dihidupkan
3. Timer watchdog COP (computer operating properly) sudah habis
4. Usaha untuk menjalankan perintah dari suatu alamat yang tidak diperbolehkan


Jenis-jenis Arsitektur Komputer

Komputer SISD

kemampuan
mesin sekuensial dalam menjalankan eksekusi program, setiap operasi aritmatika ataupun
logika dilakukan dalam satu unit kalkulasi. Hal ini disebabkan dalam setiap instruksi,
mesin hanya mampu membaca data dalam sekali kerja. Oleh sebab itu dapat disimpulkan
bahwa penggunaan mesin ini pada bidang aplikasi sangat terbatas, sebab kemampuan dari
prosesornya terbatas. Contoh dari kelompok ini adalah jenis personal komputer (PC) dan
mini komputer.

Komputer SIMD

Gambar 1.b menyajikan arsitektur mesin komputer SIMD (Single Instruction Multiple
Data) dari jenis komputer paralel. Dari skema dapat dicirikan bahwa tipe ini terdapat N
prosesor yang masing-masing prosesor dihubungkan dengan memori lokal sehingga data
dan program dapat disimpan. Selain itu semua prosesor dikendalikan oleh satu unit
kontrol (Knob, 1990).
Kemampuan pokok yang dimiliki oleh mesin ini menunjukkan bahwa pada saat yang
sama, setiap prosesor mampu mengeksekusi instruksi-instruksi yang sama dari data yang
berbeda. Mesin yang dapat dimasukkan dalam tipe ini antara lain ILLIAC IV, STAR-100,
DRAY-1, STARAN IV dan ILC (memiliki 4096 prosesor).

Komputer MISD

Jenis yang ketiga adalah komputer paralel MISD (Multiple Instruction Single Data).
Dalam gambar 1.c, mesin MISD memiliki satu unit memori. Kemampuan yang dimiliki
untuk mengeksekusi program menunjukkan bahwa pada setiap saat, satu data dari
memori dioperasikan oleh setiap prosesor menurut instruksi-instruksi dari setiap unit
kontrol. Jadi secara paralel, satu data yang sama dapat diproses oleh prosesor-prosesor
yang berlainan.
Secara struktural, mesin ini nampak ekivalen dengan mesin SISD. Hanya karena
memiliki prosesor bebas lebih dari satu, maka mesin ini dapat dikatakan sebagai mesin
multi-prosesor yang kemampuannya relatif masih terbatas untuk digunakan di bidangbidang
aplikasi.

Komputer MIMD

Model komputer MIMD (Multiple Instruction Multiple Data) merupakan jenis
komputer paralel yang disajikan pada gambar 1.d. Mesin ini memiliki N prosesor bebas
dan masing-masing prosesor mempunyai satu unit kontrol, sehingga mesin ini dapat kita
sebut sebagai mesin multikomputer. Ciri lain yang ada pada mesin tersebut adalah
prosesor-prosesornya saling bekerja sama dalam unit Input-Output dan memori utama,
sehingga mesin ini dapat dikategorikan sebagai mesin multiprosesor.
Kemampuan mesin MIMD menunjukkan bahwa pada setiat saat, secara serentak
prosesor-prosesor dapat menjalankan instruksi-instruksi yang berlainan secara paralel.
Dari model susunan prosesornya, dapat disimpulkan bahwa komputer semacam ini dapat
dimanfaatkan untuk aplikasi khusus guna memecahkan masalah yang membutuhkan
operasi-operasi resolusi tinggi dan sangat kompleks.

Reduced Instruction Set Computer (RISC)

Reduced Instruction Set Computer (RISC)
Beberapa elemen penting pada arsitektur RISC :
􀂙 Set instruksi yang terbatas dan sederhana
􀂙 Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
􀂙 Penekanan pada pengoptimalan pipeline instruksi.
Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1. Arsitektur komputer dengan kumpulan perintah yang rumit
(Complex Instruction Set Computer = CISC)
2. Arsitektur komputer dengan kumpulan perintah yang sederhana
(Reduced Instruction Set Computer = RISC)
􀂙 CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit)
Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa
rakitan, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi.
Dalam CISC banyak terdapat perintah bahasa mesin.
􀂙 RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.
Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline.
Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit.
Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar.
IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.
Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang karakteristik eksekusi instruksi.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
􀃆 Operasi-operasi yang dilakukan:
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
􀃆 Operand-operand yang digunakan:
Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
􀃆 Pengurutan eksekusi:
Hal ini akan menentukan kontrol dan organisasi pipeline.

Operasi dengan High Level Language (HLL)

Hasil-hasil penelitian yang dilakukan untuk menganalisis tingkah laku program-program HLL menunjukkan:
􀃆 Assignment Statement sangat menonjol diikuti statement bersyarat (IF, LOOP) lihat tabel dibawah ini.
Hasil-hasil penelitian ini merupakan hal yang sangat penting bagi perancangan set instruksi mesin.

Eksekusi Instruksi

Waktu eksekusi dapat dirumuskan sbb.:
Waktu eksekusi = N x S x T
Dengan
N adalah jumlah perintah
S adalah jumlah rata-rata langkah per perintah
T adalah waktu yang diperlukan untuk melaksanakan satu langkah
Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga varisbel di atas.
Arsitektur CISC berusaha menurunkan nilai N, sedangkan
Arsitektur RISC berusaha menurunkan nilai S dan T.

o Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU.
o Nilai T dapat diturunkan dengan merancang perintah yang sederhana.
Operand

􀃆 Penelitian yang dilakukan Patterson terhadap frekuensi dinamik terjadinya kelas-kelas variabel dalam program pascal dan C menunjukkan bahwa mayoritas referensi menuju ke variable-variable skalar.
􀃆 Lebih dari 80% skalar bersifat variabel lokal.
􀃆 Penelitian tersebut menyatakan bahwa jenis arsitektur berpengaruh pada kecepatan pengaksesan operand.

Procedure Calls

􀃆 Prosedur call dan return merupakan aspek yang penting dalam program-program HLL.
􀃆 Tabel 4.2 menunjukkan bahwa prosedur call dan return merupakan operasi yang paling banyak membutuhkan waktu dalam program-program yang dikompilasi.
􀃆 Dua aspek yang lain adalah jumlah parameter dan variabel yang berkaitan dengan prosedur, dan kedalaman pensarangan (nesting).
Implikasi
􀂙 Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga buah elemen yang menentukan karakter arsitektur RISC.
􀂃 Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
􀂃 Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien.
􀂃 Ketiga, terdapat set instruksi yang disederhanakan (dikurangi).
􀂙 Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.