Selasa, 17 Januari 2012

PERKEMBANGAN TEKNOLOGI KOMPUTER SAAT INI

Perkembangan komputer pada saat ini sangatlah berkembang pesat buktinya, selama dua dekade terakhir ini telah banyak terjadi sesuatu yang menggemparkan tetapi tidak sepesat sejarah komputer elektronik. Pada masa orang-orang tinggal dan bekerja, penemuan komputer oleh John V. Atanasoff (1942) bisa digolongkan pada salah satu dari peristiwa-peristiwa yang penting dalam sejarah. Namun, semua tidak terjadi begitu saja. Ada beberapa penemuan & peristiwa pada masa sebelumnya yang mendasari itu semua.
komputer sudah bukan barang asing lagi bagi masyarakat penggunanya, namun sedikit yang mengetahui siapa penemunya, siapa yang memulai gagasan awal hingga dapat menghasilkanteknologi komputer tersebut, Tentunya manusia yang menemukan komputer tersebut adalahtidak kecil jasanya bagi masa-masa berikutnya, dimana penggunaan komputer tersebut telahdapat dinikmati oleh sebagian besar masyarakat dunia, sewajarnya si penemu tersebut mendapat penghargaan dan dikenang namanya dalam sejarah didunia ini. Menurut William S. Davis (Miami University ,1981), setelah manusia beralih dari sistim barter diganti dengan uang, kebutuhan akan angka, perhitungan, dan pemeliharaan data telah menjadi keharusan. Alat bantu penghitung pertama kali dikenal adalah “ABACUS� yang diperkenalkan di daratan Cina pada sekitar 2600 tahun Sebelum Masehi. Alat penghitung ini masih saja dipergunakan di beberapa negara di dunia. Dua abad berikutnya ada kemajuan dalam bidang listrik dan industri. yaitu penemuan listrik pada permulaan tahun 1800, dimana ilmu pengetahuan menemukan jawaban atas masalahnya sendiri. Pada tahun 1786, Galvani adalah orang pertama yang menemukan arus listrik, sulit dipercaya pada masa sebelum 1786, bahwa arus listrik ada. Pada 1800 battery basah pertama kali diciptakan. Pada tahun 1834, telah ada pembangkit arus dengan battery, magnit listrik, pembangkit listrik mesin pembangkit berputar dan mesin listrik telah diketemukan. Hal tersebut diawali dengan tidak ada apa-apa tentang listrik sejak beberapa dekade sebelumnya. Dalam bidang ilmu dan teknologi, satu ide baru memungkinkan banyak ide baru, kadang-kadang menghasilkan lebih banyak lagi, berkembang lagi dan lagi, hingga pada suatu saat pengetahuan secara cepat berkembang dengan luar biasa. Lebih lanjut William S. Davis (1981), mengatakan, bahwa penemuan baru terjadi di Perancis dimana pada tahun 1806, seseorang bernama Joseph Jacquard menemukan alat penenun Jacquard, sebuah mesin penenun dikontrol oleh kartu-kartu (punched card). Jacquard tidaklah bermaksud menemukan komputer atau alat mekanik lain untuk berhitung, tetapi idenya mempergunakan punch card? untuk menyimpan data menjadi sumber ide yang dipergunakan secara nyata oleh penemu komputer berikutnya. Penemu komputer pertama pada awal abad 19 adalah Charles Babbage. Yang membangun suatu mesin penganalisa yang mampu melakukan perhitungan rumit pada saat yang bersamaan. Pada tahun 1843, dia merencanakan dengan terperinci sebuah mesin termasuk segala bagian-bagian terpenting dan berfungsi sebagai mesin komputer modern. Namun tidak terlaksana karena sarana dan kemampuan teknologi pada saat itu tidak dapat melayani kebutuhan. Semenjak masa Pascal dan Liebniz perkembangan teknologi menjadi sangat pesat tetapi belum cukup untuk menjawab tantangan-tantangan. Hasil karya Charles Babbage hampir dilupakan, tidak dibicarakan lagi hingga konsep-konsepnya dipergunakan kemudian oleh orang lain pada abad berikutnya.
Pada awal 1960-an, mulai bermunculan komputer generasi kedua yang sukses di bidang bisnis, di universitas, dan di pemerintahan. Komputer-komputer generasi kedua ini merupakan komputer yang sepenuhnya menggunakan transistor. Mereka juga memiliki komponen-komponen yang dapat diasosiasikan dengan komputer pada saat ini: printer, penyimpanan dalam disket, memory, sistem operasi, dan program.
Walaupun ukurannya berkurang drastis, tapi komputer pada generasi ke dua ini masih berukuran raksasa. Setidaknya masih seukuran dengan almari pakaian kita sekarang ini. Salah satu contoh penting komputer pada masa ini adalah IBM 1401 yang diterima secaa luas di kalangan industri. Pada tahun 1965, hampir seluruh bisnis-bisnis besar menggunakan komputer generasi kedua untuk memproses informasi keuangan.
Program yang tersimpan di dalam komputer dan bahasa pemrograman yang ada di dalamnya memberikan fleksibilitas kepada komputer. Fleksibilitas ini meningkatkan kinerja dengan harga yang pantas bagi penggunaan bisnis. Dengan konsep ini, komputer dapa tmencetak faktur pembelian konsumen dan kemudian menjalankan desain produk atau menghitung daftar gaji. Beberapa bahasa pemrograman mulai bermunculan pada saat itu. Bahasa pemrograman Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) mulai umum digunakan. Bahasa pemrograman ini menggantikan kode mesin yang rumit dengan kata-kata, kalimat, dan formula matematika yang lebih mudah dipahami oleh manusia. Hal ini memudahkan seseorang untuk memprogram dan mengatur komputer. Berbagai macam karir baru bermunculan (programmer, analyst, dan ahli sistem komputer). Industri piranti lunak juga mulai bermunculan dan berkembang pada masa kejayaan komputer pada saat itu.
Walaupun transistor dalam banyak hal mengungguli tube vakum, namun transistor menghasilkan panas yang cukup besar, yang dapat berpotensi merusak bagian-bagian internal komputer. Batu kuarsa (quartz rock) menghilangkan masalah ini. Jack Kilby, seorang insinyur di Texas Instrument, mengembangkan sirkuit terintegrasi (IC : integrated circuit) di tahun 1958. IC mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa. Pada ilmuwan kemudian berhasil memasukkan lebih banyak komponen-komponen ke dalam suatu chip tunggal yang disebut semikonduktor. Hasilnya, komputer menjadi semakin kecil karena komponen- komponen dapat dipadatkan dalam chip. Kemajuan komputer lainnya adalah penggunaan sistem operasi (operating system) yang memungkinkan mesin untuk menjalankan berbagai program yang berbeda secara serentak dengan sebuah program utama yang memonitor dan mengkoordinasi memori komputer.
Pada masa komputer yang terus bekrmbang pesat ini dapat dilakukan dengan sistem operasi didominasi oleh UNIX dan Windows. UNIX masih memenuhi pasaran untuk bidang komputer dengan spesifikasi besar, tapi Windows lebih berkecimpung di bidang komputer kecil-kecil, atau komputer kantor dan rumahan. Walaupun pada masa ini Windows masih berbasis text dengan DOS (Disk Operating System) dan berkembang menjadi Windows 3.1. yang masih sangat minim grafisnya dibandingkan dengan Apple Macinthos.
Kalau pada saat ini komputer sudah nggak aneh lagi kita bayangkan. Komputer pada masa ini adalah komputer yang kita lihat sekarang dengan berbagai keunikan dan kecanggihan.

