Archive for 2017
Inti Prosesor ARM Pada Mobile
By : Unknown
Sejarah
Setelah sukses dengan
komputer BBC Micro, Acorn Computers Ltd mempertimbangkan berpindah dari
prosesor MOS Technology 6502 ke pasar yang akan segera didominasi oleh IBM PC
yang diluncurkan pada tahun 1981. Acorn Business Computer (ABC) pada saat itu
membutuhkan prosesor berikutnya untuk dapat bekerja pada platform BBC Micro.
Namun prosesor seperti Motorola 68000 dan National Semiconductor 32016 tidak
cocok, sedangkan prosesor 6502 tidak mencukupi untuk kebutuhan antar muka
grafis. Akhirnya Acorn mendesain prosesornya sendiri dengan proyek Berkeley
RISC oleh engineernya. Kunjungan ke Western Design Center di daerah Phoenix
meyakinkan engineer Acorn Steve Furber dan Sophie Wilson bahwa mereka tidak
membutuhkan sumber daya dan fasilitas penelitian yang besar.
Wilson mengebangkan
instruction set, mensimulasikan prosesor pada BBC Basic yang menjalankan BBC
Micro dengan prosesor 6502 kedua. Hal tersebut membuktikan kepada engineer
Acorn bahwa mereka berada pada proses yang tepat. Sebelum melangkah lebih jauh,
mereka membutuhkan sumber daya yang lebih. Setelah Wilson mendapat persetujuan
dari CEO Acorn, Hermann Hauser, tim kecil melanjutkan implementasi ke perangkat
keras. Sebuah prosesor ARM dari Conexant yang umum digunakan pada Router.
Proyek Acorn RISC
Machine resmi dimulai pada Oktober 1983. VLSI Technology, Inc dipilih sebagai
mitra dalam memproduksi chip silikon di mana sebelumnya telah memproduksi ROM
dan custom chip sebelumnya. Proses desain dipimpin oleh Wilson dan Furber,
dengan tujuan utama latensi rendah (low-latency) pada penanganan input/output
(interupsi) seperti pada prosesor MOS Technology 6502. Arsitektur 6502
memberikan pengembang mesin yang cepat dalam pengaksesan memory tanpa harus
menggunakan perangkat direct access memory yang mahal. VLSI memproduksi chip
ARM pertama kali pada 26 April 1985 yang berhasil bekerja dan dikenal sebagai
ARM1. Dan disusul dengan ARM2 yang diproduksi pada tahun berikutnya.
Pengaplikasian prosesor
ARM pertama kali adalah prosesor kedua dari BBC Micro, untuk simulasi dalam
pengembangan chip pendukung (VIDC, IOC, MEMC) dan untuk mempercepat penggunaan
perangkat lunak CAD dalam pengembangan ARM2. Wilson menulis BBC Basic dalam
bahasa assembly ARM, di mana kode sangat padat sehingga ARM BBC Basic sangat
cocok untuk setiap emulator ARM.
ARM2 mempunyai lebar
bus sebesar 32-bit, 26-bit (64 Mbyte) alamat memory dan 16 buah register
32-bit. Program code harus ada dalam 64 Mbyte pertama dari memory, sebagaimana
program counter dibatasi pada 26-bit karena 6-bit atas pada register 32-bit
digunakan sebagai status flag. Kemungkinan besar ARM2 merupakan prosesor 32-bit
paling sederhana di dunia dengan hanya 30.000 transistor bila dibandingkan
dengan Motorola 68000 dengan 70.000 transistor. Kesederhanaan ini diperoleh
karena ARM tidak mempunyai microcode yang mencakup seperempat hingga sepertiga
transistor pada Motorola 68000. Selain itu ARM pada saat itu tidak memiliki
cache memory. Hal ini membuat ARM sebagai prosesor dengan konsumsi daya rendah
namun performansi yang lebih baik daripada Intel 80286. Penerusnya yaitu ARM3
mempunyai 4 kByte cache yang meningkatkan performansi.
Pada akhir 1980-an,
Apple Computer dan VLSI Technology memulai kerja sama dengan Acorn untuk
prosesor ARM berikutnya. Kerjasama ini sangat penting hingga Acorn melepas tim
tersebut sebagai perusahaan baru bernama Advanced RISC Machines Ltd. pada tahun
1990. Sehingga seringkali ARM disebut sebagai Advanced RISC Machine disamping
Acorn RISC Machine. Dan pada tahun 1998 Advanced RISC Machines menjadi ARM Ltd.
Hasil kerja sama Apple-ARM menghasilkan ARM6 pada awal tahun 1992. Apple
menggunakan ARM6 (ARM 610) sebagai prosesor pada PDA Apple Newton dan pada
tahun 1994 Acorn menggunakan ARM6 pada komputer PC RISC. Pada frekuensi 233
MHz, prosesor ini hanya mengonsumsi daya sebesar 1 Watt dan versi berikutnya
lebih kecil dari itu.
Inti prosesor ARM tidak
mengalami perubahan ukuran yang signifikan. Pada ARM2 terdapat 30.000
transistor sedangkan pada ARM6 bertambah hingga 35.000 transistor saja. ARM
Ltd. hanya menjual IP (Intelectual Property) core di mana perusahaan lain dapat
memproduksi mikrokontroller dan prosesor berdasarkan rancangan ARM.
Implementasi yang dinilai paling berhasil adalah ARM7TDMI yang terjual hingga
ratusan juta chip. Ide dasarnya adalah produsen chip komputer dapat membuat CPU
lengkap berdasarkan rancangan ARM dan dapat dibuat pada pabrik semikonduktor
lama serta memberikan performansi yang tinggi pada harga yang rendah.
Arsitektur ARM dapat ditemui di banyak smartphone, PDA dan perangkat genggam
lain.
Arsitektur ARM
merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited.
Dikenal sebagai Advanced RISC Machine di mana sebelumnya dikenal sebagai Acorn
RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi
oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk
aplikasi berdaya rendah. Hal ini membuat prosesor ARM mendominasi pasar mobile
electronic dan embedded system di mana membutuhkan daya dan harga yang rendah. Pada
tahun 2007, sekitar 98% dari satu miliar mobile phone yang terjual menggunakan
setidaknya satu buah prosesor ARM. Dan pada tahun 2009, prosesor ARM
mendominasi sekitar 90% dari keseluruhan pasar prosesor 32-bit RISC. Prosesor
ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA, mobile
phone, media player, music plxayer, game console genggam, kalkulator dan
periperal komputer seperti hard disk drive dan router.
Lisensi arsitektur ARM
dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment
Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC,
NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST
Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamah dan
ZiiLABS.
KEKURANGAN
1.
Program yang dihasilkan dalam bahasa
simbolik akan lebih panjang (instruksinya lebih banyak).
2.
Program berukuran lebih besar sehingga
membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber
daya.
3.
Program yang berukuran lebih besar akan
menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan
lebih banyak byte-byte instruksi yang harus diambil. Selain itu,Pada lingkungan
paging akan menyebabkan kemungkinan terjadinya page fault lebih besar.
KELEBIHAN
1.
Berkaitan dengan penyederhanaan
kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi
mesin bagi semua pernyataan HLL.
2.
Instruksi mesin yang kompleks seringkali
sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan
konsepnya.
3.
Pekerjaan mengoptimalkan kode yang
dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi
instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan
RISC dibanding menggunakan CISC.
4.
Arsitektur RISC yang mendasari PowerPC
memiliki kecenderungan lebih menekankan pada referensi register dibanding
referensi memori, dan referensi register memerlukan bit yang lebih sedikit
sehingga memiliki akses eksekusi instruksi lebih cepat.
5.
Kecenderungan operasi register ke
register akan lebih menyederhanakan set instruksi dan menyederhanakan unit
kontrol serta pengoptimasian register akan menyebabkan operand-operand yang
sering diakses akan tetap berada dipenyimpan berkecepatan tinggi.
6.
Penggunaan mode pengalamatan dan format
instruksi yang lebih sederhana.
Sumber:
Pengukur Ketinggian Air Pada Tangki Air / Toren Secara Otomatis Menggunakan ATMEGA8535
By : Unknown
Berikut
adalah listing program lengkapnya:
//kondisi=0
adalah keadaan kosong,
//kondisi=1 adalah keadaan penuh,
//penggunaan variabel kondisi berfungsi sebagai penghilang
//efek bouncing yg disebabkan oleh gelombang air
bit kondisi;
#include <mega16.h>
#define pompa PORTA.0
#define ind_pompa PORTA.5
#define ind_min PORTA.7
#define ind_max PORTA.6
#define mode PINC.0
#define on_off PINC.1
#define maxim PINC.2
#define minim PINC.3
void otomatis()//pemilihan mode otomatis
{
if (mode==1)//mode otomatis
{
if (kondisi==0)
{
if (maxim==1)//kosong
{
pompa=0;
ind_pompa=0;
}
if (maxim==0)//penuh
{
pompa=1;
ind_pompa=1;
kondisi=1;
}
}
if (kondisi==1)
{
if (minim==1)
{
kondisi=0;
}
}
}
}
void manual()//pemilihan mode manual
{
if (mode==0)//manual
{
if (maxim==0)
{
pompa=1;
ind_pompa=1;
}
else
{
if (on_off==0)
{
pompa=0;
ind_pompa=0;
}
else
{
pompa=1;
ind_pompa=1;
}
}
}
}
void indikator()//menyalakan indikator LED MIN dan MAX
{
if (maxim==0) ind_max=0;
else ind_max=1;
if (minim==0) ind_min=0;
else ind_min=1;
}
void main(void)
{
DDRA=0xff; //inisialisasi port mikro
PORTA=0xff;
DDRC=0×00;
PORTC=0xff;
while (1)
{
otomatis();
manual();
indikator();
};
}
//kondisi=1 adalah keadaan penuh,
//penggunaan variabel kondisi berfungsi sebagai penghilang
//efek bouncing yg disebabkan oleh gelombang air
bit kondisi;
#include <mega16.h>
#define pompa PORTA.0
#define ind_pompa PORTA.5
#define ind_min PORTA.7
#define ind_max PORTA.6
#define mode PINC.0
#define on_off PINC.1
#define maxim PINC.2
#define minim PINC.3
void otomatis()//pemilihan mode otomatis
{
if (mode==1)//mode otomatis
{
if (kondisi==0)
{
if (maxim==1)//kosong
{
pompa=0;
ind_pompa=0;
}
if (maxim==0)//penuh
{
pompa=1;
ind_pompa=1;
kondisi=1;
}
}
if (kondisi==1)
{
if (minim==1)
{
kondisi=0;
}
}
}
}
void manual()//pemilihan mode manual
{
if (mode==0)//manual
{
if (maxim==0)
{
pompa=1;
ind_pompa=1;
}
else
{
if (on_off==0)
{
pompa=0;
ind_pompa=0;
}
else
{
pompa=1;
ind_pompa=1;
}
}
}
}
void indikator()//menyalakan indikator LED MIN dan MAX
{
if (maxim==0) ind_max=0;
else ind_max=1;
if (minim==0) ind_min=0;
else ind_min=1;
}
void main(void)
{
DDRA=0xff; //inisialisasi port mikro
PORTA=0xff;
DDRC=0×00;
PORTC=0xff;
while (1)
{
otomatis();
manual();
indikator();
};
}
Flowchart pengukur ketinggian air pada tangki air / toren
By : Unknown
Nama:
FIKRI PRAWOTO
NPM:
14414219
Kelas:
3IB05
Gambar
dibawah adalah gambar tangki air / toren pada saat air dalam keadaan tinggi (High)
atau rendah (Low)
Flowchart
pengukur ketinggian air pada tangki air / toren
- Pertama saat air berada di bawah (level low)
maka dua pemberat (sinker) akan menggantung dan menarik switch yang
ada pada switch body di bagian atas. Pada saat kondisi
awal, sistem ini akan membaca banyaknya air di dalam tangki.
- Kedua bila banyaknya air berada di
bawah (level low) maka, Switch yang tertarik pemberat
akan membuat kontak relay menjadi close dan
arus listrik akan mengalir melalui kabel menuju mesin pompa air dan
kemudian menyalakannya (start) dan mengisi air ke dalam
toren hingga mencapai level high.
- Ketiga saat air mendekati level high,
maka pemberat bagian bawah akan mengapung dan saat level air mencapai
setengah dari pemberat bagian atas maka level switch akan
kembali ke posisi awal (dengan bantuan pegas yang ada dalam switch
body) sehingga kontak relay akan menjadi open dan
arus listrik terputus sehingga mesin pompa air berhenti (stop) secara
otomatis.
- Keempat batas level high dan
level low dalam toren ini dapat di-setting sesuai
keinginan, dengan mengatur ketinggian dari dua pemberat ini. Cukup dengan
mengatur panjang talinya dan kemudian dikencangkan kembali ikatannya.
- Kelima Jika setting level low-nya
dinaikkan (pemberat bagian bawah posisnya lebih naik), maka volume air
dalam toren akan masih tersisa banyak sesaat sebelum air diisikan kembali.
Begitu pula jika setting level high-nya
dinaikkan (dengan menaikkan lagi posisi pemberat bagian atas), maka volume
air akan bisa mendekati maksimum kapasitas yang bisa ditampung dalam toren
sesaat setelah mesin air dimatikan.
- Keenam bila jarak antara kedua
pemberat sangat pendek (sehingga jarak level low dan high berdekatan)
maka akibatnya interval pengisian air akan lebih singkat sehingga mesin
pompa air akan semakin sering start-stop. Apalagi jika toren
yang digunakan memiliki kapasitas kecil, misalnya 500 liter. Ingat, start mesin
pompa air akan menyerap daya listrik yang cukup besar. Karena itu setting pemberat
ini lebih disesuaikan pada kebutuhan dengan pertimbangan aspek volume
cadangan air dalam toren dan penghematan daya listrik.
SUMBER
: