ریز پردازنده ها

داغ:

مقدمه :

از زمان پیدایش پردازنده پنتیوم در عرصه کامپیوتر این پردازنده به سرعت موقعیت خود را در بازار کامپیوتر تثبیت کرده است . پردازنده های پنتیوم در همه جا مورد استفاده قرار گرفته اند . از سیستم های کنترل تا سرویس دهنده های بسیار پر قدرت شبکه ها . پردازنده پنتیوم علیرغم پیشرفتهای فراوان در معماری ساخت با تمامی مدل های قبلی ۸۰X86 سازگاری کامل دارد . در این مقاله ما به بررسی ساختار پنتیوم و اجداد آن یعنی ۸۰۴۸۶TM , 80386TM , 80286TM , 8086TM خواهیم پرداخت.

سراج جمالی – ۱۳۸۳ بیرجند

 

عملیات حالت حقیقی و حالت حفاظت شده :
نخستین پردازنده در خانواده ۸۰X86 پردازنده ۱۶ بیتی ۸۰۸۶ بود که قابلیت آدرس دهی یک مگابایت حافظه را داشت و این پیشرفتی قابل ملاحظه پس از ظهور کامپیوترهای ۸ بیتی در اواخر دهه ۷۰ بود ۲۰ خط آدرس امکان دستیابی پردازنده به یک مگابایت حافظه را فراهم می نمود

مقدمه :

از زمان پیدایش پردازنده پنتیوم در عرصه کامپیوتر این پردازنده به سرعت موقعیت خود را در بازار کامپیوتر تثبیت کرده است . پردازنده های پنتیوم در همه جا مورد استفاده قرار گرفته اند . از سیستم های کنترل تا سرویس دهنده های بسیار پر قدرت شبکه ها . پردازنده پنتیوم علیرغم پیشرفتهای فراوان در معماری ساخت با تمامی مدل های قبلی ۸۰X86 سازگاری کامل دارد . در این مقاله ما به بررسی ساختار پنتیوم و اجداد آن یعنی ۸۰۴۸۶TM , 80386TM , 80286TM , 8086TM خواهیم پرداخت.

سراج جمالی – ۱۳۸۳ بیرجند

 

عملیات حالت حقیقی و حالت حفاظت شده :
نخستین پردازنده در خانواده ۸۰X86 پردازنده ۱۶ بیتی ۸۰۸۶ بود که قابلیت آدرس دهی یک مگابایت حافظه را داشت و این پیشرفتی قابل ملاحظه پس از ظهور کامپیوترهای ۸ بیتی در اواخر دهه ۷۰ بود ۲۰ خط آدرس امکان دستیابی پردازنده به یک مگابایت حافظه را فراهم می نمود .
(۲۲۰ =۱۰۴۸۵۷۶=۱Meg) ظهور پردازنده های پیشرفته پس از ۸۰۸۶ با پردازنده ۸۰۲۸۶ آغاز شد که همه پردازنده ها از آن زمان به بعد خطوط آدرس دهی اضافه ای داشتند . ۸۰۴۸۶ – ۸۰۳۸۶ و پنتیوم همگی ۳۲ خط آدرس دهی دارند که توانایی دستیابی کاربر به ۳۲ ۲ یا ۴۰۹۶ مگابایت حافظه را می دهند . این فضای عظیم آدرس دهی پردازنده های پیشرفته را قادر ساخت که بسیاری از تکنیکهای سیستم های عامل مثلاً چند وظیفه ای را که پیاده سازی آن در کامپیوترهای ۸۰۸۶ مشکل و یا حتی غیر ممکن بود را اجرا نمایند .

پردازنده های پیشرفته سری Intel از ۸۰۲۸۶ به بعد قابلیت اجرا عملیات در دو حالت را داشتند . حالت حقیقی و حالت حفاظت شده در حالت حقیقی ، پردازنده های پیشرفته از جمله پنتیوم به طور ساده مانند ۸۰۸۶ بسیار سریع عمل می نمایند که حداکثر قابلیت دستیابی به یک مگابایت حافظه را دارند . بنابراین کامپیوترهای شخصی در رده پنتیوم که به وسیله Dos راه اندازی می شوند در حالت حقیقی کار می کنند

( تذکر : DOS یک سیستم عامل حالت حقیقی است )

در حالت حفاظت شده تمامی ۴۰۹۶ مگابایت ( ۴ گیگابایت ) حافظه ممکن در دسترس پردازنده می باشد . که این امر امتیازات ویژه و برتری های خاصی به پردازنده می بخشد که این موضوع را در استفاده از چند وظیفه ای – آدرس دهی حافظه مجازی – مدیریت حافظه و حفاظت به وضوح ملاحظه می کنیم . سیستم عامل Windows در حالت حفاظت شده کار می کند که مزایای این تکنولوژی را به همراه دارد . نوشتن برنامه هایی که در حالت حفاظت شده کار می کنند نیاز به یکسری اطلاعات جانبی در مورد سیستم های عامل دارد .

مدل نرم افزاری پنتیوم :
ریزپردازنده پنتیوم چهار ثبات داده ای ۳۲ بیتی که به نامهای EDX , ECX , EBX , EAX خوانده می شود . ۱۶ بیت پایین هر کدام از این ثباتها به ترتیب DX , CX , BX , AX نامیده می شوند که هر کدام می توانند به ثباتهای ۸ بیتی شکسته شوند .

طبیعتاً ثباتهای ۳۲ بیتی زمانی که پردازنده در حالت حقیقی مشغول به کار است به طور کامل قابل دسترسی نیستند . جهت سازگاری و پشتیبانی مدل های قبلی ۸۰X86 تنها ثباتهای ۱۶ بیتی DI, IP , BP , DX , CX, BX , AX در دسترس می باشند .

تکنیک خاصی که می تواند در به کارگیری ثباتهای ۳۲ بیتی مثلاً EAX مؤثر باشد یک مبنای دستورالعمل به دستورالعمل می باشد . تفاوت اندازه بین پنتیوم و سایر کامپیوترهای تجاری به خاطر وجود گروهی از ثباتها به نام ثباتهای سگمنت می باشد . ۶ ثبات سگمنت جهت استفاده در تمام دستیابی ها به حافظه و I/o توسط پردازنده به کار می روند و بایستی به وسیله برنامه نویس استفاده شوند .

سگمنت کد (CS) در طی واکنشی دستورالعمل استفاده می شود . سگمنت داده (DS) اغلب به صورت پیس فرض در هنگام خواندن یا نوشتن داده ها استفاده می شود . سگمنت پشته ای (SS) در حین انجام عملیات پشته ای مثلاً فراخوانی زیر روال یا بازگشت از زیر روال استفاده می شود . سگمنت اضافی (ES) برای خواسته های دیگر برنامه نویس قابل استفاده است . دو ثبات سگمنت اضافه (ES) و (GS) توسط ۸۰۳۸۶ به کار برده شده است که در موارد لزوم استفاده می شوند . تمامی ثباتهای سگمنت ۱۶ بیتی هستند . و در انتها یک ثبات ۳۲ بیتی به نام ثبات پرچم وظیفه ذخیره نتایج محاسبات ریاضی و منطقی را دارد . که پرچم های علامت – صفر شدن حاصل و توازن و پرچمهای دیگری را که فقط در حالت حفاظت شده استفاده می شود نیز وجود دارد . این ۱۶ ثبات در کنار یکدیگر مجموعه جالبی را تشکیل می دهند .

توصیف تابعی پنتیوم :
پردازنده پنتیوم چهره ای از معماری را نمایان ساخته است که سزوار تمجید و تحسین است . پردازنده پنتیوم ماشینی است متشکل از مجموعه ای از قطعات مرتبط به یکدیگر . در قلب پردازنده دو خط ارتباطی عددی وجود دارد . خط ارتباطی U و خط ارتباطی مسؤول اجرا دستورالعمل های ۸۰X86 می باشند . واحد ممیز شناوری نیز به این قسمت ضمیمه شده است تا دستورالعمل هایی را که به وسیله کمک پردازنده های ریاضی خارجی ۸۰X87 اجرا می شوند را اجرا کند . در حین اجرا خطوط ارتباطی V , U قادر به اجرا دو دستور العمل عددی در موارد خاص و یا در حالت کلی یک دستورالعمل ممیز شناور به صورت همزمان می باشند .

پنتیوم از طریق گذرگاه داده ۶۴ بیتی و گذرگاه آدرس ۳۲ بیتی با دنیای خارج ارتباط برقرار می نماید . گذرگاه ، قابلیت خواندن و یا نوشتن پیوسته ۳۲ بیت را در حافظه دارد و به وسیله خط ارتباطی سیکل می توان به طور همزمان دو سیکل گذرگاهی داشت .

