گذرگاه
داده ها و آدرس ها ، از
طریق گذرگاه (Bus) به پردازنده می رسند . گذرگاه ، به خطوط ارتباطی
میان اجزای داخلی رایانه گفته می شود . این خطوط ارتباطی مسیرهایی سخت افزاری
هستند که از سیم های ظریفی ساخته شده اند و ارتباط میان پردازنده و اجزای دیگر
مانند حافظه را برقرار می کنند .
با توجه به نوع
اطلاعاتی که در گذرگاه رد و بدل میشود سه نوع گذرگاه وجود دارد که عبارتند از گذرگاه داده، گذرگاه آدرس و گذرگاه کنترل.
الف)گذرگاه داده ها:
گذرگاه هایی که داده
های بازیبای شده از حافظه را در اختیار CPU قرار می دهند و داده های
پردازش شده را به حافظه منتقل می کنند ، گذرگاه داده (Data Bus) نامیده می شود . هر چه ظرفیت این گذرگاه بیشتر
باشد ، داده های بیشتری به صورت همزمان منتق می شوند .
ب) گذرگاه آدرس
:
برای آنکه
CPU به اطلاعات درون خانه
های حافظه دسترسی پیدا کند ، باید آدرس آن خانه ها را مشخص کرد و برای این منظور ،
این آدرس ها را در گذرگاه آدرس (Address Bus) قرار می دهد . هر چه خطوط گذرگاه آدرس بیشتر
باشد ، حافظه های اصلی با ظرفیت بیشتری آدرس دهی می شوند .
ج) گذرگاه کنترل:
گذرگاه های کنترل ،
مسیرهایی هستند که سیگنال های کنترلی برای نظارت بر کلیه ی عملیات رایانه ها از
طریق آنها ارسال می شود . واحد کنترل ، برای اعمال نظارت بر بخش های مختلف رایانه
ها ، از این خطوط استفاده می کند .
در کامپیوتر از عناصر سخت افزاری متفاوتی استفاده می گردد. تمامی این عناصر نیازمند ارتباط سریع با یکدیگر می باشند. در صورتیکه عناصر سخت افزاری موجود که دارای پتانسیل های اختصاصی خود می باشند، قادر به ایجاد ارتباط با یکدیگر نباشند، عملا" ازامکانات موجود استفاده درستی نخواهد شد. گذرگاه (Bus) با نیت کمک به هدف فوق ارائه شده اند.
گذرگاه ، کانال و یا مسیری است که بین عناصر کامپیوتر قرار می گیرد. انواع متفاوتی گذرگاه وجود دارد. گذرگاه PCI)Peripheral Component Interconnect) یکی ازنمونه های فوق است .
مبانی گذرگاه ها
معماری بکار گرفته شده در گذرگاه ها(Bus) طی سالیان اخیر بسرعت تغییر نموده است.هدف از اعمال تغییرات ، افزایش کارآئی کامپیوتر است . اغلب کامپیوترهائی که امروزه بفروش می رسند ، هنوز دارای یک گذرگاه از نوع ISA)Industry Standard Architecture) می باشند. در طراحی گذرگاه ها همواره می بایست سازگاری بین سخت افزارها ی تولید شده توسط تولید کنندگان، لحاظ گردد.قبل از مطرح شدن امکانات چند رسانه ای ، تجهیزات جانبی تاکید قابل ملاحظه ای در زابطه با سرعت گذرگاه ها نداشتند.
یک کامپیوتر شخصی دارای دو نوع گذرگاه است : نوع اول را " گذرگاه سیستم " و یا " گذرگاه محلی " می گویند. گذرگاه فوق پردازنده و حافظه را به یکدیگر مرتبط می نماید. سایر گذرگاه ها نظیر گذرگاه های PCI و ISA از طریق یک پل( گذرگاه) ارتباطی به " گذرگاه سیستم " مرتبط می گردند.
همزمان با افزایش سرعت پردازند ه و حافظه ، ضرورت ایزوله کردن سرعت بین پردازنده و حافظه بیشتر احساس گردید. بدین منظور گذرگاه DIB)Dual Independent Bus) بعنوان جایگزینی مطمین برای گذرگاه سیستم مطرح گردید. تکنولوژی DIB ، " گذرگاه سیستم " را تغییر و آن را به دو گذرگاه دیگر FrontSide و BackSide تبدیل کرد. هدف گذرگاه BackSide ارائه یک کانال مستقیم وسریع بین پردازنده و حافظه Level۲ Cache است . گذرگاه FrontSide مسئول ارتباط حافظه ( از طریق کنترل کننده حافظه ) با پردازنده و سایر گذرگاه های مربوط به پردازنده و حافظه است .
نوع دوم "گذرگاه اشتراکی" نامیده می شود. از گذرگاه فوق برای ارتباط عناصر اضافی دیگر به کامپیوتر استفاده می گردد. گذرگاه فوق به علت فراهم نمودن امکان دستیابی چندین دستگاه از یک مسیر یکسان به حافظه و پردازنده " اشتراکی " نامیده می شود. دستگاه هائی نظیر : مودم ، هارد، کارت صدا، کارت گرافیک ، کارت کنترل کننده و اسکنر نمونه هائی در این زمیه می باشند.
اولین گذرگاه کامپیوترهای شخصی هشت بیتی و با سرعت ۴۰۷۷ مگاهرتز(میلیون سیکل در هر ثانیه ) بود. گذرگاه فوق قادر به ارسال هشت بیت داده در هر سیکل بود. در سال ۱۹۸۲ گذرگاه فوق تغییر وبصورت شانزده بیتی با سرعت ۸ مگاهرتز مطرح گردید. گذرگاه فوق ISA نامگذاری گردید. طراحی گذرگاه فوق بگونه ای بود که امکان ارسال داده را با سرعت ۱۶ مگا بایت در هر ثانیه فراهم می کرد. در ادامه استاندارهای دیگری در رابطه با گذرگاه ها مطرح گردید . گذرگاه های EISA)Extendede Industry Standard Architecture ) (سی و دو بیتی و سرعت ۸ مگا هرتز ) VL-BUS)Vesa Local Bus) نمونه هائی در این زمینه می باشند.
گذرگاه PCI
در سال ۱۹۹۰ شرکت اینتل، استاندارد جدیدی با نام PCI را معرفی کرد. در گذرگاه فوق دستگاهها قادر به دستیابی مستقیم به حافظه سیستم می باشند. . برای ارتباط با پردازنده از یک " پل ارتباطی " جهت ارتباط گذرگاه فوق، با گذرگاه FrontSide استفاده می گردد.
PCI قادر به اتصال حداکثر پنج عنصر خارجی است . هر یک از عناصر خارجی می توانند با دو دستگاه ثابت بر روی برد اصلی جایگزین گردند. تراشه " پل ارتباطی " PCI ، سرعت مناسب برای گذرگاه را مستقل از سرعت پردازنده تنظیم می نماید. گذرگاه های PCI در ابتدا ۳۲ بیتی و دارای سرعت ۳۳ مگاهرتز بودند. درادامه با اعمال تغییرات سرعت آنها به ۶۶ مگاهرتز و ۶۴ بیتی شدند. اخیرا" نیز سرعت گذرگاه فوق تغییر و به ۱۳۳ مگاهرتز رسیده است.( در چنین حالتی سرعت ارسال داده به یک گیگا بایت در ثانیه خواهد رسید ) کارت های PCI دارای ۴۷ پین می باشند.
گذرگاه PCI قادر به انجام وظایف مربوطه با تعداد اندکی پین است( چون از ویژگی مالتی پلکسینگ استفاده می نماید). در این حالت دستگاه مورد نظر بیش از یک سیگنال را از طریق پین ارسال می دارد. PCI امکان استفاده دستگاههای ۵ ولت و ۳/۳ را فراهم می نماید.
با اینکه شرکت اینتل استاندارد PCI را در سال ۱۹۹۱ ارائه کرده بود ولی تا زمان عرضه ویندوز ۹۵ ( در سال ۱۹۹۵ )، استاندارد فوق عمومیت نیافته بود. سیستم عامل فوق اولین بار از ویژگی Plug&Play استفاده می کرد. جدول زیر انواع گذرگاه ها بهمراه ویژگی هر یک را نشان می دهد.
- Bus Type Bus Width Bus Speed MB/sec
- ISA ۱۶ bits ۸ MHz ۱۶ MBps
- EISA ۳۲ bits ۸ MHz ۳۲ MBps
- VL-bus ۳۲ bits ۲۵ MHz ۱۰۰ MBps
- VL-bus ۳۲ bits ۳۳ MHz ۱۳۲ MBps
- PCI ۳۲ bits ۳۳ MHz ۱۳۲ MBps
- PCI ۶۴ bits ۳۳ MHz ۲۶۴ MBps
- PCI ۶۴ bits ۶۶ MHz ۵۱۲ MBps
- PCI ۶۴ bits ۱۳۳ MHz ۱ GBps
Plug&Play
مفهوم Plug&Play )PNP) به این معنی است که، می توان یک دستگاه و یا یک کارت را به کامپیوتر متصل و سیستم بصورت خودکار قادر به تشخیص و پیکربندی آن می گردد. PNP دارای یک مفهوم ساده است ولی در زمان مطرح شدن تاثیرات فراوانی در صنعت کامپیوتررا ایجاد نمود. پس از استاندارد شدن PNP ، در طراحی PCI لحاظ و از آن استفاده گردید. همزمان با معرفی PNP تقاضا برای کامپیوترهای PCI افزایش یافت .
◊ بمنظور پیاده سازی کامل PNP به سه امکان زیر نیاز است .
۱ـ PNP BIOS هسته اولیه برای فعال شدن PNP و تشخیص دستگاههای PNP
۲ـ Extended* System Configuration Data)ESCD) . یک فایل متنی که حاوی اطلاعاتی در رابطه با دستگاه های PNP نصب شده است.
۳ـ سیستم عامل PNP . هر نوع سیستم عاملی که امکان PNP را دارا باشد.( ویندوز ۹۵ ۹۸ و ... )
PNP چندین عملیات را بصورت اتوماتیک انجام خواهد داد. عملیات قوق در گذشته بصورت دستی و یا از طریق نرم افزارهای ارائه شده بهمراه هر یک از سخت افزارها، انجام می گردید.
◊ عملیاتی که PNP بصورت اتوماتیک انجام می دهد بشرح زیر می باشند:
۱ـ Interrup Request)IRQ) . یک IRQ ( وقفه سخت افزاری ) توسط اغلب بخش های کامپیوتر استفداه می گردد. هر یک از بخش های فوق از سیگنال فوق برای جلب توجه پردازنده استفاده می نمایند. مثلا" موس هر زمان که بسمت راست هدایت می گردد ، یک IRQ را برای پردازنده ارسال تا واکنش مناسب انجام گیرد. قبل از PCI هر یک از عناصر سخت افزاری دارای تنظیمات اختصاصی مجزا برای IRQ بودند. همزمان با عرضه PCI امکان مدیریت وقفه های سخت افزاری ( در نقطه ارتباطی گذرگاه ) فراهم می گردد .بدین ترتیب از یک IRQ برای چندین دستگاه PCI استفاده خواهد شد.
۲ـ Direct Memory Access)DMA) . امکان دستیابی مستقیم دستگاهها به حافظه، بدون # Memory Addresses . دستگاههای زیادی بخش خاص و محدودی از حافظه را برای استفاده خود در نظر گرفته و آن را برای خود رزو می نمایند. با تامین حافظه فوق، دستگاهها به این اطمینان خواهند رسید که همواره عملیات خود را بدرستی انجام خواهند داد.
۳ـ Input/OutPut Configuration . پورت های مورد نیاز دستگاه برای ارسال و دریافت اطلاعات را مشخص می نماید. با اینکه PNP نصب آسان دستگاه ها در کامپیوتر را بدنبال خواهد داشت ولی به علت وجود و استفاده از روتین های نرم افزاری متفاوت توسط PNP BIOS ، محصولات تولید شده PCI توسط سازندگان متفاوت و ... همواره این احتمال وجود خواهد داشت که در زمان نصب یک کارت جدید با مشکلاتی مواجه گردید.
انواع گذرگاه ها
گذرگاه های سیستم (BUS)
هر سیستم کامپیوتر داراي سه دسته گذرگاه اساسي مي باشد كه وظيفه ارتباط بين بلوك هاي اصلي تشكيل دهنده CPU و كنترل عملكرد صحيح آنها را بر عهده دارد اين گذرگاهها عبارتند از:
گذرگاه داده ( Data BUS )، گذرگاه آدرس ( Address BUS )، گذرگاه كنترل ( ControlBUS ).
گذرگاه داده ( Data Bus )
گذرگاه داده به مجموعه اي از سيم ها و مدارات كنترلي گفته مي شود كه وظيفه انتقال داده به داخل و يا خارج از ریزپردازنده را بر عهده دارند. گذرگاه داده در واقع مسير اطلاعات است كه اين اطلاعات يا از بلوك هاي حافظه یا I/O خوانده شده و يا در آنها نوشته مي شوند، لذا در واقع گذرگاه داده يك مسير دو طرفه محسوب مي شود.
در اغلب ریزپردازنده ها عرض گذرگاه داده با طول ثباتهاي داخلي ریزپردازنده يكسان است تا به راحتی بتوان در ثباتهای ریزپردازنده مقادیر مورد نظر را نوشت و يا در صورت لزوم از آنها خواند. بعنوان مثال ریزپردازنده 8086 داراي گذرگاه داده 16بيتي و ثبات های داخلي 16 بيتي است. البته استثناهائي هم وجود داشته كه طول ثبات های آنها از عرض گذرگاه داده بيشتر بوده است. بعنوان مثال هرچند ریزپردازنده 16 بيتي 8088 داراي گذر گاه داده 8 بيتي است اما ثبات هاي آن 16 بيتي در نظر گرفته شده است. هر چه عرض گذر گاه داده بيشتر باشد داده ها سریعتر جابجا مي شوند و سرعت ریزپردازنده نیز بيشتر خواهد شد. بنابر اين يكي از زمينه هايي كه همواره مورد توجه طراحان و سازندگان ریزپردازنده ها بوده افزايش پهناي خطوط داده می باشد. در این زمینه مقالات دیگری در تالار گفتگوی سایت میکرورایانه موجود است. بعنوان مثال شركت اينتل پس از عرضه ریزپردازنده 8 بيتي 8085، ریزپردازنده های 16 بيتي 8086 و 80286 رابه بازار عرضه كرد و پس از آنها نيز ریزپردازنده هاي 32 بيتي 80386 و 80486 را روانه بازار نمود. امروزه ریزپردازنده ها داراي گذرگاه داده 64 بيتي هستند كه امكان انتقال همزمان 8 بايت داده را فراهم مي سازد.
اما اگر گذرگاه داده اين قدر بر كارآيي پردازنده ها اثر مي گذارند، چرا از گذرگاه داده 128 بيتي و يا حتي 256 بيتي استفاده نمي كنند؟
پاسخ اين سؤال، به هزينه ساخت مربوط می شود. افزايش پهناي گذرگاه داده، باعث افزايش حجم مدار ریزپردازنده و خطوط ارتباطي روي مادربرد مي شود. بعنوان مثال پردازنده 80386DX كه از گذر گاه داده 32 بيتي استفاده مي كند از 132 پين و پردازنده پنتيوم كه داراي گذرگاه داده 64 بيتي مي باشد از 296 پين براي اتصال به مادربرد استفاده مي نمايد كه يكي از دلايل اين افزايش چشمگير تعداد پين ها ،افزايش پهناي گذرگاه داده است.
علاوه بر پهناي گذرگاه داده، سرعت گذرگاه داده نيز نقش مهمي در سرعت انتقال اطلاعات دارد در واقع براي اكثر ریزپردازنده هاي جديد، گذرگاه داده داخلي بسيار سريعتر از گذرگاه داده خارجي ریزپردازنده مي باشد. هرچند مدارات داخل ریزپردازنده ها با سرعت هايي در حد گيگا هرتز مي توانند كار كنند اما گذرگاههاي خارجي كه برروي مادر برد قرار دارد اكثراً سرعت هايي تا حد چند صد مگاهرتز مي توانند داشته باشند بطوري كه معمولاً سرعت انتقال داده ها در داخل پردازنده حدود 2 تا 3 برابر سرعت انتقال اطلاعات در خارج از ریزپردازنده است. براي حل اين مشكل تدابير مختلفي در نظر گرفته شده است كه شايد بهترين آنها استفاده از حافظه Cache می باشد تا ميزان استفاده از گذرگاه داده خارجي حتي الامكان كاهش يابد.
گذرگاه آدرس ( Address Bus )
اين گذرگاه همان طور كه از نامش پيداست، از مجموعه سيمها و خوطوط ارتباطی تشكيل شده که وظيفه آنها حمل بيت هاي آدرس است و براي مشخص نمودن محل قرار گرفتن داده در حافظه (یا تعیین دستگاه I/O مورد نظر) مورد استفاده قرار مي گيرند. CPU در هر عمل خواندن از حافظه و يا نوشتن در آن آدرس محل مورد نظر را با گذاشتن صفر و يك هايي بر روي اين خطوط مشخص مي کند. از آنجا كه CPU همواره توليد كننده آدرس است پس جهت اين خطوط همواره به سمت خارج CPU است. هرچه پهناي گذرگاه آدرس بيشتر باشد ریزپردازنده مي تواند به حافظه فيزيكي بزرگتري دسترسي داشته باشد. ميزان حافظه قابل دسترسي برابر است با 2 به توان تعداد بيتها، مثلاً گذرگاه آدرس 32 بيتي ميتواند 2 به توان 32 بايت يا 4 گيگا بايت حافظه را آدرس دهي كند.
ریزپردازنده هاي 8086 و 8088 داراي 20 خط آدرس هستند كه تنها امكان آدرس دهي 1MB حافظه را فراهم مي كنند و البته اين حجم از حافظه براي بسياري از كاربرد ها كافي نیست. اينتل در ریزپردازنده هاي 80386 و نسل های بعد از آن از گذرگاه هاي آدرس 32 بيتي استفاده كرد و همانطور كه اشاره شد اين گذرگاه ها امكان آدرس دهي 4GB حافظه را برای سيستم امکان پذیر می سازند. در ریزپردازنده هاي Pentium II و Pentium Pro از گذرگاه هاي آدرس 36 بيتي استفاده شد كه گذرگاه هاي فوق نيز امكان آدرس دهي 64GB حافظه را فراهم مي آورند.
گذرگاه كنترل ( Control Bus )
گذرگاه كنترل شامل مجموعه سيگنالهايي است كه وظيفه کنترل و هماهنگ كردن ریزپردازنده با مدارات سخت افزاري ديگر موجود در سيستم نظیر حافظه و I/O را بر عهده دارد.
سيگنالهاي كنترلي را مي توان به سه گروه عمده تقسيم كرد:
1) سيگنالهاي كنترلي
مربوط به وقفه :
در PC
براي ارتباط CPU با
برخي از ادوات جانبي، به خصوص دستگاه هاي ورودي و خروجي از وقفه (Interrupt)
استفاده مي شود. در اين روش، دستگاه مورد نظر از طريق يكي از پايه هاي ریزپردازنده
كه مربوط به وقفه است، از CPU مي خواهد كه عمليات مورد
نیاز اين دستگاه را انجام دهد. ریزپردازنده با توجه به برنامه فعلي خود و تقدم اين
وقفه، اجراي برنامه هاي جاري خود را قطع كرده و به سراغ برنامه اي مي رود كه وقفه
مورد نظر به آن نياز دارد. به اين برنامه، اصطلاحاً برنامه سرويس دهنده وقفه يا ISR ياInterrupt Service Routine گفته مي شود پس از اجراي
برنامه ISR
ریزپردازنده به حالت عادي خود باز مي گردد و روال كار عادي خود را ادامه مي دهد.
ضمن اينكه ریزپردازنده علاوه بر پايه هايي كه به درخواست وقفه اختصاص مي دهد، پايه
هايي را نيز به اين امر مختص مي كند تا به دستگاه مورد نظر بگويد كه وقفه درخواستي
را دريافت كرده است. وقفه ها در عمل بسيار مورد استفاده قرار مي گيرند و بسياري از
ادوات جانبي، از اين روش براي ارتباط با Cpu استفاده مي كنند.
2) سيگنالهاي كنترلي
مربوط به DMA :
DMA
مخفف Direct Memory Access
است و قابليتي است كه در پردازنده هاي جديد مورد استفاده قرار گرفته است. اين
ويژگي، امكان ارتباط مستقيم بين حافظه و ادوات جانبي بدون دخالت CPU را فراهم مي آورد .
3) سيگنالهاي كنترلي
مربوط به كنترل گذرگاه :
اين سيگنالهاي كنترلي بر ورود و خروج داده و آدرس از طريق گذرگاهاي داده و همچنين
آدرس و كانالهاي DMA نظارت
مي كند.
هدف ما تبادل اطلاعات در زمینه ی کامپیوتر میباشد .