Pertemuan 09 Motorola 680x0 Matakuliah : H0162/ Mikroprosesor

Download Report

Transcript Pertemuan 09 Motorola 680x0 Matakuliah : H0162/ Mikroprosesor

Matakuliah
Tahun
Versi
: H0162/ Mikroprosesor
: 2006
: 1/0
Pertemuan 09
Motorola 680x0
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
• menerangkan arsitektur mikroprosesor
keluarga Motorola 680x0 (C2)
2
Outline Materi
•
•
•
•
•
•
Register Set
Format Data
Addressing Mode
Instruction Set
Memory Management
Instruction and Data Cache
3
4
2nd Generation (32-bit) Motorola 68000
• Major architectural step in
microprocessors:
– First 32-bit architecture
• initial 16-bit implementation
– First flat 32-bit address
• Support for paging
– General-purpose register architecture
• Loosely based on PDP-11 minicomputer
• First implementation in 1979
– 68,000 transistors
– < 1 MIPS (Million Instructions
Per Second)
• Used in
– Apple Mac
– Sun , Silicon Graphics, & Apollo
workstations
5
Motorola 680x0 Family
• Keluaran Motorola family M68000
adalah salah satu dari keluarga
mikroprosesor yang paling banyak
digunakan di dalam komputer Apple seri
Machintosh dan SUN workstation.
• Pada tahun 1987 (2 tahun sebelum Intel
menerapkan Dual Cache system)
Motorola MC68030 adalah processor
pertama-tama memiliki dual cache,
pada mulanya masing-masing sebesar
256 Byte untuk code dan data.
6
Motorola 680x0 Family
• Pada tahun 1989, ukuran dual cache
nya diperbesar menjadi 4 KB pada
keluarga MC68040. Di keluarga ini,
Motorola juga melakukan terobosan
dengan menggabungkan FPU (Floating
Point Unit) nya didalam chip yang sama
CPU nya.
• Pada tahun 1993, ditingkatkan menjadi
8 KB pada keluarga MC68060.
Keluarga chip ini merupakan two-issue
superscalar
7
8
9
68000
10
Motorola 68000 Die Photo
70.000 cell transistor
1979 Motorola
announce a 16-bit
68000. Indisputabl
y, the best
microcontroller on
the market at the
time.
It would be used in
the Apple
Macintosh
launched in 1984.
11
Register Set
• Arsitektur File Register dari M68000 dibagi
menjadi dua bagian utama:
– User Programming Model
– Supervisor Programming Model
• Arsitektur mikroprosesor M68000 beroperasi
pada salah satu dari mode di atas. Mode
Supervisor memiliki hak privilege yang lebih
tinggi, digunakan secara eksklusif oleh System
Programmer untuk menerapkan fungsi-fungsi
sistem operasi. Mode user ditujukan untuk
program program aplikasi reguler. Program yang
berjalan pada mode supervisor dapat
mengakses semua register, tidak sama halnya
dengan program yang berjalan pada mode User.
12
13
User
Programming
Model
14
Supervisor
Programming
Model
15
Format Data
16
Addressing Mode
• Addressing Mode pada M68000 dapat
dibagi atas 4 katagori, yaitu:
– Data: merefer ke operand yang berupa data.
– Memory: merefer ke operand yang berupa
alamat memory.
– Alterable: merefer ke operand yang dapat
diubah (writeable, seperti variable)
– Control: merefer ke operand yang berupa
memory tanpa menyebut ukurannya
17
18
Instruction Set
•
•
•
•
•
•
•
Data movement
Integer Arithmatic
Floating Point Arithmatic
Logical
Shift and Rotate
Bit Manipulation
Bit-field Manipulation
19
Instruction Set
•
•
•
•
•
•
BCD Arithmatic
Program Control
System Control
Memory Management
Cache Maintenance
Multiprocessor Communications
• Example:
– MOVE.B D0,D1 ; artinya memindahkan secara byte
dari register D0 ke D1 tanpa merubah upper-24-bit
dari kedua register. (Ingat bahwa setiap register
tersebut adalah sebesar 32 bit)
20
Memory Management
• Fitur dari arsitektur M68000 yang unik adalah mulai dari
MC68040 memiliki on-chip dual MMU, satu untuk code,
satu lagi untuk data. Ini akan membuat akses paralel
terhadap data dan instruksi oleh CPU sehingga
meningkatkan kinerja pipeline secara keseluruhan.
• MC68060 memiliki 2-issues superscalar. masing-masing
MMU berisi Address Translation Cache (ATC) - yang
disebut juga TLB (Translation Lookaside Buffer) pada
sistem lain. Fungsi ATC atau TLB adalah tempat
menyimpan beberapa alamat terakhir hasil translasi dari
virtual address ke physical address. Jika pasangan
translasi itu tidak di dalam ATC, maka processor akan
mencari informasi translasi di Translation Table yang
berada di memory. Setiap ATC memiliki 64 entri dan
menggunakan pemetaan 4-way set-associative (Note:
bacaan tambahan mengenai organisasi set-associative
baca CacheMemoryOrganization.pdf ).
21
Memory Management
• Pada generasi M68000 awal, kita dapat memilih 8
ukuran page size pada MMU coprocessor, yaitu 256
byte, 512 byte, 1, 2, 4, 8, 16 atau 32 KB. Sedangkan
page size pada microprocessor nya dapat berukuran 4
atau 8 KB.
• Semua memory M68000 adalah byte -addressable,
disimpan secara big-endian. Alamat N dari sebuah data
longword berkoresponden dengan alamat dari MSB-nya.
Alamat LSB-nya adalah N+3. Pelurusan data sepanjang
batasan word tidak dibutuhkan, walau demikian, transfer
data yang paling efisien terjadi ketika data diluruskan
pada batasan yang sama dengan batasan ukuran dari
operand-nya.
22
23
Address Translation Cache
• Ketika ATC tidak menemukan alamat (terjadi
miss), maka Mekanisme Translation Table harus
dijalankan. Struktur Translation Table secara
umum berupa struktur tree (pohon) 3-tingkat,
dapat dilihat pada gambar di atas.
• Pointer table pada bagian upper level (yaitu
Level A dan B) berisi alamat dasar (base
address) dari table pada tingkat selanjutnya
(level A menunjuk kepada table di level B dan
pada Level B menunjuk ke Level C, seperti
terlihat pada gambar). sedangkan page table
pada Level C akan berisi satu dari 2
kemungkinan:
24
Address Translation Cache
• Physical address untuk translation, atau sebuah
pointer ke alamat memory yang berisi alamat
Hanya sebagian dari isi Translation Table yang
diperlukan untuk berada di memory pada suatu
waktu, khususnya pada bagian table yang
mentranslasikan logical address dari prosess
yang sedang berjalan di microprocessor.
• Setiap root pointer: SRP (Supervisor Root
Pointer) atau URP (User Root Pointer), berisi
alamat dasar pada Tabel Level A, yang
ditentukan berdasarkan previledge eksekusinya, apakah mode supervisor atau mode user.
25
26
Instruction and Data Cache
• Instruksi dan Data cache adalah bagian dari
MMU masing -masing. informasi status untuk
instruksi cache terdiri dari bit tunggal yang valid
untuk kesluruhan baris. Ukuran tiap cache
adalah 8 kbytes(total 16 kbytes)
• Motorola menggunakan pengalamatan physical
pada kedua cache. Maka dari itu sewaktu
proses switch terjadi cache tak perlu di lalui,
sehinggga waktu yang berharga dapat dihemat.
27