Tugas 6

EL5102 Arsitektur Komputer Lanjut
Tugas 6
Nama : Hasbi Ash Shiddieqy
Nim : 23216066
1.Mengukur kompleksitas suatu system
Big o atau notasi big O mengukur kompleksitas algortima  dalam dimensi waktu. Selain Big O, ada dua notasi lain yang dapat digunakan untuk mengukur kompleksitas waktu sebuah algoritma, yaitu Big Theta dan Big Omega. Konsep Big Omega mirip dengan Big O. Perbedaan kedua konsep tersebut terletak pada semantiknya. Nilai Big Omega menunjukkan batas bawah kompleksitas waktu suatu algoritma, sedangkan Big O sebaliknya. Apabila sebuah algoritma memiliki nilai batas atas dan batas bawah yang sama, algoritma tersebut dikatakan memenuhi konsep Big Theta.

2. Kaitan kompleksitas dengan scalability

  • Scalability memungkinkan mendapat performa yang sama dengan perubahan system


Variasi runtime yang umum terdapat pada Big-O
O(1) paling tidak berpengaruh dengan banyaknya data yang diprocess. Operasi yang dibutuhkan tetap hanya 1.
O(n) banyaknya operasi yang dibutuhkan meningkat linear sesuai dengan banyaknya data.
Big O diperlukan untuk menilai kinerja suatu algoritma pada architecture tertentu.

  • Kesulitan scalabilty
Scalabilty adalah kemampuan suatu system untuk meningkat tergantung dari permintaan (kebutuhan). Agar memiliki scalabilty suatu algoritma harus memiliki Big O kurang dari n2 seiring dengan peningkatan nilai n.

  •   Factor yang menyebabkan pengurangan performa
Sesuai dengan Amdahl law speed maximum yang dapat dicapai tergantung dari bagian algoritma yang dapat di parelisasi. Karena usaha untuk peningkatan resource untuk meningkatkan performance akan dibatasi oleh bagian algoritma yang dapat diparalel 

Tugas 5

EL5102 Arsitektur Komputer Lanjut
Tugas 5
Nama : Hasbi Ash Shiddieqy
Nim : 23216066


Desain control unit untuk XCG (A,B) dengan 2 bus
Reg A
Reg B
Reg C
Reg D
C1 C2
C3 C4
C5 C6
C7 C8
D1 D2
D3 D4
D5 D6
D7 D8

Buat rangkaian untuk instruksi XCG (A,B) dengan C1…C8 sinyal control untuk bus 1 dengan masing-masing input dan output secara beururtan.  Dan D1…D8 sinyal control untuk bus 2
Cara kerja dengan menggunakan 2 bus untuk instruksi XCG dapat dilakukan dengan 2 Clk saja.

  •          Pada clock pertama nilai register A disalin ke register C dan nilai register B disalin ke D.
-          Pada clock kedua nilai register C disalin ke register B dan nilai register D disalin ke register A.
-          Dengan ini nilai A dan B exchange dengan 2 clock cycle

  •        Timing diagram


Gambar 1. Timing diagram untuk XCG (A,B)

  • State diagram dan state table
  • Desain sirkuit

Tugas 4

EL5102 Arsitektur Komputer Lanjut
Tugas 4
Nama : Hasbi Ash Shiddieqy
Nim : 23216066

1. Reduksi operasi komputasi
Y = ax + bx + cx + dx

dengan asumsi ADD = 1 cycles dan MUL = 4 cycle (tanpa pipeline)

y =ax + bx + cx + dx


single processor membutuhkan paling sedikit 19 cycle 
2 core processor membutuhkan paling sedikit 10 cycle

y = x (a + b + c + d)

single processor membutuhkan paling sedikit 7 cycle
2 core processor membutuhkan paling sedikit 6 cycle


2. petrinet vs flowchart

petrinet
- abstraksi level bawah untuk program
- spesifik kontrol flow untuk asynchronous concurrent system
- rule memungkinkan deterministic model

flowchart
- abstraksi level atas untuk program
- lebih sederhana
- concurrent dan satu arah berbasis event

3. Kelebihan dan kekurangan sistem dengan lookup table
advance
- lebih mudah untuk diimplementasikan ke hardware
- software upgradeable
- Umumnya performa lebih baik
disadvance
- area lebih besar

4. Bentuk sinyal control pada Control Unit

