سخت افزار (بخش اول)

 

  کامپیوترهای شخصی

 اغلب مردم زمانیکه با واژه ” تکنولوژی ” برخورد می نمایند ، بی اختیار “کامپیوتر” برای آنها تداعی می گردد. امروزه  کامپیوتر در موارد متعددی بخدمت گرفته می شود. برخی از تجهیزات موجود در منازل ، دارای  نوع خاصی  از ” ریزپردازنده” می باشند. حتی اتومبیل های جدید نیز دارای نوعی  کامپیوتر خاص می باشند. کامپیوترهای شخصی ، اولین تصویر از انواع کامپیوترهائی است که  در ذهن هر شخص نقش پیدا می کند. بدون شک مطرح شدن این نوع از کامپیوترها در سطح جهان، باعث عمومیت  کامپیوتر در عرصه های متفاوت بوده است .
کامپیوتر شخصی وسیله ای “همه منظوره ” بوده که توان عملیاتی خود را مدیون یک ریزپردازنده است. این نوع از کا مپیوترها دارای بخش های متعددی نظیر : حافظه ، هارد دیسک، مودم  و… بوده که حضور آنها در کنار یکدیگر به منظور انجام عملیات مورد نظر است . علت استفاده از واژه ” همه منظوره ” بدین دلیل است که  می توان بکمک این نوع از کامپیوترها عملیات متفاوتی ( تایپ یک نامه ، ارسال یک نامه الکترونیکی،  طراحی و نقشه کشی و …) را انجام داد .

بخش های اصلی کامپیوترهای شخصی
◄ پردازشگر مرکزی (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) روشی برای اضافه کردن دستگاه های اضافه در سیستم نظیر : هارد و اسکنر است .

◄ پورت AcceleratedGraphicsPort)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 برای تشخیص مورد فوق از مقدار موجود در آدرس ۰۰۰۰:۰۴۷۲ استفاده می نماید. در صورتیکه مقدار فوق معادل ۱۲۳۴h باشد، نشاندهنده “راه اندازی مجدد” است . در این حالت برنامه BIOS ، عملیات مربوط به POST را صرفنظر و اجراء نخواهد کرد. در صورتیکه در آدرس فوق هر مقدار دیگری وجود داشته باشد ،  بمنزله “راه اندازی اولیه ” است .

 ● در صورتیکه راه اندازی از نوع ” راه اندازی اولیه ” باشد، BIOS عملیات مربوط به بررسی حافظه RAM ( تست نوشتن و خواندن) را انجام خواهد داد. در ادامه صفحه کلید و موس مورد بررسی قرار خواهند گرفت در مرحله بعد گذرگاه های  PCI بررسی و در صورت یافتن گذرگاه  مربوطه ، کارت های موجود بررسی خواهند شد  در صورتیکه BIOS به هر نوع خطائی برخورد نماید، موارد را از طریق یک پیام و یا بصدا در آمدن صدای بلندگوی داخلی کامپیوتر (Beep) به اطلاع خواهد رساند. خطاهای در این سطح اغلب به موارد سخت افزاری مربوط خواهد بود.

 ● BIOS برخی اطلاعات جزئی در رابطه با سیستم را نمایش خواهد داد. اطلاعاتی در رابطه با پردازنده ، هارد ، فلاپی درایو،  حافظه، نسخه و تاریخ  BIOS  و نمایشگر نمونه ای از اطلاعات  فوق می باشند.

 ● هر نوع درایور خاص نظیر آداپتورهای SCSI از طریق آداپتور مربوطه فعال و BIOS اطلاعات مربوطه را نمایش خواهد داد.

 ● در ادامه BIOS درایو مورد نظر برای راه اندازی ( Booting) را مشخص می نماید. بدین منظور از اطلاعات ذخیره شده در CMOS استفاده می گردد. واژه Boot بمنزله استقرار سیستم عامل در حافظه است .

مرحله سوم : پس از اتمام اولیه عملیات  BIOS ، و واگذاری ادامه عملیات راه اندازی به برنامه  Bootstarp loader ، عملا” مرحله استقرار سیستم عامل به درون حافظه آغاز می گردد .

مرحله چهارم : پس از استقرار سیستم عامل در حافظه، مدیران عملیاتی سیستم عامل در شش گروه : مدیریت پردازنده ،  مدیریت حافطه ، مدیریت دستگاهها، مدیریت حافظه های جانبی ، مدیریت ارتباطات و مدیریت رابط کاربر  به ایفای وظیفه خواهند پرداخت .

مرحله پنجم : پس از استقرار سیستم عامل ، می توان برنامه های مورد نظر خود را اجراء نمود. سیستم عامل محیط لازم برای اجرای برنامه ها را ایجاد خواهد کرد. پس از اتمام عملیات استفاده از برنامه ها می توان هر یک از آنها را غیرفعال (Close) نمود.

مرحله ششم : در صورت تصمیم به خاموش نمودن سیستم ، سیستم عامل تنظیمات جاری خود را در یک فایل خاص نوشته تا در زمان راه اندازی مجدد( آینده ) از آنان استفاده نماید.

مرحله هفتم  : پس از خاموش نمودن سیستم (Shut down)،  سیستم عامل بطور کامل سیستم را خاموش می نماید.

پردازنده 

  کامپیوتری که هم اکنون بکمک آن در حال مشاهده و مطالعه این صفحه هستید ، دارای یک ریزپردازنده است . ریزپردازنده بمنزله مغز در کامپیوتر است. تمام کامپیوترها اعم از کامپیوترهای شخصی ، کامپیوترهای دستی و … دارای ریزپردازنده می باشند. نوع  ریزپردازنده استفاده شده در یک کامپیوتر می تواند متفاوت باشد ولی تمام آنها عملیات یکسانی را انجام خواهند داد.

   تاریخچه ریزپردازنده ها

 ریزپردازنده که CPU هم نامیده می گردد، پتانسیل های اساسی برای انجام محاسبات و عملیات مورد نظر در یک کامپیوتر را فراهم  می نماید. ریزپردازنده  از لحاظ فیزیکی  یک تراشه است . اولین ریزپردازنده در سال ۱۹۷۱ و با نام Intel 4004  معرفی گردید. ریزپردازنده فوق چندان قدرتمند نبود و صرفا” قادر به انجام عملیات جمع و تفریق  چهار بیتی بود. نکته مثبت پردازنده فوق، استفاده از صرفا” یک تراشه بود.قبل از آن مهندسین و طراحان کامپیوتر از چندین تراشه و یا عصر برای تولید کامپیوتر استفاده می کردند.

اولین ریزپردازنده ای که بر روی یک کامپیوتر خانگی نصب  گردید ، ۸۰۸۰ بود. پردازنده فوق هشت بیتی و بر روی یک تراشه قرار داشت . این ریزپردازنده در سال ۱۹۷۴ به بازار عرضه گردید.اولین پردازنده ای که باعث تحولات اساسی در دنیای کامپیوتر شد ، ۸۰۸۸ بود. ریزپردازنده فوق در سال ۱۹۷۹ توسط شرکت IBM طراحی و اولین نمونه آن در سال ۱۹۸۲ عرضه گردید. وضعیت تولید ریزپردازنده توسط شرکت های تولید کننده بسرعت رشد و از مدل  ۸۰۸۸ به ۸۰۲۸۶ ، ۸۰۳۸۶  ، ۸۰۴۸۶ ، پنتیوم ، پنتیوم II ، پنتیوم III و پنتیوم ۴  رسیده است . تمام پردازنده های فوق توسط شرکت اینتل و سایر شرکت های  ذیربط طراحی و عرضه شده است . پردازنده های پنتیوم ۴ در مقایسه با پردازنده ۸۰۸۸ عملیات مربوطه را با سرعتی به میزان ۵۰۰۰ بار سریعتر انجام می دهد! جدول زیر ویژگی هر یک از پردازنده های فوق بهمراه تفاوت های موجود  را نشان می دهد.

 

Name

Date

Transistors

Microns

Clock speed

Data width

MIPS

۸۰۸۰

۱۹۷۴

۶,۰۰۰

۶

۲ MHz

۸ bits

۰٫۶۴

۸۰۸۸

۱۹۷۹

۲۹,۰۰۰

۳

۵ MHz

۱۶ bits
۸-bit bus

۰٫۳۳

