بخشی از مقاله
مقدمه
استفاده از کامپيوتر در ايران از چند سال قبل رايج شده است . امروزه در موارد متعددی از
کامپيوتراستفاده بعمل می آيد. چرخه استفاده از کامپيوتر از مرحله تهيه سخت افزارهای لازم
شروع و در ادامه با نصب تجهيزات سخت افزاری زمينه استفاده از مقولات ديگر نظير
: نرم افزار، شبکه ،اينترنت و ... فراهم می گردد. تنها با يافتن پاسخ مناسب علمی به هر يک
از موارد مطرح شده است که می توان اميدوار به ايجاد يک زير ساخت مناسب فرهنگی
بمنظور استفاده از کامپيوتر در جايگاه واقعی خود بود. در صورت نيل به هدف فوق شتاب
حرکات هدفمند بمنظور نهادينه شدن فرهنگ عمومی استفاده و بکارگيری سيستم های سخت
افزاری نرم افزاری و شبکه سير منطقی و معقول خود را طی خواهد کرد.
تاریخچه مختصر از کامپیوتر
سرعت پیشرفت کامپیوتر های جدید غیر قابل باور شده است.اولین کامپیوتر
دیجیتال بزرگ در سال 1937توسط پروفسور Howard Aiken از دانشگاه
هاروارد،ارائه شد. آی بی ام در سال 1944 این کامپیوتر را ساخت. کامپیوتر
مزبور "ماشین حسابی با کنترل خودکار مراحل محاسبه"به شمار آمده، و
Mark I نامیده می شد. این کامپیوتر که بیشتر قسمت های آن مکانیکی بود،از
750000 قطعه ساخته شده بود. ارتفاع کامپیوتر مزبور 17 متر،و وزن آن بیش
از 5 تن بود.
عمل "ضرب" ساده با این کامپیوتر حدود 6 ثانیه طول می کشید (کامپیوترهای
جدید مبتنی بر پنتیوم این کار را در حدود1000000/1 ثانیه انجام می دهند). در
سال 1947 کامپیوتر Mark II توسط Aiken ساخته شد،و کامپیوترSSEC آی
بی ام نیز دز سال 1948 به پایان رسید. بالاترین سرعتی که در این ماشینها به
دست آمد،یک عمل ضرب در ثانیه بود.
اولین کامپیوتر الکترونیکی(بدون استفاده از قطعه های مکانیکی) در زمستان
سال1945-1944ساخته شد. کامپیوتر مزبور ENIAC (سر نام کلمه های
Electronic Numerical Integrator )نام داشت.ENIAC می توانست تا
300 عمل ضرب را در ثانیه انجام دهد،اما هنوز هم به صورت هیولایی عظیم
بود. یعنی از حدود 18000 لامپ خلاءتشکیل شده بود . طراحی این نوع ماشین
ها همچنان به پیشرفت خود ادامه داد،و در سالل 1950کامپیوتر صنعت پیشرفته
ای به شمار می آمد. در سال 1960بیش از 5000 کامپیوتر در سرتاسر دنیا وجود
داشت.
اختراع ترانزیستور در سال 1947(که نوعی کلید الکتونیکی کوچک می
باشد)،جرقه ای انقلابی در طراحی کامپیوتر ایجاد کرد.در اواخر دهه ی
1950دیگر ترانزیستورها می توانستند جایگزین لامپ های خلاء در کامپیوتر
شوند. از آنجا که ترانزیستور های اولیه فضایی در حدود 200/1 لامپ های خلاء
را اشغال می کردند،نه تنها کامپیوتر های کوچکترشدند،بلکه عملکرد آنها نیز
سریعتر شد. زیرا در این حالت دیکر الکتریسیته ی مسیر چندان طولانی را نمی
پیمود.کامپیوتر های مبتنی بر ترانزیستور های نیمه هادی می توانستند تا
100000عمل ضرب را در یک ثانیه انجام دهند.همچنین عملکرد آنها نسبت به
کامپیوترهای مبتنی بر لامپ های خلاء قابل اطمینان تر بود.
در دهه 1970این قابلیت به دست آمد که بتوان دهها هزار،و شاید صدها هزار
ترانزیستور را بر روی تراشه ی سیلیکونی کوچکی قرار دهند، که حجم آن از
ناخن انگشت شست بزرگتر نباشد. این قطعه ها که «مدار های مجتمع» نامیده می
شوند،انقلاب دیگری در طراحی کامپیوتر ها ایجاد کردند. به این ترتیب ایجاد
دنیای کامپیوتر های شخصی امکان پذیر شد.
در سال 1981آی بی ام اولین کامپیوتر شخصی خود را معرفی کرد. .به طور
خلاصه از آن زمان تا کنون کامپیوتر های شخصی 5 نسل را پشت سر گذاشته
اند،که در هر نسل سرعت عملکرد و قابلیت های آنها پیشرفت کرده است.امروز
کامپیوتر هایی که از چمدان معمولی بزرگتر نیستند،می توانند بیش از 100 میلیون
عمل ضرب را در ثانیه انجام دهند.
کامپيوترهای شخصی
اغلب مردم زمانيکه با واژه " تکنولوژی " برخورد می نمايند ، بی اختيار "کامپيوتر" برای
آنها تداعی می گردد. امروزه کامپيوتر در موارد متعددی بخدمت گرفته می شود. برخی از
تجهيزات موجود در منازل ، دارای نوع خاصی از " ريزپردازنده" می باشند. حتی
اتومبيل های جديد نيز دارای نوعی کامپيوتر خاص می باشند. کامپيوترهای شخصی ، اولين
تصوير از انواع کامپيوترهائی است که در ذهن هر شخص نقش پيدا می کند. بدون شک
مطرح شدن اين نوع از کامپيوترها در سطح جهان، باعث عموميت کامپيوتر در عرصه
های متفاوت بوده است .
کامپيوتر شخصی وسيله ای "همه منظوره " بوده که توان عملياتی خود را مديون يک
ريزپردازنده است. اين نوع از کا مپيوترها دارای بخش های متعددی نظير:
حافظه ، هارد ديسک، مودم و... بوده که حضور آنها در کنار يکديگر به منظور انجام
عمليات مورد نظر است . علت استفاده از واژه " همه منظوره " بدين دليل است که می توان
به کمک اين نوع از کامپيوترها عمليات متفاوتی ( تايپ يک نامه ، ارسال يک نامه
الکترونيکی، طراحی و نقشه کشی و ...) را انجام داد .
بخش های اصلی کامپيوترهای شخصی
◄ پردازشگر مرکزی (CPU)
ريزپردازنده بمنزله " مغز" کامپيوتربوده و مسئوليت انجام تمامی عمليات ( مستفيم يا غير
مستقيم ) را برعهده دارد. هر چيزی را که کامپيوتر انجام می دهد با توجه به وجود " ريز
پردازنده " است .
◄ حافظه
اين نوع از حافظه ها با سرعت بالا، امکان ذخيره سازی اطلاعات را فراهم می نمايند.
سرعت حافظه های فوق می بايست بالا باشد چراکه آنها مستقيما" با ريزپردازنده مرتبط می
باشند. در کامپيوتر از چندين نوع حافظه استفاده می گردد:
● ( Random-Access Memory)RAM از اين نوع حافظه ، بمنظور ذخيره سازی
موقت اطلاعاتی که کامپيوتر در حال کار با آنان است، استفاده می گردد.
● ( Read Only Memory )ROM يک حافظه دائم که از آن برای ذخيره سازی
اطلاعات مهم در کامپيوتر استفاده می گردد.
● (Basic Input/Output System )BIOS يک نوع حافظه ROM ، که از اطلاعات
آن در هر بار راه اندازی سيستم استفاده می گردد.
Caching حافظه ای سريع که از آن برای ذخيره سازی اطلاعاتی که فرکانس بازيابی آنان
بالا باشد، استفاده می گردد.
● Virtual Memory فضای موجود بر روی هارد ديسک که از آن برای ذخيره سازی
موقت اطلاعات استفاده و در زمان نياز عمليات جايگزينی در حافظه RAM انجام خواهد
شد.
◄ برد اصلی (MotherBoard). برد اصلی کامپوتر بوده که تمام عناصر داخلی به آن
متصل خواهند شد. پردازشگر و حافظه بر روی برد اصلی نصب خواهند شد.برخی از
عناصر سخت افزاری ممکن است مستقيما" و يا بصورت غير مستقيم به برد اصلی متصل
گردنند. مثلا" يک کارت صدا می تواند همراه برد اصلی طراحی شده باشد و يا بصورت يک
برد مجزا بوده که از طريق يک اسلات به برد اصلی متصل می گردد.
منبع تغذيه (Power Supply) يک دستگاه الکتريکی که مسئول تامين و نتظيم جريان
الکتريکی مورد نياز در کامپيوتر است .
◄ هارد ديسک (Hard Disk) يک حافظه با ظرفيت بالا و دائم که از آن برای نگهداری
اطلاعات و برنامه ها استفاده می گردد.
◄ کنترل کننده (Integrated Drive Electronics(IDE . اينترفيس اوليه برای هارد ،
CD-ROM و فلاپی ديسک است .
◄ گذرگاه Peripheral Component Interconnect)PCI) . رايج ترين روش اتصال
يک عنصر سخت افزاری اضافه به کامپيوتر است .PCI از مجموعه ای اسلات که بر روی
برد اصلی سيستم موجود می باشد، استفاده و کارت های PCI از طريق اسلات های فوق به
برد اصلی متصل خواهند شد.
◄ اينترفيس Small Computer System Interface)SCSI) روشی برای اضافه کردن
دستگاه های اضافه در سيستم نظير : هارد و اسکنر است .
◄ پورت Accelerated Graphics Port)AGP) يک اتصال با سرعت بسيار بالا
بمنظور ارتباط کارت های گرافيک با کامپيوتر است .
◄کارت صدا (Sound Card) مسئول ضبط و پخش صوت از طريق تبديل سيگنال های
آنالوگ صوتی به اطلاعات ديجيتال و بر عکس است .
◄کارت گرافيک (Graphic Cards) مسئول تبديل اطلاعات موجود در کامپيوتر به گونه
ای که قابليت نمايش بر روی مانيتور را داشته باشند.
دستگاه های ورودی و خروجی
◄مانيتور (Monitor) . رايج ترين دستگاه نمايش اطلاعات در کامپيوتر است .
◄صفحه کليد (KeyBoard) رايج ترين دستگاه برای ورود اطلاعات است .
◄موس (Mouse) . رايج ترين دستگاه برای انتخاب موارد ارائه شده توسط يک نرم افزار
و ايجاد ارتباط متقابل با کامپيوتر است .
◄رسانه های ذخيره سازی قابل حمل (Removable storage) . با استفاده از اين نوع
رسانه ها می توان بسادگی اطلاعاتی را به کامپيوتر خود اضافه و يا اطلاعات مورد نياز خود
را بر روی آنها ذخيره و در محل ديگر استفاده کرد.
● فلاپی ديسک (Floppy Disk) . رايج ترين رسانه ذخيره سازی قابل حمل است .
● CD-ROM . ديسک های فشرده رايج ترين رسانه ذخيره سازی برای انتقال وجابجائی
نرم افزار ها و ... می باشند.
● Flash Memory يک نوع خاص از حافظه Rom است(EEPROM). اين نوع رسانه
ها امکان ذخيره سازی سريع و دائم را بوجود می آورند. کارت های PCMCIA نمونه ای
از اين رسانه ها می باشند.
● Digital Versatile Disc,Read Only Disk) DVD-ROM ) اين نوع رسانه
ذخيره سازی مشابه CD-ROM بوده با اين تفاوت مهم که ميزان ذخيره سازی آنان بسيار
بالا است .
پورت ها
◄موازی (Parallel) . از اين نوع پورت ها اغلب برای اتصال چاپگر استفاده می گردد.
◄سريال (Serial) . از اين نوع پورت ها اغلب برای اتصال دستگاههائی نظير يک مودم
خارجی، استفاده می گردد.
◄پورت ( Uuniversal Serial Bus(USB . از پورت ها ی فوق بمنظور اتصال
دستگاههای جانبی نظير اسکنر و يا دوربين های وب استفاده می گردد.
اتصالات شبکه و اينترنت
◄مودم (Modem) دستگاهی برای برقرای ارتباط با يک شبکه و يا سيستم ديگر است .
رايج ترين روش ارتباط با اينترنت استفاده از مودم است .
◄کارت شبکه (Lan Card) . يک نوع برد سخت افزاری که از آن بمنظور بر پاسازی
شبکه بين چندين دستگاه کامپيوتر در يک سازمان استفاده می شود.
◄مودم کابلی (Modem Cable) . امروزه در برخی از نقاط دنيا جهت استفاده و ارتباط با
اينترنت از سيستم تلويزيون کابلی استفاده می گردد.
◄مودم های DSL)Digital Subscriber Line) . يک خط ارتباطی با سرعت بالا که
از طريق خطوط تلفن کار می کند.
◄مودم های VDSL)Very high bit-rate DSL) .يک رويکرد جديد از DSL بوده که
لازم است خطوط تلفن از زير ساخت مناسب ، فيبر نوری استفاده نمايند.
از راه اندازی تا خاموش کردن سيستم
در بخش های قبل با عناصر اصلی تشکيل دهنده يک کامپيوتر شخصی آشنا شديد. در اين
قسمت به بررسی عمليات انجام شده از زمان راه اندازی سيستم تا زمان خاموش کردن
(Shut-down) خواهيم پرداخت .
مرحله يک : مانيتور و سيستم با فشردن کليدهای مربوطه روشن می گردند.
مرحله دو : نرم افزار موجود در BIOS موسوم به
POST(Power-on self-test) عمليات خود را آغاز می نمايد. دراغلب سيستم ها،
BIOS اطلاعاتی را بر روی صفحه نمايش نشان داده که نشاندهنده عمليات جاری است.
(مثلا" ميزان حافظه موجود ، نوع هارد ديسک) در زمان راه اندازی سيستم ،
BIOS مجموعه ای از عمليات را بمنظور آماده سازی کامپيوتر انجام می دهد.
● صحت عملکرد کارت گرافيک توسط BIOS بررسی می گردد. اغلب کارت های
گرافيک دارای BIOS اختصاصی مربوط به خود بوده که عمليات مقداردهی اوليه حافظه و
پردازنده کارت را انجام خواهد داد.در صورتيکه BIOS اختصاصی مربوط به کارت های
گرافيک موجود نباشد، BIOS سيستم از حافظه ROM بمنظور اخذ اطلاعات مربوط به
درايور استاندارد کارت گرافيک، استفاده می نمايد.
● بررسی نوع " راه اندازی سيستم " توسط BIOS انجام خواهد شد. ( راه اندازی مجدد و
يا راه اندازی اوليه ) . BIOS برای تشخيص مورد فوق از مقدار موجود در آدرس
0000:0472 استفاده می نمايد. در صورتيکه مقدار فوق معادل 1234h باشد، نشان دهنده
"راه اندازی مجدد" است . در اين حالت برنامه BIOS ، عمليات مربوط به POST را
صرفنظر و اجراء نخواهد کرد. در صورتيکه در آدرس فوق هر مقدار ديگری وجود داشته
باشد ، بمنزله "راه اندازی اوليه " است .
● در صورتيکه راه اندازی از نوع " راه اندازی اوليه " باشد، BIOS عمليات مربوط به
بررسی حافظه RAM ( تست نوشتن و خواندن) را انجام خواهد داد. در ادامه صفحه کليد و
موس مورد بررسی قرار خواهند گرفت در مرحله بعد گذرگاه های PCI بررسی و در
صورت يافتن گذرگاه مربوطه ، کارت های موجود بررسی خواهند شد در صورتيکه
BIOS به هر نوع خطائی برخورد نمايد، موارد را از طريق يک پيام و يا بصدا در آمدن
صدای بلندگوی داخلی کامپيوتر (Beep) به اطلاع خواهد رساند. خطاهای در اين سطح
اغلب به موارد سخت افزاری مربوط خواهد بود.
● BIOS برخی اطلاعات جزئی در رابطه با سيستم را نمايش خواهد داد. اطلاعاتی در
رابطه با پردازنده ، هارد ، فلاپی درايو، حافظه، نسخه و تاريخ BIOS و نمايشگر نمونه
ای از اطلاعات فوق می باشند.
● هر نوع درايور خاص نظير آداپتورهای SCSI از طريق آداپتور مربوطه فعال و
BIOS اطلاعات مربوطه را نمايش خواهد داد.
● در ادامه BIOS درايو مورد نظر برای راه اندازی ( Booting) را مشخص می نمايد.
بدين منظور از اطلاعات ذخيره شده در CMOS استفاده می گردد. واژه Boot بمنزله
استقرار سيستم عامل در حافظه است .
مرحله سوم : پس از اتمام اوليه عمليات BIOS ، و واگذاری ادامه عمليات راه اندازی به
برنامه Bootstarp loader ، عملا" مرحله استقرار سيستم عامل به درون حافظه آغاز می
گردد .
مرحله چهارم : پس از استقرار سيستم عامل در حافظه، مديران عملياتی سيستم عامل در شش
گروه : مديريت پردازنده ، مديريت حافطه ، مديريت دستگاهها، مديريت حافظه های جانبی
، مديريت ارتباطات و مديريت رابط کاربر به ايفای وظيفه خواهند پرداخت.
مرحله پنجم : پس از استقرار سيستم عامل ، می توان برنامه های مورد نظر خود را اجراء
نمود. سيستم عامل محيط لازم برای اجرای برنامه ها را ايجاد خواهد کرد. پس از اتمام
عمليات استفاده از برنامه ها می توان هر يک از آنها را غيرفعال (Close) نمود.
مرحله ششم : در صورت تصميم به خاموش نمودن سيستم ، سيستم عامل تنظيمات جاری
خود را در يک فايل خاص نوشته تا در زمان راه اندازی مجدد( آينده ) از آنان استفاده نمايد.
مرحله هفتم : پس از خاموش نمودن سيستم (Shut down)، سيستم عامل بطور کامل سيستم
را خاموش می نمايد.
پردازنده
کامپيوتری که هم اکنون بکمک آن در حال مشاهده و مطالعه اين صفحه هستيد ، دارای يک
ريزپردازنده است . ريزپردازنده بمنزله مغز در کامپيوتر است. تمام کامپيوترها اعم از
کامپيوترهای شخصی ، کامپيوترهای دستی و ... دارای ريزپردازنده می باشند. نوع
ريزپردازنده استفاده شده در يک کامپيوتر می تواند متفاوت باشد ولی تمام آنها عمليات
يکسانی را انجام خواهند داد.
تاريخچه ريزپردازنده ها
ريزپردازنده که CPU هم ناميده می گردد، پتانسيل های اساسی برای انجام محاسبات و
عمليات مورد نظر در يک کامپيوتر را فراهم می نمايد. ريزپردازنده از لحاظ فيزيکی يک
تراشه است . اولين ريزپردازنده در سال 1971 و با نام Intel 4004 معرفی گرديد.
ريزپردازنده فوق چندان قدرتمند نبود و صرفا" قادر به انجام عمليات جمع و تفريق چهار
بيتی بود. نکته مثبت پردازنده فوق، استفاده از صرفا" يک تراشه بود.قبل از آن مهندسين و
طراحان کامپيوتر از چندين تراشه و يا عصر برای توليد کامپيوتر استفاده می کردند.
اولين ريزپردازنده ای که بر روی يک کامپيوتر خانگی نصب گرديد ، 8080 بود. پردازنده
فوق هشت بيتی و بر روی يک تراشه قرار داشت . اين ريزپردازنده در سال 1974 به
بازار عرضه گرديد.اولين پردازنده ای که باعث تحولات اساسی در دنيای کامپيوتر شد ،
8088 بود. ريزپردازنده فوق در سال 1979 توسط شرکت IBM طراحی و اولين نمونه آن
در سال 1982 عرضه گرديد. وضعيت توليد ريزپردازنده توسط شرکت های توليد کننده
بسرعت رشد و از مدل 8088 به 80286 ، 80386 ، 80486 ، پنتيوم ، پنتيوم II ،
پنتيوم III و پنتيوم 4 رسيده است . تمام پردازنده های فوق توسط شرکت اينتل و ساير
شرکت های ذيربط طراحی و عرضه شده است . پردازنده های پنتيوم 4 در مقايسه با
پردازنده 8088 عمليات مربوطه را با سرعتی به ميزان 5000 بار سريعتر انجام می دهد!
جدول زير ويژگی هر يک از پردازنده های فوق بهمراه تفاوت های موجود را نشان می
دهد.
Name Date Transistors Microns Clock speed Data width MIPS
8080 1974 6,000 6 2 MHz 8 bits 0.64
8088 1979 29,000 3 5 MHz 16 bits
8-bit bus 0.33
8088 1979 29,000 3 5 MHz 16 bits
8-bit bus 0.33
80286 1982 134,000 1.5 6 MHz 16 bits 1
80386 1985 275,000 1.5 16 MHz 32 bits 5
80486 1989 1,200,000 1 25 MHz 32 bits 20
Pentium 1993 3,100,000 0.8 60 MHz 32 bits
64-bit bus 100
Pentium II 1997 7,500,000 0.35 233 MHz 32 bits
64-bit bus ~300
Pentium III 1999 9,500,000 0.25 450 MHz 32 bits
64-bit bus ~510
Pentium 4 2000 42,000,000 0.18 1.5 GHz 32 bits
64-bit bus ~1,700
توضيحات جدول :
ستون Date نشاندهنده سال عرضه پردازنده است.
ستون Transistors تعدا ترانزيستور موجود بر روی تراشه را مشخص می کند.
تعداد ترانزيستور بر روی تراشه در سال های اخير شتاب بيشتری پيدا کرده است
ستون Micron ضخامت کوچکترين رشته بر روی تراشه را بر حسب ميکرون
مشخص می کند. ( ضخامت موی انسان 100 ميکرون است)
ستون Clock Speed حداکثر سرعت Clock تراشه را مشخص می نمايد
.
ستون Data Width پهنای باند واحد منطق و محاسبات (ALU) را نشان می دهد. يک
واحد منطق و حساب هشت بيتی قادر به انجام عمليات محاسباتی نظير: جمع ، تفريق ، ضرب
و ... برای اعداد هشت بيتی است. در صورتيکه يک واحد منطق و حساب 32 بيتی قادر به
انجام عمليات بر روی اعداد 32 بيتی است . يک واحد منطق و حساب 8 بيتی بمنظور جمع
دو عدد 32 بيتی می بايست چهار دستورالعمل را انجام داده در صورتيکه يک واحد منطق
وحساب 32 بيتی عمليات فوق را صرفا" با اجرای يک دستورالعمل انجام خواهد داد.در
اغلب موارد گذرگاه خارجی داده ها مشابه ALU است . وضعيت فوق در تمام موارد صادق
نخواهد بود مثلا" پردازنده 8088 دارای واحد منطق وحساب 16 بيتی بوده در حاليکه
گذرگاه داده ئی آن هشت بيتی است . در اغلب پردازنده های پنتيوم جديد گذرگاه داده 64 بيتی
و واحد منطق وحساب 32 بيتی است . ستون MIPS مخفف کلمات
Millions of instruction per Second ) ميليون دستورالعمل در هر ثانيه ) بوده و
واحدی برای سنجش کارآئی يک پردازنده است.
درون يک پردازنده
يک ريزپردازنده مجموعه ای از دستورالعمل ها را اجراء می کند. دستورالعمل های فوق
ماهيت و نوع عمليات مورد نظر را برای پردازنده مشخص خواهند کرد. با توجه به نوع
دستورالعمل ها ، يک ريزپردازنده سه عمليات اساسی را انجام خواهد داد :
1- يک ريزپردازنده با استفاده از واحد منطق و حساب خود (ALU) قادر به انجام عمليات
محاسباتی نظير: جمع ، تفريق، ضرب و تقسيم است. پردازنده های جديد دارای پردازنده
های اختصاصی برای انجام عمليات مربوط به اعداد اعشاری می باشند.
-2 يک ريزپردازنده قادر به انتقال داده از يک محل حافظه به محل ديگر است .
-3 يک ريزپردازنده قادر به اتخاذ تصميم ( تصميم گيری ) و پرش به يک محل ديگر برای
اجرای دستورالعمل های مربوطه بر اساس تصميم اتخاذ شده است .
شکل زير يک پردازنده ساده را نشان می دهد.
پردازنده فوق دارای :
● يک گذرگاه آدرس (Address Bus) است که قادر به ارسال يک آدرس به حافظه است
( گذرگاه فوق می تواند 8 ، 16 و يا 32 بيتی باشد(
● يک گذرگاه داده (Data Bus) است که قادر به ارسال داده به حافظه و يا دريافت داده از
حافظه است )گذرگاه فوق می تواند 8 ، 16 و يا 32 بيتی باشد(
● يک خط برای خواندن (RD) و يک خط برای نوشتن (WR) است که آدرسی دهی
حافظه را انجام می دهند. آيا قصد نوشتن در يک آدرس خاص وجود داشته و يا مقصود،
خواندن اطلاعات از يک آدرس خاص حافظه است؟
● يک خط Clock که ضربان پردازنده را تنظيم خواهد کرد.
● يک خط Reset که مقدار " شمارنده برنامه " را صفر نموده و يا باعث اجرای مجدد يک
فرآيند می گردد.
فرض کنيد پردازنده فوق هشت بيتی بوده واز عناصر زير تشکيل شده است:
- ريجسترهای A,B,C نگاهدارنده هائی بوده که از فليپ فلاپ ها ساخته شده اند.
- Address Latch مشابه ريجسترهای A,B,C است .
- شمارنده برنامه (Program Counter) نوع خاصی از يک نگهدارنده اطلاعات است که
قابليت افزايش بميزان يک و يا پذيرش مقدار صفر را دارا است
- واحد منطق و حساب (ALU) می تواند يک مدار ساده جمع کننده هشت بيتی بوده و يا
مداری است که قابليت انجام عمليات جمع ، تفريق ، ضرب و تقسيم را دارا است .
- ريجستر Test يک نوع خاص نگاهدارنده بوده که قادر به نگهداری نتايج حاصل از انجام
مقايسه ها توسط ALU است .ALU قادر به مقايسه دو عدد وتشخيص مساوی و يا نامساوی
بودن آنها است . ريجستر Test همچنين قادر به نگهداری يک Carry bit ( ماحصل آخرين
مرحله عمليات جمع) است . ريجستر فوق مقادير مورد نظر را در فليپ فلاپ ها ذخيره و
در ادامه Instruction Decoder "تشخيص دهنده دستورالعمل ها " با استفاده از مقادير
فوق قادر به اتخاذ تصميمات لازم خواهد بود.
- همانگونه که در شکل فوق ، مشاهده می گردد از شش " 3-State" استفاده شده که به آنها
"tri-State buffers" می گويند. بافرهای فوق قادر به پاس دادن مقادير صفر و يا يک و يا
قطع خروجی مربوطه می باشند.. اين نوع بافرها امکان ارتباط چندين خروجی را از طريق
يک Wire فراهم می نمايند. در چنين حالتی فقط يکی از آنها قادر به انتقال ( حرکت ) صفر
و يا يک بر روی خط خواهد بود.
- ريجستر Instruction و Instruction Decoder مسئوليت کنترل ساير عناصر را
برعهده خواهند داشت . بدين منظور از خطوط کنترلی متفاوتی استفاده می گردد. خطوط فوق
در شکل فوق نشان داده نشده اند ولی می بايست قادر به انجام عمليات زير باشند:
- به ريجستر A اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود
نگاهدارد.(Latch)
- به ريجستر B اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود
نگاهدارد.(Latch)
- به ريجستر C اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود
نگاهدارد.(Latch)
- به " شمارنده برنامه " اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود
نگاهدارد.(Latch)
- به ريجستر Address اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود
نگاهدارد.(Latch)
- به ريجستر Instruction اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود
نگاهدارد.(Latch)
- به " شمارنده برنامه " اعلام نمايد که مقدار خود را افزايش دهد.
- به " شمارنده برنامه " اعلام نمايد که مقدار خود را صفر (Reset) نمايد.
- به واحد منطق و حساب نوع عملياتی را که می بايست انجام گيرد، اعلام نمايد.
- به ريجستر Test اعلام نمايد که بيت های ماحصل عمليات ALU را در خود نگاهدارد.
- فعال نمودن خط RD)خواندن (
- فعال نمودن خط WR ) نوشتن(
حافظه های RAM و ROM
در بخش قبل گذرگاه های آدرس و داده نظيرخطوط RD,WR بررسی گرديدند. گذرگاه های
فوق به حافظه های RAM ،ROM و يا هر دو متصل خواهند بود. در ريزپردازنده ساده
فرضی فوق، از گذرگاه های آدرس و داده هشت بيتی استفاده می گردد. بدين ترتيب پردازنده
قادر به آدرس دهی 256 بايت حافظه و خواندن و يا نوشتن هشت بيت از حافظه در هر
لحظه خواهد بود. فرض کنيد پردازنده فوق دارای 128 بايت حافظه ROM بوده که از
آدرس صفر شروع شده و 128 بايت حافظه RAM که از آدرس 128 آغاز می گردد ، است
. حافظه ROM تراشه ای است که اطلاعاتی را از قبل و بصورت دائم در خود نگهداری
می نمايد. گذرگاه های آدرس به تراشه ROM اعلام خواهند کرد که کدام بايت را خواسته و
آن را بر روی گذرگاه قرار خواهد داد. زمانيکه وضعيت خط RD تغيير نمايد تراشه
ROM بايت مورد نظر و انتخابی را بر روی گذرگاه داده قرار خواهد داد. RAM شامل
بايت هائی از اطلاعات است . ريزپردازنده قادر به خواندن و نوشتن در حافظه فوق بر
اساس سيگنال های دريافتی از خطوط RD و RW است . در رابطه با حافظه RAM می
بايست به اين نکته نيز اشاره گردد که اين نوع از حافظه ها با از دست منبع انرژی ) برق )
اطلاعات خود را از دست خواهند داد.
تمامی کامپيوترها دارای حافظه ROM به ميزان مشخص می باشند. ( برخی از کامپيوترها
ممکن است دارای حافظه RAM نبوده نظير ميکرو کنترل ها ، ولی وجود و ضرورت
حافظه ROM را در هيچ کامپيوتری نمی توان انکار نمود).بر روی کامپيوترهای شخصی
حافظه ROM را BIOS نيز می نامند. زمانيکه ريزپردازنده فعاليت خود را آغاز می نمايد
، در ابتدا دستورالعمل هائی را اجراء خواهد کرد که در BIOS می باشند. دستورالعمل های
موجود در BIOS عمليانی نظير تست سخت افزار و سيستم را انجام و در ادامه فرآيندی
آغاز خواهد شد که نتيجه آن استقرار سيستم عامل در حافظه خواهد بود. (Booting) . در
آغاز فرآيند فوق ، بوت سکتور هارد ديسک ) می تواند آغاز عمليات فوق از هارد شروع
نشده و از فلاپی ديسک انجام گردد ، اتخاذ تصميم در رابطه با وضعيت فوق بر اساس
پارامترهای ذخيره شده در حافظه CMOS خواهند بود ) را بررسی خواهد کرد . بوت
سکتور فوق حاوی برنامه ای کوچک است که در ادامه BIOS آن را خوانده و در حافظه
RAM مستقر خواهد کرد. ريزپردازنده در ادامه دستورالعمل های مربوط به برنامه بوت
سکتور را که در حافظه RAM مستقر شده اند ،اجراء خواهد کرد. برنامه فوق به
ريزپردازنده اعلام خواهد کرد که اطلاعات ديگری را از هارد ديسک به درون حافظه
RAM انتقال و آنها را اجراء نمايد. با ادامه وتکميل فرآيند فوق سيستم عامل در حافظه
مستقر ومديريت خود را آغاز می نمايد.
دستورالعمل های ريزپردازنده
هر ريزپردازنده دارای مجمو عه ای از دستورالعمل ها بوده که دارای کارآئی خاصی می
باشند. اين دستورالعمل ها بصورت الگوئی از صفر و يا يک پياده سازی می گردنند. استفاده
از دستورات فوق با توجه به ماهيت الگوئی آنها برای انسان مشکل و بخاطر سپردن آنها
امری است مشکل تر! ، بدين دليل از مجموعه ای " کلمات " برا ی مشخص نمودن
الگوهای فوق استفاده می گردد. مجموعه " کلمات " فوق " زبان اسمبلی " ناميده می شوند.
يک " اسمبلر" قادر به ترجمه کلمات به الگوهای بيتی متناظر است .پس از ترجمه ، ماحصل
عمليات که همان استخراج " الگوهای بيتی " است، در حافظه مستقر تا زمينه اجرای آنها
توسط ريزپردازنده فراهم گردد جدول زير برخی از دستورالعمل های مورد نياز در رابطه
با پردازنده فرضی را نشانن می دهد.
Instruction Meaning
LOADA mem لود نمودن ريجستر A از آدرس حافظه
LOADB mem لود نمودن ريجستر B از آدرس حافظه
CONB con لود نمودن يک مقدار ثابت در ريجستر B
SAVEB mem ذخيره نمودن مقدار موجود در ريجستر B در يک آدرس حافظه
SAVEC mem ذخيره نمودن مقدار موجود در ريجستر C در يک آدرس حافظه
ADD جمع A و B و ذخيره کردن حاصل در C
SUB تفريق A و B و ذخيره کردن حاصل در C
MUL ضرب A و B و ذخيره کردن حاصل در C
DIV تقسيم A و B و ذخيره کردن حاصل در C
COM مقا يسه A و B و ذخيره کردن حاصل در Test
JUMP addr پرش به يک آدرس مشخص
JEQ addr پرش شرطی ( اگر مساوی است ) به يک آدرس مشخص
JNEQ addr پرش شرطی ( اگر نا مساوی است ) به يک آدرس مشخص
JG addr پرش شرطی ( اگر بزرگتر است ) به يک آدرس مشخص
JGE addr پرش شرطی ( اگر بزرگتر و يا مساوی است ) به يک آدرس مشخص
JL addr پرش شرطی ( اگر کوچکتر است ) به يک آدرس مشخص
JLE addr پرش شرطی ( اگر کوچکتر و يا مساوی است ) به يک آدرس مشخص
STOP توقف اجراء
مثال : فرض کنيد برنامه محاسبه فاکتوريل عدد پنج (5!=5*4*3*2*1 ) با يکی از زبانهای
سطح بالا نظير C نوشته گردد . کمپايلر ( مترجم ) زبان C برنامه مورد نظر را به زبان
اسمبلی ترجمه خواهد کرد. ( فرض کنيد که آدرس شروع RAM در پردازنده فرضی 128 و
آدرس شروع حافظه ROM صفر باشد.) جدول زير برنامه نوشته شده به زبان C را همراه
کد ترجمه شده اسمبلی معادل آن، نشان می دهد.
C Program Assembly Language
a=1;
f=1;
while (a <= 5)
{
f = f * a;
a = a + 1;
} // Assume a is at address 128
// Assume F is at address 129
0 CONB 1 // a=1;
1 SAVEB 128
2 CONB 1 // f=1;
3 SAVEB 129
4 LOADA 128 // if a > 5 the jump to 17
5 CONB 5
6 COM
7 JG 17
8 LOADA 129 // f=f*a;
9 LOADB 128
10 MUL
11 SAVEC 129
12 LOADA 128 // a=a+1;
13 CONB 1
14 ADD
15 SAVEC 128
16 JUMP 4 // loop back to if
17 STOP
در ادامه می بايست کدهای ترجمه شده به زبان اسمبلی به زبان ماشين ( الگوهای بيتی )
ترجمه گردند. بدين منظور لازم است که هر يک از دستورات اسمبلی دارای کد معادل
(OpCode) باشند. فرض کنيد دستورات اسمبلی در پردازنده فرضی دارای Opcode (
کدهای عملياتی) زير باشند.
Assembly Instruction Opcode
LOADA mem 1
LOADB mem 2
CONB con 3
SAVEB mem 4
SAVEC mem 5
ADD 6
SUB 7
MUL 8
DIV 9
COM 10
JUMP addr 11
JEQ addr 12
JNEQ addr 13
JG addr 14
JGE addr 15
JL addr 16
JLE addr 17
STOP 18
در نهايت برنامه ترجمه شده به زبان اسمبلی به زبان ماشين ( الگوهای بيتی ) ترجمه
خواهد شد.
Assembly Language Bit Patterns
// Assume a is at address 128
// Assume F is at address 129
0 CONB 1 // a=1;
1 SAVEB 128
2 CONB 1 // f=1;
3 SAVEB 129
4 LOADA 128 // if a > 5 the jump to 17
5 CONB 5
6 COM
7 JG 17
8 LOADA 129 // f=f*a;
9 LOADB 128
10 MUL
11 SAVEC 129
12 LOADA 128 // a=a+1;
13 CONB 1
14 ADD
15 SAVEC 128
16 JUMP 4 // loop back to if
17 STOP // Assume a is at address 128
// Assume F is at address 129
Addr opcode/value
0 3 // CONB 1
1 1
2 4 // SAVEB 128
3 128
4 3 // CONB 1
5 1
6 4 // SAVEB 129
7 129
8 1 // LOADA 128
9 128
10 3 // CONB 5
11 5
12 10 // COM
13 14 // JG 17
14 31
15 1 // LOADA 129
16 129
17 2 // LOADB 128
18 128
19 8 // MUL
20 5 // SAVEC 129
21 129
22 1 // LOADA 128
23 128
24 3 // CONB 1
25 1
26 6 // ADD
27 5 // SAVEC 128
28 128
29 11 // JUMP 4
30 8
31 18 // STOP
همانگونه که مشاهده می نمائيد برنامه نوشته شده به زبان C به 17 دستورالعمل معادل
اسمبلی و 31 دستورالعمل زبان ماشين تبديل گرديد.
Instruction Decoder ) تشخيص دهنده نوع دستورالعمل ها ) با انجام عملياتی خاص،
نوع دستورالعمل را تشخيص خواهد داد. فرض کنيد دستور العمل ADD را داشته باشيم و
بخواهيم نحوه تشخيص دستورالعمل را دنبال نمائيم :
- در زمان اولين Clock ، دستورالعمل Load می گردد. ( فعال کردن بافر tri-state برای
" شمارنده برنامه " ، فعال شدن خط RD ، فعال کردن Data-in در بافر tri-state )
- در زمان دومين Clock ، دستورالعمل ADD تشخيص داده خواهد شد.( تنظيم عمليات
جمع برای ALU ، ذخيره نمودن ماحصل عمليات ALU در ريجستر C )
- در زمان سومين Clock، " شمارنده برنامه " افزايش خواهد يافت ( در تئوری اين
مرحله می تواند در زمان دومين Clock نيز صورت پذيرد)
همانگونه که ملاحظه گرديد ، هر دستورالعمل اسمبلی دارای چندين Clock Cycle است .
برخی از دستورات نظير ADD دارای دو و يا سه Clock و برخی ديگر از دستورات دارای
پنج ويا شش Clock خواهند بود.
حافظه
حافظه با هدف ذخيره سازی اطلاعات ( دائم ، موقت ) در کامپيوتر استفاده می گردد. از
انواع متفاوتی حافظه درکامپيوتر استفاده می گردد .
RAM
ROM
Cache
Dynamic RAM
Static RAM
Flash Memory
Virtual Memory
Video Memory
BIOS
استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای متفاوتی
نظير : تلفن های سلولی، PDA ، راديوهای اتومبيل ، VCR ، تلويزيون و ... نيز در ابعاد
وسيعی از آنها استفاده بعمل می آيد.هر يک از دستگاههای فوق مدل های متفاوتی از حافظه
را استفاده می نمايند.
مبانی اوليه حافظه
با اينکه می توان واژه " حافظه " را بر هر نوع وسيله ذخيره سازی الکترونيکی اطلاق کرد،
ولی اغلب از واژه فوق برای مشخص نمودن حافظه های سريع با قابليت ذخيره سازی
موقت استفاده بعمل می آيد. در صورتيکه پردازنده مجبور باشد برای بازيابی اطلاعات
مورد نياز خود بصورت دائم از هارد ديسک استفاده نمائد، قطعا" سرعت عمليات پردازنده (
با آن سرعت بالا) کند خواهد گرديد. زمانيکه اطلاعات مورد نياز پردازنده در حافظه ذخيره
گردند، سرعت عمليات پردازنده از بعد دستيابی به داده های مورد نياز بيشتر خواهد گرديد.
از حافظه های متعددی بمنظور نگهداری موقت اطلاعات استفاده می گردد.
همانگونه که در شکل فوق مشاهده می گردد ، محموعه متنوعی ازانواع حافظه ها وجود
دارد . پردازنده با توجه به ساختار سلسله مراتبی فوق به آنها دستيابی پيدا خواهد کرد.
زمانيکه در سطح حافظه های دائمی نظير هارد و يا حافظه دستگاههائی نظير صفحه کليد،
اطلاعاتی موحود باشد که پردازنده قصد استفاده از آنان را داشته باشد ، می بايست اطلاعات
فوق از طريق حافظه RAM در اختيار پردازنده قرار گيرند. در ادامه پردازنده اطلاعات و
داده های مورد نياز خود را در حافظه Cache و دستورالعمل های خاص عملياتی خود را
در ريجسترها ذخيره می نمايد.
تمام عناصر سخت افزاری ( پردازنده، هارد ديسک ، حافظه و ...) و عناصر نرم افزاری (
سيستم عامل و...) بصورت يک گروه عملياتی بکمک يکديگر وظايف محوله را انجام می
دهند . بدون شک در اين گروه " حافظه " دارای جايگاهی خاص است . از زمانيکه کامپيوتر
روشن تا زمانيکه خاموش می گردد ، پردازنده بصورت پيوسته و دائم از حافظه استفاده می
نمايد. بلافاصله پس از روشن نمودن کامپيوتر اطلاعات اوليه ( برنامه POST) از حافظه
ROM فعال شده و در ادامه وضعيت حافظه از نظر سالم بودن بررسی می گردد (
عمليات سريع خواندن ، نوشتن )
.در مرحله بعد کامپيوتر BIOS را ازطريق ROM فعال خواهد کرد. BIOS اطلاعات اوليه
و ضروری در رابطه با دستگاههای ذخيره سازی، وضعيت درايوی که می بايست فرآيند
بوت از آنجا آغاز گردد، امنيت و ... را مشخص می نمايد. در مرحله بعد سيستم عامل از هارد به درون حافظه RAM استفرار خواهد يافت .
بخش های مهم و حياتی سيستم عامل تا زمانيکه سيستم روشن است در حافظه ماندگار خواهند
بود. در ادامه و زمانيکه يک برنامه توسط کاربر فعال می گردد، برنامه فوق در حافظه
RAM مستقر خواهد شد. پس از استقرار يک برنامه در حافظه و آغاز سرويس دهی توسط
برنامه مورد نظر در صورت ضرورت فايل های مورد نياز برنامه فوق، در حافظه مستفر
خواهند شد.و در نهايت زمانيکه به حيات يک برنامه خاتمه داده می شود (Close) و يا يک
فايل ذخيره می گردد ، اطلاعات بر روی يک رسانه ذخيره سازی دائم ذخيره و نهايتا"
حافظه از وجود برنامه و فايل های مرتبط ، پاکسازی می گردد.
همانگونه که اشاره گرديد در هر زمان که اطلاعاتی ، مورد نياز پردازنده باشد، می بايست
اطلاعات درخواستی در حافظه RAM مستقر تا زمينه استفاده از آنان توسط پردازنده فراهم
گردد.چرخه درخواست اطلاعات موجود درRAM توسط پردازنده ، پردازش اطلاعات
توسط پردازنده و نوشتن اطلاعات جديد در حافظه يک سيکل کاملا" پيوسته بوده و در اکثر
کامپيوترها سيکل فوق ممکن است در هر ثانيه ميليون ها مرتبه تکرار گردد.
نياز به سرعت دليلی بر وجود حافظه های متنوع
چرا حافظه در کامپيوتر تا بدين ميزان متنوع و متفاوت است ؟ در پاسخ می توان به موارد
ذيل اشاره نمود:
پردازنده های با سرعت بالا نيازمند دستيابی سريع و آسان به حجم بالائی از داده ها بمنظور
افزايش بهره وری و کارآئی خود می باشند.. در صورتيکه پردازنده قادر به تامين و دستيابی
به داده های مورد نياز در زمان مورد نظر نباشد، می بايست عمليات خود را متوقف و در
انتظار تامين داده های مورد نياز باشد. پردازند ه های جديد وبا سرعت يک گيگا هرتز به
حجم بالائی از داده ها ( ميليارد بايت در هر ثانيه ) نياز خواهند داشت . پردازنده هائی با
سرعت اشاره شده گران قيمت بوده و قطعا" اتلاف زمان مفيد آنان مطلوب و قابل قبول
نخواهد بود. طراحان کامپيوتر بمنظور حل مشکل فوق ايده " لايه بندی حافظه " را مطرح
نموده اند. در اين راستا از حافظه های گران قيمت با ميزان اندک استفاده و از حافظه های
ارزان تر در حجم بيشتری استفاده بعمل می آيد. ارزانترين حافظه متدواول ، هارد ديسک
است . هارد ديسک يک رسانه ذخيره سازی ارزان قيمت با توان ذخيره سازی حجم بالائی
از اطلاعات است . با توجه به ارزان بودن فضای ذخيره سازی اطلاعات بر روی هارد،
اطلاعات مورد نظر بر روی آنها ذخيره و با استفاده از روش های متفاوتی نظير
: حافظه مجازی می توان بسادگی و بسرعت بدون نگرانی از فضای فيزيکی حافظه RAM
، از آنها استفاده نمود.
حافظه RAM سطح دستيابی بعدی در ساختار سلسله مراتبی حافظه است . اندازه بيت يک
پردازنده نشاندهنده تعداد بايت هائی از حافظه است که در يک لحظه می توان به آنها
دستيابی داشت. مثلا" يک پردازنده شانزده بيتی ، قادر به پردازش دو بايت در هر لحظه
است . مگاهرتز واحد سنجش سرعت پردازش در پردازنده ها است و معادل "ميليون در
هر ثانيه" است . مثلا" يک کامپيوتر 32 بيتی پنتيوم iii با سرعت 800-MHz ، قادر به
پردازش چهار بايت بصورت همزمان و 800 ميليون بار در ثانيه است . حافظه
RAM بتنهائی دارای سرعت مناسب برای همسنگ شدن با سرعت پردازنده نيست .
بهمين دليل است که از حافظه های Cache استفاده می گردد. بديهی است هر اندازه که
سرعت حافظه RAM بالا باشد مطلوب تر خواهد بود.اغلب تراشه های مربوطه امروزه
دارای سرعتی بين 50 تا 70 Nanoseconds می باشند. سرعت خواندن و يا نوشتن در
حافظه ارتباط مستقيم با نوع حافظه استفاده شده دارد .در اين راستا ممکن است از حافظه
های DRAM,SDRAM,RAMBUS استفاده گردد. سرعت RAM توسط پهنا و سرعت
Bus ، کنترل می گردد. پهنای Bus ، تعداد بايتی که می تواند بطور همزمان برای
پردازنده ارسال گردد را مشخص و سرعت BUS به تعداد دفعاتی که می توان يک گروه
از بيت ها را در هر ثانيه ارسال کرد اطلاق می گردد. سيکل منظم حرکت داده ها از
حافظه بسمت پردازنده را Bus Cycle می گويند مثلا" يک Bus با وضعيت : 100
MHz و 32 بيت، بصورت تئوری قادر به ارسال چهار بايت به پردازنده و يکصد ميليون
مرتبه در هر ثانيه است . در حاليکه يک BUS شانرده بيتی 66MHZ بصورت تئوری قادر
به ارسال دو بايت و 66 ميليون مرتبه در هر ثانيه است . با توجه به مثال فوق مشاهده می
گردد که با تغيير پهنای BUS از شانزده به سي و دو و سرعت از 66MHz به 100MHz
سرعت ارسال داده برای پردازنده سه برابر گرديد.
ريجستر و Cache
با توجه به سرعت بسيار بالای پردازنده حتی در صورت استفاده از Bus عريض وسريع
همچنان مدت زمانی طول خواهد کشيد تا داده ها از حافظه RAM برای پردازنده ارسال
گردند. Cache با اين هدف طراحی شده است که داده های مورد نياز پردازنده را که
احتمال استفاده از آنان بيشتر است ، در دسترس تر قرار دهد . عمليات فوق از طريق
بکارگيری مقدار اندکی از حافظه Cache که Primary و يا Level 1 ناميده می شود
صورت می پذيرد. ظرفيت حافظه های فوق بسيار اندک بوده و از دو کيلو بايت تا شصت و
چهار کيلو بايت را، شامل می گردد. نوع دوم Cache که Secodray و يا level 2 ناميده
می شود بر روی يک کارت حافظه و در مجاورت پردازنده قرار می گيرد. اين نوع
Cache دارای يک ارتباط مستقيم با پردازنده است. يک مدار کنترل کننده اختصاصی بر
روی برد اصلی که " کنترل کننده L2 " ناميده می شود مسئوليت عمليات مربوطه را
برعهده خواهد گرفت . با توجه به نوع پردازنده ، اندازه حافظه فوق متغير بوده و دارای
دامنه ای بين 256Kb تا 2MB است. برخی از پردازنده های با کارائی بالا اخيرا" اين نوع
Cache را بعنوان جزئی جداناپذير در کنار خود دارند. ( بخشی از تراشه پردازنده ) در
اين نوع پردازنده ها با توجه به اينکه Cache بخشی از پردازنده محسوب می گردد، اندازه
آن متغير بوده و بعنوان يکی از مهمترين شاخص ها در کارائی پردازنده مطرح است.
نوع ديگری از RAM با نام SRAM ( حافظ های با دستيابی تصادفی ايستا ) نيز وجود
داشته که در آغاز برای Cache استفاده می گرديد. اين نوع حافظه ها از چندين ترانزيستور
( معمولا" چهار تا شش ) برای هر يک از سلول های حافظه خود استفاده می نمايند. حافظه
های فوق دارای مجموعه ای از فليپ فلاپ ها با دو وضعيت خواهند بود. بنابراين حافظه
های فوق قادر به بازخوانی اطلاعات بصورت پيوسته نظير حافظه های DRAM نخواهند
بود. هر يک از سلول های حافظه ماداميکه منبع تامين انرژی آنها فعال (On) باشد داده های
خود را ذخيره نگاه خواهند داشت . در اين حالت ضرورتی به بازخوانی اطلاعات بصورت
پريوديک نخواهد بود . سرعت حافظه های فوق بسيار بالا است ، ولی بدليل قيمت بالا ، در
حال حاضر بعنوان جايگزينی استاندارد برای حافظه های RAM مطرح نمی باشند.
انواع حافظه
حافظه ها را می توان بر اساس شاخص های متفاوتی تقسيم بندی کرد . Volatile و
Nonvolatile نمونه ای از اين تقسيم بندی ها است . حافظه های volatile بلافاصله پس از
خاموش شدن سيستم اطلاعات خود را از دست می دهند. و همواره برای نگهداری اطلاعات
خود به منبع تامين انرژی نياز خواهند داشت . اغلب حافظه های RAM در اين گروه قرار
می گيرند. حافظه های Nonvolatile داده های خود را همچنان پس از خاموش شدن سيستم
حفظ خواهند کرد. حافظه ROM نمونه ای از اين نوع حافظه ها است .
حافظه RAM
حافظه (RAM(Random Access Memory شناخته ترين نوع حافظه در دنيای
کامپيوتر است . روش دستيابی به اين نوع از حافظه ها تصادفی است . چون می توان به هر
سلول حافظه مستقيما" دستيابی پيدا کرد . در مقابل حافظه های RAM ، حافظه
های(SAM(Serial Access Memory وجود دارند. حافظه های SAM اطلاعات را در
مجموعه ای از سلول های حافظه ذخيره و صرفا" امکان دستيابی به آنها بصورت ترتيبی
وجود خواهد داشت. ( نظير نوار کاست ) در صورتيکه داده مورد نظر در محل جاری نباشد
هر يک از سلول های حافظه به ترتيب بررسی شده تا داده مورد نظر پيدا گردد. حافظه های
SAM در موارديکه پردازش داده ها الزاما" بصورت ترتيبی خواهد بود مفيد می باشند (
نظير حافظه موجود بر روی کارت های گرافيک ). داده های ذخيره شده در حافظه RAM
با هر اولويت دلخواه قابل دستيابی خواهند بود.
مبانی حافظه های RAM
حافظه RAM ، يک تراشه مدار مجتمع (IC) بوده که از ميليون ها ترانزيستور و خازن
تشکيل شده است .در اغلب حافظه ها با استفاده و بکارگيری يک خازن و يک ترانزيستور
می توان يک سلول را ايجاد کرد. سلول فوق قادر به نگهداری يک بيت داده خواهد بود.
خازن اطلاعات مربوط به بيت را که يک و يا صفر است ، در خود نگهداری خواهد
کرد.عملکرد ترانزيستور مشابه يک سوييچ بوده که امکان کنترل مدارات موجود بر روی
تراشه حافظه را بمنظور خواندن مقدار ذخيره شده در خازن و يا تغيير وضعيت مربوط به آن
، فراهم می نمايد.خازن مشابه يک ظرف ( سطل) بوده که قادر به نگهداری الکترون ها
است . بمنظور ذخيره سازی مقدار" يک" در حافظه، ظرف فوق می بايست از الکترونها پر
گردد. برای ذخيره سازی مقدار صفر، می بايست ظرف فوق خالی گردد.مسئله مهم در
رابطه با خازن، نشت اطلاعات است ( وجود سوراخ در ظرف ) بدين ترتيب پس از گذشت
چندين ميلی ثانيه يک ظرف مملو از الکترون تخليه می گردد. بنابراين بمنظور اينکه حافظه
بصورت پويا اطلاعات خود را نگهداری نمايد ، می بايست پردازنده و يا " کنترل کننده
حافظه " قبل از تخليه شدن خازن، مکلف به شارژ مجدد آن بمنظور نگهداری مقدار "يک"
باشند.بدين منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را
بازنويسی می نمايد.عمليات فوق (Refresh)، هزاران مرتبه در يک ثانيه تکرار خواهد
شد.علت نامگذاری DRAM بدين دليل است که اين نوع حافظه ها مجبور به بازخوانی
اطلاعات بصورت پويا خواهند بود. فرآيند تکراری " بازخوانی / بازنويسی اطلاعات" در
اين نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه بر روی يک تراشه سيليکون و بصورت آرائه ای مشتمل از ستون ها (
خطوط بيت ) و سطرها ( خطوط کلمات) تشکيل می گردند. نقطه تلاقی يک سطر و ستون
بيانگر آدرس سلول حافظه است .
حافظه های DRAM با ارسال يک شارژ به ستون مورد نظر باعث فعال شدن ترانزيستور
در هر بيت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعيتی خواهند شد که
خازن می بايست به آن وضغيت تبديل گردد. در زمان خواندن Sense-amplifier ، سطح
شارژ موجود در خازن را اندازه گيری می نمايد. در صورتيکه سطح فوق بيش از پنجاه
درصد باشد مقدار "يک" خوانده شده و در غيراينصورت مقدار "صفر" خوانده خواهد شد.
مدت زمان انجام عمليات فوق بسيار کوتاه بوده و بر حسب نانوثانيه ( يک ميلياردم ثانيه )
اندازه گيری می گردد. تراشه حافظه ای که دارای سرعت 70 نانوثانيه است ، 70 نانو ثانيه
طول خواهد کشيد تا عمليات خواندن و بازنويسی هر سلول را انجام دهد.
سلول های حافظه در صورتيکه از روش هائی بمنظور اخذ اطلاعات موجود در سلول ها
استفاده ننمايند، بتنهائی فاقد ارزش خواهند بود. بنابراين لازم است سلول های حافظه دارای
يک زيرساخت کامل حمايتی از مدارات خاص ديگر باشند.مدارات فوق عمليات زير را
انجام خواهند داد :
مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون )
نگهداری وضعيت بازخوانی و باز نويسی داده ها ( شمارنده )
خواندن و برگرداندن سيگنال از يک سلول ( Sense amplifier)
اعلام خبر به يک سلول که می بايست شارژ گردد و يا ضرورتی به شارژ وجود ندارد ( Write enable)
ساير عمليات مربوط به "کنترل کننده حافظه" شامل مواردی نظير : مشخص نمودن نوع
سرعت ، ميزان حافظه و بررسی خطاء است .
حافظه های SRAM دارای يک تکنولوژی کاملا" متفاوت می باشند. در اين نوع از حافظه
ها از فليپ فلاپ برای ذخيره سازی هر بيت حافظه استفاده می گردد. يک فليپ فلاپ برای
يک سلول حافظه، از چهار تا شش ترانزيستور استفاده می کند . حافظه های SRAM