Gambar bentuk sinyal control pada control unit

5. Flowchart model untuk programming

Salah satu contoh pemrograman yang berbasis flow adalah Node-RED. selain berbasis flow editing flow juga dilakukan di web browser. Node-RED sendiri dibangun diatas Node.js dengan memanfaatkan model non-blocking yang berubah terhadap event.

Gambar pemrograman berbasis flow (klik untuk memperbesar)
setiap nodes memiliki fungsi masing-masing pada gambar diatas contoh MQTT dan tcp send menggunakan conditional statement jika string dikirim ke MQTT broker jika integer dikirim ke localhost TCP.

6. DSP yang terkait dengan speak untuk mengatasi masalah native speaker
menggunakan algoritma natural languange dengan preprocessing awal sebelum masuk ke bagian neural network. Machine learning diperlukan untuk mendapatkan model yang cukup baik untuk mengenal speak dari native speaker

Tugas 3

EL5102 Arsitektur Komputer Lanjut
Tugas 3
Nama : Hasbi Ash Shiddieqy
Nim : 23216066

1. Bab problem 2.15


2. Interest di architecture computer

Perkembangan architecture computer akan menuju ke arah distributed computing. Dimana banyak computer bekerjasama untuk menyeleseikan beberapa task. Contoh aplikasi saat ini adalah blockchain (data distributed), torrent (data shared).
Untuk meningkatkan kecepatan komputasi berbagai architecture dikembangkan tapi kesulitan dan nilai ekonomis untuk single architecture sendiri terbatas. Distributed computing sendiri mengabungkan beberapa computer untuk bekerja sama untuk menghasilkan performa yang hampir sama dengan architecture super computer.

3. Mark Zuckerberg vs Tesla bos Elon Must
Pro dan kontra AI
Mark Zuckerberg optimis sedangkan Elon musk ketakutan dan menyatakan bahwa "CEO of Facebook doesnt understand the technology" sedangkan Musk sendiri berpendapat AI adalah resiko untuk eksitensi peradaban manusia.
Saya sendiri setuju dengan pernyataan Elon musk arah perkembangan AI saat ini sangat pesat yang mampu lebih baik dibanding untuk menganalisis suatu problem dibanding manusia. hal ini dapat menyebabkan kehilangan pekerjaan manusia yang akan digantikan oleh machine. ada bagian dari AI yang bisa diimplementasikan dalam dunia nyata dan sebagian lagi cukup untuk skala riset saja.

4. Teknik belajar disiplin vs autodidak

saya setuju dengan teknik belajar disiplin. Cara kerja otak manusia harus menyimpan informasi haruslah tersusun untuk membentuk kemampuan analisis. Untuk hal-hal konsep dasar haruslah dipelajari sesuai dengan silabus dan tahap-tahapnya. Process belajar dari yang terkecil hingga ke tingkat kompleksitas sendiri. Berbeda dengan teknik untuk mendapatkan skill bisa dengan autodidak dengan adanya challenge(masalah) akan meningkatkan kemampuan untuk skill dan key principles. Key principle sendiri haruslah dipelajari dengan etika/process terurut.
Orang yang belajar secara autodidak biasanya multidisiplin dan hanya menguasai sebagian dari yang ditekuninya, tidak secara keseluruhan.

5. Opini tentang blockchain

Perkembangan untuk semua system yang terdistribusi /not centralize. Misal untuk aplikasi system pembelian kelistrikan yang terdistribusi. Terutama yang tidak melibatkan pihak ketiga atau transaksi langsung antar konsumen.
Perkembangan jika dilihat dari architecture computer sendiri adalah pengembangan miner yang memiliki kompeksitas algoritma dan security tinggi namun ekonomis dan easy to use.

Tugas 2


EL5102 Arsitektur Komputer Lanjut
Tugas 2
Nama : Hasbi Ash Shiddieqy
Nim : 23216066

1. Cari metode yang mendukung parameter-parameter yang meningkatkkan performance, reliability, power consumption,

