Get me outta here!

Jumat, 19 Juni 2015

Artikel Tentang Arsitektur Komputer

Arsitektur komputer


Dalam ilmu komputer dan teknik , arsitektur komputer adalah seperangkat disiplin yang menggambarkan sistem komputer dengan menentukan bagian-bagiannya dan hubungan mereka.
Sebagai contoh, pada tingkat tinggi, arsitektur komputer mungkin prihatin dengan bagaimana central processing unit (CPU) bertindak dan bagaimana menggunakan memori komputer . Beberapa modis (2011) arsitektur komputer termasuk cluster komputasi dan Non-Uniform Memory Access .
Arsitek komputer menggunakan komputer untuk merancang komputer baru. Emulation software dapat menjalankan program yang ditulis dalam satu set instruksi yang diusulkan. Sedangkan desain sangat mudah untuk mengubah pada tahap ini, compiler desainer sering berkolaborasi dengan arsitek, menunjukkan perbaikan dalam set instruksi. Emulator modern mungkin mengukur waktu dalam siklus clock: memperkirakan konsumsi energi dalam joule, dan memberikan perkiraan yang realistis dari ukuran kode dalam bytes. Ini mempengaruhi kenyamanan pengguna, kehidupan baterai, dan ukuran dan biaya terbesar komputer bagian fisik: memorinya. Artinya, mereka membantu untuk memperkirakan nilai dari sebuah desain komputer.
Tujuannya adalah untuk merancang sebuah komputer yang memaksimalkan kinerja sambil menjaga konsumsi daya di cek, biaya relatif rendah untuk jumlah kinerja yang diharapkan, dan juga sangat handal. Untuk ini, banyak aspek yang harus dipertimbangkan yang mencakup Instruction Set Desain, Organisasi Fungsional, Logic Desain, dan Implementasi. Implementasi melibatkan Desain Sirkuit Terpadu, Packaging, Power, dan Cooling. Optimasi desain membutuhkan keakraban dengan Compiler, Sistem Operasi Logika Desain dan Kemasan.

Arsitektur set instruksi

Sebuah set instruksi arsitektur (ISA) adalah antarmuka antara perangkat lunak komputer dan perangkat keras dan juga dapat dilihat sebagai pandangan programmer mesin. Komputer tidak mengerti bahasa tingkat tinggi yang memiliki sedikit, jika ada, unsur-unsur bahasa yang diterjemahkan langsung ke asli mesin itu opcodes . Sebuah prosesor hanya memahami instruksi dikodekan dalam beberapa mode numerik, biasanya sebagai bilangan biner . Perangkat lunak, seperti compiler , menerjemahkan bahasa tingkat tinggi, seperti C ke dalam instruksi.
Selain petunjuk, ISA mendefinisikan item dalam komputer yang tersedia untuk program-misalnya tipe data , register , mode pengalamatan , dan memori. Instruksi menemukan operan dengan indeks Register (atau nama) dan mode pengalamatan memori.
ISA komputer biasanya digambarkan dalam sebuah buku kecil atau pamflet, yang menjelaskan bagaimana instruksi dikodekan. Juga, mungkin mendefinisikan pendek (samar-samar) nama mnenonic untuk instruksi. Nama-nama dapat dikenali oleh alat pengembangan perangkat lunak yang disebut assembler . Assembler adalah sebuah program komputer yang menerjemahkan bentuk manusia-dibaca dari ISA menjadi bentuk yang dapat dibaca komputer. Disassemblers juga banyak tersedia, biasanya dalam debugger , program perangkat lunak untuk mengisolasi dan kerusakan yang benar dalam program komputer biner.

ISA bervariasi dalam kualitas dan kelengkapan. Sebuah kompromi yang baik antara kenyamanan ISA programmer (operasi lagi yang bisa lebih baik), biaya komputer untuk menafsirkan instruksi (lebih murah lebih baik), kecepatan komputer (lebih cepat lebih baik), dan ukuran dari kode (lebih kecil lebih baik). Sebagai contoh, ISA single-instruksi adalah mungkin, murah, dan cepat, (misalnya, mengurangi dan melompat jika nol. Itu benar-benar digunakan dalam SSEM ), tapi itu tidak nyaman atau membantu membuat program kecil. Organisasi memori mendefinisikan bagaimana petunjuk berinteraksi dengan memori, dan juga bagaimana berbagai bagian dari memori berinteraksi satu sama lain.

Organisasi Komputer