جایگاه نهان دستورالعمل با ظرفیت ۸KB جهت دستیابی سریع به دستورالعمل هایی استفاده می شود که متناوباً مورد کاربرد دارند . هنگامی که یک دستورالعمل در این جایگاه یافت نشود آن دستورالعمل از گذرگاه داده خارجی خوانده شده و در جایگاه نهان دستورالعمل کپی می شود تا در دستیابی های بعدی مورد استفاده قرار گیرد . دو حافظه بافر یکی برای مقصد انشعاب و دیگری برای واکشی زودتر از موقع به همراه جایگاه نهان دستورالعمل سرعت واکشی دستورالعمل ها را بالا می برند .

بافر واکشی زود هنگام ۳۲ بایت دستورالعمل را که قرار است زودتر از موعد واکشی شوند پشتیبانی می کند و می تواند در یک سیکل ساعت از جایگاه نهان باردهی شود که این عمل به کمک خروجی گسترده جایگاه نهان دستورالعمل (۲۵۶ بایت ) انجام می پذیرد . پنتیوم تکنیکی را به کار می برد به نام پیش بینی انشعاب که این تکنیک باعث جریان یکنواخت دستورالعمل به داخل خط ارتباطی می شود . جهت پیش بینی انشعاب . بافر مربوط به مقصد انشعاب یک کپی از دستورالعمل ها را در یک آدرس جداگانه که مقصد انشعاب نامیده می شود را نگهداری می نماید .

هم چنین زمانی که یک کد از آدرسی مشخص مورد نیاز باشد بافر مربوط به مقصد انشعاب یک کپی از آن را که در جایگاه نهان دستورالعمل قرار دارد پشتیبانی می کند .

۸ کیلو بایت حافظه نهان داده هایی را که بیشترین تقاضا جهت دستیابی از حافظه را دارند ذخیره می کند از آن جا که دستیابی به حافظه معمولاً بیشتر از یک سیکل زمان مصرف می کند می توانیم داده های حافظه را در یک حافظه نهان با سرعت دستیابی بالا ذخیره نماییم . حافظه های نهان می توانند در دو حالت فعال و غیر فعال همراه نرم افزار و سخت افزار باشند . هر یک از آنها به عنوان مبدل آدرس منطقی به آدرس فیزیکی نیز به کار می روند ( در زمان استفاده از حافظه مجازی ) .

بخش ممیز شناور پنتیوم مجموعه ای از ثباتهای ممیز شناور را پشتیبانی می کند و در زمان اجرا عملیات سریع ریاضی دقتی تا ۸۰ بیت را پوشش می دهد . این بخش طراحی مجددی است از تشابه آن در پردازنده ۸۰۴۸۶ و هم چنین به صورت خط ارتباطی عمل می نماید .

بخش ممیز شناور ، دو خط ارتباطی V , U در هنگام اجرا اعمال آغازین دستورالعمل های ممیز شناور ( مثلاً واکشی عملوندهای ۶۴ بیتی ) و سپس خط ارتباطی مخصوص خود را جهت تکمیل عملیات استفاده می نماید . پس از آن که دو خط لوله به کار رفت یک دستورالعمل ممیز شناور در هر لحظه قابل اجرا خواهد بود .

پردازنده پنتیوم امکانات زیادی را که به منظور افزایش قدرت آن نسبت به مدل های قبلی ۸۰×۸۶طراحی شده است را به عنوان ضمیمه به همراه دارد .

روشهای آدرس دهی در پنتیوم :
در هنگام مراجعه برنامه نویس به حافظه پنتیوم مجموعه اعداد گسترده ای را در اختیار وی قرار می دهد . بسیاری معتقدند که تعداد حالات آدرس دهی موجود در یک ریز پردازنده بیانگر قدرت آن ریز پردازنده است . اگر چنین باشد ، پنتیوم بایستی جزو پرقدرت ترین پردازنده ها باشد . تعداد زیادی حالات آدرس دهی به منظور ایجاد آدرس فیزیکی در حافظه مورد استفاده قرار می گیرد .

فضای آدرس دهی حالت حقیقی :
تمامی حالات آدرس دهی سرانجام یک آدرس فیزیکی که در فضای آدرس دهی پردازنده در محدوده ۰۰۰۰۰ تا FFFFF قرار دارد را ایجاد می کنند .

