بخشی از پاورپوینت

اسلاید 1 :

فصل دوم

اثرات معماری کامپیوتر

به نام خالق هستی

اسلاید 2 :

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

اسلاید 3 :

کامپیوتر ها می توانند در یکی از سه شکل زیر باشند :

کامپیوتر واقعی (یا سخت افزاری که کاملا از قطعات سخت افزاری مانند RAM,CPU و . ساخته شده اند.)
کامپیوتر شبیه سازی شده ی نرم افزاری (میان افزار: هر دستور زبان ماشین دنباله ای از زیر عملیات می باشد که در حافظه قابل برنامه ریزی ذخیره می شود)
کامپیوتر مجازی که ترکیبی از سخت افزار و نرم افزار است
ترکیبی از روشهای بالا

اسلاید 4 :

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

داده ها : مجموعه داده های اولیه مانند(int ,string,…)و داده های ساخت یافته مانند(آرایه,رکورد و .).

سه جزء اصلی حافظه داده ها :
حافظه اصلی ، ثباتهای سریع و فایلهای خارجی

انواع داده در کامپیوتر :

نوع داده توکار : مانند انواع داده اولیه
نمایش زبان ماشین کامپیوتر : نمایش توکار برای برنامه

عملکرد کامپیوتر

اسلاید 5 :

.اجزا شش گانه کامپیوتر

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

اعمال اولیه برای انجام محاسبات - اعمال اولیه برای تست خواصی از داده های اولیه- اعمال اولیه برای دستکاری قسمتی از عناصر داده ها - اعمال اولیه برای کنترل دستگاه های جانبی-اعمال اولیه برای کنترل ترتیب اجرا
کنترل ترتیب: در حین اجرای برنامه دستور بعدی که باید اجرا شود توسط محتویات ثبات آدرس برنامه مشخص می گردد. این ثبات حاوی آدرس دستور بعدی است.

.عملکرد کامپیوتر

اسلاید 6 :

سلسله مراحل کنترل ترتیب

اسلاید 7 :

.اجزا شش گانه کامپیوتر

دستیابی به داده ها : علاوه بر کد عملیاتی هر دستور ماشین باید عملوندهایی را مشخص کند که آن عمل از آن استفاده می کند. عملوند ممکن است در حافظه اصلی یا در ثبات باشد.

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

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

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

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

اسلاید 8 :

سخت افزار کامپیوتر (ادامه)

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

اسلاید 9 :

سازمان یک کامپیوتر معمولی

ثباتهای سریع
عناصر
پردازش فعال

اسلاید 10 :

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

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

کامپیوتر میان افزار

اسلاید 11 :

معماریهای مجازی

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

شبیه سازی نرم افزاری (تفسیر نرم افزاری) :در این روش کد برنامه منبع مستقیما به شبه سازنرم افزاری یا مفسر داده می شود و مفسر دستورات زبان سطح بالا را تفسیر و بلافاصله اجرا می کند.

اسلاید 12 :

نحوه عملکرد کامپایلر

اسلاید 13 :

نحوه عملکرد مفسر

اسلاید 14 :

ترجمه (کامپایل کردن) : مفسر می تواند طوری طراحی شود که برنامه ای به یک زبان سطح بالا را به برنامه ای در زبان ماشین ترجمه کند.

مفسر هر پردازنده زبانی است که برنامه ای را به یک زبان منبع ( که ممکن است سطح بالا یا پایین باشد ) به عنوان ورودی گرفته به برنامه ای در زبان مقصد تبدیل می کند که از نظر کارایی با هم یکسان هستند

ترجمه زبان سطح بالا

اسلاید 15 :

انواع مفسر :

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

کامپایلر : مفسری است که زبان منبع آن سطح بالا و زبان مقصد آن نزدیک به زبان ماشین است

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

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

مفسرها

اسلاید 16 :

ترتیب اجرای مفسرها برای اجرای یک برنامه

اسلاید 17 :

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

اسلاید 18 :

هر دو زبان برنامه به زبان سطح بالا را گرفته ولی:=>

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

2.سرعت اجرا در ترجمه بیشتر از روش تفسیری است.

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

4.مترجم هر دستور را فقط یک بار پردازش می کند ولی مفسر ممکن است دستوری را چندین بار پردازش کند(مانند دستورحلقه)

مقایسه روش ترجمه و تفسیری

اسلاید 19 :

5.در روش کامپایلری برای n بار اجرا یک ترجمه لازم است ولی در روش تفسیری برای nبار اجرا n ترجمه لازم است.

** ترجمه محض یا شبه سازی محض دو کرانه اند یعنی حالت تؤری دارند.

* ایراد مهم ترجمه از دست رفتن اطلاعاتی در رابطه با برنامه است.(مورد اول !!!)

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

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

.مقایسه روش ترجمه و تفسیری

اسلاید 20 :

زبانها به دو دسته هستند:

زبان های کامپایلری : C,C++ ، فرترن ، پاسکال و ادا . برنامه های آن قبل از شروع اجرای برنامه به زبان ماشین کامپیوتر واقعی ترجمه می شوند به طوریکه شبیه سازی به مجموعه ای از روالهای پشتیبانی زمان اجرا محدود می شود که اعمال اولیه موجود در زبان منبع را شبیه سازی می کند که شباهت زیادی به زبان ماشین ندارد.

اجرای سریعتر

زبان های مفسری: لیسپ ، ام ال، پرل ، پست اسکریپت، پرولوپ و اسمالتاک معمولاً با مفسر نرم افزاری پیاده سازی می شود.مترجم کد ماشین را برای کامپیوتر تولید نمی کند مفسر شکل میانی از برنامه را تولید می کند.

اجرای کندتر،این زبانها مترجم های ساده تری دارند

انواع زبان ها

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