Minggu, 30 November 2008

Sistem komputer terdiri dari hardware, software dan brainware.

  1. Hardware (perangkat keras).
    Menurut Sajjan G.Shiva pada bukunya Computer Design and Architecture (2000),

    The hardware components of a computer system are electronic devices,
    in which the basic unit of information is either a 0 or a 1,
    corresponding to two states of an electronic signal.

    Komponen perangkat keras dari sebuah sistem komputer adalah peralatan elektronik, yang memiliki unit dasar informasinya adalah 0 atau 1, berdasarkan dua status yang dimiliki signal elektronik.

    Kutipan berikutnya dari buku tersebut adalah “For instance, in one of the popular hardware technologies a 0 is represented by 0 V while a 1 is represented by +5 V“, terjemahannya sebagai berikut “sebagai petunjuk, salah satu dari kepopuleran teknologi hardware adalah “0″ mewakili kondisi 0 Volt, sedangkan “1″ mewakili kondisi +5 Volt.

    Hardware terdiri dari perangkat unit Input - Proses - Output.
    Beberapa perangkat memiliki fungsi 1 (satu) bagian, misalnya sebagai input saja atau sebagai output saja. Namun media penyimpanan seperti harddisk, bertindak sebagai perangkat input (apabila melakukan pembacaan data) dan berfungsi sebagai output (apabila sebagai media penyimpanan).

    Printer juga berfungsi sebagai 2 (dua) bagian, sebagai output, printer menerima data untuk dicetak, sedangkan sebagai perangkat input, printer melaporkan status tinta yang ada padanya, tinta apa yang habis, warna hitam atau warna merah, kuning, biru.

  2. Software (perangkat lunak) adalah kumpulan instruksi-instruksi yang dibuat, baik oleh manusia atau hasil proses yang dibuat perangkat lunak lain, untuk memenuhi tujuan tertentu pada proses komputasi (computing process).Terdapat beberapa jenis perangkat lunak :
    • Operating System (OS)
      adalah software yang berfungsi untuk mengendalikan hardware
      misalnya : Microsoft Windows, Unix, Linux, Symbian pada beberapa handphone.
    • Application Software
      adalah software yang berfungsi untuk membuat aplikasi tertentu untuk kebutuhan rutin banyak pihak, seperti aplikasi perkantoran, aplikasi bisnis, keuangan, desain grafis.
      misalnya : Microsoft Office, Adobe Photoshop, AutoCAD, Corel Draw dsb.
    • Utility Software
      Software pada jenis ini lebih bersifat secondary, bukan merupakan keutamaan untuk memilikinya.
      misalnya : Software antivirus, software perbaikan atau perawatan hardware
    • Development Software
      adalah software yang dibuat untuk membuat software lain, salah satunya adalah software pemrograman dan software modelling.
      misalnya : Code Gear Rad Studio (Borland Delphi), Microsoft VB.Net, Rational Rose dsb.
    • Taylor Made Software / Special Purpose Software
      adalah software yang dibuat untuk kebutuhan khusus pengguna, dibuatnya pun berdasarkan pesanan (taylor made)
      misalnya : POS (Point Of Sale) atau software penjualan barang pada supermarket, software pendataan pegawai, penggajian atau software untuk peramalan cuaca, penggerak hulu ledak bom jarak jauh dsb.

    Perangkat lunak sendiri terdiri dari file-file atau berkas yang dibuat sesuai dengan kebutuhan operasional yang ada.
    Beberapa pembedaan berkas adalah :

    • Data File
      File data adalah file yang berisi kode-kode yang dimengerti manusia maupun mesin, dalam hal ini komputer itu sendiri.
      File data memiliki 2 (dua) pembeda lain, yaitu non-executable dan executable, artinya terdapat file data yang dapat di-eksekusi atau dijalankan, contohnya adalah file ber-ekstensi .EXE dan .COM.
    • Folder / Directory File
      adalah file yang berfungsi sebagai induk atas sekumpulan file yang terdapat pada media penyimpanan. Folder tidak dapat dibuka seperti Data File yang dapat di “Open”, namun folder hanya bertindak sebagai informasi pendukung atas kumpulan beberapa file yang berada di dalamnya. Posisi Folder ini terletak pada posisi puncak media penyimpanan, tersimpan pada FAT (File Allocation Tables).
      Informasi lebih lengkap dapat Anda pahami pada matakuliah Berkas dan Akses.
  3. Brainware (Perangkat Pemikir)
    Manusia adalah termasuk brainware pada sistem komputer. Sebagai “brain” atau otak atau pemikir atas keberlangsungan hardware dan software yang ada.Brainware adalah mastermind (tokoh kunci) dari peningkatan perkembangan hardware dan software, tanpa tindakannya, perkembangan kedua sistem komputer yang lain tersebut tidak akan mencapai kondisi kesempurnaan seperti yang diharapkan oleh manusia itu sendiri.Brainware terdiri dari :
    • Technician
      Brainware yang bertindak untuk menjaga keberlangsungan perangkat-perangkat hardware dan software, seringkali disebut dengan teknisi.
      Terdiri dari : Hardware Technician dan Software Technician.
    • Operator
      Brainware yang bertindak sebagai tenaga entri bagi data-data yang dibutuhkan untuk diolah sistem komputer
    • Programmer
      Brainware yang bertindak sebagai tenaga pembangun aplikasi atau application developer, yang menuliskan pengkodean (coding) program-program untuk membuat sebuah aplikasi.
      Terdiri dari Application Programmer dan System Programmer. System programmer adalah programmer yang membuat penulisan program berhubungan dengan perangkat keras atau program yang berhubungan dengan sistem operasi.
    • Administrator
      Brainware yang berfungsi sebagai pengendali aktifitas yang berhubungan dengan administrasi perangkat atau sistem.
      Terdiri dari : DBA (Database Administrator) adalah brainware yang berhubungan dengan pembuatan atau perancangan database pada pembangunan perangkat lunak.
      Network Administrator (NA) adalah brainware yang bertanggungjawab atas administrasi pada perangkat jaringan komputer, sedangkan Web Administrator banyak berhubungan dengan administrasi layanan web pada Internet.
    • Designer
      Brainware yang bertindak sebagai tenaga desain pada sebuah aplikasi.
      Terdiri dari : Graphic Designer, Web Designer dan System Analyst and Designer.
      System Analyst and Designer bertugas mendesain cetak biru (blue print) pada pembangunan perangkat lunak atau aplikasi, mulai dari rancangan layout, sampai dengan hasil output yang diinginkan.