Organisasi komputer membantu mengoptimalkan produk berbasis kinerja. Sebagai contoh, perangkat lunak insinyur perlu mengetahui kemampuan pengolahan prosesor. Mereka mungkin perlu mengoptimalkan software untuk mendapatkan kinerja yang paling dengan mengorbankan setidaknya. Hal ini dapat memerlukan analisis yang cukup rinci dari organisasi komputer. Sebagai contoh, dalam sebuah decoder multimedia, para desainer mungkin perlu untuk mengatur data yang paling untuk diproses di jalur data tercepat dan berbagai komponen diasumsikan berada di tempat dan tugas adalah untuk menyelidiki struktur organisasi untuk memverifikasi bagian komputer beroperasi.
Organisasi komputer juga membantu merencanakan pemilihan prosesor untuk suatu proyek tertentu. Proyek multimedia mungkin membutuhkan akses data yang sangat cepat, sedangkan perangkat lunak pengawasan mungkin perlu menyela cepat. Kadang-kadang tugas-tugas tertentu memerlukan komponen tambahan juga. Sebagai contoh, sebuah komputer yang mampu virtualisasi membutuhkan memori virtual hardware sehingga memori komputer simulasi yang berbeda dapat disimpan terpisah. Organisasi komputer dan fitur juga mempengaruhi konsumsi daya dan biaya prosesor.

Implementasi
Setelah set instruksi dan mikro-arsitektur dijelaskan, mesin praktis harus dirancang. Proses desain ini disebut implementasi. Implementasi biasanya tidak dianggap definisi arsitektur, melainkan hardware engineering design . Implementasi dapat lebih dipecah menjadi beberapa (tidak sepenuhnya berbeda) langkah-langkah:
Logika Pelaksanaan desain blok didefinisikan dalam mikro-arsitektur di (terutama) dengan tingkat daftar transfer dan gerbang logika tingkat.
Pelaksanaan sirkuit tidak transistor desain-tingkat elemen dasar (gerbang, multiplexer, kait dll) serta dari beberapa blok yang lebih besar ( ALUs , cache dll) yang dapat diimplementasikan pada tingkat ini, atau bahkan (sebagian) pada tingkat fisik , karena alasan kinerja.
Pelaksanaan fisik menarik sirkuit fisik. Komponen sirkuit yang berbeda ditempatkan dalam sebuah chip floorplan atau pada papan dan kabel yang menghubungkan mereka yang diarahkan.
Desain Validasi tes komputer secara keseluruhan untuk melihat apakah ia bekerja dalam segala situasi dan semua timing. Setelah pelaksanaan dimulai, validasi desain pertama adalah simulasi menggunakan logika emulator. Namun, hal ini biasanya terlalu lambat untuk menjalankan program-program yang realistis. Jadi, setelah melakukan koreksi, prototipe yang dibangun menggunakan lapangan-Programmable Gate Array-( FPGA ). Banyak proyek hobi berhenti pada tahap ini. Langkah terakhir adalah untuk menguji prototipe sirkuit terpadu. Sirkuit terpadu mungkin memerlukan beberapa pendesainan ulang untuk memperbaiki masalah.Untuk CPU , seluruh proses implementasi sering disebut desain CPU .

Tujuan desain

Bentuk yang tepat dari sebuah sistem komputer tergantung pada kendala dan tujuan. Arsitektur komputer biasanya trade off standar, kekuasaan versus kinerja, biaya, kapasitas memori, latency (latency adalah jumlah waktu yang dibutuhkan untuk informasi dari satu node untuk melakukan perjalanan ke sumber) dan throughput. Kadang-kadang pertimbangan lain, seperti fitur, ukuran, berat, keandalan, dan upgrade juga faktor.
Skema yang paling umum tidak dalam analisis mendalam daya dan angka keluar bagaimana untuk menjaga konsumsi daya yang rendah, sambil mempertahankan kinerja yang memadai.

Kinerja

