Menu

Daxil olun Qeydiyyat

Mikrokontroller Texnikasi

32 bitli PHİLİPS ARM MK-lər ailəsi. ARM7 modelinin arxitekturu

32 bitli PHİLİPS ARM MK-lər ailəsi. ARM7 modelinin arxitekturu

32 bitli ARM (Advanced RISC Microcontroller-Təkmilləşdirilmiş RISC mikrokontrollerləri) MK-ləri 1994-ci ildən etibarən Philips firması tərəfindən istehsal edilir.Bu MK-lər sənayedən başlayaraq məişət texnikasına qədər müxtəlif sahələrdə tətbiq edilir(şək.6.26): kompüter texnikasında periferiya kontrolleri (HD,DVD), avtomatik idarəetmədə,fərdi kommunikasiya qurğularında (mobil telefonlar, peyjerlər,faks), multimediya cihazlarında(joistik,pleyer).

ARM MK-lər ailəsinin strukturu şək.6.27-də verilmişdir. İlk modellər ARM7,sonrakılar isə ARM THUMB nüvəsi üzərində qurulmuşdur.Bu modellərin hamısı üçün xarakterik olan cəhət modulluluq prinsipidir:standart periferiya modulları kitabxanası ilə nüvənin qarşılıqlı əlaqəsi ixtisaslaşdırılmış periferiya şinləri AHB(Advanced High Performance Bus-Mükəmməlləşdirilmiş yüksək effektivlikli Şin) vasitəsilə olur.

ARM7100 cib oyun avadanlıqlarından tutmuş ofis texnikasına qədər sahələrdə tətbiq edilir:professional məlumat qurğuları(PDA) və orqanayzerlər,intellektual mobil telefonlar və çoxfunksiyalı peycerlər.

ARM7500 və ARM7500E modelləri bir kristallı mikrokompüter olmaqla multimediya qurğularının,portativ və stolüstü kompüterlərin,cib hesablayıcı-ölçü qurğuların ,oyun konsollarının yaradılması üçün nəzərdə tutulmuşdur.Bu modellər bir- birindən sürüşgən vergüllü əməliyyatlar üçün coprocessorun(FPA) olması (ARM7500FE modelində) və nəticədə yüksək emal gücü ilə fərqlənir.

ARM7100/7500/7500E modellərinin hamısı ARM7 nüvəsi əsasında qurularaq (4-8)KB daxili Data/İnstruction Cache,yazı buferi və enerjiyə qənaət blokuna malikdir.

ARM7 nüvəsinin əsas xüsusiyyətləri aşağıdakılardır:

VŞ,ÜŞ- 32 bit (ünvanlaşdırılan yaddaş həcmi 4QB)

FCLK=18/33/40/60MHs,ARM THUMB-100-300 MHs

ARM7500E modelində FPA(FP Akselerator)

Aşağı enerji sərfi rejimləri

1 əmr-1 ƏD(Əmrlər dövrü),1 MIPS -1MHs

Əmrlər konveyeri 3 mərhələli,ARM THUMB - 5-7 mərhələli

Yüksək səviyyəli əmrlər,C-kompilyator

32x16 bit MAC bloku

0.35-0.18mkm texnologiya,-133-200MHs

Əmr/verilənlər Keşi ARM7- (4+4)KB,THUMB-(16+16/32+32)KB

periferiya modullarının CPU-a qoşulması üçün AHB

periferiya modulları:16 bitli taymer,WDT,ADC,DAC,audio giriş/ çıxış kanalları, DMA, kəsilmə ,LCD,CRT kontrollerləri, klavye /mous , paralel giriş/çıxış portları, UART, CAN, SPI, I2C interfeysləri, spiker, monitor, micrafon qoşula bilər

Gövdə:PQFP,BGA tipli

yüksək məhsuldarlıq,aşağı enerji sərfi ARM7 prosessorunda əksər əmrlər 1ədəd ƏD–də yerinə yetirilir.ARM7 nüvəsinin daxili strukturu şək.6.28-də verilmişdir.CPU-nın 3 mərhələli konveyeri hər bir əmri 1 ƏD-də yerinə yetirməyə imkan verir və əmr dövrü=1TCLK.Keçid əmrləri hesabına konveyerin sürətinin aşağı düşməməsi üçün əmrlər sistemi elə təşkil edilmişdir ki,proqramdakı yaxın keçidlər(məsələn,Skip tipli) istisna edilə bilər.PC(Program Counter-proqram sayğacı)-nin məzmunu =cari əmrin ünvanı+8B.Məsələn, “ 0x4000 LDR PC,[PC,$4]” əmri ilə PC=PC+4=0x4000+8+4=0x400C edilir.