Komputer generasi ke empat ini menggunakan microprocessor yang lebih kecil dan dapat bekerja lebih cepat. Untuk intel mulai dari intel i386 sampai dengan intel Pentium I, II, III, IV, Dual Core, Core 2 Duo, dan Quad Core. Kesemuanya ini berkembang sesuai irama perkembangan dunia teknologi informasi yang terus bergejolak seolah tak ada henti-hentinya untuk mengembangkan daya kreasi dan inofasi.
Munkin rencana masa depan komputer nantinya adalah komputer yang telah memiliki Artificial Intelligence (AI). Sehingga komputer di masa depan dapat memberikan respon atas keinginan manusia.

Banyak kemajuan di bidang desain komputer dan teknologi semkain memungkinkan pembuatan komputer yang lebih maju lagi Dua kemajuan rekayasa yang terutama adalah kemampuan pemrosesan paralel, yang akan menggantikan model non Neumann. Model non Neumann akan digantikan dengan sistem yang mampu mengkoordinasikan banyak CPU untuk bekerja secara serempak. Kemajuan lain adalah teknologi superkonduktor yang memungkinkan aliran elektrik tanpa ada hambatan apapun, yang nantinya dapat mempercepat kecepatan informasi.
Lembaga ICOT (Institute for new Computer Technology) juga dibentuk untuk merealisasikannya. Banyak kabar yang menyatakan bahwa proyek ini telah gagal, namun beberapa informasi lain bahwa keberhasilan proyek komputer generasi kelima ini akan membawa perubahan baru paradigma komputerisasi di dunia. Kita tunggu informasi mana yang lebih valid dan membuahkan hasil.
Kemajuan komputer di setiap generasi pasti akan membuat bidang elektronikapun semakin berkembang dengan pesat juga,

ARSITEKTUR FAMILY IBM PC

ARSITEKTUR FAMILY IBM PC

IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan “dipensiunkan” pada tanggal 2 April 1987. Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yakni :

  • IBM 4860 PCjr
  • IBM 5140 Convertible Personal Computer (laptop)
  • IBM 5150 Personal Computer (PC yang asli)
  • IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
  • IBM 5160 Personal Computer/eXtended Technology
  • IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan PC AT)
  • IBM 5170 Personal Computer/Advanced Technology

FAMILI IBM PC DAN TURUNANNYA

· Komputer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit control komputer

· IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS

· PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur kontrol dan ruang alamat fisik PC adalah 1 MB.

KOMPONEN IBM PC

1. Sistem Kontrol BUS

2. Sistem Kontrol Intrerrupt

3. Sistem Kontrol RAM dan ROM

4. Sistem Kontrol DMA

5. Timer

6. SistemKontrol I/O

SISTEM SOFTWARE

1. Penetapan Alamat Port I/O

2. Penetapan Vector Interrupt

3. ROM BIOS

4. Penetapan Alamat Memori

MANFAAT ARSITEKTURAL ARSITEKTUR PC

1.Kemudahaan penggunaan

2.Daya Tempa

3.Daya Kembang

4.Expandibilitas

Referensi :

zakki.dosen.narotama.ac.id/files/2011/12/slide-orkom.pdf

Pipelining dan RISC

Pipelining

::Pengertian Pipelining::

Metoda pengambilan dan dekode instruksi (pra-pengolahan) dimana pada waktu tertentu beberapa instruksi program ada pada berbagai tahap untuk diambil atau didekode.

::Pengenalan::

Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU.

Struktur lain yang menggunakan penyelesaian deteksi atau selain penundaan yang tepat dari pengaturan waktu pusat tetapi karena masalah waktu yang Syncronization, Pipelines memaksakan sebuah penurunan kinerja. Misalnya counterflow pipeline prosesor yang dirancang sekitar dua arah, pipa membawa petunjuk dan argumen dalam satu arah dan hasil yang lainnya b ini dapat menyebabkan Syncronization masalah antara prosesor.

Pipeline yang berputar menghindari masalah yang hanya melewati data dalam satu arah. Pada prinsipnya, prosesor dari register terus beredar di sekitar cincin yang berhubungan dengan berbagai fungsi ALU,-akses memori dan sebagainya .ada tiap tahap, nilai-nilai yang memeriksa dan disampaikan, kemungkinan setelah perubahan, tidak signifikan dengan pengeluaran tambahan untuk sinkronisasi. Dispatched adalah instruksi dari pusat ke fungsi unit yang memungkinkan beberapa masalah instruksi .

Intruksi pipeline

Tahapan pipeline

  • Mengambil instruksi dan membuffferkannya
  • Ketika tahapn kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut
  • Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .

Instuksi pipeline:

Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh :

Instruksi 1: ADD AX, AX

Instruksi 2: ADD EX, CX

Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).

Contoh pengerjaan instruksi tanpa pipeline

t =

1

2

3

4

5

6

7

8

9

10

ADD AX,AX

IF

DE

IF

DE

EX






ADD BX,CX






IF

DE

IF

DE

EX

Disini instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.

t =

1

2

3

4

5

6

7

8

9

10

ADD AX,AX

IF

DE

IF

DE

EX






ADD BX,CX


IF

DE

IF

DE

EX





ADD DX,DX



IF

DE

IF

DE

EX




Contoh pengerjaan instruksi dengan pipeline

Disini instruksi baru akan dipanggil setelah tahap IF menganggur (t2).

Dengan adanya pipeline dua instruksi selesai dilaksanakan pada detik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14 dari 15T menjadi hanya 7T.

Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T(CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam 8T (CPI =2). Ini berarti utnuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi ideal CPI akan harga 1.

Permasalahan di (dalam) Instruksi Pipelining

  • VARIASI WAKTU:

Tidak semua tahap memakan waktu yang sama. Ini berarti untuk mendapatkan kecepatan dalam intruksi pipelining sangat ditentukan oleh tahap yang paling lambat. Masalah ini sangat akut dalam memproses instruksi, sejak instruksi yang berbeda memiliki persyaratan

operand waktu proses yang berbeda. Selain itu, diperlukan mekanisme sinkronisasi untuk memastikan bahwa data lewat dari stage ke stage hanya ketika kedua stage siap.

  • DATA BERBAHAYA (DATA HAZARDS):

Ketika beberapa instruksi di eksekusi secara parsial, masalah timbul jika mereka referensi data yang sama. Kita harus memastikan bahwa instruksi selanjutnya tidak berusaha untuk mengakses data lebih cepat dari instruksi sebelumnya, jika ini terjadi akan menyebabkan hasil yang salah. Sebagai contoh, instruksi N +1 tidak harus diperbolehkan untuk mengambil sebuah operand yang belum disimpan oleh instruksi N.

  • PERCABANGAN (BRANCH):

untuk mengambil instruksi berikutnya, kita harus tahu mana saja yang dibutuhkan, Jika instruksi ini adalah cabang bersyarat (conditional branch) instruksi berikutnya mungkin tidak diketahui sampai saat diproses.

  • JEDA(INTERUPTSI):

interupsi membuat instruksi extra yang tidak terencana untuk masuk kedalam aliran intruksi. jeda(Interrupt) harus berperan antar instruksi. yaitu, ketika satu instruksi telah selesai dan berikutnya belum dimulai. Dengan pipelining, instruksi berikutnya biasanya dimulai sebelum yang sekarang telah selesai.

Semua masalah ini harus diselesaikan dalam konteks kebutuhan kita untuk mendaatkan kinerja dengan kecepatan tinggi. Jika kita tidak dapat mencapai kecepatan yang cukup, pipelining mungkin tidak sepadan.

Beberapa Solusi

Strategi pemecahan masalah diatas adalah sebagai berikut :

  • VARIASI PEMILIHAN WAKTU (TIMING VARIATIONS)

Untuk memaksimalkan kecepatan, untuk menyeragam, tahap pertama yang harus dilakukan adalah mekanisme waktu yang diperlukan. Sebuah metode sinkron dapat digunakan,jika tahapan telah dianggap lengkap dari sejumlah tertentu siklus waktu. Namun, teknik asynchronous secara umum lebih efisien. Bit atau garis sinyal dilewatkan maju ke tahap berikutnya menunjukkan data sudah valid. Sebuah sinyal juga harus lulus kembali dari tahap berikutnya ketika data telah diterima.

Dalam semua kasus harus ada sebuah penyangga antar tahap untuk menyimpan data, kadang-kadang penyangga ini diperluas ke memori yang dapat menyimpan beberapa item data. Setiap tahap harus berhati-hati untuk tidak menerima input data sampai berlaku, dan tidak untuk menghasilkan data output sampai ada ruang dalam penyangga (buffer).

  • DATA BERBAHAYA (DATA HAZARDS)

Untuk melindungi dari data yang berbahaya, perlu untuk menyadari setiap tahap yang digunakan oleh tahap pipelining yang lebih jauh . Jenis penggunaan juga harus diketahui, dua pembacaan yang terurut tidak boleh bertentangan dan tidak boleh menyebabkan perlambatan pada pipeline. Namun akan ada kemungkinan konflik jika terjadi penulisan.

Pipeline biasanya dilengkapi dengan small associative check memory yang dapat menyimpan alamat dan jenis operasi (read atau write) untuk setiap instruksi yang ada di pipeline. Konsep “alamat(address)t” harus diperluas untuk mengidentifikasi register. Setiap instruksi hanya dapat mempengaruhi sejumlah kecil dari operand, tapi efek yang tidak langsung addressing tidak boleh diabaikan.

Ketika instruksi bersiap memasuki pipa, alamat operan telah disimpan.Jika ada konflik, instruksi (dan yang di belakangnya) harus menunggu. Ketika ada konflik, instruksi memasuki pipa dan alamat operan disimpan dalam memori cek. Ketika instruksi selesai, alamat ini akan dihapus. memori harus bisa untuk menangani proses pencarian berkecepatan tinggi yangdiperlukan.

  • PERCABANGAN (BRANCHING)

Masalah dalam percabangan adalah pipelining diperlambat oleh instruksi karena kita tidak tahu cabang yang mana yang harus kita ikuti. Dengan tidak adanya bantuan spesial dalam masalah ini, perlu menunda pemrosesan instruksi selanjutnya sampai tujuan percabangan diselesaikan. Karena cabang sangat sering, penundaan ini bersifat tidak dapat diterima.

Salah satu solusi yang banyak digunakan, terutama di RISC, adalah menunda percabangan. Dalam metode ini, rangkaian instruksi ini dirangkai sedemikian rupa, sehingga setelah suatuinstruksi, instruksi berikutnya bisa selalu di ekskusi, dan kemudian cabang di hapus. Dengan begitu tiap-tiap cabang harus diikuti oleh satu instruksi yang secara logika mendahuluinya dan diharapkan untuk dieksekusi dalam semua kasus. Hal ini akan memberikan ruang bernafas (istirahat) bagi pipeline. Jika perlu, instruksi ini bisa merupakan suatu no-op, tapi, seringnya penggunaan no-op akan merusak fungsi kecepatan.

Penggunaan teknik ini memerlukan metode pengkodean yang membingungkan bagi progammer, tetapi tidak terlalu sulit bagi generator kode compiler.

Kebanyakan teknik lain menggunakan ekskusi spekulatif, di mana instruksi yang diproses yang tidak dikenal dengan pasti, dianggap sebagai benar. Hal ini harus dihindari, harus dibuang dan tidak di simpan.

Solusi yang biasa digunakan adalah dengan mengikuti cabang yang jelas, yaitu instruksi sekuensial berikutnya, berhati-hati untuk tidak melakukan tindakan yang tidak bisa dirubah. Operan mungkin diambil dan di proses, tetapi tidak akan ada hasil sampai cabang di terjemahkan. Jika pilihan itu salah, dapat di tinggalkan dan cabang alternatif dapat di proses.

Metode ini bekerja dengan cukup baik jika cabang jelas dan benar. Ketika coding menggunakan pipelined CPU, perawatan harus dilakukan untuk kode cabang (terutama transfer error) sehingga jalur luruslah yang biasanya diambil. Tentu saja, bercabang yang tidak di perlukan harus dihindari.

Kemungkinan lain adalah untuk menyusun kembali program sehingga cabang ada lebih sedikit, misalnya dengan tidak mengikuti jenis loop tertentu. Ini dapat dilakukan dengan mengoptimalkan kompiler atau, dalam beberapa kasus, dengan perangkat keras itu sendiri.

Sebuah strategi yang pada umumya di gunakan oleh banyak arsitektur saat ini beberapa jenis prediksi cabang. Hal ini mungkin berdasarkan informasi yang diberikan oleh kompilator atau pada statistik yang dikumpulkan oleh perangkat keras. Tujuaannya adalah membuat perkiraan terbaik apakah cabang tertentu akan diambil atau tidak, dan menggunakan perkiraan ini untuk melanjutkan pipelining.

Solusi yang membutuhkan harga yang lebih, kadang-kadang digunakan untuk memisahkan pipeline dan memulai memproses kedua cabang. Gagasan ini mendapat perhatian baru dalam beberapa prosesor terbaru.

Keuntungan dan Kerugian

Pipelining tidak membantu dalam semua kasus. Ada beberapa kemungkinan kerugian. Pipa instruksi dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru setiap clock cycle. Sebuah pipa yang tidak sepenuhnya pipelined telah menunggu siklus yang menunda kemajuan pipa.

Keuntungan dari Pipelining:

  1. Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus( lebih cepat selesai).
  2. Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit & combinational yang lebih kompleks.
  3. Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.

Kekurangan Pipelining:

  1. Pipelined prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang mengalami penundaan cabang (penundaan memproses data) dan akibatnya proses yang dilakukan cenderung lebih lama.
  2. Instruksi latency di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur data dari prosesor pipeline.
  3. Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
  4. Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar.
  5. Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya.
  6. Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

Prosesor Vektor Pipelining

Sebuah prosesor vektor atau prosesor array, adalah unit pemrosesan sentral (CPU) yang mengimplementasikan set instruksi berisi instruksi yang beroperasi pada satu dimensi array data yang disebut vektor. Hal ini kontras dengan prosesor skalar , yang instruksi beroperasi pada item data tunggal. Meskipun prosesor Intel dan klon mereka desain awalnya sebagai skalar, model baru berisi peningkatan jumlah vektor instruksi khusus seperti yang disediakan oleh Ekstensi Vector Lanjutan ditetapkan. Prosesor vektor pertama kali muncul pada 1970-an, dan membentuk dasar dari yang paling superkomputer di tahun 1980 dan 1990-an. Perbaikan dalam prosesor skalar, terutama mikroprosesor , mengakibatkan penurunan prosesor vektor tradisional di superkomputer, dan munculnya teknik pengolahan vektor di CPU pasar massal sekitar awal 1990-an. Hari ini, CPU komoditas yang paling mengimplementasikan arsitektur yang menampilkan instruksi untuk beberapa pemrosesan vektor pada beberapa (vektoralisasi) set data, biasanya dikenal sebagai SIMD (S Ingle saya nstruction, M ultiple D ata). Teknik pemrosesan vektor juga ditemukan di konsol video game hardware dan akselerator grafis . Pada tahun 2000, IBM , Toshiba dan Sony berkolaborasi untuk menciptakan prosesor Cell , yang terdiri dari satu prosesor skalar dan delapan prosesor vektor, yang ditemukan digunakan dalam Sony PlayStation 3 di antara aplikasi lain. Desain CPU lain mungkin termasuk beberapa instruksi untuk pemrosesan vektor pada beberapa (vectorised) set data, biasanya dikenal sebagai MIMD (M ultiple saya nstruction, M ultiple D ata). Desain seperti biasanya didedikasikan untuk aplikasi tertentu dan tidak umum dipasarkan untuk komputasi tujuan umum.

RISC

Pengertian RISC

RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.

Karakteristik

Arsitektur RISC memiliki beberapa karakteristik diantaranya :

a. Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.

b. Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.

c. Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.

d. Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama

Ciri-ciri

a. Instruksi berukuran tunggal

b. Ukuran yang umum adalah 4 byte

c. Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.

d. Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.

e. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.

f. Tidak terdapat lebih dari satu operand beralamat memori per instruksi

g. Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.

h. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .

i. Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.

j. Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.

Referensi :

www.scribd.com/doc/44889125/MAKALAH-CPU

http://www.scribd.com/doc/71858269/CISC-Complex-Instruction-Set-Computers-Dan-RISC-Reduced-Instruction-Set-Computers

.