John Von Neumann

Sistem komputer yang kita pergunakan saat ini adalah desain dari John Von Neumann. Dituliskan pada makalahnya “First Draft of a Report on the EDVAC” pada 30 Juni 1945.

Gambar 1. Von Neumann Architecture

Saat ini memang desain tersebut telah berubah, karena pada desain tersebut belum terdapat “cache” pada processor, yang fungsinya memang mengurangi kepadatan arus pembacaan, karena secara terus menerus jalur memori ke CU (Control Unit) dan ALU (Arithmatic Logic Unit) menjadi sangat padat.

Desain lanjutan setelah ditemukannya media penyimpanan luar (eksternal storage) terdapat pada Gambar 2. Amati apa yang terdapat pada panah yang tertuju padanya.

Gambar 2. Computer Architecture the 2nd

Panah yang berkepala dua (bolak balik) berarti aktifitas yang muncul melalui satu lokasi alamat.

Perangkat input dan output memiliki jalur tersendiri untuk berkomunikasi dengan komputer melalui Control Unit, sudah tidak lagi berhubungan dengan accumulator yang terdapat pada ALU (amati gambar 1).

Memori memiliki 2 (dua) khusus untuk berhubungan dengan CU dan ALU. Kedua jalur yang ada bertindak sebagai input dan output. Kondisi ini masih tetap sama dengan desain awal.