۸۰۲۸۶

۱۹۸۲

۱۳۴,۰۰۰

۱٫۵

۶ MHz

۱۶ bits

۱

۸۰۳۸۶

۱۹۸۵

۲۷۵,۰۰۰

۱٫۵

۱۶ MHz

۳۲ bits

۵

۸۰۴۸۶

۱۹۸۹

۱,۲۰۰,۰۰۰

۱

۲۵ MHz

۳۲ bits

۲۰

Pentium

۱۹۹۳

۳,۱۰۰,۰۰۰

۰٫۸

۶۰ MHz

۳۲ bits
۶۴-bit bus

۱۰۰

Pentium II

۱۹۹۷

۷,۵۰۰,۰۰۰

۰٫۳۵

۲۳۳ MHz

۳۲ bits
۶۴-bit bus

~۳۰۰

Pentium III

۱۹۹۹

۹,۵۰۰,۰۰۰

۰٫۲۵

۴۵۰ MHz

۳۲ bits
۶۴-bit bus

~۵۱۰

Pentium 4

۲۰۰۰

۴۲,۰۰۰,۰۰۰

۰٫۱۸

۱٫۵ GHz

۳۲ bits
۶۴-bit bus

~۱,۷۰۰

 توضیحات جدول :

ستون Date نشاندهنده سال عرضه پردازنده است.
ستون Transistors تعدا ترانزیستور موجود بر روی تراشه را مشخص می کند. تعداد ترانزیستور بر روی تراشه در سال های اخیر شتاب بیشتری پیدا کرده است .
ستون Micron ضخامت کوچکترین رشته  بر روی تراشه را بر حسب میکرون مشخص می کند. ( ضخامت موی انسان ۱۰۰ میکرون است ).
ستون Clock Speed حداکثر سرعت Clock تراشه را مشخص می نماید.
ستون Data Width پهنای باند واحد منطق و محاسبات (ALU) را نشان می دهد. یک واحد منطق و حساب هشت بیتی قادر به انجام عملیات محاسباتی نظیر: جمع ، تفریق ، ضرب و … برای اعداد هشت بیتی است. در صورتیکه یک واحد منطق و حساب ۳۲ بیتی قادر به انجام عملیات بر روی اعداد  ۳۲ بیتی  است . یک واحد منطق و حساب ۸ بیتی بمنظور جمع دو عدد ۳۲ بیتی می بایست چهار دستورالعمل را انجام داده در صورتیکه یک واحد منطق وحساب ۳۲ بیتی عملیات فوق را صرفا” با اجرای یک دستورالعمل انجام خواهد داد.در اغلب موارد گذرگاه خارجی داده ها مشابه ALU است . وضعیت فوق در تمام موارد صادق نخواهد بود مثلا” پردازنده ۸۰۸۸ دارای واحد منطق وحساب ۱۶ بیتی بوده در حالیکه گذرگاه داده ئی آن هشت بیتی است . در اغلب پردازنده های پنتیوم جدید گذرگاه داده ۶۴ بیتی و واحد منطق وحساب ۳۲ بیتی است . ستون MIPS  مخفف کلمات Millions of instruction per Second  ( میلیون دستورالعمل در هر ثانیه ) بوده و واحدی برای سنجش کارآئی یک پردازنده است.

 درون یک پردازنده

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

۱ – یک ریزپردازنده با استفاده از واحد منطق و حساب خود (ALU) قادر به انجام عملیات محاسباتی نظیر: جمع ، تفریق، ضرب و تقسیم است. پردازنده های جدید دارای پردازنده های اختصاصی برای انجام عملیات مربوط به اعداد اعشاری می باشند.

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

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

شکل زیر یک پردازنده ساده  را نشان می دهد.

 

پردازنده فوق دارای :

 ● یک گذرگاه آدرس (Address Bus)  است که قادر به ارسال یک آدرس به حافظه است ( گذرگاه فوق می تواند ۸ ، ۱۶ و یا ۳۲ بیتی باشد)

 ● یک گذرگاه داده (Data Bus) است که قادر به ارسال داده به حافظه و یا دریافت داده از حافظه است (گذرگاه فوق می تواند ۸ ، ۱۶ و یا ۳۲ بیتی باشد)

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

