دسته بندی | کامپیوتر و IT |
بازدید ها | 12 |
فرمت فایل | doc |
حجم فایل | 125 کیلو بایت |
تعداد صفحات فایل | 77 |
سخت افزار کامپیوتر
مقدمه
گر چه کامپیوترها تنها چند دهه ای است که با ما همراهند، با این حال تأثیر عمیق آنها بر زندگی ما با تأثیر تلفن ، اتومبیل و تلویزیون رقابت می کند. همگی ما حضور آنها را احساس می کنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حساب های ماهیانه که توسط سیستم های کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می شود. تصور ما از کامپیوتر معمولا داده پردازی است که محاسبات عددی را بطور خستگی ناپذیری انجام می دهد.
ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله،در سوپرمارکت ها داخل صندوق های پول و ترازوها؛ در خانه، در اجاق ها، ماشین های لباسشویی، ساعت های دارای سیستم خبردهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازی ها، VCR ها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشین های تایپ و فتوکپی؛ و در تجهیزات صنعتی مثل مته های فشاری و دستگاههای حروفچینی نوری می یابیم. در این مجموعه ها کامپیوترها وظیفه «کنترل» را در ارتباط با “دنیای واقعی” ، برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می هند. میکروکنترلرها (برخلاف میکروکامپیوترها و ریزپردازنده ها ) اغلب در چنین کاربردهایی یافت می شوند.
با وجود این که بیش از بیست سال از تولد ریزپردازنده نمی گذرد، تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکلی است. در 1971 شرکت اینتل 8080 را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن، موتورولا، RCA و سپس MOS Technology و zilog انواع مشابهی را به ترتیب به نامهای 6800 ، 1801 ، 6502 وZ80 عرضه کردند. گر چه این مدارهای مجتمع IC) ها ) به خودی خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد[1] (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) توانایی ذخیره و بازیابی داده . عموماً یک سیستم کامپیوتری شامل ابزارهای جانبی[2] برای ارتباط با انسان ها به علاوه برنامه هایی برای پردازش داده نیز می باشد. تجهیزات کامپیوتر و سخت افزار،و برنامه های آن نرم افزار نام دارند. در آغاز اجازه بدهید کار خود را با سخت افزار کامپیوتر آغاز می کنیم.
نبود جزئیات در شکل عمدی است و باعث شده تا شکل نشان دهنده کامپیوترهایی در تمامی اندازهها باشد. همانطور که نشان داده شده است،یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی[3] (CPU) است که ازطریق گذرگاه آدرس[4]، گذرگاه داده[5] و گذرگاه کنترل[6] به حافظه قابل دستیابی تصادفی[7] RAM) وحافظه فقط خواندنی[8](ROM) متصل می باشد. مدارهای واسطه[9] گذرگاههای سیستم را به وسایل جانبی متصل می کنند.
3-1 واحد پردازش مرکزی
CPU ، به عنوان “مغز” سیستم کامپیوتری، تمامی فعالیت های سیستم را اداره کرده و همه عملیات روی داده را انجام می دهد. اندیشة اسرار آمیز بودن CPU در اغلب موارد نادرست است زیرا این تراشه فقط مجموعه ای از مدارهای منطقی است که بطور مداوم دو عمل را انجام می دهند. واکشی[10] دستورالعمل ها، و اجرای آنها. CPU توانایی درک و اجرای دستورالعمل ها را براساس مجموعه ای از کدهای دودویی دارد که هر یک از این کدها نشان دهنده یک عمل ساده است. این دستورالعمل ها معمولا حسابی (جمع، تفریق، ضرب و تقسیم)، منطقی (NOT, OR, AND و غیره) انتقال داده یا عملیات انشعاب هستند و یا مجموعه ای از کدهای دودویی با نام مجموعه دستورالعمل ها[11]نشان داده می شوند.
مجموعه ای از ثباتها[12] را برای ذخیره سازی موقت اطلاعات، یک واحد عملیات حسابی و منطقی[13] (ALU) برای انجام عملیات روی این اطلاعات،یک واحد کنترل و رمزگشایی دستورالعمل[14] (که عملیاتی را که باید انجام شود تعیین می کند و اعمال لازم را برای انجام آنها شروع می نماید) و دو ثبات اضافی را هم دارد.
ثبات دستور العمل (IR) کد دودویی هر دستورالعمل را در حال اجرا نگه می دارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدی را که باید اجرا شود نشان میدهد.
1- واکشی یک دستورالعمل از RAM سیستم یکی از اساسی ترین اعمالی است که توسط CPU انجام می شود و شامل این مراحل است: (الف) محتویات شمارندة برنامه در گذرگاه آدرس قرار می گیرد (ب) یک سیگنال کنترل READ فعال می شود (پ) داده (کد عملیاتی[15] دستورالعمل) از RAM خوانده می شود و روی گذرگاه قرار می گیرد (ت) کد عملیاتی در ثبات داخلی دستورالعمل CPU ذخیره می شود و (ث) شمارنده برنامه یک واحد افزایش
مییابد تا برای واکشی بعدی از حافظه آماده شود.
2- مرحلة اجرا مستلزم رمزگشایی کد عملیاتی و ایجاد سیگنال های کنترلی برای گشودن ثبات های درونی به داخل و خارج از ALU است. همچنین باید به ALU برای انجام عملیات مشخص شده فرمان داده شود. به علت تنوع زیاد عملیات ممکن، این توضیحات تا حدی سطحی می باشند و در یک عملیات ساده مثل افزایش یک واحدی ثبات[16]مصداق دارند. دستورالعمل های پیچیده تر نیاز به مراحل بیشتری مثل خواندن بایت دوم و سوم به عنوان داده برای عملیات دارند.
یک سری از دستورالعمل ها که برای انجام یک وظیفه معنادار ترکیب شوند برنامه یا نرم افزار نامیده می شود، و نکته واقعاًاسرارآمیز در همین جا نهفته است. معیار اندازه گیری برای انجام درست وظایف، بیشتر کیفیت نرم افزار است تا توانایی تحلیل 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 فراهم می شود حالیکه داده ممکن است در هر جهت،بسته به اینکه عملیات خواندن مورد نظر باشد یا نوشتن، جابجا شود[17]. همچنین توجه داشته باشید که عبارت “داده” در مفهوم کلی بکار رفته است یعنی اصطلاعاتی که روی گذرگاه داده جابجا می شود و ممکن است دستورالعمل های یک برنامه، آدرس ضمیمه شده به یک دستورالعمل یا داده مورد استفاده توسط برنامه باشد.
گذرگاه کنترل ترکیب درهمی از سیگنال ها است،که هر یک نقش خاصی در کنترل منظم فعالیت های سیستم دارند. به عنوان یک قاعده کلی،سیگنال های کنترل سیگنال های زمان بندی هستند که توسط CPU برای همزمان کردن جابجایی اطلاعات روی گذرگاه آدرس و داده ایجاد می شوند. اگر چه معمولا سه سیگنال مثل WRITE , READ, CLOCKوجوددارد، برای انتقال اساسی داده بین CPU و حافظه ، نام و عملکرد این سیگنال ها بطور کامل بستگی به نوع CPU دارد. برای جزئیات بیشتر در این موارد باید به برگة اطلاعات سازندگان مراجعه کرد.
6-1 ابزارهای ورودی / خروجی
ابزارهای I/O یا “ابزارهای جانبی کامپیوتر” مسیری برای ارتباط بین سیستم کامپیوتری و “دنیای واقعی” فراهم می کنند. بدون ابزارهای جانبی، سیستم های کامپیوتری به ماشین های درون گرایی تبدیل می شوند که استفاده ای برای کاربران خود ندارند. سه دسته از ابزارهای I/O عبارتند از ابزارهای ذخیره سازی انبوه،[18] ابزارهای رابط با انسان[19] و ابزارهای کنترل / نظارت[20].
1-6-1 ابزارهای ذخیره سازی انبوه
ابزارهای ذخیره سازی انبوه نیز مثل RAM ها و ROM های نیمه رسانا جزو نقش آفرینان عرصه تکنولوژی حافظه هستند که بطور دائم در حال رشد و بهبود است. آنچنان که از نام آنها بر می آید این ابزارها مقادیر متنابهی اطلاعات (برنامه یا داده) را نگهداری می کنند و این حجم از اطلاعات به هیچ وجه در RAM با “حافظه اصلی” نسبتاً کوچک کامپیوتر جا نمی گیرد. این اطلاعات پیش از اینکه در دسترس قرار بگیرد باید به داخل حافظه اصلی باز شود. دسته بندی ابزارهای ذخیره سازی انبوه برطبق سادگی دستیابی به اطلاعات،آنها را به دو دسته تقسیم می کند ابزارهای آماده کار[21] و ابزارهای بایگانی[22] در روش ذخیره سازی آماده کار که معمولا روی نوارهای مغناطیسی یا دیسک های مغناطیسی انجام می شود. اگر چه دیسک های نوری مثل ROM- CDها[23] یا تکنولوژی WORM [24] که بتازگی ظهور کرده اند، ممکن است سمت گیری روش ذخیره سازی بایگانی را به علت قابلیت اطمینان، ظرفیت بالا و قیمت پایین خود تغییر دهند.[25]
2-6-1 ابزارهای رابط با انسان
یگانگی انسان و ماشین توسط مجموعه ای از ابزارهای رابط با انسان تحقق می یابد که متداول ترین آنها عبارتند از پایانه های نمایش تصویر (VDT) و چاپگرها. اگر چه چاپگرها ابزارهای صرفاً خروجی هستند که برای چاپ کردن اطلاعات به کار می روند ولی VDT ها در واقع از دو وسیله تشکیل شده اند زیرا شامل یک صفحه کلید به عنوان ورودی و یکCRT[26] به عنوان خروجی می باشند. یک رشتة خاص در مهندسی به نام “ارگونومیک” یا “مهندسی فاکتورهای انسانی” به خاطر ضرورتی که در طراحی این ابزارهای جابنی با توجه به طبیعت انسان احساس می شد،به وجود آمده است و هدف آن وفق دادن مشخصات انسان با ماشین های مورد استفاده او به شکلی مطمئن ، راحت و کارا می باشد. در حقیقت تعداد شرکت هایی که این دسته از ابزارهای جانبی را تولید می کنند بیشتر از شرکت های تولید کننده کامپیوتر است. در هر سیستم کامپیوتری دست کم سه تا از این ابزارها وجود دارد: صفحه کلید، CRT و چاپگر. از دیگر ابزارهای رابط با انسان می توان دستگیرة بازی [27] ، قلم نوری،ماوس، میکروفن و بلندگو را نام برد.
[1] - Single Board Computer
[2] - peripheral devices
[3] - central processing unit
[4] - address bus
[5] - data bus
[6] - control bus
[7] - random access memory
[8] - read-only memory
[9] - interface circuits
[10] - fetching
[11] - instruction set
[12] - registers
[13] - arithmetic and logic unit
[14] - instruction decode and control unit
[15] - OPCODE
[16] - register increment
[17] - اطلاعات آدرس علاوه بر CPU گاهی توسط مدارات دستیابی مستقیم به حافظه (DMA) نیز فراهم می شود.
[18] - mass storage devices
[19] - human interface devices
[20] - control/ monitor devices
[21] - online
[22] - archival
[23] - Compact disk Read only Memory
[24] - Write Once Read Mostly
[25] - یک ROM - CD که توان ذخیره سازی 550 مگابایت را دارد برای ذخیره کردن 32 جلد کتاب از دایره المعارف بریتانیکا کافی است.
[26] - cathode-ray tube
[27] - joystick
دسته بندی | کامپیوتر و IT |
بازدید ها | 10 |
فرمت فایل | doc |
حجم فایل | 125 کیلو بایت |
تعداد صفحات فایل | 77 |
سخت افزار کامپیوتر
مقدمه
گر چه کامپیوترها تنها چند دهه ای است که با ما همراهند، با این حال تأثیر عمیق آنها بر زندگی ما با تأثیر تلفن ، اتومبیل و تلویزیون رقابت می کند. همگی ما حضور آنها را احساس می کنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حساب های ماهیانه که توسط سیستم های کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده می شود. تصور ما از کامپیوتر معمولا داده پردازی است که محاسبات عددی را بطور خستگی ناپذیری انجام می دهد.
ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله،در سوپرمارکت ها داخل صندوق های پول و ترازوها؛ در خانه، در اجاق ها، ماشین های لباسشویی، ساعت های دارای سیستم خبردهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازی ها، VCR ها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشین های تایپ و فتوکپی؛ و در تجهیزات صنعتی مثل مته های فشاری و دستگاههای حروفچینی نوری می یابیم. در این مجموعه ها کامپیوترها وظیفه «کنترل» را در ارتباط با “دنیای واقعی” ، برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می هند. میکروکنترلرها (برخلاف میکروکامپیوترها و ریزپردازنده ها ) اغلب در چنین کاربردهایی یافت می شوند.
با وجود این که بیش از بیست سال از تولد ریزپردازنده نمی گذرد، تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکلی است. در 1971 شرکت اینتل 8080 را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن، موتورولا، RCA و سپس MOS Technology و zilog انواع مشابهی را به ترتیب به نامهای 6800 ، 1801 ، 6502 وZ80 عرضه کردند. گر چه این مدارهای مجتمع IC) ها ) به خودی خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد[1] (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) توانایی ذخیره و بازیابی داده . عموماً یک سیستم کامپیوتری شامل ابزارهای جانبی[2] برای ارتباط با انسان ها به علاوه برنامه هایی برای پردازش داده نیز می باشد. تجهیزات کامپیوتر و سخت افزار،و برنامه های آن نرم افزار نام دارند. در آغاز اجازه بدهید کار خود را با سخت افزار کامپیوتر آغاز می کنیم.
نبود جزئیات در شکل عمدی است و باعث شده تا شکل نشان دهنده کامپیوترهایی در تمامی اندازهها باشد. همانطور که نشان داده شده است،یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی[3] (CPU) است که ازطریق گذرگاه آدرس[4]، گذرگاه داده[5] و گذرگاه کنترل[6] به حافظه قابل دستیابی تصادفی[7] RAM) وحافظه فقط خواندنی[8](ROM) متصل می باشد. مدارهای واسطه[9] گذرگاههای سیستم را به وسایل جانبی متصل می کنند.
3-1 واحد پردازش مرکزی
CPU ، به عنوان “مغز” سیستم کامپیوتری، تمامی فعالیت های سیستم را اداره کرده و همه عملیات روی داده را انجام می دهد. اندیشة اسرار آمیز بودن CPU در اغلب موارد نادرست است زیرا این تراشه فقط مجموعه ای از مدارهای منطقی است که بطور مداوم دو عمل را انجام می دهند. واکشی[10] دستورالعمل ها، و اجرای آنها. CPU توانایی درک و اجرای دستورالعمل ها را براساس مجموعه ای از کدهای دودویی دارد که هر یک از این کدها نشان دهنده یک عمل ساده است. این دستورالعمل ها معمولا حسابی (جمع، تفریق، ضرب و تقسیم)، منطقی (NOT, OR, AND و غیره) انتقال داده یا عملیات انشعاب هستند و یا مجموعه ای از کدهای دودویی با نام مجموعه دستورالعمل ها[11]نشان داده می شوند.
مجموعه ای از ثباتها[12] را برای ذخیره سازی موقت اطلاعات، یک واحد عملیات حسابی و منطقی[13] (ALU) برای انجام عملیات روی این اطلاعات،یک واحد کنترل و رمزگشایی دستورالعمل[14] (که عملیاتی را که باید انجام شود تعیین می کند و اعمال لازم را برای انجام آنها شروع می نماید) و دو ثبات اضافی را هم دارد.
ثبات دستور العمل (IR) کد دودویی هر دستورالعمل را در حال اجرا نگه می دارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدی را که باید اجرا شود نشان میدهد.
1- واکشی یک دستورالعمل از RAM سیستم یکی از اساسی ترین اعمالی است که توسط CPU انجام می شود و شامل این مراحل است: (الف) محتویات شمارندة برنامه در گذرگاه آدرس قرار می گیرد (ب) یک سیگنال کنترل READ فعال می شود (پ) داده (کد عملیاتی[15] دستورالعمل) از RAM خوانده می شود و روی گذرگاه قرار می گیرد (ت) کد عملیاتی در ثبات داخلی دستورالعمل CPU ذخیره می شود و (ث) شمارنده برنامه یک واحد افزایش
مییابد تا برای واکشی بعدی از حافظه آماده شود.
2- مرحلة اجرا مستلزم رمزگشایی کد عملیاتی و ایجاد سیگنال های کنترلی برای گشودن ثبات های درونی به داخل و خارج از ALU است. همچنین باید به ALU برای انجام عملیات مشخص شده فرمان داده شود. به علت تنوع زیاد عملیات ممکن، این توضیحات تا حدی سطحی می باشند و در یک عملیات ساده مثل افزایش یک واحدی ثبات[16]مصداق دارند. دستورالعمل های پیچیده تر نیاز به مراحل بیشتری مثل خواندن بایت دوم و سوم به عنوان داده برای عملیات دارند.
یک سری از دستورالعمل ها که برای انجام یک وظیفه معنادار ترکیب شوند برنامه یا نرم افزار نامیده می شود، و نکته واقعاًاسرارآمیز در همین جا نهفته است. معیار اندازه گیری برای انجام درست وظایف، بیشتر کیفیت نرم افزار است تا توانایی تحلیل 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 فراهم می شود حالیکه داده ممکن است در هر جهت،بسته به اینکه عملیات خواندن مورد نظر باشد یا نوشتن، جابجا شود[17]. همچنین توجه داشته باشید که عبارت “داده” در مفهوم کلی بکار رفته است یعنی اصطلاعاتی که روی گذرگاه داده جابجا می شود و ممکن است دستورالعمل های یک برنامه، آدرس ضمیمه شده به یک دستورالعمل یا داده مورد استفاده توسط برنامه باشد.
گذرگاه کنترل ترکیب درهمی از سیگنال ها است،که هر یک نقش خاصی در کنترل منظم فعالیت های سیستم دارند. به عنوان یک قاعده کلی،سیگنال های کنترل سیگنال های زمان بندی هستند که توسط CPU برای همزمان کردن جابجایی اطلاعات روی گذرگاه آدرس و داده ایجاد می شوند. اگر چه معمولا سه سیگنال مثل WRITE , READ, CLOCKوجوددارد، برای انتقال اساسی داده بین CPU و حافظه ، نام و عملکرد این سیگنال ها بطور کامل بستگی به نوع CPU دارد. برای جزئیات بیشتر در این موارد باید به برگة اطلاعات سازندگان مراجعه کرد.
6-1 ابزارهای ورودی / خروجی
ابزارهای I/O یا “ابزارهای جانبی کامپیوتر” مسیری برای ارتباط بین سیستم کامپیوتری و “دنیای واقعی” فراهم می کنند. بدون ابزارهای جانبی، سیستم های کامپیوتری به ماشین های درون گرایی تبدیل می شوند که استفاده ای برای کاربران خود ندارند. سه دسته از ابزارهای I/O عبارتند از ابزارهای ذخیره سازی انبوه،[18] ابزارهای رابط با انسان[19] و ابزارهای کنترل / نظارت[20].
1-6-1 ابزارهای ذخیره سازی انبوه
ابزارهای ذخیره سازی انبوه نیز مثل RAM ها و ROM های نیمه رسانا جزو نقش آفرینان عرصه تکنولوژی حافظه هستند که بطور دائم در حال رشد و بهبود است. آنچنان که از نام آنها بر می آید این ابزارها مقادیر متنابهی اطلاعات (برنامه یا داده) را نگهداری می کنند و این حجم از اطلاعات به هیچ وجه در RAM با “حافظه اصلی” نسبتاً کوچک کامپیوتر جا نمی گیرد. این اطلاعات پیش از اینکه در دسترس قرار بگیرد باید به داخل حافظه اصلی باز شود. دسته بندی ابزارهای ذخیره سازی انبوه برطبق سادگی دستیابی به اطلاعات،آنها را به دو دسته تقسیم می کند ابزارهای آماده کار[21] و ابزارهای بایگانی[22] در روش ذخیره سازی آماده کار که معمولا روی نوارهای مغناطیسی یا دیسک های مغناطیسی انجام می شود. اگر چه دیسک های نوری مثل ROM- CDها[23] یا تکنولوژی WORM [24] که بتازگی ظهور کرده اند، ممکن است سمت گیری روش ذخیره سازی بایگانی را به علت قابلیت اطمینان، ظرفیت بالا و قیمت پایین خود تغییر دهند.[25]
2-6-1 ابزارهای رابط با انسان
یگانگی انسان و ماشین توسط مجموعه ای از ابزارهای رابط با انسان تحقق می یابد که متداول ترین آنها عبارتند از پایانه های نمایش تصویر (VDT) و چاپگرها. اگر چه چاپگرها ابزارهای صرفاً خروجی هستند که برای چاپ کردن اطلاعات به کار می روند ولی VDT ها در واقع از دو وسیله تشکیل شده اند زیرا شامل یک صفحه کلید به عنوان ورودی و یکCRT[26] به عنوان خروجی می باشند. یک رشتة خاص در مهندسی به نام “ارگونومیک” یا “مهندسی فاکتورهای انسانی” به خاطر ضرورتی که در طراحی این ابزارهای جابنی با توجه به طبیعت انسان احساس می شد،به وجود آمده است و هدف آن وفق دادن مشخصات انسان با ماشین های مورد استفاده او به شکلی مطمئن ، راحت و کارا می باشد. در حقیقت تعداد شرکت هایی که این دسته از ابزارهای جانبی را تولید می کنند بیشتر از شرکت های تولید کننده کامپیوتر است. در هر سیستم کامپیوتری دست کم سه تا از این ابزارها وجود دارد: صفحه کلید، CRT و چاپگر. از دیگر ابزارهای رابط با انسان می توان دستگیرة بازی [27] ، قلم نوری،ماوس، میکروفن و بلندگو را نام برد.
[1] - Single Board Computer
[2] - peripheral devices
[3] - central processing unit
[4] - address bus
[5] - data bus
[6] - control bus
[7] - random access memory
[8] - read-only memory
[9] - interface circuits
[10] - fetching
[11] - instruction set
[12] - registers
[13] - arithmetic and logic unit
[14] - instruction decode and control unit
[15] - OPCODE
[16] - register increment
[17] - اطلاعات آدرس علاوه بر CPU گاهی توسط مدارات دستیابی مستقیم به حافظه (DMA) نیز فراهم می شود.
[18] - mass storage devices
[19] - human interface devices
[20] - control/ monitor devices
[21] - online
[22] - archival
[23] - Compact disk Read only Memory
[24] - Write Once Read Mostly
[25] - یک ROM - CD که توان ذخیره سازی 550 مگابایت را دارد برای ذخیره کردن 32 جلد کتاب از دایره المعارف بریتانیکا کافی است.
[26] - cathode-ray tube
[27] - joystick