- Mengubah architecture menjadi asyncronous processor (+ performance, + lower power) [1]
“As a result, the design of a high-performance asynchronous processor has become a complex optimization problem, further compounded, in the case of the Lutonium, by the requirement to optimize Et 2 and not only throughput. But the MiniMIPS and the Lutonium experiments have shown that the same approach can be used successfully for both high-throughput and energy-efficient designs.” [1] (Alain J. Martin, Mika Nyström, Catherine G. Wong, 2003)
- Fine grain pipelining meningkatkan clock dari sebuat architecture (+performance) [2] (parhi, 1999)
- Parallelism mengubah system menjadi full parallel dan pipelining untuk process tertentu (+ performance)
- Mengubah pekerjaan software tertentu ke dalam hardware (contoh: decoder, enkripsi, graphic processor) (+performance)
- Partial gating dengan mematikan fungsi blok tertentu ketika tidak digunakan (+reliabiltiy)


2. Soal pada buku advanced computer architecture

2.5 Analyze the data dependences among the following statements in a given program:
S1: load R1. 1024 /IR  1024/
S2: Load R1, M(0) /R2  memory(10)/
S3: Add R1. R2 /R1 R1 + R2/
S4: Store M(1024) /MEMORY(1024)  R1/

S5: Store M((R2)),1024 /Memory(64) <- 1024="" br=""> Where (Ri) means the content of register Ri and memory(10) contains 64 initially
<- 1024="" br="">
a. Draw a dependence graph show all the dependences


3. Ceritakan masa depan persoalan computer (reasonable, scientific, based on reference) - System computer terdistribusi


Pendistribusian kemampuan komputasi dari berbagai macam computer yang saling bekerja sama untuk menyelesaikan pekerjaan komputasi tertentu (example : blockchain)
- Cloud computing 
Lokal hardware tidak membutuhkan kemampuan komputasi yang tinggi sehingga dapat dibuat menjadi lebih hemat daya dengan melakukan komputasi yang rumit di cloud dan hasilnya dikembalikan ke user. Masalah yang muncul adalah besarnya transfer data dan latency
- Application specific processor (Array Processor, Vector Processor)
Pembuatan block processor tertentu untuk komputasi tertentu pula dengan array dan vector processor, konsumsi power yang lebih rendah dengan performance lebih. Partial gating dapat digunakan pada blok ini.
- Advanced bus technology
Pengembangan bus dengan media yang lebih cepat dari listrik untuk komunikasi antara komponen hardware dalam system (example: fiber optic) karena hal yang menjadi critical path pengembangan processor adalah high latency pada bus. 




References
Alain J. Martin, Mika Nyström, Catherine G. Wong, 2003. Three Generations of Asynchronous. IEEE Design & Test of Computers, 20(16), pp. 9-17.
parhi, k. k., 1999. VLSI Digital Signal Processing Systems Design and Implementation. s.l.:Johmn Wiley & son, Inch.


Tugas 1


EL5102 Arsitektur Komputer Lanjut
Tugas 1
Nama : Hasbi Ash Shiddieqy
Nim : 23216066

Teori tentang computer hardware

Amdahl’s law adalah persamaan yang menyatakan hubungan speedup dalam eksekusi suatu workload/program yang akan meningkat dengan penambahan kemampuan sistem. Amdahl law sering di gunakan pada parallel computing untuk menghitung peningkatan speed ketika menggunakan system multiprocessor.
Persamaan Amdahl’s law

Speedup=1/((1-p)+p/s)

p = % dari waktu eksekusi original yang dipengaruhi peningkatan system.
S = bagian dari program yang dipengaruhi oleh peningkatan system.
Setiap program memiliki bagian yang tidak bisa di paralelisasi dalam komputasi sehingga menjadi batas kecepatan maksimum secara teori untuk program tersebut. Amdahl’s law memungkinkan programmer untuk menentukan processor yang sesuai dengan aplikasi yang dibuat. Dan untuk design processor memungkinkan menghitung peningkatan speed yang didapatkan ketika menambahkan kemampuan komputasi di bagian tertentu.


Merancang processor bagian Control Unit Microprogram dan sequencer

Architecture Processor
Basic architecture dari terdiri dari beberapa komponen yaitu decoder, program counter, instruction register, arithmetic logic (ALU), Accumulator, dan flag (carry, zero, dan interupt).

Gambar architecture level atas
Untuk sequensial process yang terjadi didalam Processor diatur oleh Control unit. Untuk pengaturan waktu antara fetch, decode, dan eksekusi
Untuk system dengan microprogram/microarchitecture instruksi fetch,decode dan eksekusi ini diimplementasikan dalam bentuk software dengan kombinasi software untuk membantu kerja hardware.