Bedakan dengan gambar sebelumnya tentang hubungan CU dan ALU. Melalui desain kedua ini CU dan ALU memiliki alamat yang sama untuk mentransfer datanya.

Bus
Jalur tempat sirkulasi data yang terdapat pada CPU dan perangkat yang ada diluarnya disebut dengan bus. Memori dan processor memiliki ukuran bus tersendiri dalam berkomunikasi, begitu juga bagi perangkat input dan outputnya, juga memiliki bus dalam berkomunikasi.

Penjelasan tentang bus ini lebih mendetail pada materi lanjutan. Keep in touch student.

Memory

Memori pada komputer terbagi menjadi 2 (dua) bagian :

  1. Primary Memory
    Memori primer adalah memori yang mutlak harus dipenuhi untuk keberlangsungan sistem komputer. Tanpanya, komputer hanya seonggok perangkat elektronik yang tidak mampu bekerja sesuai tugas dan fungsi yang ditujukan kepadanya.
    Memori primer ini mahal harganya, ukurannya juga tidak terlalu besar, namun memiliki kecepatan tinggi dalam aksesnya. Termasuk dalam memori primer adalah Register dan RAM (Random Access Memory).
    Primary Memory bersifat volatile, artinya membutuhkan arus listrik menetap untuk mengelola data. Kehilangan arus listrik pada jenis memori ini akan membuatnya tidak dapat bekerja.
  2. Secondary Memory
    Secondary Memory lebih banyak mengarah pada penyimpanan data. Jika Primary Memory mengarah sebagai sebuah sarana untuk mengolah data, sedangkan secondary memory mengarah kepada storage device (media penyimpanan).
    Disket, CD/DVD, HardDisk, Flash Disk adalah bentuk dari secondary memory. Selain itu virtual disk, swap memory juga termasuk didalamnya.
    Pada sisi kecepatan, jelas secondary memory lebih lambat dibandingkan primary memory. Dari sisi harga juga lebih murah. Harga harddisk 80 GB masih lebih murah dibandingkan harga 4 GB RAM.
    Secondary Memory bersifat Non-Volatile, yaitu tidak membutuhkan arus listrik menetap untuk mengelola data.

Register
Register adalah komponen primary memory yang sangat-sangat penting. Letaknya pada processor, fungsinya sebagai tempat penyimpanan sementara (temporary storage) dimana data dapat disimpan sementara pada saat proses pengolahan terjadi pada processor. Semua data nantinya harus berupa register terlebih dahulu sebelum diolah processor.

