دانلود مقاله ریزپرازنده Microprocessor

Word 93 KB 372 47
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • مقدمه در اواسط دهه 70 ریزپردازنده ها ساختار ساده ای داشتند و در این زمان هر ریزپردازنده از یک واحد پردازشگر مرکزی (cpu) و یک تراشه LSI (شامل 5/000 ترازیستور) تشکیل شده بود و با فرکانس 1 تا 5 مگاهرتز در یک سیستم 8 بیتی کار می کرد و این ریزپردازنده ها دارای 2 الی 7 ثبات 8 بیتی بودند.

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

    با ظهور ریزپردازنده ها هر خانه ای دارای یک کامپیوتر دیجیتالی است.

    از دهه 70 به بعد ریزپردازنده ها تغییرات زیادی کرده اند و در دهه 90 ریزپردازنده ها 32 بیتی تا 64 بیتی شدند.

    و با فرکانس هایی از 25 تا 200MHZ کار می کردند و عملاً دارای تراشه هایی با سه میلیون ترازیستور بودند (VISI).

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

    تمامی ریزپردازنده‌های پیشرفته دارای یک تراشه FPU هستند و اکثر آن ها دارای 16تا 32 ثبات همه منظوره در cpu و یک رجیستر فایل با 32 ثبات برای IU و یک رجیستر فایل با 32 ثبات جداگانه برای FPU هستند.

    خیلی از ریزپردازنده ها برای عملیات شناور و عملیات صحیح دارای Operational Unit هستند و مقدار قابل توجهی Cache دارند.

    در اکثر آنها Cache شامل Cache داده و Cache دستورالعمل است .

    کارآیی ریزپردازنده های پیشرفته امروز مساوی یا بیشتر از Mainframe و یا سوپر کامپیوترهای دوران قبل می باشد.

    تعداد زیادی کارخانه سازنده ریزپردازنده وجود دارد که دارای ویژگی های خاص خود می باشند و دو گروه از گسترده ترین خانواده ریزپردازنده که در دهه 70 ساخته شده اند عبارتند از اینتل X86 یا 80X86 و خانواده موتورولا M680X0.

    نزدیک به دهه 80 ما شاهد یک توسعه موازی روی معماری های جدید بوده ایم که تمایل به کامپیوترهائی با مجموعه دستورالعمل کاهش یافته یا RISC بوده اند.

    خانواده های اینتل X86 و موتورولا M68000 از کلاس غیرRISK یعنی کامپیوترهایی با مجموعه دستورهای پیچیده یا CISC تشکیل شده اند.

    اینتل، یک ریزپردازنده 4 بیتی به نام 4004 در سال 1971 شروع کرد که در یک ماشین حساب معمولی بکار میرفت، و به آسانی محاسبات BCD را انجام میداد.

    در سال 1972 ریزپردازنده 8 بیتی 8008 توسعه یافت و در سال 1974 یک ریزپردازنده قدرتمند 8 بیتی به نام 8080 تولد یافت و به دنبال آن 8085 در سال 1976 به بازار آمد.

    بخشی از معماری 8085/8080 همانند مجموعه ثبات ها در خانواده X86 همچنان استفاده می شود.

    اینتل ساخت ریزپردازنده های خانواده X86 را با یک ریزپردازنده 16 بیتی به نام 8086 در 1978 آغاز کرد و عملاً تمامی کارخانه های معروف ریزپردازنده های 16 بیتی بعد از دهه 70 و تا نزدیک دهه 80 از یک تراشه ارزان قیمت و یک گذرگاه خارجی 8 بیتی با یک معماری داخلی 16 بیتی استفاده می کردند.

    در سال 1969 ریزپردازنده 8080 با باس خارجی 8 بیتی و گذرگاه داخلی 16 بیتی ایجاد شد و برای گذرگاه داده خود 50% به تراشه های میانی کمتری در مقایسه با پردازنده های 16 بیتی نیاز داشتند و هزینه آن ها نیز کمتر بود.

    در واقع 8080 به پردازنده اصلی شرکت IBM روی کامپیوتر های شخصی (PC) تبدیل و در تمامی تولیدات بعدی در جهان منتشر گردید.

    به دنبال 8086، تکامل یافته آن یعنی 80186 ساخته شد که همان 8086 همراه با تعدادی اینترفیس I/O و واحدهای منطقی وی یک تراشه بود و تعداد کمی دستورالعمل به آن اضافه شده بود.

    وقتی 80286 به عنوان یک ریزپردازنده 16 بیتی در سال 1982 شناخته شد، مرحله جدیدی در توسعه ریزپردازنده ها پدید آمد که قابلیت Protected mode نامیده شد.

    این شویه در تمامی محصو.لات دیگر خانواده اینتل بکار گرفته شد.

    اولین پردازنده 32 بیتی اینتل در سال 1985 بود که i386 نام داشا.

    اینتل یک پردازنده 32 بیتی به نام 432 که با خانواده X86 ناسازگار بود را زودتر از دهه 80 بیرون داده بود که هرگز تجاری نشد.

    در سال 1989 ریزپردازنده i486 توسعه یافت که سرعت عملکرد آن در مدل DX2 به 66MHZ میرسید.

    i486 دارای یک واحد FPU و یک Cache به اندازه 8KB در داخل تراشه است.

    محصول بعدی خانواده اینتل پنتیوم بود که در سال 1993 ساخته شد و قبل از گسترش به آن i586، P5 گفته می شد اما اینتل تصمیم گرفت نام آن را ذپنتیوم بگذارد.

    پنتیوم یک سوپر اسکالر دو سطحی است یعنی دو دستورالعمل را موازی واکشی و کدگشایی و اجرا می کند و دارای گذرگاه داخلی 64 بیتی و یک cache به اندازه 16KB است (8K data cache + 8K inst.cache) اینتل مرتباً روی محصولات بعدی کار می کرد و P6 نامیده شد که طبق وعده آن کارآیی پنتیوم را حد اقل 2 برابر کرد و پس از آن به ترتیب Pentium II، Pentium III و Pentium IV نیز ساخته شدند.

    توسعه ریزپردازنده های موتورولا نیز شبیه اینتل است.

    موتورولا در سال 1974 خانواده 8 بیتی 6800 را ایجاد کرد که در سال 1977 به یک محصول 8 بیتی ویژه به نام 68096809 تبدیل شد.

    موتورولا ذنخستین ریزپردزنده 16 بیتی خود را در سال 1979 به نام M68000 به بازار عرضه کرد.

    از ویژگی های اسم خانواده M68000 آن است که ریزپردازنده MC68000 به طور پایه ای یک سیستم 16 بیتی با گذرگاه دارد.

    16 بیتی و 16 ثبات پردازنده Gaps و شمارنده برنامه 32 بیتی است.

    در سال 1984 ریزپردازنده 32 بیتی MC60000 نامیده شد.

    هم چنین موتورولا روایت های توسعه یافته محصولات MC68000 را تحت عنوان MC68010 .و MC68012 ایجاد کرد.

    MC68010 از نظر پایه ها کاملاً با MC68000 سازگار بود بنابراین از نظر طراحی سیستم، یک MC68000 می توانست با یک MC68010 جایگزین شود.

    موتورولا ساخت ریزپردازنده های 32 بیتی خانواده M68000 را در سال 1984 با نام MC68020 شروع کرد.

    این ریزپردازنده ها در سال 1978 به ریزپردازنده MC68030 و در سال 1989 به MC68040 توسعه پیدا کردند.

    68020 دارای یک Cache دستور کوچک 256 بایتی در داخل تراشه بود.

    68030 دارای یک حافظه Cache دستور کوچک 256 بایتی در داخل تراشه بود.

    68030 دارای یک حافظه Cache دوگانه نسبتاً کوچک (256 data + 256 B inst.) .و 68040 دارای Cache 4KB دستور و Cache 4KB داده در یک تراشه می باشد.

    عضو بعدی خانواده M68000 که در سال 1994 ساخته شد MC68060 نام گرفت که یک سوپر اسکالر 2 سطحی با Cache 8KB دستور و Cache داده در تراشه بود و دستورالعمل ها با سرعت 66MHZ کار می کرد.

    البته چندین خانواده از ریزپردازنده ها وجود دارد که به آن ها اشاره اندکی خواهد شد.

    مانند Z-80 مربوط به شرکت Zilog که ریزپردازنده معر وف 8 بیتی است و توسط گروهی از طراحان متخصص اینتل که 8080 و 8085 را شاخته بودند ایجاد شد و از اینرو Z-80 شبیه معماری اینتل 8080 است ولی زبان اسمبلی هر دو متفاوت می باشد و Z-80 دارای دستورهای بیشتری نسبت به 8080 است.

    شرکت Zilog خانواده 16 بیتی خود را با نام Z8000 موازی با اینتل 8086 منتشر کرد و Z80000 یک محصول 32 بود که به تولید نرسید.

    توسعه ریزپردازنده های RISC به شکل مو ازی با اینتل و موتورولا انجام شد.

    اولین مستندات RISK درز دانشگاه برکلی در سال 1980 توسط Pattersonو Ditzel ارایه شد و لغت RISK توسط کارلو اسکوئین لرپرت اولین مقاله RISK عنوان شد.

    طراحیس سیستم محاسباتی از نوع RISK بدون استفاده از واژه RISK خیلی پیشتر توسط IBM در دهه 70 آغاز شد که با نام IBM801 شناخته می شد.

    هم چنین دانشگاه استنفورد در سال 1981 سیستم RISK خود را ایجاد کرد و به نام MIPS (Microprocessor without interlocked Pipeline Stage) نامید.

    شرکت MIPS روایت های تجاری را تحت خانواده RX000 (X=6,4,3,2,) منتشر ساخته است.

    در برخی از خصوصیات اولیه طرح RISK برکلی در Sparc از شرکت Sun Micri System به کار رفته است.

    شرکت اینتل خانواده خود را با نام ROMP (Research Office Product Diriscow MicroGssor) ادامه داد و به اپل ترکیب شد و Power PC ساخته گردید.

    اولین محصول 601 است که در 1991 منتشر شد و به دنبال آن 620 با توانائیهای بیشتری ایجاد گردید.

    Intel 8086 در این فصل معماری داخلی، شیوه های آدرس دهی، مجموعه دستورالعمل ها و تکنیک های I/O مرتبط با ریزپردازنده 8086 را معرفی خواهیم کرد.

    مقدمه 8086 اولین ریزپردازنده 16 بیتی اینتل بود.

    طراحی آن بر اساس 8080 ولی مستقیماً با آن سازگار نبود.

    8086 با استفاده از فناوری HMOS طراحی شده بود و شامل 29000 ترانزیستور بود.

    8086 در یک بسته 40 پایه ای قرار داشت و با منبع تغذیه +5V کار می کرد.

    8086 در سه مد و سرعت مختلف Clock کار می کند.

    8086 استاندارد با فرکانس کلاک داخلی 5MHZ و 8086-2 و 8086-4 با فرکانس های داخلی به ترتیب 4MHZ , 8 کار می کنند.

    به همین دلیل از یک مولد / دراپو.ر تراشه مثل Intel 8284 برای تولید سیگنال کلاک 8086 استفاده می شود.

    8086 کلاک خارجی در پایه CLK را به 3 تقسیم می کند.

    این جمله به این معنی است که برای کلاک داخلی 5MHZ، 8284 باید کلاک خروجی 15MHZ را تولید کند تا به پایه CLK تراشه 8086 متصل شود.

    8086 دارای آدرس 20 بیتی است و از اینرو می توان حداکثر تا 220 dh 1MB از حافظهرا آدرس دهی کند.

    8086 از حافظه قطعه بندی شده استفاده می کند.

    نکته جال توجه در 8086 این است که می تواند حداکثر تا 6 بایت دستورالعمل را از حافظه پشی واکشی (Pre Fetch) کند و آن ها را به ترتیب به صف کند و بدین ترتیب سرعت اجرای دستورالعمل را بهبود بخشد.

    حافظه ریزپردازنده دبر اساس 8086 برحسب بایت پیکره بندی می شود.

    هر بایت می تواند منحصراً با آدرس های 20 بیتی 0000016->FFFFF16 آدرس دهی شود.

    هر کلمه 16 بیتی 8086 شامل هر دو بایت مجاور یکدیگر است.

    بایت آدرس کمتر (L.O.B) و بایت آدرس بیشتر (H.O,B) به شکل زیر می باشند: بنابراین کلمه 16 بیتی ذخیره شده در آدرس زوج 00520عبارت است از: 260716 اکنون کلمه ای را با آدرس فرد در نظر بگیرید: کلمه ذخیره شده در آدرس فرد 0125716 عباتست از 3FOSH معماری 8086 شکل زیر نمودار بلکوکی معماری داخلی 8086 را نشان می دهد: همانظوری که در شکل می بینیم، ریزپردازنده 8086 از نظر داخلی به دو بخش تابعی جدا تقسیم می شود.

    این دو بخش واحد واسط گذرگاه (BIU) و واحد اجرا (Eu) می باشند.

    واحد BIU دستورها را واکشی می کند، داده ها را از حافظه و پورت ها میخواند و داده ها را به حافظه و پورت های I/O می نویسد.

    Eu دستورهایی را که اخیراً توسط BIU واکشی شده اند را اجرا می کند.

    وظایف واحدهای BIU و Eu از یکدیگر مستقل هستند.

    BIU پردازنده 8086 را به دنیای بیرون مرتبط می سازد.

    BIU تمامی عملیات گذرگاه خارجی را آماده می سازد.

    BIU شامل ثبات های سگمنت، اشاره گر به دستور (IP)، صف دستورالعمل و مدارهای کنترل گذرگاه و تولید آدرس می باشد و اعمالی چون واکشی و صف بندی دستورها و کنترل گذرگاه را انجام میدهد.

    جهت دستور BIU به شکل FIFO است و گروهی از ثبات هایی است که شامل 6 بیات کد دستور واکشی شده از جافظه هستند.

    این امر با توجه به تسریع (Speedup)، اجرای برنامه را با همپوشانی (Over latting) واکشی دستور با اجرا انجام میدهد.

    این مکامیزم را به عنوان پایپ اوین می شناسیم.

    چنانچه صف پر باشد و Eu برای دستیابی بحافظه درخواستی به BIU ندهد، BIU هیچ سیکل گذرگاهی را انجام نمی دهد.

    از طرف دیگر، اگر BIU پر نباشد و حداقل بتواند دو بایت را ذخیره سازد و Eu درخواستی را برای دستیابی بحافظه ندهد، BIU می تواند دستورالعمل ها را پیش واکشی کند.

    هرچند که اگر BIU برای دستیابی بحافظهع توسط Eu وقفه داده شود درحالیکه BIU در حال پردازش واکشی یک دستورالعمل باشد، BIU ابتدا واکشی را کامل می کند و سپس به Eu سرویس می دهد.

    چنانچه دستوری مانند Jump یا Subroutine Call داشته باشیم، BIU صف را reset میکند و پر کردن مجدد را پس از ارسال دستور جدید به Eu از نو شروع خواهد کرد.

    همانطوری که می بینیم BIU شامل یک جمع کننده اختصاصی است که برای تولید آدرس 20 بیتی استفاده می شود.

    منطق کنترل گذرگاه BIU تمامی سیگنال های کنترل گذرگاه همچون سیگنال های خواندن و نوشتن را برای حافظه و I/O تولید می کند.

    BIU دارای چهار ثبات سگمنت 16 بیتی است.

    این ثبات عبارتند از: ثبات سگمنت کد (CS) (2 بایت) 28=256 ثبات سگمنت داده (DS) ثبات سگمنت پشته (SS) ثبات فوق العاده (ES) حافظه یک مابایتی 8086 به سگمنتهایی حداکثر تا 64KB تقسیم یمشود.

    8086 می تواند مستقیماً چهار سگمنمت را در یک زمان ویژه (256 کیلوبایت در حافظه یک مگابایتی) آدرس دهی کند.

    برنامه ها دستیابی به کد و داده را در سگمنت ها با تغییر محتویات ثبات سگمنت برای اشاره کرن به سگمنت های مطلوب، فراهم می سازد.

    تمامی دستورالعمل های جافظه باید در حافظه اصلی ذخیره شوند که توسط ثبات 16 بیتی CS و افت 16 بیتی در سگمنتی که در اشاره گر دستور (IP) 16 بیتی گنجانده شده به آن ااشره می شود.

    BIU آدرس فیزیکی 20 بیتی داخلی را به وسیله آدرس منطقی فراهم شده توسط برنامه نویس (16 بیت CS و 16 بیت IP) تولید می شود.

    این کار با شیفت منطقی چهار بیتی CS به چپ و افزودن محتوای 16 بیتی IP تولید می شود.

    به عبارت دیگر CS توسط BIU برای تولید آدرس فیزیکی 20 بیتی در 16 ضرب می شود.

    به این معنی که تمامی دستورالعمل های برنامه نسبت به محتوبات CS در 16 ضرب شده و سپس به آفت به دست آمده از 16 IP بیتی اضافه میشود.

    دقت کمید که برای آدرس های کلمه، برنامه نویس از آدرس های مرتبه کمتر (زوج یا فرد) برای مشخص ساختن کلمهع 16 بیتی استفاده می کند.

    8086 همیشه به یک کلمه 16 بیتی به .

    از حافظه دستیابی پیدا می کند.

    8086 می تواند در صورتیکه اولین بایت کلمه در آدرس زوج واقع شده باشد، در یک عملیات کلمه 16 بیتی را بخواند.

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

    در این حالت 8086 از بایت یا بایت هایی که مورد نظرش نیست صرفنظر می کند.

    بطور مثال، دستو.ر ADDR و MOV BX را در نظر بگیرید.

    دقت کنید وجود X (H یا L) به دنبال ثبات 8086 نشان دهنده آن است که انتقال 16 بیتی یا 8 بیتی است.

    این دسته محتوای مکان حافظه 20 بیتی آدرس دهی شده فیزیکی را که توسط ADDR آدرس دهی می شود به ثبات 16 بیتی BX منتقل می کند.

    اگر ADDR آدرس 20 بیتی زوج مثل 3002416 باشد دستور MOV محتوای BL را با محتوای خانه حافظه 3002416 و محتوی ثبات BH را با محتوی آدرس 3002516 در یک بار دستیابی پر می کند.

    اما اگر از ADDR در آدرس فرد مثلاً 4000516 باشد، دستور فوق BL را با محتوای 4000516 در و BH را با محتوی 4000616 در دو بار دستیابی حافظه Load می کند.

    دقت کنید 8086 به آدرس 4000416 و 4000516 دستیابی می کند ولی محتوی 4000416 را کنار می گذارد و نیز در عمل دوم به 4000416 و 4000716 دستیابی می کند ولی محتوی 4000416 را کنار می گذارد و نیز در عمل دوم به 4000616 و 4000716 دستیابی می کند ولی از محتوای 4000716 چشم پوشی می کند.

    اکنون دستوری مانند ADDR و MOV BH را در نظر بگیرید.

    اگر ادرس ADDR زوج (مثل50002) باشد، این دستور MOV به هر دو خانه 50002 و 50003 دستیابی می کند ولی BH را با محتوای 50002 پر کرده و از محتوی 50003 صرفنظر می کند.

    اما اگر ADDR در آدرس فرد باشد (مثل 5003) دستور MOV ثبات BH را با 50003 پر کرده و از 50002 صرفنظر می کند.

    خانواده 8086 دارای دو نوع ریزپردازنده 16 بیتی است: 8086 و 8088.

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

    8088 دارای یک مسیر داده (data patch) 8 بیتی به حافظه I/O است ولی 8086 دارای یک مسیر داده خارجی 16 بیتی در حافظه است.

    البته در بیشتر حالات این دو پردازنده مشابه هستند.

    از 8088 در طراحی کامپیوترهای شخصی IBM استفاده شده است.

    8086 می تواند به شکل یک سستم تک پردازنده کوچک (می نیمم مد در صورتیکه پایه MN/MX به high تنظیم شود) و یا به شکل یک سیستم چند پردازنده ای (ماکزیمم مد در صوتیکه پایه MN/MX به low تنظیم شود) پیکره بندی می گردد.

    در یک سیستم مفروض، پایه MN/MX دائماً به high یا low متصل می شود.

    برخی پایه هخای 8086 دارای توابعی دوگانه بسته به نوع انتخاب سطح ولتاژ پایه MN/MX هستند.

    در مد می نیمم MN=MX=high این پایه ها سیگنال های کنترلی را مستقیماً به حافظه و وسایل I/O انتقال می دهند.

    از مد ماکزیمم MN/MX=Low این پایه ها دارای وظایف متفاوتی برای نسهیلات سیستم های مالتی پروسسور است.

    در مد ماکزیمم توابع کنترلی که معمولاُ در مد می نیمم نشان داده می شوند، فرض می شود که به وسیله تراشه ای مثل کنترل گذرگاه 8288 پشتیبانی می شوند.

    پس از پیشرفت های فناوری، اینتل پردازنده ای پیشرفته تر 80186 و 80188 را که نسخه های پیشرفته تری از 8086 و.

    بودند عرضه کرد.

    سرعت کلاک این ها 8MHZ بود که تقریباً دو برابر پردازنده های قبلی بودند.

    در روی این پردازنده ای جدید از واحدهای جانبی مانند کنترل کننده DMA با تایمر 16 بیتی و واحد کنترل کننده وقفه استفاده می کنند.

    شبیه 8086، 80186 دارای گذرگاه داده 16 بیتی و 80188 دارای گذرگاه داده 8 بیتی است و به غیر از این، معماری و مجموعه دستورهای 80186 و 80188 مشابه است.

    هم چنین 80186 و 80188 دارای یک مولد کلاک موجود در تراشه است که فقط از یک کریستال برای تولید کلاک استفاده می کند.

    مشابه 8085، فرکانس کلاک از نظر داخلی به 2 تقسیم می شود.

    یعنی کریستال خارجی 12 یا 16MHZ باید برای تولید فرکانس داخلی کلاک 6MHZ یا 8MHZ استفاده شود.

    80186/80188 در یک بسته 68 پایه ای ساخته شده و هر دو پردازنده دارای مدارهای کنترل کننده اولویت وقفه برای فراهم ساختن 5 پایه وقفه هستند.

    مشابه 8086/8088 پردازنده های 80186/80188 می توانند مستقیماً 1MB از حافظه را آدرس دهی کنند.

    و دارای 10 دستورالعمب جدید نسبت به مجموعه دستورهای 8086/8088 هستند.

    مثلاً دستورهای In و Out برای گرفتن و یا نوشتن بایت یا کلمه رشته به کار می روند.

    از سوی دیگر 80286 دارای قابلیت های اضافی چون حفاظت (Protection) و مدیریت حافظه نسبت به معماری 8086 است.

    80286 با سرعت 8MHZ دارای throughput تا 6 برابر در مقایسه با 8086 با سرعت 5MHZ است.

    80286 در بسته 68 پایه ای ساخته شده است و می تواند در سرعتهای کلاک 4، 6 یا 8 مگاهرتز کار کند و به مولد کلاک خارجی 82284 برای تولید کلاک نیاز دارد.

    پردازنده 80286 کلاک خارجی را به 2 برای تولید کلاک داخلی تقسیم می کند و نوعاً در سیستم های multiver و multitasking استفاده می شود.

    80286 در دو مد مختلف کار می کند.

    Real Addr و آدرس مجازی حفاظت شده.

    در واقع آدرس فیزیکی تقلیدی از 8086 با کارآیی بالا است.

    در این مد 80286 مستقیماً تا 16 مگابایت حافظه را آدرس دهی کند.

    مثلاً آدرس دهی مجازی، مدیریت حافظه مجازی، مدیریت Task و حفاظت را فراهم می سازد.

    برنامه نیس می تواند یکی از این دو مد را، بارگذاری مناسب داده با دستورهای Load و Store در ثبات کلمه حالت ماشین (MSW) (Machine Status Word)که 16 بایتی است، انتخاب کند.

    مثلاً دستورهای Load MSW register = LMSW Store MSW register = SMSW 80286 به عنوان CPU در کامپیوترهای شخصی IBM PC/AT به کار گرفته شد.

    نسخه های پیشرفته تری مانند 386 و 486 و ...

    بعداً بررسی خواهد شد.

    مثال: [CS]=456A16 [IP]=162016 20 بیت آدرس فیزیکی به شکل زیر محاسبه می شود [CS]=456A016 محتوای CS چهار بیت به یک شکل منطقی به چپ شیفت داده می شود +[IP]=162016 EA=46CC016 BIU همیشه چهار صفر را در چهار بیت مرتبه پائین آدرس فیزیکی (سگمنت) درج می کند.

    به عبارت دیگر CS شامل base یا store سگمنت که جاری و IP شامل فاصله یا distanG از این آدرس به بایت دستور بعدی است که مناسب واکشی شود.

    دقت کنید که داده های بعد فاصله بعدی به عنوان بخشی از سگمنت که در نظر گرفته می شوند.

    ثبات به پشته جاری اشاره می کند.

    ادرس فیزیکی بین پشته از ss و sp برای دستورهای پشته مانند push و pop محاسبه می شود.

    برنامه نویس می تواند از ثبات BP به عوض sp برای دستیابی به پشته در مد آدری دهی پایه استفاده کند.

    در این حالت آدرس فیزیکی 20 بیتی از Bp و ss محاسبه می شود.

    ثبات DS به سگمنت داده جاری اشاره می کند.

    برای اغلب دستورها، علوندها از این سگمنت واکشی می شوند.

    محتوی 16 بیتی SI (شاخص مبدأ) و DI (شاخص مقصد به عنوان آفست برای محاسبه آدرس فیزیکی 20 بیتی استفاده می شوند.

    ثبات ES به سگمنت اضافی (Extra Degment) که داده ذخیره یم شوند اشاره دارد (علاوه بر 64K اشاره شده توسط DS).

    دستورهای رشته معمولاً از ES و DI برای تعیین آدرس فیزیکی 20 بیتی مقصد استفاده می کنند.

    سگمنت ها می توانند دارای چهار وضعیت باشند: Continius Partially Overlorred Fully overlarred Dis joint شکل زیر پنج سگمنت (#0 تا #4) را نشان میدهد که در حافظه فیزیکی ذخیره شده اند: نکته مثالهایی از مقادیر سگمنت بر اساس آدرس فیزیکی شروع شده در 000016، 00000، 0002016 ،0003016، … و FFFF016 باشد.

    هر مکان حافظه فیزیکی می تواند به یک یا چند سگمنت منطقی mar شود.

    یک سگمنت ممکن است با بیش از یک ثبات سگمنت اشاره دهی شود.

    مثلاً، DS و ES ممکن است به سگمنت مشابهی در حافظه اشاره کنند اگر رشته گنجانده شده در آن سگمنت به عنوان یک سگمنت Source در یک دستور رشته و به عنوان سگمنت مقصد در دستور رشته ای دیگر باشد.

    دقت دکنید که در یک دستور رشته سگمنت مقصد باید توسط ES اشاره دهی شود.

    قابل یادآوری است که کدها نباید در 6 بایت آخر حافظه فیزیکی نوشته شوند.

    نقص این مسأله ممکن است منجر به واکشی opcode از حافظه غیرموجود شوند و سبب hang کردن cpu گردد.

    طراحی سیستم با استفاده از 8086 در این بخش می خواهیم مفاهیم اصلی مربوط به اینترفیس 8086 را به تراشه ای مبنایی مانند حافظه و I/O بررسی کنیم.

    پایه ها و سیگنال های 8086 پایه ها و سیگنال های 8086 در شکل زیر نشان داده شده است.

    سیگنالهای معمول سیگنالهای مد می نیمم سیگنال مد ماکزیمم (MN/MX=GND) تمامی پایه های 8086 از نوع TTL هستند.

    همانطوری که قبلاً گفتیم 8086 می تواند در دو مد مختلف عمل کند.

    می نیمم مد (تک پردازنده) و ماکزیمم مد (چند پردازنده ای).

    پایه ورودی MN/MX برای انتخاب یکی از این دو مد بکار می رود.

    اگر MN/MX=high باشد، 8086 در مد می نیمم کار می کند.

    در این مد، 8086 برای پشتیبانی می نیمم در سیستم های تک پردازنده ای که دارای وسایل کمی هستند که از باس استفاده می کنند، به کار می رود.

    اگر MN/MX=low باشد، 8086 در مد مالکزیمم تعریف می شود تا از سیستم های چند پردازنده ای پشتیبانی کند.

    در این جالت اینتل 8288 که یک باش کنترلی است به 8086 برای فراهم ساختن کنترل های باس و سازگاری با معماری چندگذرگاهی اضافه می شود.

    AD0-AD15 خطوط گذرگاه ادغام شده آدرس/داده 16 بیتی هستند.

    در اولین سیکل کلاک AD0-AD15 16 بیت مرتبه پائین آدرس می باشند.

    8086 آدرس 20 بیتی دارد و چهار خط مرتبه بالای ادرس، با سیگنال های وضعیت 8086 مالتی پلکس هستند.

    این سیگنال ها عهبارتتد از: A16/S3 و A17/S4 و A18/S5 و A19/S6 در خلال اولین پریود کلاک از سیکل گذرگاه (سیکل نوشتن یا خواندن)، کل آدرس 20 بیتی در این خطوط در دسترس است.

    در تمامی دیگر سیکل های کلاک برای عملیات حافظه و I/O، ADIS-ADO شامل داده 16 بیتی است و S3 و S4 و S5 و S6 خطوط وضعیت هستند.

    خطوط S3 و S4 به شرح زیر دیکلود می شوند: بنابراین پس از اولین سیکل کلاک اجرای دستورالعمل، پایه های A17/S4 و A16/S3 مشخص می کنند که کدام ثبات سگمنت بخش سگمنت آدرس 8086 را تولید می کند.

    بدین ترتیب، با دیکود کردن این خطوط و استفاده از خروجی های دیکودر به عنوان انتخاب کننده های تراشه (Chip Selects) برای تراشه هخای حافظه، حداکثر تا 4 مگابایت (1MB در هر سگمنت) را یم توان فراهم ساخت.

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

    A18/S5 و A19/S6 به عنوان A18 و A19 در خلال اولین پریود کلاک از اجرای دستور، به کار میروند.

    چنانچه یک دستور I/O اجرا شود، در خلال اولین پریود کلاک low باقی می ماند.

    در خلال تمامی دیگر سیکل ها، A18/S5 وضعیت پرچم تواناساز وقفه 8086 را نشان می دهد و A19/S6 به S6 تبدیل می شود و Low بودن پایه A19/S6 نشان می دهد که 8086 در گذرگاه است.

    در اثنای hold Acknowledge پریود کلاک، 8086 پایه A19/S6 را سه حالته کرده وبدین ترتیب به bus master دیگر برای گرفتن کنترل گذرگاه سیستم اجازه یم دهد.

    8086، ADIS-ADO را در خلال سیکل Interrupt ACK یا سیکل Hold ACK سه حالتی می کند سیکل اول BHE/S7 به عنوان Bus high enable در خلال اولین سیکل کلاک اجرای دستاور به کار میرود.

    8086 در این پایه در هنگام خواندن، نوشتن و Iinterrupt Ack که داده ها به شکل مرتبه بالای گذرگاه داده (ADIS-AD8) انتقال می یابند، low قرار میدهد.

    هم چنین BHE می تواند با اتصال با ADO برای انتخاب بانک های حافظه استفاده شود.

    در خلال تمامی دیگر سیکل ها BHE/S7 به صورت استفاده می شود و 8086 دارای سطح خروجی (BHE) اولین سیکل در این پایه خواهد بود.

    هنگامی که 8086 داده ها را از حافظه یا یک مکان I/O می خواند، RD=Low خواهد بود.

    TEST یک پایه ورودی است و فقط به وسیله دستور WAIT استفاده یم شود.

    8086 یک وضعیت Wait را پس از اجرای دستور WAIT تا هنگامی که Low در پایه TEST باشد قرارز میدهد.

    این ورودی به شکل داخلی در اثنای هر سیکل کلاک در لبه کلاک سنکرون می شود.

    INTR یک ورودی وقفه maskable است.

    این خط latch نمی شود و بنابراین تا هنگام تشخیص و تولید وقفه باید در high نگاه داشته شود.

    NMI ورودی non mastable interrupt است.

    RESET سیگنال .ورودی reset سیستم است و این سیگنال باید برای حداقل چهار سیکل تا هنگام تشخیص و شناسایی high باشد و سبب می شود رجیسترهای DS، SS، ES، , Ip و Flagها همگی صفر شوند.

    هم چنین CS به FFFFH تنظیم می گردد.

    پس از حذف reset از پایه RESET، 8086 دستورالعمل بعدی را از آدرس فیزیکی 20 بیتی FFFF0H یعنی (CS:FFFFH,IP=0000) CS*16+IP واکشی می کند.

    هنگامی که 8086 لبه هشت پالس را در RESET تنشخیص دهد، تمامی فعالیت های خویش را تا هنگام low شدن کلاک متوقف می سازد.

    هرگاه reset برابر low گردد، 8086 سیستم را به شرح زیر مقداردهی اولیه (initislize) می کند.

    سیگنال reset برای 8086 را می توان با 8284 تولید کرد.

    8284 یک ورودی تریگر اشمیت (Schnitt Trigger) به نام RES برای تولید reset از خروجی next دارد.

    برای تولید reset به شکل صحیح، ورودی باید برای 50MS پس از این که Vcc به می نیمم ولتاژ 4.5V رسید زیر 1.05 ولت نگاهداشته شود.

    سیگنال ورودی RES از 8284 را می توان با مدار RC ساده ای شبیه شکل زیر ساخت: مقادیر R و C به شرح زیر قابل حصول هستند: VC(t)=V(1-e-t/RC) بطوریکه RC=188 , Vc=1.05V , V=4.5V , t=50s مثلاً اگر C را به شکل اختیاری F0.1 انتخاب کنیمR=1.88K همانطوری که قبلاً گفتیم 8086 می تواند در مد مینیمم و ماکزیمم با استفاده از پایه MN/MX پیکره بندی شود.

    در مد می نیمم، 8086 بخودی خود تمامی سیگنال های کنترل گذرگاه ذرا تولدی می کند.

    این سیگنال ها عبارتند از: DT/R (Database Transmit/ReCeive) یک سیگکنال خروجی لازم بریا مد 8086 می نیمم است که از 8286/8287 (data bus transGeiver) استفاده می کند و برای کنترل جهت جریان داده ها استفاده می شود.

    (Data Enable) DEN به شکل یک output enable برای 8286/8287 در سیستم می نیمم استفاده می شود.

    DEN در خلال هر دستیابی بحافظه و I/O برای سیکل های INTA، برابر low می باشد.

    (Address Latch Enable) یک سیگنال خروجی فراهم شده توسط 8086 است و برای دی ملتی پلکس کردن ADO-AD15 به A0-A15 و D0-D15 در لبه پائین رونده ALE استفاده می شود.

    سیگنال ALE در 8086 مشابه ALE در 8085 است.

    M/IO این سیگنال برای تمایز دستیابی حافظه (M/IO=high) از (M/IO=low) I/O استفاده یم شود.

    هنگامی که 8086 یک دستور I/O را مانند In یا Out تولید می کند، این پایه را به low تنظیم می کند و هنگامی که رجوع به حافظه را مثل [SI] و MOV AX اجرا می کند، این پایه را به high تنظیم می کند.

    WR در هنگام نوشتن در حافظه یا I/O به low تنظیم می شود.

    INTA مانند INTA در 8085 است.

    و برای سیکل های تأئید وقفه این پایه low می شود.

    ورودی HOLD و خروجی HLDA از این پایه ها در DMA استفاده یم شود.

    High بودن این پایه یعنی این که یک master دیگری تقاضای در اختیار گرفتن سیستم Bus را دارد و پایه HLDA را به عنوان ACK برابر high می کند و یه طور همزمان پردازنده، گذرگاه را سا حالته کرده تا هنگامیکه برای پایه HOLD سیگنال low را دریافت کند.

    در این صورت پردازنده low را در پایه HLDA قرار میدهد.

    HOLD یک ورودی آسنکرون نیست.

    CLK ورودی فراهم کننده زمان بندی برای 8086 و کنترل کننده گذرگاه در مد ماکزیمم برخی از پایه های 8086 به صورت دوباره تعریف می شوند.

    مثلاً پایه های HOLD، HLDA، WR، M/IO، DT/R، DEN، LAE و INTA در مد می نیمم به شکل RQ/GTO، RQ/GT1، LOCK، S2، S1، S0، QS0 و QS1 به ترتیب درصد ماکزیمم تعریف می شوند.

    درصد ماکزیمم کنترل باش 8288 اطلاعات وضعیت را از S0، S1، S2 برای تولید زمان بندی گذرگاه و سیگنال های کنترل لازم برای سیکل گذرگاه دیکو.د می کند.

    S0 و S1 و S2 در خروجی 8086 به شرح زیر دیکود می شوند: RQ/GT0 و RQ/GT1 این پایه ها به معنای request.grant و به وسیله bus master های محلی دیگر برای رهاسازی گذرگاه محلی توسط پردازنده در پایان سیکل گذرگاه جاری استفاده می شوند.

    RQ/GT0 و RQ/GT1 این پایه ها به معنای request/grant و به وسیله bus master های دیگر برای رهاسازی گذرگاه محلی توسط پردازنده در پایان سیکل گذرگاه جاری استفاده می شوند.

  • فهرست:
     

    1- مقدمه ای بر ریزپرازنده
    2- ساختار عمومی ریزپردازنده های پیشرفته
    3- معماری ریزپردازنده؟
    - مجموعه دستورالعمل های ریزپردازنده
    - قالب داده ها
    - قالب برای دستورالعمل ها
    - شیوه های آدرس دهی
    4- سلسله مراتب حافظه
    - رجیستر فایل
    - Cache
    - حافظه مجازی و صفحه بندی
    - قطعه بندی
    - جداول صفحه، TBL،‌ حفاظت
    5- پایپ لاین
    - خط لوله دستورالعمل
    - مخابرات خط لوله
    - پیشگویی انشعاب
    - Bypassing یا Result Forwarding
    6- (Instruction Level Parallelism) IPL
    - ILP چیست؟
    - محدودتی های ILP
    - پردازنده های سوپر اسکالر
    - اجرای ترتیبی و خارج از نوبت
    - Register renaming
    - پردازنده های VLIW
    - تکنیک های کامپایل برای ILP
    7- اصول کامپیوترهای RISC
    - RISC در برابر CISC
    - ارزیابی سیستم های RISK
    - ارزیابی Cache در مقابل رجیستر فایل تراشه
    8- I/O
    - گذرگاه های I/O
    - وقفه ها
    - Memory Marred I/O
    - DMA
    - دستگاه های I/O
    - سیستم های دیسک
    9- چند پردازنده ای
    - speedup و کارآیی
    - سیستم های چند پردازنده ای
    - سیستم های Message passing
    - سیستم های Shared Memory
    Case Study
    حانواده اینتل
    - معماری خانواده اینتل
    - مجموعه ثبات:
    - قالب های داده
    - شیوه های آدرس دهی
    - ئقفه
    - قطعه بندی
    - صفحه بندی
    - مکانیزم حفاظت
    - پنتیوم
    - ریزپردازنده های i486 و i386
    - 8086 و 80186 و 80286
    - 8086 و 8088
    خانواده موتورولا M68000
    - ثبات های پردازنده
    - قالب های داده
    - شیوه های آدرس دهی
    - مجموعه دستورالعمل ها
    - مدیریت حافظه
    ریزپردازنده های پیشرفته RISC
    - پردازنده DEC Alpha AXP
    - معماری آلفا
    خانواده Power PC
    - معماری Power PC
    - IBM RS/6000
    خانواده Sparc
    - معماری اسپارک
    - سوپر اسپارک
    خانواده MIPS RX000
    - معماری MIPS
    - R4400 و MIPS R4000
    - خانواده اینتل i86
    خانواده موتورولا M88000
    - معماری M88000
    - معماری MC88110
    معماری HP
    - معماری
    - حافظه

     

    منبع:

    ندارد.

چکیده در اواسط دهه 70 ریزپردازنده ها ساختار ساده ای داشتند و در این زمان هر ریزپردازنده از یک واحد پردازشگر مرکزی (cpu) و یک تراشه LSI (شامل 5/000 ترازیستور) تشکیل شده بود و با فرکانس 1 تا 5 مگاهرتز در یک سیستم 8 بیتی کار می کرد و این ریزپردازنده ها دارای 2 الی 7 ثبات 8 بیتی بودند. به خاطر قیمت و بهای اندک و اندازه کوچک ریزپردازنده ها، در بیشتر سیستم های کامپیوتری از آنها ...

در اواسط دهه 70 ريزپردازنده ها ساختار ساده اي داشتند و در اين زمان هر ريزپردازنده از يک واحد پردازشگر مرکزي (cpu) و يک تراشه LSI (شامل 5/000 ترازيستور) تشکيل شده بود و با فرکانس 1 تا 5 مگاهرتز در يک سيستم 8 بيتي کار مي کرد و اين ريزپردازنده ها دار

در اواسط دهه 70 ريزپردازنده ها ساختار ساده اي داشتند و در اين زمان هر ريزپردازنده از يک واحد پردازشگر مرکزي (cpu) و يک تراشه LSI (شامل 5/000 ترازيستور) تشکيل شده بود و با فرکانس 1 تا 5 مگاهرتز در يک سيستم 8 بيتي کار مي کرد و اين ريزپردازنده ها دار

مقدمه گر چه کامپیوترها تنها چند دهه ای است که با ما همراهند، با این حال تأثیر عمیق آنها بر زندگی ما با تأثیر تلفن ، اتومبیل و تلویزیون رقابت می کند. همگی ما حضور آنها را احساس می کنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حساب های ماهیانه که توسط سیستم های کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می شود. تصور ما از کامپیوتر معمولا داده پردازی است که محاسبات ...

مقدمه‌اي بر ميکروکنترلر 8051 باوجود اينکه بيش از بيست سال از تولد ريز پردازنده نمي‌گذرد، تصور وسيال الکترونيکي و ... بدون آنکه کار مشکي است در سال 1971 شرکت اينتل: 8080 را به عنوان اولين ريز پردازنده موفق عرضه کرد مدت کوتاهي پس از آن، موتورولا

در اين پروژه سعي بر اين است که علاوه بر آشنايي با ميکروکنترلر AVRو محيط نرم افزاري (labview) سخت افزار،به گونه اي طراحي شود که با دريافت سيگنال آنالوگ ورودي (صوت) از ميکروفن ، از طريق واحدADC ميکرو اين سيگنال به ديجيتال تبديل شود و با توجه به برنامه

مقدمه: گرچه کامپیوترهای تنها چند دهه‎ای است که با ما همراهند با این حال تأثیر عمیق آنها بر زندگی ما به تأثیر تلفن، اتومبیل و تلویزیون رقابت می‎کند. همگی ما حضور آنها را احساس می‎‏کنیم چه برنامه‎نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می‎شود. تصور ما از کامپیوتر معمولاً «داده‎پردازی» است که محاسبات ...

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

محدوديتي که در دامنه پردازش‌هاي 32 بيتي وجود دارد، همواره باعث کندشدن سرعت انجام عمليات پيچيده و سنگين اطلاعاتي در سيستم‌هاي مختلف مي‌گردد. به همين‌منظور بسياري از شرکت‌هاي سازنده نرم‌افزار و خصوصاً آن‌هايي که در زمينه سيستم‌عامل فعاليت دارند از دير

- توانايي درک ساختمان CPU 1-1 آشنايي با تعريف عمليات CPU CPU يا Processor اساسي‌ترين جزء يک کامپيوتر مي‌باشد. CPU يک آي- ‌سي يا تراشه يا Chilp است که از مدارات مجتمع فشرده زيادي تشکيل شده است. بعبارت ديگر مهمترين آي- سي يک کامپيوتر زير‌پردازنده يا

ثبت سفارش
تعداد
عنوان محصول