دانلود تحقیق در مورد کامپیوتر (سخت افزار) فایل ورد (word)

دانلود تحقیق در مورد کامپیوتر (سخت افزار) فایل ورد (word) دارای 77 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد دانلود تحقیق در مورد کامپیوتر (سخت افزار) فایل ورد (word) کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی دانلود تحقیق در مورد کامپیوتر (سخت افزار) فایل ورد (word) ،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از متن دانلود تحقیق در مورد کامپیوتر (سخت افزار) فایل ورد (word) :
1-1- مقدمه
گر چه کامپیوترها تنها چند دهه ای است که با ما همراهند، با این حال تأثیر عمیق آنها بر زندگی ما با تأثیر تلفن ، اتومبیل و تلویزیون رقابت می کند. همگی ما حضور آنها را احساس می کنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حساب های ماهیانه که توسط سیستم های کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می شود. تصور ما از کامپیوتر معمولا داده پردازی است که محاسبات عددی را بطور خستگی ناپذیری انجام می دهد.
ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله،در سوپرمارکت ها داخل صندوق های پول و ترازوها؛ در خانه، در اجاق ها، ماشین های لباسشویی، ساعت های دارای سیستم خبردهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازی ها، VCR ها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشین های تایپ و فتوکپی؛ و در تجهیزات صنعتی مثل مته های فشاری و دستگاههای حروفچینی نوری می یابیم. در این مجموعه ها کامپیوترها وظیفه «کنترل» را در ارتباط با “دنیای واقعی” ، برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می هند. میکروکنترلرها (برخلاف میکروکامپیوترها و ریزپردازنده ها ) اغلب در چنین کاربردهایی یافت می شوند.
با وجود این که بیش از بیست سال از تولد ریزپردازنده نمی گذرد، تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکلی است. در 1971 شرکت اینتل 8080 را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن، موتورولا، RCA و سپس MOS Technology و zilog انواع مشابهی را به ترتیب به نامهای 6800 ، 1801 ، 6502 و Z80 عرضه کردند. گر چه این مدارهای مجتمع IC) ها ) به خودی خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد (SBC) ، به جزء مرکزی فرآورده های مفیدی برای آموزش طراحی با ریزپردازنده ها تبدیل شدند.
از این SBC ها که بسرعت به آزمایشگاههای طراحی در کالج ها،دانشگاهها و شرکت های الکترونیک راه پیدا کردند می توان برای نمونه از D2 موتورولا، KIM-1 ساخت MOS Technology و SDK-85 متعلق به شرکت اینتل نام برد.
میکروکنترلر قطعه ای شبیه به ریزپردازنده است. در 1976 اینتل 8748 را به عنوان اولین قطعه خانواده میکروکنترلرهای MCS-48TM معرفی کرد. 8748 با 17000 ترانزیستور در یک مدار مجتمع ،شامل یک CPU ،1 کیلوبایت EPROM ، 27 پایه I/O و یک تایمر 8 بیتی بود. این IC و دیگر اعضای MCS-48TM که پس از آن آمدند، خیلی زود به یک استاندارد صنعتی در کاربردهای کنترل گرا تبدیل شدند. جایگزین کردن اجزاء الکترومکانیکی در فرآورده هایی مثل ماشین های لباسشویی و چراغ های راهنمایی از ابتدای کار، یک کاربرد مورد توجه برای این میکروکنترلرها بودند و همین طور باقی ماندند. دیگر فرآورده هایی که در آنها می توان میکروکنترلر را یافت عبارتند از اتومبیل ها،تجهیزات صنعتی، وسایل سرگرمی و ابزارهای جانبی کامپیوتر(افرادی که یک IBM PC دارند کافی است به داخل صفحه کلید نگاه کنند تا مثالی از یک میکروکنترلر را در یک طراحی با کمترین اجزاء ممکن ببینند).
توان، ابعاد و پیچیدگی میکروکنترلرها با اعلام ساخت 8051 ، یعنی اولین عضو خانوادهمیکروکنترلرهای MCS-51TM در 1980 توسط اینتل پیشرفت چشمگیری کرد. در مقایسه با 8048 این قطعه شامل بیش از 60000 ترانزیستور ، K4 بایت ROM، 128 بایت RAM ،32 خط I/O ، یک درگاه سریال و دو تایمر 16 بیتی است. که از لحاظ مدارات داخلی برای یک IC بسیار قابل ملاحظه است، امروزه انواع گوناگونی از این IC وجوددارند که به صورت مجازی این مشخصات را دوبرابر کرده اند. شرکت زیمنس که دومین تولید کنندهقطعات MCS-51TM است SAB80515 را به عنوان یک 8051 توسعه یافته در یک بسته 68 پایه با شش درگاه I/O 8 بیتی، 13 منبع وقفه، و یک مبدل آنالوگ به دیجیتال با 8 کانال ورودی عرضه کرده است. خانواده 8051 به عنوان یکی از جامعترین و قدرتمندترین میکروکنترلرهای 8 بیتی شناخته شده و جایگاهش را به عنوان یک میکروکنترلر مهم برای سالهای آینده یافته است.
این کتاب درباره خانواده میکروکنترلرهای MCS-51TM نوشته شده است فصل های بعدی معماری سخت افزار و نرم افزار خانواده MCS-51TM را معرفی می کنند و از طریق مثالهای طراحی متعدد نشان می دهند که چگونه اعضای این خانواده می توانند در طراحی های الکترونیکی با کمترین اجزاء اضافی ممکن شرکت داشته باشند.
در بخش های بعدی از طریق یک آشنایی مختصر با معماری کامپیوتر، یک واژگان کاری از اختصارات و کلمات فنی که در این زمینه متداولند (و اغلب با هم اشتباه می شوند) را ایجاد خواهیم کرد. از آنجا که بسیاری اصطلاحات در نتیجه تعصب شرکت های بزرگ و سلیقه مؤلفان مختلف دچار ابهام شده اند،روش کار ما در این زمینه بیشتر عملی خواهد بود تا آکادمیک. هر اصطلاح در متداولترین حالت با یک توضیح ساده معرفی شده است.
فصل اول
2-1 اصطلاحات فنی
یک کامپیوتر توسط دو ویژگی کلیدی تعریف می شود: (1) داشتن قابلیت برنامه ریزی برای کارکردن روی داده بدون مداخله انسان و (2) توانایی ذخیره و بازیابی داده . عموماً یک سیستم کامپیوتری شامل ابزارهای جانبی برای ارتباط با انسان ها به علاوه برنامه هایی برای پردازش داده نیز می باشد. تجهیزات کامپیوتر و سخت افزار،و برنامه های آن نرم افزار نام دارند. در آغاز اجازه بدهید کار خود را با سخت افزار کامپیوتر آغاز می کنیم.
نبود جزئیات در شکل عمدی است و باعث شده تا شکل نشان دهنده کامپیوترهایی در تمامی اندازهها باشد. همانطور که نشان داده شده است،یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی (CPU) است که ازطریق گذرگاه آدرس ، گذرگاه داده و گذرگاه کنترل به حافظه قابل دستیابی تصادفی RAM) وحافظه فقط خواندنی (ROM) متصل می باشد. مدارهای واسطه گذرگاههای سیستم را به وسایل جانبی متصل می کنند.
3-1 واحد پردازش مرکزی
CPU ، به عنوان “مغز” سیستم کامپیوتری، تمامی فعالیت های سیستم را اداره کرده و همه عملیات روی داده را انجام می دهد. اندیشه اسرار آمیز بودن CPU در اغلب موارد نادرست است زیرا این تراشه فقط مجموعه ای از مدارهای منطقی است که بطور مداوم دو عمل را انجام می دهند. واکشی دستورالعمل ها، و اجرای آنها. CPU توانایی درک و اجرای دستورالعمل ها را براساس مجموعه ای از کدهای دودویی دارد که هر یک از این کدها نشان دهنده یک عمل ساده است. این دستورالعمل ها معمولا حسابی (جمع، تفریق، ضرب و تقسیم)، منطقی (NOT, OR, AND و غیره) انتقال داده یا عملیات انشعاب هستند و یا مجموعه ای از کدهای دودویی با نام مجموعه دستورالعمل ها نشان داده می شوند.
مجموعه ای از ثباتها را برای ذخیره سازی موقت اطلاعات، یک واحد عملیات حسابی و منطقی (ALU) برای انجام عملیات روی این اطلاعات،یک واحد کنترل و رمزگشایی دستورالعمل (که عملیاتی را که باید انجام شود تعیین می کند و اعمال لازم را برای انجام آنها شروع می نماید) و دو ثبات اضافی را هم دارد.
ثبات دستور العمل (IR) کد دودویی هر دستورالعمل را در حال اجرا نگه می دارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدی را که باید اجرا شود نشان میدهد.
1- واکشی یک دستورالعمل از RAM سیستم یکی از اساسی ترین اعمالی است که توسط CPU انجام می شود و شامل این مراحل است: (الف) محتویات شمارنده برنامه در گذرگاه آدرس قرار می گیرد (ب) یک سیگنال کنترل READ فعال می شود (پ) داده (کد عملیاتی دستورالعمل) از RAM خوانده می شود و روی گذرگاه قرار می گیرد (ت) کد عملیاتی در ثبات داخلی دستورالعمل CPU ذخیره می شود و (ث) شمارنده برنامه یک واحد افزایش
می¬یابد تا برای واکشی بعدی از حافظه آماده شود.
2- مرحله اجرا مستلزم رمزگشایی کد عملیاتی و ایجاد سیگنال های کنترلی برای گشودن ثبات های درونی به داخل و خارج از ALU است. همچنین باید به ALU برای انجام عملیات مشخص شده فرمان داده شود. به علت تنوع زیاد عملیات ممکن، این توضیحات تا حدی سطحی می باشند و در یک عملیات ساده مثل افزایش یک واحدی ثبات مصداق دارند. دستورالعمل های پیچیده تر نیاز به مراحل بیشتری مثل خواندن بایت دوم و سوم به عنوان داده برای عملیات دارند.
یک سری از دستورالعمل ها که برای انجام یک وظیفه معنادار ترکیب شوند برنامه یا نرم افزار نامیده می شود، و نکته واقعاًاسرارآمیز در همین جا نهفته است. معیار اندازه گیری برای انجام درست وظایف، بیشتر کیفیت نرم افزار است تا توانایی تحلیل CPU سپس برنامه ها CPU را راه اندازی می کنند و هنگام این کار آنها گهگاه به تقلید از نقطه ضعف های نویسندگان خود، اشتباه هم می کنند. عباراتی نظیر “کامپیوتر اشتباه کرد “ گمراه کننده هستند. اگر چه خرابی تجهیزات غیر قابل اجتناب است اما اشتباه در نتایج معمولا نشانی از برنامه های ضعیف یا خطای کاربر می باشد.
4-1 حافظه نیمه رسانا: RAM ROM
برنامه ها و داده در حافظه ذخیره می شوند. حافظه های کامپیوتر بسیار متنوعند و اجرای همراه آنها بسیار، و تکنولوژی بطور دائم و پی در پی موانع را برطرف میکند، بگونه ای که اطلاع از جدیدترین پیشرفت ها نیاز به مطالعه جامع و مداوم دارد. حافظه هایی که به طور مستقیم توسط CPU قابل دستیابی می باشند،IC های (مدارهای مجتمع) نیمه رسانایی هستند که RAM و ROM نامیده می شوند دو ویژگی RAM و ROM را از هم متمایز می سازد: اول آن که RAM حافظه خواندنی / نوشتنی است در حالیکه ROM حافظه فقط خواندنی است و دوم آن که RAM فرار است (یعنی محتویات آن هنگام نبود ولتاژ تغذیه پاک می شود) در حالیکه ROM غیر فرار می باشد.
اغلب سیستم های کامپیوتری یک دیسک درایو و مقدار اندکی ROM دارند که برای نگهداری روال های نرم افزاری کوتاه که دائم مورد استفاده قرار می گیرند و عملیات ورودی / خروجی را انجام می دهند کافی است. برنامه های کاربران و داده، روی دیسک ذخیره می گردند و برای اجرا به داخل RAM بار می شوند. با کاهش مداوم در قیمت هر بایت RAM ، سیستم های کامپیوتری کوچک اغلب شامل میلیون ها بایت RAM می باشند.
5-1 گذرگاهها : آدرس، داده و کنترل
یک گذرگاه عبارت است از مجموعه ای از سیم ها که اطلاعات را با یک هدف مشترک حمل می کنند. امکان دستیابی به مدارات اطراف CPU توسط سه گذرگاه فراهم میشود: گذرگاه آدرس، گذرگاه داده و گذرگاه کنترل. برای هر عمل خواندن یا نوشتن،CPU موقعیت داده (یا دستورالعمل) را با قراردادن یک آدرس روی گذرگاه آدرس مشخص می کند و سپس سیگنالی را روی گذرگاه کنترل فعال می نماید تا نشان دهد که عمل مورد نظر خواندن است یا نوشتن. عمل خواندن، یک بایت داده را از مکان مشخص شده در حافظه بر می دارد و روی گذرگاه داده قرار می دهد. CPU داده را می خواند و در یکی از ثبات های داخلی خود قرار می دهد. برای عمل نوشتن CPU داده را روی گذرگاه داده می گذارد. حافظه، تحت تأثیر سیگنال کنترل، عملیات را به عنوان یک سیکل نوشتن، تشخیص می دهد و داده را در مکان مشخص شده ذخیره می کند.
اغلب، کامپیوترهای کوچک 16 یا 20 خط آدرس دارند. با داشتن n خط آدرس که هر یک می توانند در وضعیت بالا (1) یا پایین (0) باشند، مکان دستیابی است. بنابراین یک گذرگاه آدرس 16 بیتی می تواند به مکان، دسترسی داشته باشد و برای یک آدرس 20 بیتی مکان قابل دستیابی است. علامت اختصاری K (برای کیلو) نماینده می باشد، بنابراین 16 بیت می تواند مکان را آدرس دهی کند در حالیکه 20 بیت می تواند (یا Meg 1) را آدرس دهی نماید.
گذرگاه داده اطلاعات را بین CPU و حافظه یا بین CPU و قطعات I/O منتقل می کند. تحقیقات دامنه داری که برای تعیین نوع فعالیت هایی که زمان ارزشمند اجرای دستورالعمل ها را در یک کامپیوتر صرف می کنند، انجام شده است نشان می دهد که کامپیوترها دوسوم وقتشان را خیلی ساده صرف جابجایی داده می کنند. از آن جا که عمده عملیات جابجایی بین یک ثبات CPU و RAM یا ROM خارجی انجام می شود تعداد خط های (یا پهنای) گذرگاه داده در کارکرد کلی کامپیوتر اهمیت شایانی دارد. این محدودیت پهنا، یک تنگنا به شمار می رود: ممکن است مقادیر فراوانی حافظه در سیستم وجود داشته باشد و CPU از توان محاسباتی زیادی برخوردار باشد اما دسترسی به داده – جابجایی داغده بین حافظه و CPU از طریق گذرگاه داده – توسط پهنای گذرگاه داده محدود می شود.
به علت اهمیت این ویژگی ، معمول است که یک پیشوند را که نشان دهنده اندازه این محدودیت است اضافه می کنند. عبارت “کامپیوتر 16 بیتی” به کامپیوتری با 16 خط در گذرگاه داده اشاره می کند. اغلب کامپیوترها در طبقه بندی 4 بیت، 8 بیت ، 16 بیت یا 32 بیت قرار می گیرند و توان محاسباتی کلی آنها با افزایش پهنای گذرگاه داده، افزایش می یابد.
توجه داشته باشید که گذرگاه داده یک گذرگاه دو طرفه و گذرگاه آدرس، یک گذرگاه یک طرفه می باشد. اطلاعات آدرس همیشه توسط CPU فراهم می شود حالیکه داده ممکن است در هر جهت،بسته به اینکه عملیات خواندن مورد نظر باشد یا نوشتن، جابجا شود . همچنین توجه داشته باشید که عبارت “داده” در مفهوم کلی بکار رفته است یعنی اصطلاعاتی که روی گذرگاه داده جابجا می شود و ممکن است دستورالعمل های یک برنامه، آدرس ضمیمه شده به یک دستورالعمل یا داده مورد استفاده توسط برنامه باشد.
گذرگاه کنترل ترکیب درهمی از سیگنال ها است،که هر یک نقش خاصی در کنترل منظم فعالیت های سیستم دارند. به عنوان یک قاعده کلی،سیگنال های کنترل سیگنال های زمان بندی هستند که توسط CPU برای همزمان کردن جابجایی اطلاعات روی گذرگاه آدرس و داده ایجاد می شوند. اگر چه معمولا سه سیگنال مثل WRITE , READ, CLOCK وجوددارد، برای انتقال اساسی داده بین CPU و حافظه ، نام و عملکرد این سیگنال ها بطور کامل بستگی به نوع CPU دارد. برای جزئیات بیشتر در این موارد باید به برگه اطلاعات سازندگان مراجعه کرد.
6-1 ابزارهای ورودی / خروجی
ابزارهای I/O یا “ابزارهای جانبی کامپیوتر” مسیری برای ارتباط بین سیستم کامپیوتری و “دنیای واقعی” فراهم می کنند. بدون ابزارهای جانبی، سیستم های کامپیوتری به ماشین های درون گرایی تبدیل می شوند که استفاده ای برای کاربران خود ندارند. سه دسته از ابزارهای I/O عبارتند از ابزارهای ذخیره سازی انبوه، ابزارهای رابط با انسان و ابزارهای کنترل / نظارت .
1-6-1 ابزارهای ذخیره سازی انبوه
ابزارهای ذخیره سازی انبوه نیز مثل RAM ها و ROM های نیمه رسانا جزو نقش آفرینان عرصه تکنولوژی حافظه هستند که بطور دائم در حال رشد و بهبود است. آنچنان که از نام آنها بر می آید این ابزارها مقادیر متنابهی اطلاعات (برنامه یا داده) را نگهداری می کنند و این حجم از اطلاعات به هیچ وجه در RAM با “حافظه اصلی” نسبتاً کوچک کامپیوتر جا نمی گیرد. این اطلاعات پیش از اینکه در دسترس قرار بگیرد باید به داخل حافظه اصلی باز شود. دسته بندی ابزارهای ذخیره سازی انبوه برطبق سادگی دستیابی به اطلاعات،آنها را به دو دسته تقسیم می کند ابزارهای آماده کار و ابزارهای بایگانی در روش ذخیره سازی آماده کار که معمولا روی نوارهای مغناطیسی یا دیسک های مغناطیسی انجام می شود. اگر چه دیسک های نوری مثل ROM- CDها یا تکنولوژی WORM که بتازگی ظهور کرده اند، ممکن است سمت گیری روش ذخیره سازی بایگانی را به علت قابلیت اطمینان، ظرفیت بالا و قیمت پایین خود تغییر دهند.
2-6-1 ابزارهای رابط با انسان
یگانگی انسان و ماشین توسط مجموعه ای از ابزارهای رابط با انسان تحقق می یابد که متداول ترین آنها عبارتند از پایانه های نمایش تصویر (VDT) و چاپگرها. اگر چه چاپگرها ابزارهای صرفاً خروجی هستند که برای چاپ کردن اطلاعات به کار می روند ولی VDT ها در واقع از دو وسیله تشکیل شده اند زیرا شامل یک صفحه کلید به عنوان ورودی و یک CRT به عنوان خروجی می باشند. یک رشته خاص در مهندسی به نام “ارگونومیک” یا “مهندسی فاکتورهای انسانی” به خاطر ضرورتی که در طراحی این ابزارهای جابنی با توجه به طبیعت انسان احساس می شد،به وجود آمده است و هدف آن وفق دادن مشخصات انسان با ماشین های مورد استفاده او به شکلی مطمئن ، راحت و کارا می باشد. در حقیقت تعداد شرکت هایی که این دسته از ابزارهای جانبی را تولید می کنند بیشتر از شرکت های تولید کننده کامپیوتر است. در هر سیستم کامپیوتری دست کم سه تا از این ابزارها وجود دارد: صفحه کلید، CRT و چاپگر. از دیگر ابزارهای رابط با انسان می توان دستگیره بازی ، قلم نوری،ماوس، میکروفن و بلندگو را نام برد.
3-6-1 ابزارهای کنترل / نظارت
به کمک ابزارهای کنترل / نظارت (و برخی نرم افزارها و رابط های الکترونیکی دقیق) کامپیوترها می توانند کارهای کنترلی زیادی را بی وقفه،بدون خستگی و بسیار فراتر از توانایی انسان انجام دهند.
کاربردهایی نظیر کنترل حرارت یک ساختمان، محافظت از خانه، کنترل آسانسور، کنترل وسایل خانگی و حتی جوش دادن قطعات مختلف یک خودرو همگی با استفاده از این ابزارها امکان پذیر هستند.
ابزارهیا کنترل، ابزارهای خروجی یا عمل کننده هستند. آنها وقتی که با یک ولتاژ یا جریان، تغذیه شوند می توانند بر جهان پیرامون خود اثر بگذارند (مثل موتورها و رله ها) ابزارهای نظارت، ابزارهای ورودی یا حسگر هستند که با کمیت هایی نظیر حرارت،نور ، فشار، حرکت و مانند آن، تحریک شده و آنها را به جریان یا ولتاژی که توسط CPU خوانده می شود تبدیل می کنند (مثل فتوترانزیستورها، ترمیستورها و سوئیچ ها) ولتاژ یا جریان توسط مدارهای واسطه، به یک داده دودویی تبدیل می شود و یا برعکس و سپس نرم افزار، یک رابطه منطقی بین ورودی ها و خروجی ها برقرار میک ند. سخت افزار و نرم افزار مورد نیاز برای ارتباط این ابزارها بامیکروکنترلرها یکی از موضوعات عمده این کتاب می باشد.
7-1 برنامه ها : بزرگ و کوچک
بحث اصلی ما بر سخت افزار سیستم های کامپیوتری با یک مرور گذرا بر نرم افزار یا برنامه هایی که برای راه اندازی آنها لازم است متمرکز گردیده است. توجه نسبی به سخت افزار در برابر نرم افزار در سالهای اخیر بطور چشمگیر هزینه قطعات،تولید و تعمیر و نگهداری سخت افزار کامپیوتر نسبت به هزینه نرم افزار بود، امروزه با تراشه های LSI هزینه اهی سخت افزاری، کمتر تعیین کننده هستند و کار پرزحمت و متمرکز برای نوشتن، مستندسازی ، پشتیبانی، بهنگام کردن و توزیع نرم افزار است که بخش عمده هزینه اتوماسیون یک فرآیند را با استفاده از کامپیوتر تشکیل می دهد.
اکنون هنگام بررسی انواع مختلف نرم افزار است. سه سطح از نرم افزار را بین کاربر و سخت افزار به این صورت است: نرم افزار کاربردی، سیستم عامل و زیرروال های ورودی/ خروجی.
در پایین ترین سطح، زیر روال های ورودی/ خروجی بطور مستقیم سخت افزار سیستم را اداره می کنند، مثل خواندن کاراکترها از صفحه کلید، نوشتن کاراکترها در CRT ،خواندن بلوک های اطلاعات از دیسک و غیره . از آن جا که این زیرروال ها ارتباط بسیار نزدیکی با سخت افزار دارند توسط طراحان سخت افزار نوشته می شوند و (معمولا) در ROM ذخیره می گردند (به عنوان مثال می توان از BIOS در IBM PC نام برد)
برای ایجاد کردن دسترسی نزدیک برنامه نویسان به سخت افزار سیستم، شرایط صحیحی برای ورود و خروج زیر روال های ورودی/ خروجی تعیین شده است. کافیست یک نفر ثبات های CPU را مقداردهی اولیه کرده و زیر روال را فراخوانی کند؛ در اینصورت عملیات مورد نظر انجام می شود و نتایج در ثبات های CPU یا RAM سیستم قرار می گیرد.
به عنوان مکملی برای زیر روال های ورودی / خروجی ، ROM شامل یک برنامه شروع به کار است که هنگام روشن شدن سیستم یا آغاز بکار مجدد آن بصورت دستی، اجرا می شود. طبیعت غیرفرار ROM در این مورد اهمیت اساسی دارد،زیرا این برنامه باید هنگام روشن شدن سیستم وجود داشته باشد. “مدیریت اعمال داخلی” مثل بررسی انتخاب ها،مقدار دهی اولیه به حافظه، انجام بررسی هایی به منظور عیب یابی و مانند آن، توسط برنامه آغازگر انجام می شود. در پایان یک روال بارکننده خودراه انداز اولین شیار (یک برنامه کوچک) را از دیسک به داخل RAM می خواند و کنترل را به آن می سپارد. سپس این برنامه بخشی از سیستم عامل را که در RAM مقیم است (یک برنامه بزرگ)، از دیسک می خواند و کنترل را به آن می سپارد و به این ترتیب عملیات شروع به کار سیستم کامل می شود و به عبارت دیگر“ سیستم خود را توسط راه اندازهای خودش بالا می آورد”.
سیستم عامل مجموعه بزرگی از برنامه های همراه با سیستم کامپیوتری است و مکانیسمی را برای دستیابی، مدیریت و استفاده مؤثر از امکانات کامپیوتر فراهم میکند. این توانایی ها را در زبان فرمان و برنامه های مفید سیستم عامل وجوددارند و به نوبه خود گسترش نرم افزارهای کاربردی را آسان می کنند. اگر نرم افزار کاربردی، خوب طراحی شده باشد کاربر بدون دانستن سیستم عامل و یا با داشتن اندکی درباره ان، با کامپیوتر ارتباط متقابل برقرار می کند. برقرار کردن یک ارتباط مؤثر، معنی دار و مطمئن با کاربر یکی از مهمترین اهداف در طراحی نرم افزار کاربردی است.
8-1 میکروها ، مینی ها و کامپیوترهای مرکزی
به عنوان یک نقطه شروع، کامپیوترها براساس اندازه و توان آنها با عنوان میکروکامپیوترها، مینی کامپیوترها و کامپیوترهای مرکزی دسته بندی می شوند. یک ویژگی کلیدی میکروکامپیوترها اندازه و بسته بندی CPU می باشد که از یک مدار مجتمع واحد – یعنی یک ریزپردازنده تشکیل شده است. از طرف دیگر مینی کامپیوترها و کامپیوترهای مرکزی علاوه بر آن که در برخی جزئیات معماری، پیچیده تر هستند، CPU هایی مشتمل بر چندین IC دارند که از چند IC (در مینی کامپیوترها) تا چندین برد مدار متشکل از IC ها (در کامپیوترهای مرکزی) تغییر می کند و این برای بدست آوردن سرعت های بالا و توان محاسباتی کامپیوترهای بزرگتر ضروری است.
میکروکامپیوترهایی مثل Commodore Amiga , Aplle Macintosh , IBM PC یک ریزپردازنده را به عنوان CPU بکار برده اند. ROM, RAM و مدارهای واسطه به ICهای زیادی نیاز دارند و تعداد قطعات اغلب به همراه توان محاسبه افزایش می یابد. مدارهای واسطه از لحاظ پیچیدگی بسته به ابزارهای I/O تفاوت قابل ملاحظه ای دارند. برای مثال راه اندازی بلندگو که در اغلب میکروکامپیوترها وجود دارد تنها نیازمند یک جفت گیت منطقی است و در مقابل، رابط دیسک معمولا شامل IC های زیادی است که بعضاً در بسته های LSI قرار دارند.
ویژگی دیگری که میکروها را از مینی ها و کامپیوترهای مرکزی جدا می کند آن است که میکروکامپیوترها سیستمهایی تک اجرایی و تک کاربر هستند یعنی با یک کاربر ارتباط متقابل دارند و یک برنامه را در یک زمان اجرا می کنند. از طرف دیگر مینی ها و کامپیوترهای مرکزی سیستمهایی چنداجرایی هستند یعنی با یک کاربر ارتباط متقابل دارند و یک برنامه را در یک زمان اجرا می کنند. از طرف دیگر مینی ها و کامپیوترهای مرکزی سیستمهایی چنداجرایی و چندکاربر هستند یعنی می توانند به کاربران و برنامههای زیادی به طور همزمان سرویس دهند. درعمل، اجرای همزمان برنامه ها توهمی است که در نتیجه عمل “برش زمان” توسط CPU بوجود می آید (با این همه سیستمهای چندپردزاشی از چندین CPU برای انجام همزمان وظایف استفاده می کنند)
9-1 مقایسه ریز پردازنده ها با میکروکنترلرها
پیش از این خاطر نشان شد که ریزپردازنده ها CPU هایی تک تراشه هستند و در میکروکامپیوترها به کار می روند. پس فرق میکروکنترلرها با ریزپردازندها چیست؟ با این سؤال از سه جنبه می توان برخورد کرد: معماری سخت افزار، کاربردها و ویژگی های مجموعه دستورالعمل ها
1-9-1 معماری سخت افزار
برای روشن ساختن تفاوت بین میکروکنترلرها و ریزپردازنده ها ،شکل 2-1 برای نشان دادن جزئیات بیشتر دوباره رسم شده است (شکل 1-1 را ملاحظه کنید)
در حالیکه ریزپردازنده یک CPUی تک تراشه ای است، میکروکنترلر در یک تراشه واحد شامل یک CPU و بسیاری از مدارات لازم برای یک سیستم میکروکامپیوتری کامل می باشد. اجزای داخل خط چین در شکل 1-1 بخش کاملی از اغلب IC های میکروکنترلر می باشند. علاوه بر CPU میکروکنترلرها شامل ROM, RAM یک رابط سریال، یک رابط موازی، تایمر و مدارات زمان بندی وقفه می باشند که همگی در یک IC قرار دارند. البته مقدار RAM روی تراشه حتی به میزان آن در یک سیستم میکروکامپیوتری کوچک هم نمی رسد اما آنطور که خواهیم دید این مسأله محدودیتی ایجاد نمی کند زیرا کاربردهای میکروکنترلر بسیار متفاوت است.
یک ویژگی مهم میکروکنترلرها، سیستم وقفه موجود در داخل آنهاست. میکروکنترلرها به عنوان ابزارهای کنترل گرا اغلب برای پاسخ بی درنگ به محرکهای خارجی (وقفه ها ) مورد استفاده قرار می گیرند. یعنی باید در پاسخ به یک “اتفاق” ، سریعاً یک فرایند را معوق گذارده ، به فرآیند دیگر بپردازند. بازشدن در یک اجاق مایکروویو مثالی است از یک اتفاق که ممکن است باعث ایجاد یک وقفه در یک سیستم میکروکنترلری شود. البته اغلب ریزپردازنده ها می توانند سیستم های وقفه قدرتمندی را به اجرا بگذارند، اما برای این کار معمولاً نیاز به اجزای خارجی دارند. مدارات روی تراشه یک میکروکنترلر شامل تمام مدارات مورد نیاز برای بکارگیری وقفه ها می باشد.
2-9-1 کاربردها
ریز پردازنده ها اغلب به عنوان CPU در سیستم های میکروکامپیوتری بکار می روند. این کاربرد دلیل طراحی آنها و جایی است که می توانند توان خود را به نمایش بگذارند. با این وجود میکروکنترلرها در طراحی های کوچک با کمترین اجزاء ممکن که فعالیت های کنترل گرا انجام می دهند نیز یافت می شوند. این طراحی ها در گذشته با چند دوجین یا حتی صدها IC دیجیتال انجام می شد. یک میکروکنترلر می تواند در کاهش تعداد کل اجزاء کمک کند. آنچه که مورد نیاز است عبارت است از یک میکروکنترلر، تعداد کمی اجزاء پشتیبان و یک برنامه کنترلی در ROM . میکروکنترلرها برای “کنترل” ابزارهای I/O در طراحی هایی با کمترین تعداد اجزاء ممکن مناسب هستند، اما ریزپردازنده ها برای “پردازش” اطلاعات در سیستم های کامپیوتری مناسبند.
3-9-1 ویژگیهای مجموعه دستور العمل ها
به علت تفاوت در کاربردها، مجموعه دستورالعمل های مورد نیاز برای میکروکنترلرها تا حدودی با ریزپردازنده ها تفاوت دارد. مجموعه دستورالعمل های ریزپردازنده ها عمل پردازش تمرکز یافته اند و در نتیجه دارای روش های آدرس دهی قدرتمند به همراه دستورالعمل هایی برای انجام عملیات روی حجم زیاد داده می باشند. دستورالعمل ها روی چهار بیت ها ، بایت ها، کلمه ها یا حتی کلمه های مضاعف عمل می کنند .
روشهای آدرس دهی با استفاده از فاصله های نسبی و اشاره گرهای آدرس امکان دسترسی به آرایه های بزرگ داده را فراهم می کنند. حالت های افزایش یک واحدی اتوماتیک و کاهش یک واحدی اتوماتیک، حرکت گام به گام روی بایت ها، کلمه ها و کلمه های مضاعف را در آرایه ها آسان می کنند. دستورالعمل های رمزی نمی توانند در داخل برنامه کاربر اجرا شوند و بسیاری ویژگیهای دیگر از این قبیل.
از طرف دیگر میکروکنترلرها مجموعه دستورالعملهایی مناسب برای کنترل ورودی ها و خروجی ها دارند. ارتباط با بسیاری از ورودی ها و خروجیها تنها نیازمند یک بیت است. برای مثال یک موتور می تواند توسط یک سیم پیچ که توسط یک درگاه خروجی یک بیتی انرژی دریافت می کند، روشن و خاموش شود. میکروکنترلرها دستورالعمل هایی برای 1 کردن و 0 کردن بیت های جداگانه دارند و دیگر عملیات روی بیت ها مثل Exor , OR, AND کردن منطقی بیت ها،پرش در صورت 1 یا پاک بودن یک بیت و مانند آنها را نیز انجام می دهند. این خصیصه مفید بندرت در ریزپردازنده ها یافت می شود زیرا آنها معمولا برای کار روی بایت ها یا واحدهای بزرگتر داده طراحی می شوند.

- ۹۵/۰۵/۲۳