ARM7-nin registrləri. ARM7 nüvəsi “load-and-store” (yükləmə və yadda saxlama) arxitekturlu olduğundan emal edilmədən əvvəl verilənlər müəyyən registrə yüklənməli, əməliyyat yerinə yetirildikdən sonra yenidən yaddaşa yazılmalıdır(şək.6.29a).Yəni bütün emal əmrləri yalnız əsas registr faylı ilə işləyir. Əsas registr faylına hər biri 32 bitli olan 16 ədəd GPR (R0-R15) -lər və cari proqram vəziyyəti registri CPSR(Current Program Status Register) daxildir (şək.6.29b). Burada R0-R12 istifadəçi registeri,R13-R15 isə xüsusi funksiyaları yerinə yetirir:

R13—SP(Stac Pointer-statik göstərici),R14—LR(Link Register-əlaqə registri), R15-PC.

Alt proqramlar çağırılarkən qayıdış ünvanı avtomatik olaraq LR –də saxlanılır və qayıdış zamanı oradan PC-ə yüklənir.Bu,bir-birini çağırmayan 1 səviyyəli keçidləri asanlıqla yerinə yetirməyə imkan verir.Çoxsəviyyəli budaqlanan çağırış halında isə LR-nin məzmunu stekdə saxlanmalıdır.Bir çox əmrlərdə R13-R15 –dən adi registrlər kimi istifadə edilə bilər.CPSR registrinin strukturu şək.6.30-da göstərilmişdir.Burada Status bayraqları bitləri əvvəlki əməliyyatın nəticəsinə əsasən təyin edilir,CPU iş rejimi -prosessorun müxtəlif iş rejimlərini əks etdirir. ARM7 nüvəsi 2 tip əmrlər yığımını dəstəkləyir: 32 bitli ARM, yaxud T biti ilə müəyyən edilən 16 bitli Thumb əmrləri. T bitinin vəziyyəti müəyyən əmrlər yerinə yetirildikdə dəyişə bilər,lakin proqramdan birbaşa ona müraciət etmək olmaz.

Tətbiqi proqramlar CPU-nın istifadəçi rejimində yerinə yetirilir.Bu rejimdə proqramdan R0-R15, CPSR registrlərinə müraciət edilir.İstisna hallarında (kəsilmə ,yaddaşa müraciət səhvi) CPU-nın iş rejimi uyğun şəkildə dəyişir.Bu halda R0-R12,R15 olduğu kimi qalır,R13(LR) və R14(SP) isə hər bir rejim üçün unikal olan yeni register cütü ilə əvəz edilir.Beləliklə,hər bir rejim məxsusi LR və SP registerlərinə malik olur.Bundan əlavə sürətli kəsilmə zamanı (FIQ) R7-R12 registrlərinin nüsxələri(əvəzedici) yaranır.Bu, registrlərin məzmununun stekə yüklənilməsinə vaxtı itirmədən FIQ –nin emalına başlamağa imkan verir. User rejimi istisna olmaqla hər bir rejimdə əlavə SPSR(Saved Program Status register-yadda saxlanılmış proqram vəziyyəti registri ) registri vardır. İstifadəçi rejimi zamanı baş verən istisna nəticəsində rejim dəyişir və CPSR registri SPSR-ə yüklənir.İstisna halı emal edildikdən sonra CPSR-nin məzmunu bərpa edilir.

ARM7 əmrlər yığımı. ARM üçün proqramlar C və Assemblerdə yazıla bilər.Lakin daha effektiv proqramlar əmrlər sistemində tərtib edilməlidir.ARM7 CPU elə yaradılmışdır ki,ondan “big-endian-processor”(şək.4.31b) və “little-endian processor”(şək.6.31a) kimi istifadə etmək olar.1-ci halda MSB (Most Significant Bit) 32 bitli kodun yüksək ,2-ci halda isə aşağı hissəsində yerləşir.LPC200 modelində yalnız 2-ci hal dəstəklənir.Lakin istifadə edilən kompilyator hər 2 formatda çevirməni təmin etməlidir.