● یک خط Clock که ضربان پردازنده را تنظیم خواهد کرد. 

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

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

 – ریجسترهای A,B,C  نگاهدارنده هائی بوده که از فلیپ فلاپ ها ساخته شده اند.

 – Address Latch  مشابه ریجسترهای A,B,C است .

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

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

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

– همانگونه که در شکل فوق ، مشاهده می گردد از شش ” ۳-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 و یا هر دو متصل خواهند بود. در ریزپردازنده ساده فرضی فوق، از گذرگاه های آدرس و داده هشت بیتی استفاده می گردد. بدین ترتیب پردازنده قادر به آدرس دهی ۲۵۶ بایت حافظه و خواندن و یا نوشتن هشت بیت از حافظه در هر لحظه خواهد بود. فرض کنید پردازنده فوق دارای ۱۲۸ بایت حافظه ROM بوده که از آدرس صفر شروع شده و ۱۲۸ بایت حافظه RAM که از آدرس ۱۲۸ آغاز می گردد ، است . حافظه 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

توقف اجراء


مثال : فرض کنید برنامه محاسبه فاکتوریل عدد پنج (۵!=۵*۴*۳*۲*۱ ) با یکی از زبانهای سطح بالا نظیر C نوشته گردد . کمپایلر ( مترجم ) زبان C برنامه مورد نظر را به زبان اسمبلی ترجمه خواهد کرد. ( فرض کنید که آدرس شروع RAM در پردازنده فرضی ۱۲۸ و آدرس شروع حافظه 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
۰   CONB 1      // a=1;
۱   SAVEB 128
۲   CONB 1      // f=1;
۳   SAVEB 129
۴   LOADA 128   // if a > 5 the jump to 17
۵   CONB 5
۶   COM
۷   JG 17
۸   LOADA 129   // f=f*a;
۹   LOADB 128
۱۰  MUL
۱۱  SAVEC 129
۱۲  LOADA 128   // a=a+1;
۱۳  CONB 1
۱۴  ADD
۱۵  SAVEC 128
۱۶  JUMP 4       // loop back to if
۱۷  STOP


در ادامه می بایست کدهای ترجمه شده به زبان اسمبلی به زبان ماشین ( الگوهای بیتی ) ترجمه گردند. بدین منظور لازم است که هر یک از دستورات اسمبلی دارای کد معادل (OpCode) باشند. فرض کنید دستورات اسمبلی در پردازنده فرضی دارای Opcode ( کدهای عملیاتی) زیر باشند.

Assembly Instruction

Opcode

LOADA mem

۱

LOADB mem

۲

CONB con

۳

SAVEB mem

۴

SAVEC mem

۵

ADD

۶

SUB

۷

MUL

۸

DIV

۹

COM

۱۰

JUMP addr

۱۱

JEQ addr

۱۲

JNEQ addr

۱۳

JG addr

۱۴

JGE addr

۱۵

JL addr

۱۶

JLE addr

۱۷

STOP

۱۸

در نهایت برنامه ترجمه شده  به زبان اسمبلی به زبان ماشین ( الگوهای بیتی )  ترجمه خواهد شد.

Assembly Language

Bit Patterns

// Assume a is at address 128
// Assume F is at address 129
۰   CONB 1      // a=1;
۱   SAVEB 128
۲   CONB 1      // f=1;
۳   SAVEB 129
۴   LOADA 128   // if a > 5 the jump to 17
۵   CONB 5
۶   COM
۷   JG 17
۸   LOADA 129   // f=f*a;
۹   LOADB 128
۱۰  MUL
۱۱  SAVEC 129
۱۲  LOADA 128   // a=a+1;
۱۳  CONB 1
۱۴  ADD
۱۵  SAVEC 128
۱۶  JUMP 4       // loop back to if
۱۷  STOP

// Assume a is at address 128
// Assume F is at address 129
Addr opcode/value
۰    ۳             // CONB 1
۱    ۱
۲    ۴             // SAVEB 128
۳    ۱۲۸
۴    ۳             // CONB 1
۵    ۱
۶    ۴             // SAVEB 129
۷    ۱۲۹
۸    ۱             // LOADA 128
۹    ۱۲۸
۱۰   ۳             // CONB 5
۱۱   ۵
۱۲   ۱۰            // COM
۱۳   ۱۴            // JG 17
۱۴   ۳۱
۱۵   ۱             // LOADA 129
۱۶   ۱۲۹
۱۷   ۲             // LOADB 128
۱۸   ۱۲۸
۱۹   ۸             // MUL
۲۰   ۵             // SAVEC 129
۲۱   ۱۲۹
۲۲   ۱             // LOADA 128
۲۳   ۱۲۸
۲۴   ۳             // CONB 1
۲۵   ۱
۲۶   ۶             // ADD
۲۷   ۵             // SAVEC 128
۲۸   ۱۲۸
۲۹   ۱۱            // JUMP 4
۳۰   ۸
۳۱   ۱۸            // STOP

همانگونه که مشاهده می نمائید برنامه نوشته شده به زبان C  به ۱۷ دستورالعمل معادل اسمبلی و ۳۱ دستورالعمل زبان ماشین تبدیل گردید.

 Instruction Decoder ( تشخیص دهنده نوع دستورالعمل ها ) با انجام  عملیاتی خاص، نوع دستورالعمل را تشخیص خواهد داد. فرض کنید دستور العمل ADD را داشته باشیم و بخواهیم  نحوه تشخیص دستورالعمل را دنبال نمائیم :

 – در زمان اولین Clock ، دستورالعمل Load می گردد. ( فعال کردن بافر tri-state برای ” شمارنده برنامه ”  ، فعال شدن خط RD ، فعال کردن Data-in در بافر tri-state )

– در زمان دومین  Clock ، دستورالعمل ADD تشخیص داده خواهد شد.( تنظیم عملیات جمع برای ALU ، ذخیره نمودن ماحصل عملیات ALU در ریجستر C )

– در زمان سومین Clock،  ” شمارنده برنامه ” افزایش خواهد یافت ( در تئوری این مرحله می تواند در زمان دومین Clock نیز صورت پذیرد)

همانگونه که ملاحظه گردید ،  هر دستورالعمل اسمبلی دارای چندین Clock Cycle است . برخی از دستورات نظیر ADD دارای دو و یا سه Clock و برخی دیگر از دستورات دارای پنج ویا شش Clock خواهند بود.

طراحی قالب وردپرس اصلی ترین حرفه در شرکت فناوی اطلاعات آنفایو است. مهمترین دستاوردطراحی قالب وردپرس باید شناساندن نام تجاری ، معرفی خدمات و محصولات شما باشد که رسیدن به این مهم با رعایت استانداردهای جهانی طراحی سایت که شامل بهینه سازی وب سایت بر اساس الگوریتم موتورهای جستجو ، در کنار داشتن ظاهری زیبا فراهم می شود. در دنیای مجازی امروز و عصر پیشرفته ارتباطات برای صاحبان سازمان ها ، نهادهای دولتی و صاحبان مشاغل وکسب وکار آزاد داشتن یک وب سایت امری ضروری است .از مزایای داشتن سایت معرفی ، اطلاع رسانی ، بازاریابی و قابلیت های نوین تبلیغاتی میباشد .کاربران میتوانند از هر نقطه دنیا فقط با یک کلیک به شما دسترسی داشته باشند.

شرکت آنفایو خدمات طراحی سایت (طراحی وب) خود را، با توجه به نیازهای کارفرمایان، نوع فعالیت و متناسب با بودجه در نظر گرفته شده برای طراحی سایت (طراحی وب) در نظر می گیرد. آنفایو با بهره گیری از بهتریت متخصصین حرفه ای برنامه نویسی ، داشتن تیم تخصصی طراحی سایت ، تسلط به علوم روز دنیای کامپیوتر و اینترنت و مشاوره رایگان وپشتیبانی ۲۴ ساعته آمادگی خود را برای طراحی وب سایت های دولتی ، سازمانی ، شرکتی وشخصی با تلفیق هنر گرافیک دیجیتالی و جدیدترین تکنیک های برنامه ویسی اعلام میدارد .افزایش آمار ، دسترسی ساده کاربران و سرعت وب سایت خود را به شرکت طراحی سایت و طراحی قالب وردپرس آنفایو بسپارید.