Contoh implemtasi control unit pada 8085
Control Unit mengatur timing dan process pergerakan data dalam microprocessor. 8085 processor memiliki 246 opcodes untuk 80 instruksi.


Jelaskan computer Advanced arhictecture

Architecture computer yang telah memiliki kompeksitas yang lebih tinggi daripada architecture generasi awal computer. Beberapa teknik dilakukan seperti lookahead, parallelism dan pipelining yang memungkinkan computer yang dapat bekerja secara parallel.

Perkembangan architecture computer


Gambar timeline perkembangan teknologi computer architecture

First generation (vacuum tubes)
Eelectronic numeriacal intergrator and computer (ENIAC) diperkenalkan pada tahun1946. Dibuat menggunakan vacuum tube dan relay dengan jumper untuk koneksi pada socket-socketnya. Dengan besar mencapai 150m2 ¬berat 30 ton dan konsumsi daya 140 kW. Fabrikasi dengan 18000 vacuum tube. ENIAC berbasis decimal representation/decimal interger. Berbeda dengan architecture saat ini yang berbasis binary (1 dan 0).

Second generation (transistor)
Programmed data processor (PDP 1) dari digital equipment corporation (DEC), awal dari perkembangan processor berbasis transistor. Dengan speed 200.000 instruksi perdetik. Terus berkembang ke PDP-8 dengan 12 bit architecture dan pengenalan system bus (omnibus) sebagai system bus interkoneksi pertama. Diwaktu yang sama IBM mengembangkan computer seri 700 dan 7000. Yang menjadi popular pada saat itu (1964).

Third Generation (integrated circuit)
Perkembangan computer saat ditemukan teknologi fabrikasi dengan SSI dan LSI chips. Yang memungkinkan design chip dengan harga yang lebih murah. (1965-1985)

Fourth Generation (VLSI)
IBM mengeluarkan IBM PC dengan intel 8088 pengembangan dari 8086 yang menjadi legend. Diwaktu yang sama perkembangan system operasi MS DOS dan Unix.

Membuat Mini Lab Portable

Peralatan elektronik untuk seorang engineer terutama yang senang ngoprek menjadi kebutuhan dalam berbagai waktu dan keadaan. kadang juga jika kalian belum mempunyai tempat ngoprek (lab) permanen. Atau kalian kadang membutuhkan peralatan dalam waktu yang cepat.
pertama dibutuhkan tempat untuk menaruh semua peralatan tersebut asumsikan kalau kalian masih punya 2 tangan. Tangan satu untuk membawa koper/toolbox tangan satunya melakukan pekerjaan lain (membuka pintu, bayar parkir dll). sesuaikan besar toolbox dengan kemampuan kalian membawanya. Kalau terlalu besar ntar keberatan.

Toolbox sesuaikan dengan kubutuhan
Sekarang coba lihat peralatan yang perlu untuk dibawa:
Isi Toolbox umumnya
Kumpulan untuk lebih lengkap dengan berbagai tambahan

  • Netbook laptop atau sejenisnya (jangan PC keberatan)
  • Microcontroler programable (Arduino dan sejenisnya)
  • Tang multifungsi
  • Korek api
  • Kamera digital (selalu ingat dokumentasi)
  • Breadboard/ProjectBoard dan jumper yang banyak
  • AC usb charger 5v sebagai power supply
  • Multimeter dan Compact Osiloscope
  • LED
  • Komponen pasif (resistor,capacitor dll)
  • Baterai dengan bebagai variasi
  • IC
  • Buku catatan
Dengan tambahan

  • Lem super glue
  • Tang dengan berbagai variasi
  • Kabel stripper
  • Obeng berbagai variasi
  • Minitoolbox
  • Timer stopwatch
  • Jangka sorong
  • Motor servo
  • Kabel Ties
Pada saat ngoprek alangkah bagusnya jika ada akses internet dari wifi untuk download datasheet atau googling di yahoo. Sumber listrik juga dibutuhkan untuk mempermudah catuan untuk powersupply .Perangkat diatas digunakan untuk prototype yang tidak membutuhkan solder. Kalau mau nyolder tambahkan saja perangkat solder seperti soldering iron, wicked, dan handtools.
Teknik mudah rangkaian elektronika sederhana dengan breadboard

Selamat Mencoba
Jika ada kesalahan atau pertanyaan tambahan dll silahkan dicomment
sumber buku