320 likes | 595 Views
درس ساختار و زبان ماشین. دکتر محمود تابنده. مقدمه:. اجزای داخلی کامپيوتر. سیم یا پایه خروجی آی سی در الکترونیک دیجیتال میتواند سه حالت داشته باشد. صفر,یک و حالت شناور.از نظر فیزیکی خروجی:.
E N D
درس ساختار و زبان ماشین دکتر محمود تابنده
مقدمه: اجزای داخلی کامپيوتر
سیم یا پایهخروجی آی سی در الکترونیک دیجیتال میتواند سه حالت داشته باشد. صفر,یک و حالت شناور.از نظر فیزیکی خروجی:
در مورد لچ 74LS373که براي جدا کردن خطوط آدرس و داده لازم است,('373 فرم اختصاري 74LS373) هشت فيليپ فلاپبا يک ورودي مشترک فعال بالادارد.
لچ 74LS374 براي اتصالاتي ازقبیل اتصال به LED مناسب است. هر دو لچ, با يک شدن OE, خروجيهايشان امپدانس بالا ميشود. '373 داراي 20 پايه است, 8 پايه آن به عنوان ورودي و8 پايه به عنوان خروجي تعريف شدهاند. علاوه بر اين 16 پايه، يک پايه ورودي OE¹ نيز وجود دارد كه اگر فعال شود ورودي لچ را به خروجي مدار مجتمع متصل مي کند و اگر اكتيو نباشد خروجي به حالت شناور ميرود. 1.Output Enable
بزرگترین هنر یک مدار منطقی آن بود که با اعمال یک ورودی به آن ,یک خروجی از پیش تعیین شده به ما بدهد.ورودی و خروجی به صورت سطوح ولتاژ اعمال می شد و جعبه سیاهی با کمک مدارات الکترونیک سطوح را ایجاد میکرد.
یک مدار حافظه دار مداری است که وضعیت کنونی اش متاثر از گذشته اش است.به سادگی با قرار دادن هشت حافظه یک بیتی در کنار جعبه سیاهمان یک Adder (ALU) میسازیم.
در مجموعه ALU و حافظه ها, باس در واقع راهروی عبور بیتهای اطلاعات هست.درواقع باس را ميتوان يک مجموعه خط(سيم) براي انتقال داده بين يک ارسال كننده داده و يک گيرنده تعريف کرد.در شکل بعد ابتدا داده در باس های مربوطه قرار می گیرد. سپس با تاخیر خروجی (خط قرمز )روی باس قرار میگیرد.
وظيفه Control Unitهمانگونه كه از نامش پيداست، ايجاد توالي مناسب بين اعمال اين واحدها براي حصول نتيجة مناسب است. به عنوان مثال ما مي خواهيم كه دو عدد را با يكديگر جمع كنيم. كافي است كه به Control Unitعمليات جمع را اعلام كنيم. حال اين
Control Unit است كه مقدار ورودي را ازپورتهاي ورودي مي خواند، آن را روي باس قرار مي دهد، به ALU فرمان جمع مي دهد و خروجي را روي پورت مورد نظر قرار مي دهد.
پس طراح Control Unit ابتدا رشتة صفر و يك هاي مطلوب را براي انجام يك عمليات، با لحاظ كردن توالي زماني و طول بازه ها، بدست مي آورد. اين رشته تابعي از سرعت مدارات، رفتار Registrer ها، نحوه كار ALU و ساختمان نيمه هادي سيستم است.
اجرای یک دستور: اجراي هر دستورالعملي به دو مرحله تبديل مي شود:
ابتدا در طي فرايندي خودكار، Control Unit كد دستورالعمل را از محل مقرر در حافظه مي خواند. نحوة اين خواندن كه در هر مرحلة كار CPU تكرار مي شود، براي Control Unit به شكل سخت افزاري در مراحل طراحي CPU تعيين شده است.سپس، زنجيرة صفر و يك مناسب از روي اين كداستخراج مي شود. به اين مرحلة عملكرد CPU، Code Fetching و يا اختصارا Fetch گفته مي شود.
به هر مرحلة كار CPU، كه در طي آن يك دستورالعمل اجرا مي شود، Machine Cycle اطلاق مي شود. در اين مرحله دوم، از روي زنجيرة صفر و يك بدست آمده از مرحلة Fetch، دستورالعمل مزبور به شكلي كه قبلا بارها اشاره كرده ايم اجرا مي شود. به اين مرحله، Code Executing يا اختصارا Execute گفته مي شود.
لذا CPU ما در زمان فعاليت، در حلقة بسته اي در حال گردش است و Control Unit مانند قلبي است كه در هر ضربان، خون تازه را كه در واقع دستورالعملي جديد است، در CPU مي دمد. منبع اين دستورالعملها همان حافظة خارجي است. در Control Unit اشاره گري تعبيه شده كه هر بار دستورالعمل از محلي از حافظه كه اين اشاره گر به آن اشاره مي كند خوانده و اجرا مي شود. پس از اجرا، يكي بهمقدار اين اشاره گر اضافه مي شود تا كل فضاي
حافظه قابل پوشش باشد. اين اشاره گر به Program Counter موسوم است كه عموما PC خوانده مي شود. واضحا PC يك Register داخلي است كه تعداد بيتهاي آن حجم حافظة Code قابل پوشش را تعيين مي كند. فرايند خواندن Code در مرحلة Fetch، عينا مثل خواندن Data و با همان لوازمي است كه قبلا ذكر شد، هر چند كه اين فرايند عموما از ديد كاربر پنهان (Transparent) است.
در هنگام راه اندازي CPU ، مقدار حافظه براي اولين Fetch و لذا مقدار Code خوانده شده معتبر نيست. ناچار هستيم كه اين Code هاي اوليه را، يعني كدهايي را كه به محض راه اندازي سيستم بايد اجرا شوند را، اولا به شكلي سخت افزاري تهيه كنيم تا نسبت به قطع برق حساس نباشند و ثانيا براي اجتناب از پيچيدگي هاي اضافي، اين سخت افزار را به شكل حافظه شبيه سازي كنيم.
. در نخستين Machine Cycle، طراحان بايد از حافظه ای استفاده كنند که پس از راه اندازي، نمي توان براي كاربردهاي Data از اين حافظه استفاده كرد و مقادير آن را تغيير داد.به اين نوع حافظه ها كه CPU قابليت نوشتن در آنها را ندارد به طور كلي Read Only Memory يا ROM گفته مي شود. به حافظه هايي نيز كه قبلا به آنها اشاره مي كرديم، Random Access Memory(R/W) يااصطلاحاRAM مي گويند.
مجموعة سيمهايي كه آدرس حافظه را از Control Unit به حافظة خارجي حمل مي كند نيز در واقع نوعي BUS است كه به آن Address-Bus گفته مي شود. به BUS پيشين كه حامل اطلاعات بود،از اين پس Data-Bus مي گوييم. واضحا براي ارتباط با حافظة خارجي، بجز Address-Bus پايه هاي ديگري نيز لازم است(مثلا براي تمايز قائل شدن بين عمليات Read و Write )به مجموعة اين پايه ها، باضافة بعضي سيمهاي ديگر كه
توسط Control Unit در ارتباطات با خارج از CPU استفاده مي شود، عنوان كلي Control-Bus داده مي شود. بدين ترتيب مشكل دسترسي به حجم بالاي حافظه را با قرار دادن آن در خارج CPU و وضع قوانين لازم براي دسترسي به آن، حل كرديم.
آنچه كه گفتيم، منجر به سيستمي مي شود كه در زير مي آيد. CPU هاي دنيا از نخستين نمونه ها تا نمومه هاي پيشرفتة اخير، هنوز در ساختار زيرمشتركند.