وبلاگ شخصی مهراد مظاهری

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

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

وبلاگ شخصی مهراد مظاهری

به باورهایم شک ندارم و شکهایم را باور نمیکنم. همچنان تصور میکنم که بن بست معنا ندارد و اگر راهی نیست، میتوان راهی ساخت

امیدوارم از مطالب این وبلاگ استفاده لازم را ببرید.

از طریق راه های زیر میتوانید با من در ارتباط باشید:

آی دی یاهو:
mdn4.1995@ymail.com

ایمیل:
mehrad-mz@london.com
mehrad_mazaheri@engineer.com

آخرین نظرات

آشنایی با ریز پردازنده ها

شنبه, ۲۹ تیر ۱۳۹۲، ۰۴:۴۱ ب.ظ

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

1 - یک ریزپردازنده با استفاده از واحد محاسبات و منطق خود (ALU) قادر به انجام عملیات محاسباتی نظیر: جمع، تفریق و عملیات منطقی نظیر and و غیره ؛که بر روی بیت ها انجام می گیرد؛ است. ریزپردازنده های جدید دارای پردازنده های اختصاصی برای انجام عملیات مربوط به اعداد اعشاری نیز می باشند.

2 - یک ریزپردازنده قادر به انتقال داده از یک محل حافظه به محل دیگر است .

3 - یک ریزپردازنده قادر به اتخاذ تصمیم (تصمیم گیری) و پرش به یک محل دیگر برای اجرای دستورالعمل های مربوطه بر اساس تصمیم اتخاذ شده است .

ساختمان داخلی یک ریزپردازنده

توضیح اجزاء شکل :

●گذرگاه آدرس (Address Bus ) که آدرس از طرف ریزپردازنده بر روی این گذرگاه قرار می گیرد. اصطلاحات اجزاء این شکل در سایر مقالات سایت میکرورایانه آمده است. ریزپردازنده قادر به ارسال آدرس به حافظه یا مدارات جانبی جهت تعیین دستگاه ورودی- خروجی است. تعداد بیتهای آدرس (و بالطبع خطوط گذرگاه آدرس) بستگی به طراحی و نوع ریزپردازنده دارد. مثلا در ریزپردازنده های مختلف گذرگاه فوق 8، 16، 32 بیتی و ... است.

●گذرگاه داده ها (Data Bus ) که داده ها بر روی خطوط این گذرگاه قرار گرفته و از طرف حافظه یا دستگاه ورودی - خروجی به ریزپردازنده ارسال می شود یا از ریزپردازنده به سمت آنها فرستاده می شود.

قرارداد:
قرارداد می کنیم که ریزپردازنده محور نام گذاری برای عناوین ارسال و دریافت داده ها باشد. بنابراین منظور از دریافت داده ها یعنی دریافت به ریزپردازنده و ارسال داده ها یعنی ارسال از طرف ریزپردازنده به سمت دستگاهای I/O. گذرگاه فوق می تواند 8، 16، 32 و ... بیتی باشد.

● یک خط برای صدور فرمان خواندن از طرف ریزپردازنده (RD ) و یک خط برای صدور فرمان نوشتن از طرف ریزپردازنده (WR ) است و فعال شدن هر کدام از طرف ریزپردازنده (به ترتیب) تعیین می نماید که آیا ریزپردازنده در حال ارسال داده یا دریافت داده می باشد.

● خط Clock که پالس های ساعت ورودی به ریزپردازنده را تعیین می کند و ریزپردازنده خود را با پالس های ساعت ورودی به این خط همزمان خواهد کرد.

● یک خط Reset که مقدار شمارنده برنامه را صفر نموده و یا باعث اجرای مجدد یک فرآیند می گردد.

فرض کنید پردازنده هشت بیتی بوده واز عناصر زیر تشکیل شده است:

- ثبات (Register)های A,B,C ثبات (نگاهدارنده) هائی بوده که از فلیپ فلاپ ها ساخته شده اند.

- Address Latch مشابه ثبات های A,B,C است.

- شمارنده برنامه (Program Counter ) نوع خاصی از یک نگهدارنده اطلاعات است که قابلیت افزایش به میزان یک و یا پذیرش مقدار صفر (یا هر مقدار دیگری) را داراست.

- واحد منطق و حساب (ALU ) می تواند یک مدار ساده جمع کننده هشت بیتی بوده و یا مداری است که قابلیت انجام عملیات جمع، تفریق، ضرب و تقسیم را دارا باشد.

- ثبات Test یک نوع خاص نگاهدارنده بوده که قادر به نگهداری نتایج حاصل از انجام مقایسه ها توسط ALU است. ALU قادر به مقایسه دو عدد و تشخیص مساوی و یا نامساوی بودن آنها است. ثبات Test همچنین قادر به نگهداری یک بیت نقلی (Carry bit) ماحصل بیت انتقالی آخرین مرحله عملیات جمع است. ثبات فوق مقادیر مورد نظر را در فلیپ فلاپ ها ذخیره می کند که در ادامه Instruction Decoder (تشخیص دهنده دستورالعمل ها) با استفاده از مقادیر فوق قادر به اتخاذ تصمیمات لازم خواهد بود.

- همانگونه که در شکل فوق مشاهده می گردد از شش بافر سه حالته 3-State استفاده شده بافرهای فوق قادر به عبور دادن مقادیر صفر و یا یک و یا حالت سوم یعنی قطع خروجی مربوطه می باشند. وجود این نوع بافرها امکان ارتباط چندین خروجی را از طریق یک مسیر ارتباطی (سیم) فراهم می نماید. در چنین حالتی فقط یکی از خروجی ها قادر به انتقال (حرکت) صفر و یا یک بر روی خط خواهد بود.

- ریجستر Instruction و Instruction Decoder مسئولیت کنترل سایر عناصر را برعهده خواهند داشت. بدین منظور از خطوط کنترلی متفاوتی استفاده می گردد. خطوط فوق در شکل فوق نشان داده نشده اند ولی مثلا می بایست قادر به انجام عملیات زیر باشند:

- به ریجستر A اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به ریجستر B اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به ریجستر C اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به " شمارنده برنامه " اعلام نماید که مقدار موجود بر روی گذرگاه آدرس را در خود نگاه دارد. (Latch )
- به ریجستر Address اعلام نماید که مقدار موجود بر روی گذرگاه آدرس را در خود نگاه دارد. (Latch )
- به ریجستر Instruction اعلام نماید که مقدار موجود بر روی گذرگاه داده را در خود نگاه دارد. (Latch )
- به " شمارنده برنامه " اعلام نماید که مقدار خود را افزایش دهد.
- به " شمارنده برنامه " اعلام نماید که مقدار خود را صفر (Reset ) نماید.
- به واحد منطق و حساب نوع عملیاتی را که می بایست انجام گیرد، اعلام نماید.
- به ریجستر Test اعلام نماید که بیت های ماحصل عملیات ALU را در خود نگاه دارد.
- فعال نمودن خط RD ( خواندن )
- فعال نمودن خط WR ( نوشتن )

گردآورنده و نویسنده : بهار یاوری

منبع:میکرورایانه

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی