برنامه های کاربردی که از تراشه پردازمن دیجیتالی سیگنال استفاده می کند، در حال ترقی اند، که دارای مزیت کارآئی بالا و قیمت پایین است، رای یک هزینه تخمین شش میلیارد دلاری در سال 2000 بازار بحد فوق العاده گسترش یافته و فروشنده هم زیاد شد.
زمانیکه شرکتهای تاسیس شده با ایجاد معماریهای جدید، کارآمد، اجرای عالی بر سر سهم بازار رقابت می کردند، تعداد زیادی افراد تازه وارد به بازار وارد شده بودند حوزه معماری پردازش دیجیتالی سیگنال (DSP) بی سابقه است.
علاوه بر رقابت گسترده درمیان فروشنده های پردازنده DSP تهدید جدیدی از سوی پردازنده های همه کاره با تشدید کننده DSP بوجود آمد.
بنابراین فروشنده های DSP برای خارج کردن رقیبان از رده، معماری هایشان را به تأیید رساندند چیزی که پیشرفتهای اخر را در معماری پردازنده DSP را دنبال میکند شامل افزایش تغییر در روشهای معماری در این DSP، و پردازنده های همه کاره می شود.
اجرا از طریق برابر شدن پردازنده های دیجیتالی سیگنال، جزء مهمی از تولیدات مصرفی، ارتباطی، پزشکی و صنعتی محسوب می شوند.
دستورالعملها، قطعات تخصصی آنها باعث شد که آنا در اجری محاسبات ریاضی که در پردازش سیگنالیهای دیجیتالی کاربر دارد، مناسب باشند.
برای مثال، زمانیکه ی DSP از قبیل تکرار ضرب، پردازنده DSP سخت افزار سریع در مضروب فیه دارد، دستورات مشخص در ضرب کردن و مسیر اتصال چندگانه حافظه برای بازیافت عملوند داده چند گانه بطور ناگهانی، وجود دارد.
پردازنده همه کاره این خصوصیات تخصصی را ندارد و مثل اجرای الگوریتم DSP مفید واقع نمیشود.
برای هر پردازنده نرخ زمان سنجی سریع آن یا مقدار زیاد کار اجرا شده در هر دوره زمانی منجر به کامل شدن عملیات DSP میشود سطح بالائی از همانندی به این معنی که توانائی اجرای عملیتهای چند گانه در زمان مصرفی مشابه که اثر مستقیمی به سرعت پردازنده دارد، نرخ زمان سنجیی به تناسب به آن کاهش نمی یابد.
ترکیب همانندی و سرعت زمانی بالا، زمانیکه تولیدات بازرگانی آنها در اوایل دهه 80 به بازار آمد، سرعت پردازنده DSP افزایش یافت.
پردازنده DSP آخرین مدل از شرکت افزار آلات تگزاس، والاس، در دسترس بود، برای مثال، 250 برابر از محصولات سال 1983، سریعتر بود.
بخری از کاربردهای DSP، مثل بی سیم نسل سوم، توانائی پردازنده DSP را افزایش می داد.
هنگامیکه پردازنده ها سرعت را بالا بردند، کاربران همه اسب بخار را مورد استفاده قرار دادند.
بنابراین طراحان پردازنده DSP به توسعه روشهای افزایش همانندی و نرخ زمان سنجی ادامه دادند.
چه تعداد دستور العمل در هر دوره زمانی وجود دارد؟
تفاوت اساسی در میان معماریهای پردازنده این است که چه تعداد دستورالعمل در هر دوره زمانی اجرا می شود.
تعداد دستورالعملهائی که در همانند سازی ایجاد می شود، مقدار کار انجام شده توسط هر کدام، اثر مستقیمی بر سطح همانند سازی پردازنده دارد، که به نوبت نیز بر سرعت پردازنده هم اثر دارد.
پردازنده های DSP تنها یک دستورالعمل را در هر دوره زمانی انجام میدهد و بوسیله دسته بندی چند عملیات در هر ساختار، همانندی بدست می آید.
یک دستورالعمل ممکن است یک عملیات جمع آوری چند گاه را انجام دهد که منجر به تبدیل در دستور اجرائی به دستور ثبت شده می شود و مکان اشاره گر را نمو میدهد.
برعکس پردازنده همه کاره با اجرای بالا مثل gntd Prntium , Motordo معمولاً بوسیله اجرای چند دستورالعمل ساده در هر دوره زمانی همانندی را بدست می آورد.
تفاوت چیست؟
پردازنده DSP معمولاً برای کاربردهای حساس به هزینه، مصرف برق و سایز طراحی میشود.
آنها به معماری های ساده وابسته اند، که برای اجرای ساده ترهستند که بیش از یک ساختار را در هر دوره زمانی انجام می دهد.
بنابراین آنها فضای کم و قدرت کم مصرف میکنند.
یک ساختار چند وسعتی دارد؟
چون مقدار حافظه پردازنده به ذخیره نرم افزار نیاز دارد که نرم افزار آن بر هزینه، سایر و مصرف برق، اثر دارد و ساختار پردازنده DSP به هدف توانا ساختن برنامه های کاهش فضای آن طراحی می شوند.
بنابراین پردازنده DSP یک ساختار نسبتاً کوچکی را استفاده میکند تا عملیاتهای چندگانه را رمزگذاری کند.
زمانیکه این روش، استفاده از حافظه برنامه را مفید می سازد.
دچار مشکل میشود.
اول اینکه دسته بندی عملیاتهای چند گانه همانند سازی به واژه ساختار کوتاه و ساده، به این معنی است که گروه ساختار تمایل دارد که محدود شود و از موارد خاص و محدود شده سر شار باشد.
اغلب بر روی محل حافظه که با عملیاتها مورد استفاده قرار می گیرد و بروی عملیاتها که با دستورالعمل ساده ترکیب می شود.
محدودیت های وجود دارد.
برای حفظ ترکیبات ؟؟
زیادی را محل حافظه و عملیاتها بیست تای کافی در کلمه دستورالعمل وجود ندارد.
این مجموعه های دستورالعملهای پیچیده سخت مترجم زبان در سطح بالا را برای پردازنده، سخت می کند.
اکثر افرادی که پردازنده DSP برنامه نویسی قرار دادی هستند ( برعکس کسانیکه بحری بخش پر؟؟
مرکزی یا ی DSP) قابلیت حمل دارد و سهولت برنامه ریزی 1 با زمان در سطح بالا صورت می گیرد و در عوض در زبان مشابه کار می کند، که این تنها روش برای کنترل توانائی های پردازنده است.
این یکی از فواید پردازنده DSP است، همانطور که در پردازنده های همه کاره مترجم، رقابت رشد کرده است.
یک جایگزین برای فشرده سازی عملیاتهای در یک دستورالعمل ساده، بوسیله استفاده از روش معمول در میان پردازنده های همه کاره است: مثل، یک عملیات برای هر دستور العمل، استفاده یک گروه از دستورالعملها در همانند سازی است که روش چند موضوعی نامیده میشود.
بنابراین برای مثال، دستورالعمل چند کاره میتوان به پنج دسته تقسیم شود.
یک MAC، در حرکت، در اشاره گر نشانی هر کدام از دستورالعملها، خیلی ساده هستند.
اما با اجرای آنها بطور همزمان، پردازنده همانندی مشابه ای را منجر می شود.
دو مزیت این روش، افزایش سرعت و ترجمه که مربوط به هزینه پیچیدگی معماری میشود.
بخاطر استفاده از دستورالعملهای ساده برای ساده کردن مراحل رمز گشائی، اجرائی، سرعت، افزایش می یابد و این افزایش سرعت زمانیکه سطح مشابه یا سطوح بالاتر از عملیات هماند سازی خط شود سرعت اجرائی پردازنده چند منظوره چند برابر ( 2 یا 3 برابر) پردازنده ساده میشود.
این روش پردازنده هممه کاره بعنوان پنیتوم و سرعت ساعت PowerPC از آنچه در پردازنده های امروز دیده می شود، در سطح بالاتری است.
این روش منجر به پیشرفته دستگاههای کامپلایر میشود، زمانیکه این کامپلایر، توانائی درک بهتر دارند و در دستورالعملهای ساده استفاده میشود.
بهر حال، اجرای یک معماری چند گانه، ممکن است مورد توجه باشد زیرا این بعنوان روشی باری ترفیع در اجرای یک معماری مورد استفاده قرار می گیرد.
برای مثال پنیتوم نرم افزار نوشته شده برای معمالی 486 اخیر را اجرا می کند، اما در هر دوره ( در حد ممکن) دو دستورالعمل را بیشتر از یک دستورالعمل اجرا می کند.
بر همین اساس، مصرف کننده می تواند اجرای سیستم را بدون کامپایل مجدد کردن، توسعه دهد.
بر همین اساس، مصرف کننده می تواند اجرای سیستم را بدون کامپایل مجدد کردن، توسعه دهد.( موضوعی مهم برای کاربران PC که به منبع کد کاربری نرم افزار دسترسی ندارند) پردازنده های چند کاره، برای اجرای یک بخش داده شده از نرم افزار به دستورالعملهای بیشتری نیاز دارد.
زمانیکه هر دستورالعمل از این پردازنده های DSP ساده ترند.
دستورالعملهای بیشتری برای اجرای مقدار کار مشابه به مورد نیاز است.
بعلاوه معماریهای چند کاره اغلب از دستورالعملهای عریض بیشتر استفاده می کنند، DSP عرض افزایش یافته ( مثل، 32، میت نسبت به 16 میت) برای محدودیتهای موجود بر روی محل حافظه برای عملیاتها مورد استفاده قرار می گیرد(عریض کردن کلمه دستورالعمل، ساختارهای متمایز بیشتری را مشخص می کند که باعث حفظ ترکیبات میشود) حذف این محدودیت ها، ایجاد یک کامپایلر موثر برای پردازنده خیلی ساده می شود.
بهر حال، حافظه کم بوسیله پردازنده استفاده می شود، زیرا حافظه بر سایز، هزینه و برق مصرفی آن اثر دارد.
از اینرو، واقعیت این است که معماری چند منظوره اغلب در اکثر کاربردهای DSP به برنامه بیشتری نیاز دارد.
جائیکه اجرا راننده نهائی است.
معمار DSP تمایل دارد که جریمه روشهای چند منظوره را در طرح DSP بپذیرد.
بهرحال، معمار پردازنده DSP، تشخیص میدهد که مصرف کننده هایشان برای کامپایلرهای با کیفیت، که نقطه ضعف DSP نام دارد، سمت کامپیوتر با دیسک سخت می روند.
وقتیکه کاربردهای DSP از صدها خطوط کد به ده هزار خط میرسد، سود برنامه ریزی در زمان سطح بالا عامل موثری باری انتقال DSP به معماری چند منظوره میشود، همانطور که قبلاً ذکر کردیم، اغلب پردازنده های همه کاره، از معماری های چند منظوره استفاده می کند.
DSP های چند منظوره، از معماری استفاده می کنند که کلمه دستورالعمل خیلی طولانی (VL IW) نامیده می شود، که برای اجرای برابر، دستورالعملها دسته بندی میشوند، برای مثال، ابزار آلات تگزاس VL IW کور *** TMS 320C6، تا 32 بیت اجرا می شود بعنوان قسمتی از کلمه دستورالعمل که VL IW به عرض 256 بیت می رسد، VL IW یکی از دو نوع معماری چند منطوره است.
دیگری که بعنوان سنجش خوب در نظر گرفته می شود و روشی است که در اکثر پردازنده های همه کاره، مورد استفاده قرار می گیرد.
این دو روش در دستورالعملهای دسته بندی شده برای اجرای همانند، تفاوت میکنند.
معماری اخیر UL TW DSP شامل StarCore Sc140 ( از سیتم های agere و موتور الا) در معماری VL IW ، برنامه ریز زبانی یا کامپایلر باید تخصصی شود که این دستورالعملها در همانند سازی اجرا خواهد شد، براساس منابع- مثل ثبات- که موجود بود، وابسته های اطلاعاتی مثل دستورالعملها و دیگر ملاحظات اجرا می شوند.
این منابع در هنگام اجرای تشخیص داده می شود.
به عبارتی تغییرات پردازنده سنجش عالی، زمان بندی دستورالعملها برای برنامه ریزی یا کامپالیر پردازنده را به دنبال دارد.
نقطه نظر برنامه ریز پردازنده VL IW اغلب در برنامه ریزی زبان دستورات که اسمبلی، بشدت نیرنگ می زند، زیرا برنامه ریز برای دنبال کردن یک مسیر در بخش اجرای چندگانه بر روی تراشه و زمان بندی دستورالعملهای چند منظوره در اجرای همانندی، تلاش زیادی می کند.
کمپانی فروش TI، پردازنده DSP VL IW، این موضوع را بیان کردند طراحی کامپایلر پیشرفته امروزی، هزینه های عمومی را در بر دارد و به برنامه ریزان اجازه می دهد در زبان سطح بالا کار کنند بهرحال، این هنوز موردی است که کامپایلرها، حتی پردازنده های VL IW- بطور کلی نرم افزار نساختند که به خوبی و به شدت تولیداتی است که برنامه ریزان ماهر، طراحی می کنند.
روش سوبراسکالر، امکان ایجاد سازگاری دو تائی را بین تولید معماری پردازنده ممکن می سازد.
برعکس تولید متفاوت از معماری VL IW منجر به تولید سازگاری دو تائی نمی شود.
زمانیکه اطلاعات مربوط به دسته بندی دستورالعملها در کد دوتائی قرار میدهند.
بنابراین، پردازنده های VL IW محور برای حمایت بیشتر ( یا کمتر) از دستورالعملها که در همانند سازی اجرا می شود، به نرم افزار کامپایل مجدد برای تولیدات بعدی معماری نیاز دارد.
طرفداران روش “سوپراسکالر” می گویند که این، برنامه نویس یا نرم افزار نویس در تشخیص اینکه کدام دستورالعمل می تواند اجرا شود، آزاد هستند، در نتیجه، کاهش پیچیدگی برنامه ها و افزایش کارآئی کامپایلر در پی داریم..
معهذا، دستیابی به اجرای مطلوب در یک پردازنده سوپر اسکالر، اغلب به دستورالعملهای مرتب شده نیاز دارد، بنابراین پردازنده آنها را به درستی دسته بندی می کند که در این مورد برنامه نویس یا کامپایلر مسئول دسته بندی کردن دستورالعملها هستند.
پیش بینی زمان اجرا اشکال مهم روش سوپر اسکالر در کاربردهای DSP این است که برنامه نویس ممکن است دقیقاً نداند که چه دستورالعملهائی برای اجرای همانند سازی دسته بندی شده اند و بنابراین ممکن است نتواند پیش بینی کند که دقیقاً در چند دوره زمانی انجام پذیر است.
پردازنده ممکن است مجموعه مشابهی از دستورالعملها بطور متفاوتی در زمانهای مختلف در اجرای برنامه ها دسته بندی شوند.
برای مثال، ممکن است برای رفعه اول دستورالعملها به یک روش دسته بندی شوند و برنامه کامل شود و سپس به روش دیگری برای تکرار بعدی دسته بندی شوند.
اگر برنامه زمان واقعی را بداند کمبود زمان اجرا می تواند یک شکل جدی باشد.
البته، برنامه نویس می تواند بدترین وضع زمان و برنامه را در نظر بگیرد، اما اجرای پردازنده استفاده نشده باقی بماند، ( نکته اینجاست که شکل خاص، موضوعی در پردازنده مورد استفاده PC نیست، زمانیکه کاربردهای PC، مثل نرم افزار را سخت می کند.
در کاربردهای DSP که محدودیت های سختی بر مصرف حافظه و مصرف انرژی وجود دارد، بهینه سازی نرم افزار مهم است یک برنامه نویس که به راحتی نمی تواند اثر تغییرات نرم افزاری را بر روی زمان اجرای برنامه پیش بینی کند، تشخیص اینکه آیا این بهینه سازی منجر به پیشرفت در اجرا می شود یا نه، مشکل خواهد شد.
در این مورد بهینه سازی نرم افزاری، یک فرآیند آزمون و خطاست و نیتجه از مطلوب بودن دور است.
پیشرفت بر راه کار اگر چه معماری VL IW نسبت