nx دارای 380 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد nx کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز nx2 آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد
بخشی از متن nx :
مقدمه
استفاده از کامپیوتر در ایران از چند سال قبل رایج شده است . امروزه در موارد متعددی از
کامپیوتراستفاده بعمل می آید. چرخه استفاده از کامپیوتر از مرحله تهیه سخت افزارهای لازم
شروع و در ادامه با نصب تجهیزات سخت افزاری زمینه استفاده از مقولات دیگر نظیر
: نرم افزار، شبکه ،اینترنت و ; فراهم می گردد. تنها با یافتن پاسخ مناسب علمی به هر یک
از موارد مطرح شده است که می توان امیدوار به ایجاد یک زیر ساخت مناسب فرهنگی
بمنظور استفاده از کامپیوتر در جایگاه واقعی خود بود. در صورت نیل به هدف فوق شتاب
حرکات هدفمند بمنظور نهادینه شدن فرهنگ عمومی استفاده و بکارگیری سیستم های سخت
افزاری نرم افزاری و شبکه سیر منطقی و معقول خود را طی خواهد کرد.
تاریخچه مختصر از کامپیوتر
سرعت پیشرفت کامپیوتر های جدید غیر قابل باور شده است.اولین کامپیوتر
دیجیتال بزرگ در سال 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 MIPS8080 1974 6,000 6 2 MHz 8 bits 0.648088 1979 29,000 3 5 MHz 16 bits8-bit bus 0.33
8088 1979 29,000 3 5 MHz 16 bits8-bit bus 0.3380286 1982 134,000 1.5 6 MHz 16 bits 180386 1985 275,000 1.5 16 MHz 32 bits 580486 1989 1,200,000 1 25 MHz 32 bits 20Pentium 1993 3,100,000 0.8 60 MHz 32 bits64-bit bus 100Pentium II 1997 7,500,000 0.35 233 MHz 32 bits64-bit bus ~300Pentium III 1999 9,500,000 0.25 450 MHz 32 bits64-bit bus ~510Pentium 4 2000 42,000,000 0.18 1.5 GHz 32 bits64-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 MeaningLOADA mem لود نمودن ریجستر A از آدرس حافظه LOADB mem لود نمودن ریجستر B از آدرس حافظه CONB con لود نمودن یک مقدار ثابت در ریجستر BSAVEB mem ذخیره نمودن مقدار موجود در ریجستر B در یک آدرس حافظه SAVEC mem ذخیره نمودن مقدار موجود در ریجستر C در یک آدرس حافظه ADD جمع A و B و ذخیره کردن حاصل در CSUB تفریق A و B و ذخیره کردن حاصل در CMUL ضرب A و B و ذخیره کردن حاصل در CDIV تقسیم A و B و ذخیره کردن حاصل در CCOM مقا یسه A و B و ذخیره کردن حاصل در TestJUMP 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 Languagea=1;f=1;while (a <= 5){ f = f * a; a = a + 1;} // Assume a is at address 128// Assume F is at address 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if a > 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP
در ادامه می بایست کدهای ترجمه شده به زبان اسمبلی به زبان ماشین ( الگوهای بیتی ) ترجمه گردند. بدین منظور لازم است که هر یک از دستورات اسمبلی دارای کد معادل (OpCode) باشند. فرض کنید دستورات اسمبلی در پردازنده فرضی دارای Opcode ( کدهای عملیاتی) زیر باشند. Assembly Instruction OpcodeLOADA mem 1LOADB mem 2CONB con 3SAVEB mem 4SAVEC mem 5ADD 6SUB 7MUL 8DIV 9COM 10JUMP addr 11JEQ addr 12JNEQ addr 13JG addr 14JGE addr 15JL addr 16JLE addr 17STOP 18در نهایت برنامه ترجمه شده به زبان اسمبلی به زبان ماشین ( الگوهای بیتی ) ترجمه خواهد شد.Assembly Language Bit Patterns// Assume a is at address 128// Assume F is at address 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if a > 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP // Assume a is at address 128// Assume F is at address 129Addr opcode/value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 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 با وضعیت : 100MHz و 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
ادامه خواندن مقاله سخت افزار کامپيوتر
نوشته مقاله سخت افزار کامپيوتر اولین بار در دانلود رایگان پدیدار شد.