Organisasi dan Arsitektur
Arsitektur komputer atribut2 dari sistem
seorang programmer / atribut-atribut yang
memiliki dampak langsung pada eksekusi
logika dari sebuah program.
Organisasi komputer unit operasional dan
interkoneksi spesifikasi arsitektur.
Contoh: atribut arsitektur set instruksi,
jumlah bit yang digunakan untuk mewakili
berbagai jenis data (misal: angka, karakter),
mekanisme I/O, & teknik mengatasi memori. 3
Organisasi dan Arsitektur
(next...) Contoh lain : atribut organisasi detail
hardware programmer sinyal kontrol,
antarmuka antara komputer dan peripheral,
dan teknologi memori yang digunakan.
4
Struktur dan Fungsi
Struktur cara di mana komponen2 saling
berhubungan satu sama lain.
Fungsi operasi dari masing2 komponen
sebagai bagian dari struktur.
5
Struktur dan Fungsi
(fungsi)
6
Struktur dan fungsi dari
sebuah komputer pada
dasarnya sederhana.
Gambar di samping
menggambarkan fungsi dasar,
secara umum hanya ada 4 :
1. data processing
2. data storage
3. data movement
4. control
Computer
Main
Memory
Input
Output
Systems
Interconnection
Peripherals
Communication
lines
Central
Processing
Unit
Computer
Struktur dan Fungsi
(struktur – top level)
Computer Arithmetic
and
Login Unit
Control
Unit
Internal CPU
Interconnection
Registers
CPU
I/O
Memory
System
Bus
CPU
Struktur dan Fungsi
(struktur – CPU)
CPU
Control
Memory
Control Unit
Registers and
Decoders
Sequencing
Login
Control
Unit
ALU
Registers
Internal
Bus
Control Unit
Struktur dan Fungsi
(struktur – unit kontrol)
Sejarah Singkat Komputer
Generasi I (tabung vakum): ENIAC, Mesin
Von Neumann, Komputer Komersial.
Generasi II (transistor): IBM 7094.
Generasi III (Integrated Circuit):
mikroelektronik, IBM System/360, DEC
PDP-8.
Generasi IV : memori semikonduktor,
mikroprosesor.
Sejarah Singkat Komputer
(ENIAC) ENIAC (Electronic Numerical Integrator
And Computer)
John Mauchly dan John Eckert
Jurusan Teknik Elektro Universitas
Pennsylvania
Tabel lintasan untuk senjata
1943 – 1946
terlambat untuk digunakan dalam perang
Digunakan sampai tahun 1955
Sejarah Singkat Komputer
(ENIAC...next) Desimal (bukan binary)
20 akumulator dari 10 digit
Diprogram secara manual dengan switch
18,000 tabung vakum
30 ton
15.000 kaki persegi
Konsumsi daya 140 kW
5.000 penambahan per detik
Sejarah Singkat Komputer
(Mesin Von Neumann) Konsep Program Tersimpan
Memori utama menyimpan program dan
data
ALU beroperasi pada data biner
Unit kontrol menafsirkan instruksi dari
memori dan mengeksekusinya
peralatan IO dioperasikan oleh unit kontrol
Princeton Institute for Advanced Studies
(IAS)
selesai pada tahun 1952
Sejarah Singkat Komputer
(Mesin Von Neumann...next) 1000 x 40 bit kata bilangan biner
instruksi 2 x 20 bit
Set register (penyimpanan dalam CPU) Memory Buffer Register
Memory Address Register
Instruction Register
Instruction Buffer Register
Program Counter
akumulator
Hasil bagi berganda
Sejarah Singkat Komputer
(Komputer Komersial) 1947: Perusahaan komputer Eckert-
Mauchly
UNIVAC I (Universal Automatic Computer)
Perhitungan biro sensus US 1950
Menjadi bagian dari perusahaan Sperry-
Rand
1950-an: UNIVAC II
1953: IBM 701 & 1955: IBM 702
Cepat
Memori lebih
Sejarah Singkat Komputer
(IBM 7094) Instruction Backup Register untuk
buffer pada instruksi selanjutnya.
Unit kontrol mengambil dua kata yang
berdekatan dari memori untuk instruksi
fetch, kecuali untuk terjadinya instruksi
percabangan yang biasanya jarang terjadi
unit kontrol harus mengakses memori
yg hanya untuk setengah siklus instruksi.
Sejarah Singkat Komputer
(mikroelektronik) elektronik kecil
Sebuah komputer yg terdiri dari gerbang,
sel memori, dan interkoneksi
Ini dapat diproduksi pada semikonduktor.
misalnya wafer silikon.
Sejarah Singkat Komputer
(IBM System/360) 1964 IBM System/360
lini produk 360 tidak sesuai dengan mesin
IBM yang lebih tua.
transisi ke 360 akan sulit bagi pelanggan
IBM 7000.
Sejarah Singkat Komputer
(DEC PDP-8) 1964.
Digital Equipment Corporation.
Biaya rendah
Ukuran kecil.
Sejarah Singkat Komputer
(memori semikomduktor) 1950-an 1960-an: sebagian besar memori
komputer dari cincin kecil feromagnetik,
masing2 sekitar 1/16 per inci diameter.
1970: Fairchild diproduksi pertama
memori semikonduktor yang relatif luas.
1974: harga perbit memori semikonduktor
turun di bawah harga per bit memori inti.
1970: 1K, 4K, 16K, 64K, 256K, 1M, 4M,
16M, 64M, 256M, 1G, 4G, 16 G pada 1
chip (1K=210, 1M=220, 1G=230)
Sejarah Singkat Komputer
(mikroprosesor) 1971: intel 4004
1972: intel 8008
1974: intel 8080
1978: intel 8086
1979: intel 8088
1982: intel 80286
1985: intel 80386TM DX
1988: intel 80386TM SX
1989: intel 80486TM DX
Sejarah Singkat Komputer
(mikroprosesor...next) 1991: intel 80486TM SX
1993: intel Pentium
1995: intel Pentium Pro
1997: intel Pentium II
1999: intel Pentium III
2000: intel Pentium 4
2006: intel Core 2 Duo
2008: intel Core 2 Quad
Intel Core i3, intel core i7
Perancangan Kinerja
Dekstop application :
Image processing
Speech recognition
Videoconferencing
Multimedia authoring
Voice and video annotation of files
Simulation modeling
Perancangan Kinerja
(next...) Perancangan kinerja meliputi :
Kecepatan mikroprosesor
keseimbangan kinerja
Perbaikan pada Organisasi dan Arsitektur
Chip
Evolusi Arsitektur Intel x86
8080
mikroprosesor umum yang pertama
Jalur data 8 bit
Digunakan dalam PC pertama - Altair
8086 - 5MHz - 29.000 transistor
jauh lebih kuat
16 bit
instruksi cache, instruksi beberapa prefetch
8088 (8 bit bus eksternal): PC pertama IBM
Evolusi Arsitektur Intel x86
(next...) 80286
Beralamat memori 16 Mbyte
naik dari 1Mb
80386
32 bit
Dukungan untuk multitasking
80486
canggih cache yg kuat dan instruksi pipelining
dibangun dalam matematika co-processor
Evolusi Arsitektur Intel x86
(next...) Pentium
superscalar
Beberapa instruksi dieksekusi secara paralel
Pentium Pro
Peningkatan organisasi superscalar
daftar register yang agresif
prediksi cabang
analisis aliran data
eksekusi spekulatif
Evolusi Arsitektur Intel x86
(next...) Pentium II
teknologi MMX
grafik, video dan audio processing
Pentium III
Tambahan instruksi floating point untuk grafis
3D
Pentium 4 Catatan Arab daripada angka Romawi
Selanjutnya floating point dan tambahan multimedia
Evolusi Arsitektur Intel x86
(next...) Core X86 pertama dengan dual core
Core 2 arsitektur 64 bit
Core 2 Quad - 3GHz - 820 juta transistor Empat prosesor pada chip
Embedded Systems dan ARM
(Embedded Systems) Embedded system kombinasi hardware &
software komputer, dan mungkin tambahan
bagian mekanik atau lainnya, yang
dirancang untuk melakukan fungsi khusus.
Di banyak kasus embedded system
bagian dari sistem yang lebih besar atau
produk, seperti dalam kasus sistem
pengereman antilock dalam mobil.
Embedded Systems dan ARM
(Embedded Systems...next) Berbagai ukuran Kendala yang berbeda, optimasi, reuse
Kebutuhan yang berbeda Keamanan, keandalan, real-time, fleksibilitas,
undang-undang
jangka hidup
kondisi lingkungan
Beban dinamis versus Statis
Lambat untuk kecepatan cepat
Perhitungan versus I / O intensif
even diskrit versus dinamika kontinu
Embedded Systems dan ARM
(ARM) Dirancang oleh ARM Inc, Cambridge,
Inggris
lisensi dari produsen
Kecepatan tinggi, mati kecil, konsumsi
daya yang rendah
PDA, game tangan, ponsel Misalnya iPod, iPhone
Acorn diproduksi ARM1 & ARM2 pada
tahun 1985 dan ARM3 pada tahun 1989
Acorn, VLSI, dan Apple Computer
didirikan oleh ARM Ltd
Embedded Systems dan ARM
(ARM...next) embedded real time
platform aplikasi Linux, Palm OS, Symbian OS, Android,
Windows Mobile
aplikasi aman
Penilaian Kinerja
(Clock Speed) • Key parameters
– Performance, cost, size, security, reliability, power consumption
• System clock speed – In Hz or multiples of
– Clock rate, clock cycle, clock tick, cycle time
• Signals in CPU take time to settle down to 1 or 0
• Signals may change at different speeds
• Operations need to be synchronised
• Instruction execution in discrete steps – Fetch, decode, load and store, arithmetic or logical
– Usually require multiple clock cycles per instruction
• Pipelining gives simultaneous execution of instructions
• So, clock speed is not the whole story
Penilaian Kinerja
(Instruction Execution Rate) • Millions of instructions per second (MIPS)
• Millions of floating point instructions per
second (MFLOPS)
• Heavily dependent on instruction set,
compiler design, processor
implementation, cache & memory
hierarchy
Penilaian Kinerja
(Benchmarks) • Programs designed to test performance
• Written in high level language – Portable
• Represents style of task – Systems, numerical, commercial
• Easily measured
• Widely distributed
• E.g. System Performance Evaluation Corporation (SPEC) – CPU2006 for computation bound
• 17 floating point programs in C, C++, Fortran
• 12 integer programs in C, C++
• 3 million lines of code
– Speed and rate metrics
• Single task and throughput
Penilaian Kinerja
(SPEC Speed Metric) • Single task
• Base runtime defined for each benchmark using reference machine
• Results are reported as ratio of reference time to system run time – Trefi execution time for benchmark i on reference machine
– Tsuti execution time of benchmark i on test system
• Overall performance calculated by averaging ratios for all 12 integer benchmarks
—Use geometric mean – Appropriate for normalized numbers such as ratios
Penilaian Kinerja
(SPEC Rate Metric) • Measures throughput or rate of a machine carrying out a number of
tasks
• Multiple copies of benchmarks run simultaneously
– Typically, same as number of processors
• Ratio is calculated as follows:
– Trefi reference execution time for benchmark i
– N number of copies run simultaneously
– Tsuti elapsed time from start of execution of program on all N processors until completion of all copies of program
– Again, a geometric mean is calculated
Penilaian Kinerja
(Amdahl’s Law) • Gene Amdahl [AMDA67]
• Potential speed up of program using multiple processors
• Concluded that:
– Code needs to be parallelizable
– Speed up is bound, giving diminishing returns for
more processors
• Task dependent
– Servers gain by maintaining multiple connections on
multiple processors
– Databases can be split into parallel tasks
Penilaian Kinerja
(Amdahl’s Law Formula)
• Conclusions
– f small, parallel processors has little effect
– N ->∞, speedup bound by 1/(1 – f)
• Diminishing returns for using more processors
• For program running on single processor
—Fraction f of code infinitely parallelizable with no scheduling overhead
—Fraction (1-f) of code inherently serial
—T is total execution time for program on single processor
—N is number of processors that fully exploit parralle portions of code