ARM əmrlərinin xüsusiyyəti ondadır ki,hər bir əmr şərti icra edilməni dəstəkləyir.Ənənəvi MK-lərdə şərti əmrlər yalnız keçid ilə əlaqədardır.ARM7-də verilənlərin emalı əmrlərinin yüksək 4 bitiindəki kod CPSR registrinin Status Flags bitləri ilə müqayisə edilir və onların üst-üstə düşmədiyi halda əmr NOP kimi yerinə yetirilir.Bundan məqsəd konveyerdə əmrlərin fasiləsizliyini təmin etməkdən ibarətdir.Yəni ənənəvi keçid əmrlərində konveyerin silinməsi hesabına sürət aşağı düşməsinin qarşısı alınır. Konveyerdən məcburi olaraq NOP əmrlərinin keçirilməsinin ənənəvi şərti keçid əmrlərinə nisbətən effektivliyinin müəyyən limiti olmalıdır.Bu limit 3 əmrdən ibarət yaxın keçidlərdir.

ARM7-nin bütün əmrləri funksional olaraq aşağıdakı qruplara bölünür:budaqlanma,məlumatın emalı və ötürməsi,bloklu ötürmə,MAC(vurma və cəmləmə) vurma ,proqramlı kəsilmə. Verilənlərin emalı əmrlərinin strukturu şək.6.32-də göstərilmişdir.”İcra şərti “ bitlərində verilən şərtin ödənilməsi CPSR-dəki Status bayraqları vəziyyəti ilə təyin edilir.COP- bilavasitə icra ediləcək əməliyyatın kodunu göstərir.”Status bayraqlarına icazə” sahəsi isə əməliyyatın icrasından sonra Status bayraqları bitlərindən hansının vəziyyətinin dəyişəcəyinə icazə verir.CPU-dakı çoxregistrli dövrü sürüşdürücü (Barrel Shifter) vasitəsilə 2-ci operandın kodu “sürüşdürmə”sahəsindəki məlumata əsasən 32 bitə qədər sürüşdürülə bilər. ARM əmrlərində ”İcra şərti “ sahəsi hesabına müxtəlif əməliyyatların (məsələn,MOV,ADD) bir neçə modifikasiyasını almaq olar(cədvəl 6.6). Nəticədə proqramların effektiv qurulması ilə yanaşı,C dilində yazılmış 1 ifadəni az saylı əmrlərə kompilyasiya etmək imkanı yaranır.

Budaqlanma əmrləri . Baza keçid əmri (B) proqram yaddaşında 32 MB zolağında irəli/geri keçid etməyə imkan verir.Bu əmrin modifikasiyası BL (qayıdış ünvanını saxlamaqla keçid) eyni əməliyyatı yerinə yetirir,lakin PC-nin məzmunu 4-ə vurulmaqla(1 əmr 32 bit) LR-də yadda saxlanılır(şək.6.33a). BL əmrində ”İcra şərti “ sahəsindən istifadə etməklə alt proqramların şərti çağırışı təmin edilir. BX və BLX kimi modifikasiyaların əvvəlki əmrlərdən fərqi T bitinin vəziyyətinin dəyişməsi imkanın olmasıdır(şək.6.33b).

Thumb texnologiyası.Əsas fərqləndirici xüsusiyyətləri:

məhsuldarlıq/dəyər nisbətinin yüksəlməsi,

əmrlərin az saylı və 16 bitli olması,

(0.35-0.18)mkm texnologiya ilə işçi tezliyin 133-300MHs-ə çatması,

kristal daxilində verilənlər və əmrlər üçün ayrı-ayrılıqda keşlərin və MMU bloklarının olması

kristalın makromodelli strukturu

Thumb texnologiyasının ilk modeli ARM920TMI olmuş,sonra isə ARM9 Thumb modelləri yaradılmışdır. Thumb proqramlarının ARM7 nüvəsində icra edilməsi üçün çevrilməsi sxemi şək.6.34-də göstərilmişdir.Şək.6.35-də isə ARM920TMI modelinin daxili strukturu verilmişdir.


Bizi dəstəkləyənlər