MARINE (18-01-09)
کارکرد بنیادی بیشتر ریزپردازندهها علیرغم شکل فیزیکی که دارند، اجرای ترتیبی برنامههای ذخیره شده را موجب میشود. بحث در این مقوله نتیجه پیروی از قانون رایج نیومن را به همراه خواهد داشت. برنامه توسط یک سری از اعداد که در بخشی از حافظه ذخیره شدهاند نمایش داده میشود.چهار مرحله که تقریباً تمامی ریزپردازندههایی که از [ قانون نیومن] در ساختارشان استفاده میکنند از آن پیروی میکنند عبارتاند از : فراخوانی، رمز گشایی اجرا، بازگشت برای نوشتن مجدد.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
بلوک دیاگرامی که نمایشگرچگونگی رمز گشایی يک MIPS32 است.
مرحله اول، فراخوانی، شامل فراخوانی یک دستورالعمل (که به وسیله یک عدد و یا ترتیبی از اعداد نمایش داده میشود) از حافظه برنامه میباشد. یک محل در حافظه برنامه توسط شمارنده برنامه(PC) مشخص میشود که در آن عددی که ذخیره میشود جایگاه جاری برنامه را مشخص میکند.به عبارت دیگر شمارنده برنامه از مسیرهای پردازنده در برنامه جاری نگهداری میکند. بعد از اینکه یک دستورالعمل فراخوانی شد شمارنده برنامه توسط طول کلمه دستورالعمل در واحد حافظه افزایش مییابد. گاهی اوقات برای اینکه یک دستورالعمل فراخوانی شود بایستی از حافظه کند بازخوانی شود. که این عمل باعث میشود ریزپردازنده همچنان منتظر بازگشت دستورالعمل بماند. این موضوع به طور گستردهای در پردازندههای مدرن با ذخیره سازی و معماری مخفی سازی در حافظههای جانبی مورد توجه قرار گرفت. دستورالعملی که پردازنده از حافظه بازخوانی میکند باید معین شده باشد که چه عملی را CPU می خواهد که انجام دهد. در مرحله رمزگشایی، دستورالعمل به بخشهایی که قابل فهم برای قسمتهای پردازنده هستند تفکیک میشود. روشی که در آن مقادیر دستورالعمل شمارشی ترجمه میشود توسط معماری مجموعه دستورالعملها (ISA) تعریف میشود. اغلب یک گروه از اعداد در یک دستورالعمل که شناسنده نامیده میشوند بیانگر این هستند که کدام فرایند باید انجام گیرد. قسمت باقیمانده اعداد معمولاً اطلاعات مورد نیاز برای دستور را در بر دارند، مانند عملوندهای یک عملیات اضافی که در واقع چنین عملوندهایی ممکن است به عنوان یک مقدار ثابت داده شوند(مقدار بیواسطه)، یا اینکه به عنوان یک محل برای مکان یابی یک مقدار، یک ثبات و یا آدرس حافظه که به وسیله گروهی از مدهای آدرس دهی تعیین میگردد داده شوند. در طرحهای قدیمی سهم پردازندهها یی که در رمزگشایی دستورالعملها نقش داشتند از واحد سخت افزاری غیر قابل تغییر برخوردار بودند. اگرچه در بیشتر پردازندهها و ISAهای انتزاعی و پیچیده اغلب یک ریز برنامه دیگر جهت ترجمه دستورالعمل به صورت ترکیب سیگنالهای مختلف برای CPU ها وجود دارد. این ریز برنامه گاهی قابلیت دوباره نویسی را دارد، بنابر این آنها میتوانند برای تغییر نحوه رمز گشایی دستورالعملها حتی پش از آنکه CPU ها تولید شدند اصلاحاتی را مجدداً انجام دهند.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
بلوک دياگرام يک پردازنده ساده
بعد از مراحل فراخوانی و رمزگشایی مرحله اجرای دستور انجام میگیرد. در طول این مرحله قسمتهای مختلفی از پردازنده با هم مرتبط هستند و میتوانند یک عملکرد مطلوب ایجاد کنند. برای مثال اگر یک عملکرد اضافی درخواست شود واحد محاسبه و منطق aluبا یک سری از ورودیها و خروجیها مرتبط خواهد شد. ورودیها اعداد مورد نیاز برای افزوده شدن را فراهم میکنند و خروجیها شامل جمع نهایی اعداد میباشند. alu ثبات پرچمها ایجاد میشود. شامل مجموعهای از مدارهاست تا بتواند عملیاتهای ساده محاسباتی و منطقی را روی ورودیها انجام دهد. اگر فرایند اضافی نتیجه بزرگی برای کارکرد پردازنده ایجاد کند یک پرچم سر ریز محاسباتی در
مرحله پایانی یعنی بازگشت به مکان اولیه و آمادگی برای نوشتن مجدد پس از مرحله اجرا در قسمتی از حافظه به وجود میآید. گاهی اوقات نتایج محاسبات در ثباتهای پردازندههای خارجی نوشته میشوند که اینکار برای دسترسی سریع به وسیله دستورهایی که بعدا به برنامه داده میشود انجام میگیرند. در حالت دیگر ممکن است نتایج با سرعت کمتری نوشته شوند اما در حجم بزرگتر و ارزش کمتر، که این نتایج در حافظه اصلی ذخیره خواهند شد. برخی از دستورات شمارنده برنامه که قابل تغییر هستند نسبت به آن دسته از اطلاعاتی که مستقیما نتایج را تولید میکنند ترجیح داده میشوند. در اصل همگی این موارد خیزش نامیده میشوند و رفتارهایی شبیه حرکت در یک لوپ، زمان اجرای برنامه (در طول استفاده از خیزشهای شرطی) و همچنین روند توابع در برنامهها را تسهیل میدهند. تعداد بسیاری از دستورات وضعیت یک رقم درثبات پرچمها را تغییر میدهند. این پرچمها میتوانند برای تأثیر گذاری در چگونگی عملکرد یک برنامه مورد استفاده قرار گیرند. برای مثال یک نوع از دستورات مقایسهای به مقایسه یک عدد و مقدار موجود درثبات پرچمها رسیدگی میکند. این پرچم ممکن است بعدا با یک دستورالعمل جهشی برای مشخص کردن روند برنامه مورد استفاده قرار بگیرد.
بعد از اجرای دستورالعمل و نوشتن مجدد روی اطلاعات منتجه فرآیند به طور کامل تکرار میشود و با دستور بعدی چرخه به طور معمول مقدار بعدی را از ترتیب شمارشی فراخوانی میکند، که این عمل به دلیل روند افزایشی مقدار شمارنده برنامه میباشد. در پردازندههای خیلی پیچیده تر نسبت به آنچه توضیح داده شد چندین دستورالعمل قابل فراخوانی، رمز گشایی و اجرا به صورت همزمان میباشند. این امر به طور کلی بیان میدارد که چه مباحثی به روش زمانبندی کلاسیک RISC مربوط میشود، که در حقیقت این فرایند در پردازندههای معمولی که در بسیاری از دستگاههای الکترونیکی مورد استفاده قرار میگیرند متداول است. (ریز کنترل کننده یا میکرو کنترولر)
wikipedia
MARINE (18-01-09)
|
دامنه صحیح
روشی که یک پردازنده از طریق آن اعداد را نمایش میدهد یک روش انتخابی در طراحی است که البته در بسیاری از راههای اصولی اثر گذار است. در برخی از کامپیوترهای دیجیتالی اخیر از یک مدل الکترونیکی بر پایه سیستم شمارش دسیمال (مبنای ده) برای نمایش اعداد استفاده شدهاست. برخی دیگر از کامپیوترها از یک سیستم نامتعارف شمارشی مانند سیستم سه تایی(مبنای سه) استفاده میکنند. در حال حاضر تمامی پردازندههای پیشرفته اعداد را به صورت دودویی (مبنای دو) نمایش میدهند که در آن هر عدد به وسیله چندین کمیت فیزیکی دو ارزشی مانند ولتاژ بالا و پایین نمایش داده میشوند.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
ریز پردازنده MOS6502 در بسته دوتایی که به صورت رايج ۸بيتی طراحی شدهاست
علت نمایش دهی از طریق اعداد حجم کم و دقت بالا در اعدادی است که پردازشگر میتواند نمایش دهد. در حالت دودویی پردازندهها , یک بیت به یک مکان مشخص در پردازنده اطلاق میشود که پردازنده با آن به صورت مستقیم در ارتباط است. ارزش بیت (مکانهای شمارشی) یک پردازنده که برای نمایش اعداد بکار برده میشود «بزرگی کلمه»، «پهنای بیت»، «پهنای گذرگاه اطلاعات» و یا «رقم صحیح» نامیده میشود.که البته این اعداد گاهی در بین بخشهای مختلف پردازندههای کاملاً یکسان نیز متفاوت است. برای مثال یک پردازنده ۸ بیتی به محدودهای از اعداد دسترسی دارد که میتواند با هشت رقم دودویی (هر رقم دو مقدار میتواند داشته باشد) ۲ یا ۲۵۶ عدد گسسته نمایش داده شود. نتیجاتا مقدار صحیح اعداد باعث میشود که سخت افزار در محدودهای از اعداد صحیح که قابل اجرا برای نرم افزار باشد محدود شود و بدین وسیله توسط پردازنده مورد بهره برداری قرار گیرد.
دامنه صحیح همچنین میتواند در تعداد مکانهایی از حافظه که قابل آدرس دهی در پردازنده هستند تأثیر گذار باشد. به عنوان مثال اگر یک پردازنده از ۳۲ بیت برای نمایش آدرس حافظه استفاده کند و هر آدرس حافظهای یک بایت (۸بیت) را نمایش دهد، ماکزیمم مقدار حافظه چنین پردازندهای میتواند ۲ بایت یا ۴ گیگا بایت را آدرس دهی کند. این یک نمای ساده از فضای آدرس دهی پردازنده هاست و بسیاری از طراحیها از روشهای آدرس دهی پیشرفته تری مانند استفاده از حافظههای مجازی استفاده میکنند تا بتوانند مکانهای بیشتری از حافظه را آدرس دهی کنند.
سطوح بالا تر دامنه صحیح (رنج کاری) به تشکیلات بیشتری برای رسیدگی به رقمهای افزوده نیازمند است و بنابراین پیچیدگی، اندازه، توان مصرفی و حتی هزینه عمومی بیشتری را در پی خواهد داشت.و این امر به هیچ وجه مقبول نیست. بنابر این استفاده از ریز کنترل کنندههای ۴و ۸ بیتی که در کاربردها پیشرفته مورد استفاده قرار میگیرد متداول تر است. هرچند پردازندههای با دامنه کاری بالاتر (مثل ۱۶، ۳۲، ۶۴ ویا حتی ۱۲۸ بیتی)نیز موجود میباشد. میکرو کنترل کنندههای ساده تر معمولاً ارزانتر بوده و توان مصرفی کمتری دارند و نتیجاتا گرمای کمتری نیز تولید میکنند که همگی این موارد در طراحی قطعات الکترونیکی مدنظر قرار میگیرند. به عنوان مثال سیستم ۳۷۰ شرکت IBM از یک پردازندهای استفاده میکند که در حالت اولیه ۳۲ بیتی است اما در قسمت متغیردرونی خود از ۱۲۸ بیت برای تسهیل و دقت بیشتر استفاده میکند. بسیاری از پردازندههای اخیر از پهنای بیت ترکیبی مشابهی استفاده میکنند، خصوصا زمانیکه پردازنده برای کاربردهای عمومی مورد استفاده قرار میگیرد و نیازمند ایجاد تعادل بین قسمت متغیر و صحیح میباشد.
پالس ساعت
اکثر پردازندهها و در حقیقت اکثر دستگاههایی که با منطق پالسی و تناوبی کار میکنند به صورت طبیعی باید سنکرون یا همزمان باشند. این بدان معناست که آنها به منظور همزمان سازی سیگنالها طراحی و ساخته شدهاند. این سیگنالها به عنوان سیگنال ساعت(پالس ساعت) شناخته میشوند و معمولاً به صورت یک موج مربعی پریودیک (متناوب) میباشند. برای محاسبه بیشترین زمانی که سیگنال قادر به حرکت از قسمتهای مختلف مداری پردازندهاست، طراحان یک دوره تناوب مناسب برای پالس ساعت انتخاب میکنند. این دوره تناوب باید از مقدار زمانی که برای حرکت سیگنال یا انتشار سیگنال در بدترین شرایط ممکن صرف میشود بیشتر باشد. برای تنظیم دوره تناوب باید پردازندهها باید مطابق حساسیت به لبههای پایین رونده یا بالا رونده حرکت سیگنال در بدترین شرایط تاخیر طراحی و ساخته شوند. در واقع این حالت هم از چشم انداز طراحی و هم از نظر میزان اجزای تشکیل دهنده یک مزیت ویژه در ساده سازی پردازندهها محسوب میشود. اگرچه معایبی نیز دارد، از جمله اینکه پردازنده باید منتظر المانهای کندتر بماند، حتی اگر قسمتهایی از آن سریع عمل کنند. این محدودیت به مقدار زیادی توسط روشهای گوناگون افزایش قدرت موازی سازی (انجام کارها به صورت همزمان) پردازندهها قابل جبران است.
با وجود این پیشرفت معماری کامپیوترها، به تنهایی قادر به حل اشکالات عدم همزمان سازی سرتاسری و جهانی پردازندهها نیست. برای مثال یک پالس ساعت تابع تاخیرهای موجود در هر سیگنال دیگر است. پالس ساعتهای بالاتر در پردازندههای پیچیده و ترکیبی برای نگه داریشان در یک فاز (همزمانی) در طول یک واحد، بسیار مشکل ساز خواهد بود. این مشکل بسیاری از پردازندههای پیشرفه را به سوی سیگنالهای ساعت متعیر سوق دادهاست تا بتواند ازتاخیرهای سیگنال-سیگنال جلوگیری به عمل آورد.موضوع مهم دیگر در زمینه پالس ساعت، افزایش چشمگیر میزان گرمایی است که توسط پردازنده تولید میشود.تغییر دائمی کلاک پالسها باعث میشوند تا اجزای بیشتری بدون در نظر گرفتن اینکه آیا در آن زمان مورد استفاده قرار میگیرند یا نه تغییر وضعیت پیدا کنند. به طور کلی جزئی که تغییر وضعیت میدهد انرژی بیشتری نسبت به المانی که ثابت است مصرف میکند. بنابر این وقتی که پالس ساعت افزایش یابد باعث اتلاف گرمای بیشتری میشود و در نتیجه پردازنده نیازمند راه حلهای مناسب تری برای انجام خنک کاریست.
مهندس دست درد نکنه دمت جیز
از این چیزها باحال داشتی بزار
مرسی مهندس
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks