mercredi 13 janvier 2010

Arhitectura hardware iPhone

Arhitectura unui SmartPhone iPhone contine urmatoarele module: modulul de aplicatii, modulul de telecommunicatii, modulul video, modulul pentru economie energie/baterie, modulul audio.
Pentru a invata sa dezvoltam aplicatii pentru acest terminal mobil, mai intai aruncam o privire in interiorul modulului de aplicatii. Procesorul de aplicatii utilizat frecvent pentru modelele 3Gs este ARM 1176jzf-s. Acest procesor integreaza tehnologii ca TrustZone, Thumb sau Jazelle. Pentru modelele mai vechi, 3G ,Apple a utilizat si un alt tip de procesor ARM, Samsung S5L8900B02.
Tehnologia TrustZone furnizeaza o serie de elemente de securitate ce sunt caracterisitici esentiale ale sistemului iPhone OS : gestiunea cheilor de securitate si/sau mecanisme de autentificare. Aceste elemente de securitate sunt necesare utilizatorului iPhone pentru a proteja serviciile utilizate de el cum ar fi tranzactiile bancare, servicii on-line multimedia, etc. Sa nu uitam caci acest iPhone este un predecesor al iPod. El este strans legat de modelul economic multimedia iTunes.
Tehnologia Jazelle
ARM accelereaza si executa o masina Java Virtual Machine (JVM) utilizand arhitectura ARM. Aceasta solutie tehnologica ofera performante mari pentru coduri Java si ofera o combinatie optima intre economie de baterie si realizarea de aplicatii cu costuri mici. Codul Java de octeti este convertit in instructiuni ale procesorului ARM. Procesorul poate exdecuta aproximativ 120 de instructiuni Java de octeti si generaza o exceptie pentru restul codului. Astfel executia codului de octeti poate fi emulata. Din pacate, ARM nu face publice specificatiile acestei tehnologii. Numai cei cu licente pot avea informatii suplimentare despre Jazelle.
Tehnologia Thumb permite cresterea densitatii de cod instructiuni program cu circa 30% fata de un cod de instructiuni ARM clasic. Crearea de coduri-instructiuni cu dimensiuni mici si optimizate minimizeaza consumul bateriei si utilizarea de capacitati mari de memorie.
Arhitectura acestui procesor include un set de instructiuni ARM pe 32 de biti, un set de instructiuni Thumb pe 16 biti si un set de instructiuni Java pe 8 biti. Procesorul ARM 1176jzf-s are in total 40 de registre. 33 de registre de uz general de cate 32 de biti si 7 registre dedicate pe 32 de biti.
Memoria de stocare a datelor este diferita de la un model la altul. Primele iPhone 3G aveau memorie de 8GB NAND Flash Memory Toshiba TH58NVG6D1D. Urmatoarele modele 3G si 3Gs aveau memorie 16GB MLC NAND Flash Samsung K9MDG08U5M. Modelele cu 32 GB utilizeaza memorii Toshiba.
Acest terminal mobil este dotat cu cativa senzori: un sezor ce detecteaza miscarea/acceleratia pe cele trei axe (accelerometru - LIS331DL STMicroelectronics), un senzor magnetometru (compas digital) ce detecteaza campul magnetic (Asahi Kasei AKM8973), camera de 3.1 megapixeli (Micron2020), un senzor ce detecteaza proximitatea (senzor IR Aviso IS-3GS015), un senzor ce detecteaza intensitatea luminii ambientale, sistemul GPS (PMB2525 Infineon). Exista un senzor ce detecteaza umiditatea dar care nu poate fi accesat de catre aplicatii.
Pentru interfata grafica, iPhone 3Gs utilizeaza trei circuite: controlerul pentru ecranul tactil (Broadcom BCM5974), driverul de linii al ecranului tactil (TI CD3239) si interfata de afisare (National Semiconductor LM2512). Procesorul ce gestioneaza interfata grafica cu toate aceste circuite este
PowerVR MBX Lite 3D. In functie de versiuni Apple poate schimba acest procesor.
Mai exista o serie de procesoare utilizate in partea de telecomunicatii. Pentru transmisiile GSM/EDGE, W-CDMA se utilizeaza ca procesor PMB8878 sau S-GOLD3 de la Infineon. Acest procesor impreuna cu memoria multichip Intel (Intel, NOR Flash Memory 16MB) formeaza un sistem independent de calcul ce ruleaza in interiorul iPhone-ului. Este separat de sistemul de calcul principal (procesorul ARM) care gestioneaza aplicatii (cum ar fi email-ul sau hartile google). Cele doua sisteme de calcul interactioneaza intre ele prin mai multe bus-uri de communicatii.
Partea de transmisiuni RF este preluata de transceiver-ul RF PMB695 Infineon si de amplificatorul pentru cele patru benzi de transmisie, SKY77340 Skyworks. Mai exista si trei circuite TriQuint (TQM616035, TQM666032, TQM67031) care sunt amplificatoare de putere pentru W-CDMA.
Modulul audio este gestionat de catre
Wolfson Microelectronics WM6180C. Acesta are o tehnologie de eliminare totala a zgomotului ce filtreaza sunetele scoase aproape de urechea ascultatorului. Pana acum producatorii de terminale mobile sunt capabili de minimizeze zgomotul caii de transmisie pentru un telefon mobil. Astfel zgomotul de fond nu este transmis la apelat. Totusi nu se putea rezolva problema nivelului de zgomot la apelat. Circuitul WM6180C rezolva si aceasta problema, astfel cel apelat daca este in masina, discoteca, poate auzi clar vocea apelantului.
Modulul de economie energie/baterie este format din mai multe circuite. Aici includem si circuitele care controleaza alimentarea cu energie a iPhone. LTC4088-2 Linear Technology este un circuit ce controleaza incarcarea bateriei prin legatura USB. Procesorul SMP3i (Infineon) gestioneaza cantitatea de enregie consumata de etajul de telecommunicatii. Procesorul NXP Semiconductor PCF50633 controleaza energia consumata pentru etajul aplicatif (audio, video, senzori, procesor ARM).

samedi 9 janvier 2010

Mac4Ever

Pentru cine doreste noutati in timp real despre lumea Mac poate sa se aboneze la acest site : http://www.mac4ever.com sau sa recupereze aplicatia de pe App Store. Din pacate este in limba franceza si nu in engleza. Deci, pentru cititorii francofoni.