به عنوان مثال اگر سگمنت داده حاوی ۰۰۰۰ باشد بنابراین آدرسهای ۰۰۰۰ تا ۰FFFF به وسیله استفاده از ناحیه داده قابل ایجاد می باشند . در عوض اگر ثبات DS حاوی ۱۸۰۰ باشد محدوده آدرس دهی از ۱۸۰۰۰ تا ۲۷FFF می باشد . دانستن این امر مهم است که یک سگمنت از هر محدوده ۱۶ بیتی می تواند آغاز شود . بنابراین CCE90, 10800,035AO, 00020 . 00010 , 00000 همگی آدرسهای رشته ای قابل قبول یک سگمنت می باشند .

تمامی ۱۰۴۸۵۷۶ بایت قابل تخصسص به وسیله پردازنده می باشند ( یک مگابایت ) : ناحیه های کوچک فضای آدرس دهی جهت عملیات مخصوص استفاده می گردند . در آخرین محل های حافظه ، آدرس های FFFFF0 تا FFFFF به منظور قرار گرفتن دستورالعمل های آغازین سیستم پس از روشن شدن مجدد استفاده می گردد . در آخرین قسمت سمت دیگر حافظه آدرس های ۰۰۰۰۰ تا ۰۰۳FF جهت ذخیره آدرس های ۲۵۶ وقفه استفاده می گردند .

در اختیار گذاردن چنین فضای آدرس دهی از طرف سازندگان ریزپردازنده ها طراحان را جهت پیاده سازی روشهای جدید و مخصوص در پنتیوم موفق می سازد . به عنوان مثال EPROM همیشه در قسمت بالایی حافظه نگاشت شده است بنابراین دستورالعمل های آغازین راه اندازی CPU در هنگام روشن شدن کامپیوتر به راحتی قابل اجراست .

روشهای آدرس دهی :
ساده ترین روش آدرس دهی بلافصل نام دارد . داده های مورد نیاز پردازنده مستقیماً در دستورالعمل ذکر می شوند به عنوان مثال :

MOV CX, 1024

در بردارنده مقدار ۱۰۲۴ به طور مستقیم است .

این عدد یک عدد دو دویی تبدیل شده و به کد دستورالعمل ضمیمه می شود .

هنگامی که داده بایستی بین ثباتها انتقال یابد آدرس دهی ثباتی استفاده می شود . این روش آدرس دهی بسیار سریع می باشد زیرا پردازنده نیاز به دستیابی به حافظه خارجی ( به جز در هنگام واکشی ) پیدا نمی کند . به عنوان مثال :

ADD AL , BL

باعث می شود که محتویات BL , AL با یکدیگر جمع شده و نتیجه در ثبات AL ذخیره شود .

توجه داشته باشید که هر دو عملوند ذکر شده در دستورالعمل نام ثباتها داخلی پنتیوم می باشند .

برنامه نویس به کمک روش آدرس دهی مستقیم به محلی از حافظه می تواند مستقیماً دسترسی داشته باشد دو مثال از آدرس دهی مستقیم ذکر می شود :

MOV AX. [3000]

و
MOV BL,COVNTER

در هر یک از دو مورد محتوی حافظه در یک ثبات به خصوص ذخیره می گردند . در مثال اول از یک کروشه جهت مشخص نمودن آدرس مورد نظر استفاده می کند دقت داشته باشید که [۳۰۰۰] , ۳۰۰۰ دو معنی متفاوت را دارا می باشند . ۳۰۰۰ به معنی عدد ۳۰۰۰ ولی [۳۰۰۰] به معنی عددی که در خانه ۳۰۰۰ حافظه ذخیره شده است می باشد . در دومین مثال از یک تشابه به نام COUNTER جهت اشاره به حافظه استفاده گردیده است COUNTER بایستی در جایی تعریف شود .

هنگامی که نام یک ثبات در داخل یک کروشه به عنوان یک آدرس ذکر می شود از روش غیر مستقیم ثباتی استفاده گردیده است . به عنوان مثال :

MOV BX , [SI] به پردازنده فرمان می دهد که از یک مقدار ۱۶ بیتی که در SI ( اندیس منبع ) ذخیره شده است به عنوان یک آدرس استفاده نماید .

یک تغییر جزیی در روش قبل باعث ایجاد روشی جدید به نام آدرس دهی اندیسی می گردد که به کمک یک نقطه شروع که بایستی که عملوند ی از حافظه اضافه شود مورد استفاده قرار می گیرد . مثال زیر را در نظر بگیرید .

MOV BX, [SI +10]

محلی از حافظه که به وسیله دستورالعمل مشخص می شود جمع ثبات SI و مقدار ۱۰ می باشد .


پستهای مرتبط

ارسال یک پاسخ

آدرس ایمیل شما منتشر نمی شود.

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>