PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقايسه اصولي هسته هاي Cortex-M3 و ARM7TDMI



Division
31-03-2010, 23:03
ARM7TDMI

1- رايج ترين هسته پردازنده 32 بيتي با معماري RISC در جهان هسته ARM7TDMI مي باشدكه باتوجه به معماري و اندازه كوچك آن در ميكروكنترلرهاي ARM استفاده مي شود .

2- معماري اين هسته، معماري قديمي Von Neumann بوده كه برا اساس آن پردازنده از باس Code و Data مشترك جهت دسترسي به حافظه كد (مانند EEPROM و Flash ) و حافظه داده (مانند SRAM) استفاده مي كند . در معماري Von Neumann با اجراي دستوراتي كه با حافظه در ارتباطند، فراخواني دستور تا كامل شدن نوشتن يا خواندن از حافظه متوقف شده و به اين دليل سرعت سيستم خيلي افت پيدا مي كند .

3- حداكثر كلاك سيستم در اين هسته 72MHz بوده و سرعت پردازش 0.95DMIPS/MHz مي باشد .

4- قابليت پشتيباني از دستورات به فرم thumb را دارد (thumb شيوه اي به منظور فشرده سازي دستورات پركاربرد 32 بيتي به صورت 16 بيتي براي كاهش حجم برنامه ولي به ازاي كاهش سرعت اجراي آن مي باشد )

5- توان مصرفي اين هسته در حدود 0.28mW/MHz بوده و مزيت خيلي بارز اين پردازنده بيشتر در سادگي و اقتصادي بودن آن است .

6- از سري ميكروكنترلرهاي ARM كه با اين هسته طراحي شده اند مي توان به مواردي همچون :LPC2300/2400 AT91SAM 7xCxxx , AT91SAM 7Sxxx اشاره كرد كه ساخت شركتهاي ATMEL , NXP مي باشند .



Cortex-M3

1- جانشين برحق هسته ARM7TDMI بي شك هسته قدرتمند Cortex-M3 با معماري RISC مي باشد كه ميتوان از آن به عنوان نسخه اصلاح شده هسته قبلي نام برد .

2- معماري اين هسته، معماري Harvard بوده كه بر اساس آن پردازنده از دو باس جداگانه Code و Data جهت دستيابي به حافظه برنامه و حافظه داده استفاده مي كند به اين ترتيب همزمان با اجراي دستوراتي كه با حافظه برنامه يا داده در حال ارتباطند، پردازنده مي تواند به واكشي دستور بعدي بپردازد كه اين موضوع به افزايش سرعت سيستم در مقايسه با معماري Von Neumann مي شود .
تمام كامپيوتر هاي شخصي و ميكروكنترلرهاي ARM‌كه با هسته هايي نظير ARM926EJ , ARM946E , Cortex-Rx , Cortex-Ax ساخته شده اند ، بر اساس معماري Harvard طراحي شده اند .

3- حداكثر كلاك سيستم در اين هسته 72MHz بوده و سرعت پردازش به 1.25DMIPS/MHz ارتقاء داده شده است .

4- قابليت پشتيباني از دستورات به فرم thumb2 را دارد . (thumb2 ورژن دوم thumb است كه كارايي تراشه را به ميزان %70 افزايش مي دهد)

5- توان مصرفي اين هسته در حدود 0.19mW/MHz بوده كه در مقايسه با هسته ARM7TDMI به ميزان %30 مصرف توان كمتري دارد .

6- از سري ميكروكنترلرهاي ARM كه با اين هسته طراحي شده اند مي توان به مواردي همچون : STM32F101xx , STM32F101xx اشاره كرد كه ساخت شركت ST Micro‌ مي باشند (شركت ST Micro‌ در استفاده از هسته Cortex-M3 پيشقدم بوده است )

farzadsw
01-04-2010, 15:49
مطلب جامعی بود فقط 2 تا اشتباه کوچولو رو تصحیح کنید :
حداکثر فرکانس کرتکس ام3 ، 100 مگ هست (میکروی اتمل )
استتفاده از thumb باعث کم شدن حجم برنامه میشه ولی سرعت رو افزایش نمیده بلکه یکم هم کمتر میشه.

Division
01-04-2010, 16:44
با تشكر ويژه از دوست عزيزم فرزاد جان بايد بگم كه :


استتفاده از thumb باعث کم شدن حجم برنامه میشه ولی سرعت رو افزایش نمیده بلکه یکم هم کمتر میشه.
در حقيقت منظور من اين بود كه :
سرعت اجراي دستورات Thumb در مقايسه با دستورات 32 بيتي پردازنده ARM به ميزان %40 كمتره و اين دستورات در حقيقت حالت فشرده يعني 16بيتي دستورات پركاربرد ARM كه عموماً به صورت 32 بيتيه، هستن . پس در مواردي بهتره كه از اين دستورات استفاده بشه كه حجم برنامه مورد نياز در مقايسه با كارايي سيستم (منظور سرعت) از اولويت بيشتري برخوردار است .
اما باز گفته هاي قبلي اصلاح شد (من نتونسته بودم منظورم رو درست برسونم :0013:)

