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.
Komentar ini telah dihapus oleh pengarang.
BalasHapus