Kinerja komputer modern sering digambarkan di MIPS per MHz (jutaan instruksi per jutaan siklus clock speed ). Ini mengukur efisiensi arsitektur pada setiap clock speed. Karena jam lebih cepat dapat membuat komputer yang lebih cepat, ini adalah, pengukuran diterapkan secara luas berguna. Komputer bersejarah memiliki MIPS / MHz serendah 0,1 (Lihat instruksi per detik ). Prosesor modern sederhana mudah mencapai mendekati 1. Superscalar prosesor bisa mencapai 3-5 dengan mengeksekusi beberapa instruksi per clock cycle. Multicore dan vektor CPU pengolahan dapat berkembang biak ini lebih lanjut dengan bertindak pada banyak data per instruksi, yang memiliki beberapa CPU mengeksekusi secara paralel.
Menghitung instruksi bahasa mesin akan menyesatkan karena mereka bisa melakukan sejumlah pekerjaan yang bervariasi dalam ISA yang berbeda. The "instruksi" dalam pengukuran standar tidak hitungan instruksi bahasa mesin ISA yang sebenarnya, tetapi unit sejarah pengukuran, biasanya didasarkan pada kecepatan VAX arsitektur komputer.
Secara historis, banyak orang mengukur kecepatan komputer dengan clock rate (biasanya dalam MHz atau GHz). Hal ini mengacu pada siklus per detik dari jam utama CPU. Namun, metrik ini agak menyesatkan, sebagai mesin dengan tingkat clock yang lebih tinggi belum tentu memiliki kinerja yang lebih tinggi. Akibatnya produsen telah pindah dari clock speed sebagai ukuran kinerja.
Faktor-faktor lain mempengaruhi kecepatan, seperti campuran unit fungsional , bus kecepatan, memori yang tersedia, dan jenis dan urutan instruksi dalam program yang dijalankan.
Dalam komputer rumah khas, sederhana, cara yang paling dapat diandalkan untuk mempercepat kinerja biasanya untuk menambahkan random access memory (RAM). RAM lebih meningkatkan kemungkinan bahwa diperlukan data atau program dalam RAM-sehingga sistem ini cenderung tidak perlu memindahkan data memori dari disk. Disk sering sepuluh ribu kali lebih lambat dari RAM karena memiliki bagian mekanik yang harus bergerak untuk mengakses data.
Ada dua jenis utama dari kecepatan, latency dan throughput. Latency adalah waktu antara awal dari suatu proses dan selesai. Throughput adalah jumlah kerja yang dilakukan per satuan waktu. Interrupt latency adalah dijamin waktu respon maksimum sistem untuk acara elektronik (misalnya ketika disk drive selesai memindahkan beberapa data).

Kinerja dipengaruhi oleh rentang yang sangat luas dari pilihan desain - misalnya, pipelining prosesor biasanya membuat latency buruk (lambat) tetapi membuat throughput yang lebih baik. Komputer yang mengontrol mesin biasanya perlu latency interrupt rendah. Komputer-komputer ini beroperasi dalam real-time lingkungan dan gagal jika operasi tidak selesai dalam waktu tertentu. Misalnya, rem anti-lock yang dikendalikan komputer harus dimulai pengereman dalam diprediksi, waktu yang singkat setelah pedal rem dirasakan.
Kinerja komputer dapat diukur dengan menggunakan metrik lainnya, tergantung pada domain aplikasi. Suatu sistem dapat CPU terikat (seperti dalam perhitungan numerik), I / O terikat (seperti dalam aplikasi webserving) atau memori terikat (seperti dalam video editing). Konsumsi daya telah menjadi penting dalam server dan perangkat portabel seperti laptop.
Benchmarking mencoba untuk mengambil semua faktor-faktor ini dengan mengukur waktu komputer yang diperlukan untuk menjalankan melalui serangkaian program uji. Meskipun benchmarking menunjukkan kekuatan, mungkin tidak membantu seseorang untuk memilih komputer. Seringkali mesin diukur dibagi pada ukuran yang berbeda. Misalnya, satu sistem bisa menangani aplikasi ilmiah dengan cepat, sementara yang lain mungkin memainkan video game populer lebih lancar. Selain itu, desainer dapat menambahkan fitur khusus untuk produk mereka, dalam perangkat keras atau perangkat lunak, yang memungkinkan patokan tertentu untuk mengeksekusi cepat tetapi tidak menawarkan keuntungan yang mirip dengan tugas-tugas umum.


Sumber : http://twoartikel.blogspot.com/2013/12/arsitektur-komputer.html


Simpulan

Tujuan dari Arsitekrut Komputer  adalah untuk merancang sebuah komputer yang memaksimalkan kinerja sambil menjaga konsumsi daya di cek, biaya relatif rendah untuk jumlah kinerja yang diharapkan, dan juga sangat handal. Untuk ini, banyak aspek yang harus dipertimbangkan yang mencakup Instruction Set Desain, Organisasi Fungsional, Logic Desain, dan Implementasi. Implementasi melibatkan Desain Sirkuit Terpadu, Packaging, Power, dan Cooling. Optimasi desain membutuhkan keakraban dengan Compiler, Sistem Operasi Logika Desain dan Kemasan.



1 komentar: