Mari kita ibaratkan komputer adalah sebuah denah, didalam denah tersebut terdapat jalur yang menghubungkan satu titik dengan titik lainya, Jalur tersebut di dalam komputer kita menyebutnya bus.
Bus adalah sebuah jalur atau saluran yang digunakan untuk menghubungkan komponen-komponen dalam sebuah komputer. Bus berfungsi sebagai penghantar data, sinyal, dan arus listrik antar komponen seperti processor, memori, hard drive, dan lainnya.
Lalu, apa itu arsitektur bus?
Arsitektur bus berperan sebagai protokol untuk memastikan bahwa komponen-komponen di dalam sistem dapat saling berinteraksi dan berkoordinasi untuk menjalankan tugas-tugas yang diberikan
Protokol Bus untuk ARM Processor
AMBA (Advanced Microcontroller Bus Architecture) merupakan spesifikasi arsitektur bus yang dikembangkan oleh ARM sejak tahun 1996 untuk menghubungkan komponen-komponen dalam chip. Hingga kini AMBA menjadi standard dalam embedded mikrokontroller.
AMBA Bus Protocol
Beberapa bus protocol berbasis AMBA yang paling umum digunakan pada mikrokontroller
AHB (Advanced High-performance Bus)
APB (Advanced Peripheral Bus)
AHB Protocol
Digunakan untuk mengakses data (SRAM) dan kode (Flash) yang mana membutuhkan kecepatan akses yang tinggi
Terdapat versi lite, AHB-Lite yang merupakan simplified-version dari AHB yang support single bus master
Menggunakan mekanisme pipeline dalam mengeksekusi program, sehingga lebih cepat dan efisien
Digunakan untuk mengakses peripheral yang memerlukan kecepatan akses yang tinggi, seperti streaming video dan sebagainya.
APB Protocol
Digunakan untuk private-peripheral yang terdapat pada processor itu sendiri, seperti NVIC, Register, Systick timer register, system control block.
Digunakan oleh peripheral yang memerlukan kecepatan akses rendah dibandingkan AHB.
APB diperlukan untuk aplikasi yang memerlukan daya rendah
Bus Interfaces
Processor Cortex-M memiliki 4 bus interfaces
I-Code Digunakan untuk mengakses instruksi/program dan vector table dari flash memory. Pengaksesan dimulai dari alamat 0x00000000 - 0x1FFFFFFF. Menggunakan protocol AHB-Lite
D-code Digunakan untuk mengakses data atau instruksi/program dari flash memory. Pengaksesan dimulai dari alamat 0x00000000 - 0x1FFFFFFF. Menggunakan protocol AHB-Lite
System Interface Digunakan untuk mengakses data dari SRAM, peripheral, external RAM dari rentang alamat 0x20000000 to 0xFFFFFFFF. Menggunakan protocol AHB-Lite
Private Peripheral Bus (PPB) Terdapat 2 jalur PPB internal dan eksternal
Internal Private Peripheral Bus (PPB) digunakan untuk mengakses internal peripheral ARM Cortex M, seperti NVIC, SysTick, MPU, dan debug components.
Eksternal Private Peripheral Bus (PPB) digunakan untuk mengakses Eksternal peripheral yang disediakan oleh produsen semikonduktor dan sifatnya opsional tergantung mereka. Menggunakan protocol APB-Lite
Selanjunya apa?
Setelah mengetahui mengenai arsitektur bus dan beberapa protokolnya tutorial selanjutnya akan membahas mengenai memory map
Next : Memory Map