Gambar 1. Register pada Processor
(courtesy of http://pctechguide.com)

Sebagai contoh adalah proses penjumlahan. Dua bilangan atau lebih yang akan dijumlahkan harus diletakkan pada register terlebih dahulu, setelah itu dijumlahkan, hasil penjumlahan juga terletak pada register. Oleh karena itu register dapat juga disebut sebagai storage area (area penyimpanan) pada processor.

Register terletak pada processor, oleh karena itu kecepatannya sangat tinggi sekali. Register ini mengalami penambahan seiring dengan operasional processor yang didukungnya.

Sebagai contoh Processor Intel 8086 sampai dengan Intel 80286 yang hanya mampu beroperasi pada mode 16 bit, memiliki jumlah register lebih sedikit, dibandingkan processor Intel 80386 sampai dengan Intel Pentium 4 yang mampu bekerja pada mode 32 bit. Pada Core Duo, jumlah register juga ditambah, seiring dengan mode operasional 64 bit.

Register lama tidak pernah dihilangkan pada processor jenis terbaru, namun ditambah. Kondisi ini untuk menjaga kompatibilitas dengan aplikasi sebelumnya. Sekarang terjawab bukan? Mengapa aplikasi yang dulu dibuat dari komputer Intel 80386 masih dapat dijalankan pada komputer dengan processor Intel Core 2 Duo ?

Processor Register
Gambar 2. Register as is in Processor
(courtesy of http://schoolnet.gove.mt)

Register dapat berupa data atau alamat yang terdapat pada lokasi lain pada RAM. Jadi sifat register tersebut sebagai pointer (penunjuk) yang berupa alamat tertentu yang ditujukan untuk diproses.

Terdapat 11 (sebelas) kategori Register yang terdapat pada sistem komputer :
(courtesy of http://en.wikipedia.org/processor_register)

  1. User Accessible Registers, adalah kumpulan Register yang dapat diakses oleh user;
  2. Data Registers, adalah register yang berisi data Integer dan Float;
  3. Address Registers, merupakan kumpulan dari register yang berisi alamat-alamat untuk mengakses data;
  4. Conditional Registers bersifat Read-Only, berisi data yang bersifat nilai-nilai kebenaran (truth values), data-data bertipe boolean menjadi gambaran isi dari register ini;
  5. General Purpose Registers, merupakan kumpulan register yang penggunaannya sering atau pada umumnya (general) digunakan (purpose) untuk beroperasi;
  6. Floating Point Registers terdapat pada mikroprosessor lama sebelum Intel 8088, digunakan untuk menyimpan data bertipe desimal (float);
  7. Constant Registers berisi nilai-nilai konstan, seperti 0, 1 dan Pi (3.14)
  8. Vector Registers terdapat pada supercomputer atau mainframe untuk membantu pemrosesan secara vector (vector processing). Penjelasan lanjutan tentang vector processing pada materi lain.
  9. Special Purpose Registers adalah kumpulan register yang digunakan untuk kebutuhan-kebutuhan khusus (special) misalnya program counter, stack pointer dan status pointer.
  10. Model Specific Registers berisi data-data yang menunjukkan setting dari komputer itu sendiri.
  11. Control and Status Registers merupakan kumpulan dari register yang berisi kendali dari urutan susunan aplikasi seperti pada program counter. Selain itu juga register instruksi dan program status word (PSW) termasuk jenis register ini.

Keunggulan, kemampuan dan kecepatan CPU juga dipengaruhi oleh register. CPU 32 bit dapat diartikan memiliki register selebar 32 bit (4 Byte), oleh karena itu CPU tersebut dapat mengelola data selebar 32 bit. Dapat kita bandingkan dengan CPU 16 bit bukan ? berarti data selebar 32 bit akan melalui 2 kali proses pada CPU 16 bit, demikian juga untuk CPU 64 bit sekelas Dual Core, karena akan memproses data selebar 64 bit dalam satu kali proses, sedangkan CPU 32 bit harus melalui fetching data sebanyak 2 kali untuk menyelesaikannya.

Perpindahan atau penggantian register sifatnya sangat transparan dari user maupun programmer. Hanya dengan menggunakan pemrograman Assembly saja Register dapat dimanipulasi.

Tipe Memori
Pada sistem komputer kita, terdapat beberapa tipe memori yang ada, yaitu :

  1. RAM (Random Access memory), terdiri dari :
    a. Read Write Memory (RWM)
    b. Read Only Memory (ROM)
  2. Content Addressable Memory (CAM) atau Associative Memory (AM)
  3. Sequential Access Memory (SAM)
  4. Direct Access Memory (DAM)

Primary Memori pada komputer adalah RAM, sedangkan CAM digunakan untuk estimasi pencarian dan penggolongan data agar lebih cepat/lebih baik. SAM dan DAM terdapat pada Secondary Memory.

Random Access Memory (RAM)
Pada memori jenis ini dimanapun lokasi yang memiliki alamat pada memori dapat diakses secara random. Proses pembacaan dan penulisan pada jenis memori ini memiliki waktu yang sama, dimanapun lokasi memori tersebut berada dan seberapa besarpun ukuran memori yang dimiliki oleh komputer.

Read Write Memory (RWM) adalah jenis RAM yang memiliki kelebihan dapat ditulis dan dibaca. Setiap lokasi memory pada RWM memiliki “alamat” yang menunjukkan posisinya. Data yang dimasukkan dan dibaca dari memori menggunakan “alamat” yang ditentukan tersebut.

Jika pada layar komputer kita mengenal pixel yang tersebar dengan penentuan lokasi baris (row) dan kolom (column), sedangkan pada RAM dikenal segment dan offset. Segment mewakili baris, sedangkan offset mewakili kolom.
Sebagai contoh biasanya pesan error “Error in 000211H:21AAFBH”, yang berarti kesalahan terjadi pada alokasi memori dengan baris (segment) “000211″ Hex dan kolom (offset) “21AAFB” Hex.

Untuk operasionalnya tipe memori berupa RAM dan berjenis RWM ini membutuhkan :

  • MAR (Memory Address Register), berisi alamat dari lokasi memori yang akan diakses, baik yang akan dibaca maupun ditulis.
  • MBR (Memory Buffer Register), berupa buffer/tempat penampung hasil proses baca atau tulis.

Skema RAM-RWM

Gambar 3. Skema RWM
(courtesy of Computer Design and Architecture by Sajjan G.Shiva)

Pada saat penulisan, Read Signal akan berisi “1″, MAR akan berisi alamat memori yang akan dibaca, proses pembacaan berlangsung dan hasil pembacaan disimpan pada MBR.

Demikian juga sebaliknya, jika Write Signal berisi “1″, MAR akan berisi alamat yang ditulis, data pada MBR akan dituliskan pada memori.

Pada kenyataannya MAR dan MBR ini tidak berupa fisik, melainkan register yang terdapat pada processor yang bersikap sebagai MAR untuk menyimpan alamat data dan bersifat sebagai MBR jika memang berisi data yang akan ditulis atau dibaca tersebut.

Read Only Memory (ROM) juga merupakan salah satu tipe dari RAM yang memang memiliki sifat pengaksesan data secara acak (random), namun memori jenis ini tidak dapat dengan mudah ditulis dengan cara biasa.

Speedup

In parallel computing, speedup refers to how much a parallel algorithm is faster than a corresponding sequential algorithm.
It is defined by the following formula:

where:
p is the number of processors
T1 is the execution time of the sequential algorithm
Tp is the execution time of the parallel algorithm with p processors
Linear speedup or ideal speedup is obtained when Sp = p . When running an algorithm with linear speedup, doubling the number of processors doubles the speed, which is usually considered very good scalability. Efficiency is a performance metric defined as Sp/p. It is a value, typically between zero and one, estimating how well-utilized the processors are in solving the problem, compared to how much effort is wasted in communication and synchronization. Algorithms with linear speedup and algorithms running on a single processor have an efficiency of 1, while many difficult-to-parallelize algorithms have efficiency such as 1/log p that approaches zero as the number of processors increases.

Merancang dan Memproduksi Processor - bag.1

Dalam perkembangannya, processor mengalami banyak perubahan. Pertama kali diperkenalkan oleh IBM dengan nama 8088, dengan kecepatan dibawah 5 MHz. Tanpa math processor dan dilengkapi 16 bit intenal data bus dan 8bit external data bus. Processor tersebut hanya terdiri dari 29000 transistor. Jika dibandingkan dengan processor pada saat ini yang telah memiliki lebih dari 6000 kali lipat transistor, dengan kecepatan yang juga jauh lebih cepat.


Untuk membuat processor, setiap ahli tidak dapat sembarangan mengajukan model rancangan. Sebab untuk merancang sebuah processor baru diperlukan beberapa langkah yang erat kaitannya dengan kegunaan atau manfaat processor tersebut di masa yang akan datang. Oleh sebab itu, selain dalam merancang sebuah processor baru selain dibutuhkan sebuah tim ahli gabungan, juga dibutuhkan riset pasar telebih dahulu. Melalui riset pasar inilah akan dapat diperoleh petunjuk processor yang sedang diinginkan masyarakat.

Selain melakukan riset pasar, konsultasi juga dilakukan oleh para produsen processor dengan para pembuat motherboard, RAM, dan sebagainya. Kansultasi ini dimaksudkan agar tim ahli emndapatkan gambaran mengenai processor yang dibutuhkan oleh masing-masing komponen tersebut. Kedua hal tersebut sangat penting, karena selain processor tersebut harus mampu bekerja sama dengan komponen-komponen pendukungnya, juga harus sesuai dengan keinginan user yang membutuhkannya.


Perancangan Processor
Setelah diketahui gambaran processor yang dibutuhkan masyarakat, selanjutnya dilakukan perancangan processor. Pada saat muali dirancang, tim pembuat chipset akan membuat chipset-chipset baru yang nantinya akan berguna dalam mengakomodasi perintah dan fitur-fitur baru yang akan disediakan oleh processor. Sebagai contoh Centrino yang diproduksi oleh Intel untuk notebook. Yang dimaksud Centrin yaitu merupakan keseluruhan sitem yang dimiliki sebuah notebook yang menggunakan motherboard dengan chpset 852GME. Sebuah motherboard yang menggunkan processor PIII Mobile dilengkapi dengan fasilitas wireless 801g.


Tidak hanya tim chipset perusahaan processor, motherboard atau hardware lainnya saja yang akan merancang chipset-chipset yang akan mengakomodasi processor baru tersebut. Namun perusahaan komponen lain juga akan ikut perpartisipasi, contohnya perusahaan motherboard. Atau bahkan perusahaan perangkat lunak juga akan ambil bagian, seperti ketika Microsoft memberikan fasilitas keamanan tingkat tinggi pada sistem operasi barunya (Windows Longhorn), maka Intel saat ini juga sudah mulai mengembangkan sebuah processor baru yang nantinya dapat mendukung fitur keamanan baru yang dimiliki oleh Windows Longhorn itu nantinya. Bukan hanya processornya saja yang dirancang oleh Intel, tetapi termasuk juga chipset-chipset khusus yang akan berinteraksi langsung dengan fitur Longhorn.


Validasi dan Implementasi
Tahap pengujian setelah proses perancangan bukanlah pengujian terhadap processor telah jadi. Sebab untuk dapat memproduksi atau bahkan membuat processor jadi bukanlah hal yang mudah dan murah. Oleh sebab itu sebelum processor baru dicetak, ia harus terlebih dahulu dibuat prototype-nya, dan melewati beberapa tahap pengujian.


Pengijian yang pertaman adalah pengujian terhadap prototype virtual. Pengujian prototype virtual ini dibagi atas dua tahap. Tahap pertama adalah pengujian logika processor tersebut. Artinya, pengujian akan berlangsung pada blok diagram processor.


Seperti diketahui, dalam sebuah processor terdapat jutaan transistor berukuran mikro yang disusun dengan sangat rumit dan kompleks. Pada tahap pengujian ini masing-masing tim akan melihat aliran data yang bergerak dari satu transistor ke transistor lainnya. Tahap ini digunakan untuk memastikan bahwa rangkaian dalam processor yang baru sudah benar dan mencapai target yang diinginkan. Salah satu perangkat yang membantu proses ini dinamakan juga Register Transfer Language Simulator. Fungsi simulator ini sama halnya dengan pesawat simulator untuk belajar terbang atau menguji pesawat yang akan dibuat. Seperti layaknya sebuah simulator, semua fungsinya memiliki kesamaan dengan aslinya. Hanya saja jika ada kesalahan pada simulator, kerugian yang dialami tidak mempengaruhi. Bahkan kesalahan tersebut dapat menjadi masukkan bagi perbaikan benda aslinya.


Pengujian Prototype Virtual II
Tim pengujian tahap kedua adalah tim yang menguji fungsi prototype virtual secara fisik. Artinya processor akan diuji keberadaannya di tengah keseluruhan sistem sebuah komputer. Misalnya interaksinya dengan cache memory, RAM, dan bagian-bagian lainnya. Sebab meskipun secara diagram processor tersebut sudah dinyatakan lulus, bukan berarti tidak akan ada kendala sama sekali secara fisik. Kadang ada juga masalah-masalah yang tidak ditemukan pada saat pengujian logika. Misalnya saja crosstalk yang terjadi antar sirkuit yang pada saat pengujian logika dengan RTL Simulator tidak dapat diketahui, namun pada saat pengetesan fisik dapat diketahui. Jika hal ini tejadi, maka tim pengujian fisik akan mengembalikan pada tim pengujian logika untuk memperbaiki rancangan diagram agar masalahnya tidak muncul kembali. Jika hasil rancangan diagram yang sudah diperbaiki jadi, maka pengujian akan dilakukan kembali dari awal.


Tahap pengujian fisik, juga bertujuan untuk mengetahui apakah kecepatan processor saat implementasi pada sebuah sistem dapat bekerja sesuai dengan nilai yang direncanakan atau tidak. Jika tidak, maka rancangan ditinjau ulang.


Jika rancangan dapat melewati pengujian secara sempurna, maka rancangan akan diuji sekali lagi dengan RTL Simulator untuk terakhir kali. Bila sudah benar-benar lulus, rancangan mulai memasuki tahap selanjutnya yaitu pembuatan proses produksi processor yang sebenarnya.

Desain Prosesor

Langkah-langkah yang dilakukan dalam suatu proses desain CPU:

  1. Mendeskripsikan RTN

  2. Pada tahap ini setiap instruction set didefinisikan secara jelas dengan menggunakan register transfer notation.
  3. Menentukan Data Path

  4. Data path adalah koleksi/kumpulan register tambahan dan register penghubung yang diperlukan dalam proses pengeksekusian suatu instruksi, yang termasuk dalam instruction set, secara keseluruhan. Pada tahap menentukan data path ini, penggunaan RTN akan sangat diperlukan untuk menjelaskan langkah-langkah yang terjadi dalam proses pengeksekusian masing-masing instruksi. Pada tahap ini kita juga harus membuat asumsi tentang bagaimana komponen-komponen hardware bekerja. Kumpulan asumsi-asumsi yang dibuat akan dijadikan spesifikasi bagi disain logika dari perangkat keras data path.
  5. Mendesain perangkat keras, sesuai dengan spesifikasi data path

  6. Untuk melaksanakan tahap ini, desainer harus memikirkan sinyal-sinyal kontrol yang harus di-generate agar suatu langkah dalam urutan proses pengeksekusian suatu instruksi dapat berlangsung, seperti "strobe" untuk me-load register ke bus, dsb.
  7. Membuat Control Unit

  8. Membuat Control Unit yang akan menghasilkan dan mengatur sinyal-sinyal kontrol dalam urutan yang tepat sehingga langkah-langkah dalam urutan proses pengeksekusian instruksi dapat berlangsung dengan benar.

Hal yang harus dipahami dan diingat dengan baik dalam keseluruhan proses desain CPU adalah bahwa setiap langkah menghasilkan spesifikasi-spesifikasi yang harus dipenuhi pada langkah selanjutnya.



Konsep awal yang sangat penting adalah perbedaan antara abstract RTN dan concreate RTN:

  • Abstarct RTN menjelaskan perubahan pada programmer-visible registers yang disebabkan oleh pengeksekusian suatu instruksi.

  • Concreate RTN menjelaskan secara detail langkah-langkah register transfer yang terjadi pada data path sehingga menghasilkan perubahan pada programmer-visible registers secara keseluruhan.


Unit kerja dari suatu abstract RTN adalah eksekusi instruksi, sementara langkah-langkah pada concreate RTN berhubungan dengan pulsa clock prosesor.




referensi: Yusrila Y. Kerlooza.