همون طور كه اشاره كردم فلسفه استفاده از دستورات Thumb به يه دليله كه بر اساس اون در واحد جداگانه اي تحت عنوان واحد رمزگشاي دستورات Thumb ديكد ميشن .
اون دليلم افزايش فضاي حافظه كد (در مقابل كاهش سرعت اجرا)


حداکثر فرکانس کرتکس ام3 ، 100 مگ هست (میکروی اتمل

ولي در مورد فركانس هسته Cortex-M3 مد نظر من بيشتر توليدات اوليه شركت ST بود كه به عنوان اولين شركت در استفاده از اين هسته شناخته شده است و بعد از اين شركت بقيه شركت ها تو محصولاتشون از اين هسته استفاده كردن (مثل اتمل) كه با فركانس كاري بالاتري عرضش كردن .

ehsan_elec
27-10-2012, 16:27
با سلام به دوستان عزيز ، لطفا كمي بيشتردر مورد تفاوت و برتريهاي ATXmega نسبت به آرم هاي شركت NXP ‌با هسته ي CORTEXm3 توضيح دهيد .

pswin
10-01-2013, 14:19
3- حداكثر كلاك سيستم در اين هسته 72MHz بوده و سرعت پردازش به 1.25DMIPS/MHz ارتقاء داده شده است .


حداکثر فرکانس کرتکس ام3 ، 100 مگ هست (میکروی اتمل )

دوستان ما Coretx-M3 هايي هم داريم كه فركانس بالاتر دارن مثل 1769 و يا 1788 . تا اونجا كه من مي دونم فركانس ارتباط خطي با معماري استفاده شده در طراحي چيپ نداره. درسته كه بسته به معماري فركانس ميتونه تغيير كنه. اما اگر معماري x86 رو در نظر بگيريد از فركانسهايي در حد 1 مگ شروع شدن تا فركانسهايي تا حدود 5 گيگا بالا اومدن. مساله فركانس بيشتر بايد به تكنولوژي ساخت مرتبط باشه. متاسفانه چون يك تفكر قبلي در مورد پردازنده ها 8051 و AVR وجود داشت اين مورد در نظر گرفتن فركانس به وجود اومده.


4- قابليت پشتيباني از دستورات به فرم thumb2 را دارد . (thumb2 ورژن دوم thumb است كه كارايي تراشه را به ميزان %70 افزايش مي دهد)
همنطور كه دوستمون هم اشاره كردن. كارايي تراشه در حالت thump كاهش پيدا ميكنه اما حجم فضاي اشغالي فلش بشدت كاهش پيدا ميكنه ( تقريبا 50%). در مورد thump 2 هم اطلاعات زيادي ندارم اما تا اونجا كه مي دونم ويرايش تكميل يافته thump هست.


تفاوتهاي ARM7TDMI و Cortex-M3 خيلي زياده. به عنوان مثال ATM7TMI هفت مد كاري داره. اما Coretx-M3 دو مد كاري داره. و يا ريجيستر پشتيبان در مدهاي كاري Coretx-M3 حذف شده. موارد ديگه هم مثل جدول بردار وقفه و ... هم متفاوت هست. به عنوان مثال كد استارت آپ در ARM7TMDI به صورت زير هست ( مثال زير يك نمونه برنامه ساده با اسمبلي شامل كد اسارت آپ هست):


GLOBAL Reset_Handler
AREA Reset, CODE, READONLY
ENTRY


Reset_Handler
ldr r0, =0x10
ldr r1, =0x20
eor r0,r0,r1
eor r1,r0,r1
eor r0,r0,r1

stop B stop
END

و همون مثال در Cortex-M3:

GLOBAL Reset_Handler
AREA Reset, CODE, READONLY


DCD 0x100 ; Main SP starting value
DCD Reset_Handler
DCD 0x0
DCD 0x0
ENTRY
Reset_Handler
ldr r0, =0x10
ldr r1, =0x20
eor r0,r0,r1
eor r1,r0,r1
eor r0,r0,r1

dmb
stop B stop
END


و شكل آدرس دهي انديس دار و يا موارد مثل اون هم تغيير كرده. البته اين تغييرات رو برنامه نويسهاي C و Keil زياد احساس نمي كنن. اما به هر حال اينها وجود داره.

كاش تاپيكهاي اين چنين داخل تالار راه بي افته و بشكل اصولي اين پردازنده ها رو مورد تحليل قرار بديم. متاسفانه رشته من كامپيوتره و زياد از مباحث برقي سر در نميارم بخاطر همين هم وقتي User Manual رو ميخونم گيج ميزنم. و باز هم متاسفانه داخل تالار همه دارن از كتابخونه هاي آماده مثل CMSIS استفاده ميكنن.