ATmega16

دارای 131 دستور قدرتمند است که اکثراً در یک سیکل ساعت اجرا می شوند.

·         حافظه

16K بایت حافظه فلش قابل برنامه ریزی.

مجهز به قسمت Boot Loader

512 بایت حافظه EEPROM داخلی

1K بایت حافظه SRAM داخلی.

قفل قابل برنامه ریزی برای امنیت نرم افزار

·         خطوط I/o و انواع بسته بندی:

32 خط ورودی/خروجی قابل برنامه ریزی

40 پایه در نوع PDIP و 44 پایه در انواع TQFP و MLF

4 پایه اضافی در SMD مربوط به Vcc و GND است چون مصرفش تقریبا دوبرابر جریان مصرفی DIP است بدین صورت تعادل گرمایی بین پایه ها برقرار می شود.

ما به تفصیل حالت DIP می پردازیم:

در این حالت 32 پایه دیجیتال و 8 پایه آنالوگ داریم که این 32 پایه دیجیتال شامل 4 ،PORT ،A,B,C,D است که هر پورت دارای 8 پایه است که البته هریک از این پایه ها علاوه بر وظیفه ورودی/خروجی وظیفه های دیگری نیز بر عهده دارند.

 

حافظه ها

تقسیم بندی کلی حافظه ها به صورت زیر است:

common memory types

http://www.barrgroup.com/Embedded-Systems/How-To/Memory-Types-RAM-ROM-Flash

حافظه های RAM:

حافظه RAM در اختیار CPU است.

حافظه های RAM شامل دو نوع اصلی حافظه است ، 1.(SRAM (static RAM) 2.DRAM (dinamic RAM تفاوت اصلی بین این دوحافظه عمر اطلاعاتی است که می توانند در خود ذخیره کنند .محتویات داخل SRAM تا زمانی که منبع برق به آن متصل است می ماند.زمانی که برق قطع شود تمام اطلاعات آن برای همیشه پاک می شود .در حالیکه حافظه DRAM دارای عمر اندکی طولانی تر در حدود 4 میلی ثانیه است.SRAM تمام شاخصه های یک RAM را دارد که به نظر می رسد DRAM چنین نباشد.

وقتی تصمیم می گیرید یک حافظه RAM انتخاب کنید باید به دو نکته یعنی زمان و قیمت توجه کنید که SRAM دارای سرعت بیشتر و همچنین قیمت بالاتری استن در حالیکه سرعت DRAM پایینتر ولی از قیمت کمتری برخوردار است.

در بسیاری از سیستم ها از هر دو حافظه استفاده می شود.

در AVR از SRAM استفاده شده است که در واقع حافظه مورد نیاز برای اجرای برنامه است.

وقتي در برنامه‌هاي خود متغيري تعريف مي‌كنيم، در زمان اجراي آن توسط ميكروكنترلر، به‌طور معمول از حافظه‌ي SRAM استفاده مي‌شود. مثلاً وقتي در برنامه جمله‌ي زير را مي‌نويسيد:

Int f;

میکروکنترلر برای ساخت این متغیر دو بایتی از حافظه SRAM استفاده می کند.


حافظه‌ي SRAM از نوع حافظه‌هاي فرّار است و اطلاعاتي كه در آن ذخيره مي‌شوند، پس از خاموش شدن ربات و قطع جريان برق از ميكروكنترلر، همگي پاك مي‌شوند. اگر بخواهيم براي تعريف حافظه از فضاي ديگري به جز SRAM استفاده كنيم، بايد در الگوي تعريف متغير، تغيير كوچكي دهيم كه در ادامه شرح داده شده است.

حافظه های ROM:

حافظه های   ROM با متدی که می توان دیتاهای جدید بر روی آنها ذخیره کرد که معمولا به آن programming  می گویند و دفعاتی که نوشته می شوند .این طبقه بندی تکامل قطعات ROM از hardwired از قابل برنامه ریزی به قابل پاک کردن و برنامه ریزی نشان می دهد.از ویژگی های مشترک همه این قطعات توانایی آنها در حفظ دیتاها و برنامه ها برای همیشه است حتی اگر برق قطع شود.

اولین ROM ها قطعات Hardwared بودند که شامل مجموعه ای از دیتاها یا دستورالعمل های از پیش برنامه ریزی شده بودند.محتویات ROM باید قبل از تولید Chip  مشخص شوند .حافظه های Hardwared  هنوز هم استفاده می شوند اگرچه آنها با نام Masked ROMs از دیگر ROM ها متمایز می شوند.مزیت اصلی یک Masked ROM قیمت تولید پایین آن است. متاسفانه، هزینه کم است تنها زمانی که مقادیر زیادی از همین ROM مورد نیاز است.

یک پله بالاتر از Masked ROM ،PROM(programmable ROM)  است که از روی یک حالت غیر قابل برنامه ریزی ساخته شده است.اگر شما به محتویات یک EPROM غیر قابل برنامه ریزی نگاه کنید می توانید ببینید که داده ها به طور کامل از یک ساخته شده است.برای نوشتن اطلاعات داخل یک PROM به یک دستگاه برنامه ریز نیاز است.دستگاه برنامه ریز دیتاها را به دستگاه می نویسد یک کلمه در یک زمان با اعمال یک شارژ الکتریکی به پین های ورودی Chip.هنگامی که یک PROM بدین صورت برنامه ریزی می شود ، محتویاتش هیچگاه تغییر نمی کند.اگر کد یا دیتای ذخیره شده بر روی PROM احتیاج به پاک شدن داشته باشد دستگاه باید دور انداخته شود.بنابراین PROM ها معمولا به عنوان قطعات یک بار قابل برنامه ریزی( one-time programmable (OTPشناخته می شوند.یک EPROM (erasable-and-programmable ROM) درست همانند یک PROM برنامه ریزی می شود اگرچه EPROM ها را بارها می توان پاک و دوباره برنامه ریزی کرد.برای پاک کردن یک EPROM شما به آسانی دستگاه را در وعرغ یک منبع قوی از نور ماورائ بنفش قرار می دهید.(سوراخی در بالای دستگاه اجازه رسیدن نور به سیلیکون را می دهد).بدین وسیله شما کل Chip  را به حالت اولیه غیر قابل برنامه ریزی بر می گردانید.اگرچه قیمت بالاتری نسبت به PROM ها دارند اما توانایی آنها برای دوباره برنامه ریزی شدن آنها را به قطعاتی مهم در صنعت تست و رشد نرم افزار تبدیل کرده است.

حافظه های HYBRID:

با پیشرفت تکنولوژی حافظه ها روز به روز مرز میان RAM و ROM نامشخص است.امروزه انواع مختلف حافظه ها هر دو ویژگی را دارند.این قطعات را نمی توان جز طبقه ای خاص دوانست بلکه ترکگیبی از هر دو نوع هستند.حافظه های Hybrid  همانطور که انتظار داریم قابل خواندن و نوشتن هستند مانند RAM ها اما محتویاتش را بدون نیاز به برق حفظ می کنند مانند ROM ها.دوتا از قطعات Hybrid یعنی  EEPROM و FLASH از نسل قطعات ROM هستند.که معمولا برای ذخیره کردن کدها مورد استفاده قار می گیرند .Hybrid سوم NVRAM از نسل SRAM است.NVRAM معمولا دارای داده های پایدار است.EEPROM ها  قابل پاک کرد و برنامه ریزی الکتریکی هستند.از نظر داخلی شبیه EPROM ها هستند اما با الکتریسته پاک می شوند نه با اشعه ماورائ بنفش. هر بایت در داخل EEPROM ممکن است پاک شود و بازنویسی شود.داده جیدید برای همیشه در قطعه باقی می ماند مگر اینکه به صورت الکتریکی پاک شود.با این قابلیت بهبود یافته هزینه نیز بالا رفته است اگرچه سیکل نوشتن هم به میزان قابل توجهی بیشتر از RAM است.بنابراین شما از یک EEPROM برای حافظه اصلی سیستم استفاده نخواهید کرد.

حافظه های فلش بهترین ویژگی های قطعات حافظه شرح داده شده تا به اینجا را دارا می باشند.حافظه های فلش داداری تراکم بیشتر قیمت پایین ، غیرفرار ،سریع(برای خواندن نه نوشتن)و همچنین با قابلیت الکتریکی برنامه ریزی کردن هستند.از نقطه نظر نرم افزاری تکنولوژی FLASH و EEPROM خیلی شبیه یکدیگر است  تفاوت اصلی این است که FLASH می تواند پاک شود به صورت یک بخش در زمان نه به صورت بیت بیت Typical sector sizes are in the range 256 bytes to 16KB.، با وجود این نقطه ضعف، فلش بسیار محبوب تر از EEPROM است .

حفظه فلش در مرحله‌ي پروگرام كردن، و براي ذخيره‌ي برنامه‌ي كامپايل شده توسط كامپيوتر (فایل با پسوند hex) در ميكروكنترلر مورد استفاده قرار مي‌گيرد. همان‌ط‌ور كه توضيح داده شد اين حافظه از نوع حافظه‌هاي غير فرّار است.که در واقع محل قرار گیری برنامه اصلی است.

گاهي اوقات ما نياز داريم اطلاعاتي كه در متغير‌ها ذخيره شده‌اند با خاموش شدن ربات يا دستگاه پاك نشوند و براي استفاده در زمان‌هاي ديگر هم قابل استفاده باشند. براي اين منظور حافظه‌ي EEPROM تعبيه شده است. EEPROM جزو حافظه‌هاي غير فرار است،براي استفاده از اين حافظه بايد متغير‌ها را به گونه‌اي تعريف كنيد كه به جاي استفاده از SRAM از EEPROM استفاده كنند. براي اين منظور طبق الگوي زير عمل مي كنيم:

Eeprom int temp;


يعني پيش از تعريف متغير، كلمه‌ي كليدي «eeprom» را ذكر مي‌كنيم. اگر اين كار را نكنيم، متغير به صورت پيش فرض در حافظه‌ي SRAM تعریف میکنیم ،براي مثال فرض كنيد ربات مين‌يابي داريم كه مختصات مين‌هاي كشف شده را در متغيرهايي از حافظه‌ي ميكروكنترلرش ذخيره كرده است. اگر اين متغير‌ها در SRAM باشند، زماني‌كه ربات خاموش شود اين اطلاعات پاك مي‌شوند و ديگر قابل بازبيني نيستند، در اين‌گونه موارد بهتر است اطلاعات در eeprom ذخيره شوند تا خيالمان از بابت ذخيره‌ي اين اطلاعات راحت باشد

 

Type

Volatile?

Writeable?

Erase Size

Max Erase Cycles

Cost (per Byte)

Speed

SRAM

Yes

Yes

Byte

Unlimited

Expensive

Fast

DRAM

Yes

Yes

Byte

Unlimited

Moderate

Moderate

Masked ROM

No

No

n/a

n/a

Inexpensive

Fast

PROM

No

Once, with a device programmer

n/a

n/a

Moderate

Fast

EPROM

No

Yes, with a device programmer

Entire Chip

Limited (consult datasheet)

Moderate

Fast

EEPROM

No

Yes

Byte

Limited (consult datasheet)

Expensive

Fast to read, slow to erase/write

Flash

No

Yes

Sector

Limited (consult datasheet)

Moderate

Fast to read, slow to erase/write

NVRAM

No

Yes

Byte

Unlimited

Expensive (SRAM + battery)

Fast

به طور کلی در AVR ،SRAM در اختار ما نیست و ما تنها به EEPROM و FLASH دسترسی داریم.

 

 

 

AVR

AVR مخفف سه کلمه (Alf egit) ، (Vegard wollan) ، (Risc) می باشد که دو اسم نخست نام سازنده avr می باشد  و نام سوم معماری ساخت AVR می باشد.

Avr ها میکروکنترلرهای 8 بیتی از نوع CMOS (یک نوع تکنولوژی حافظه) با توان مصرفی پایین هستند که براساس ساختار پیشرفته RISC ساخته شده اند.

AVR ها با ساختار RISC دستورات  را تنها در یک پالس ساعت اجرا می کنند و به این ترتیب می توان تا به ازای هر یم مگاهرتز ،یک مگا دستور را در ثانیه اجرا کرده و برنامه را از لحاظ سرعت پردازش بهینه کرد.

AVR ها 32 رجیستر همه منظوره و مجموعه دستورات قدرتمندی را شامل می شوند تمامی این 32 رجیستر مستقیما به ALU متصل شده اند.

میکروکنترلرهای AVR به سه دسته تقسیم می شوند:

1.(Attiny) Tiny AVR

2.(AT90S) Classic AVR

3.(Atmega) Mega AVR

تفاوت بین این سه نوع به امکانات موجود در آنها مربوط می شود.Tiny AVR ها غالبا״ تراشه هایی با تعداد پایه و مجموعه دستورات کمتری نسبت به Mega AVR ها می- باشند و به عبارتی از لحاظ پیچیدگی حداقل امکانات را دارند.Mega AVR ها حداکثر امکانات را دارند و Classic AVR ها جایی بین این دو نوع قرار می گیرند.البته ازآنجایی که از بین این سه دسته ی ذکر شده Classic AVR ها،قبل از دو گروه دیگر تولید شده اند،امروزه در طراحی های جدید کمتر از آنها استفاده می شودو عملا״ هریک از آنها باتراشه ای ازگروه Mega AVR یا Tiny AVR جایگزین شده اند.

اسم میکروکنترلرهای AVR حاوی اطلاعاتی است  قمت اول اسم که نوع AVR را مشخص می کند بعد از نوع AVR عددی قرار می گیره که اگر از سمت چپ عدد باقی مانده بزرگترین توان دو را انتخاب کنید (مثال: 16=2^4ß162)در این صورت عدد انتخاب شده میزان حافظه Flash را بیان می کند.به جز یک استثنا Atmega103  که 128 کیلوبایت حافظه فلش دارد.

همچنین ممکن است در انتهای اسم میکروکنترلر پسوندی هم وجود داشته باشد با پسوندL(Low Powe )  یا) V(Very Low Power که می توان جدول زیر را برای آنها در نظر گرفت:

اسم میکروکنترلر

محدوده ولتاژ تغذیه

فرکانس قابل قبول کریستال

بدون پسوند

4-5.5 v

0-16 MHz

با پسوند L

2.7-5.5 v

0-8 MHz

با پسوند  V

1.8-5.5 v

0-4 MHz

که البته برای تمامی میکروکنترلر ها صدق نمی کند و باید به برگه اطلاعات هریک رجوع کرد.

اصول همه میکروکنترلرهای AVR و تفاوت آنها در میزان حافظه موجود بر بروی تراشه . امکانات جانبی است.در حداکثر AVR ها حداکثر فرکانس داخلی 16 مگاهرتز است ولی در بعضی میکروکنترلرها مانند Attiny13 حداکثر فرکانس تایمر تا 64 مگاهرتز افزایش یافته است.

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

 

میکروکنترلر1

میکرو کنترلر چیست؟

 

1-  معرفی میکروکنترلرها :

به آی سی هایی که قابل برنامه ریزی می باشد و عملکرد آنها از قبل تعیین شده میکروکنترلرگویند میکرو کنترل ها دارای ورودی - خروجی و قدرت پردازش می باشد .

 

2-  بخشهای مختلف میکروکنترلر :

       میکروکنترلر ها از بخشهای زیر تشکیل شده اند

Cpu                                واحد پردازش

Alu                                 واحد محاسبات

I /O                                ورودی ها و خروجی ها

Ram                               حافظه اصلی میکرو

Rom                               حافظه ای که برنامه روی آن ذخیره می گردد

Timer                             برای کنترل زمان ها

 و . . .

چرا از میکروکنترلر استفاده می کنیم؟

در هر پروژه سه چیز اهمیت فوق العاده دارد:

1)  مصرف توان

2)  حجم مدار

3)  قیمت مدار

میکروپروسسور ها توان بالا مصرف می کنند، قیمت گرانی دارند و حجم زیادی را اشغال می کنند در حالی که میکروکنترلرها مصرف توان بسیار پایین در حد 2mA دارند، حجم بسیار کمی اشغال می کنند و قیمتی به مراتب ارزان تر از میکروپروسسور دارند به همین دلیل میکروکنترلرها در پروژه های کوچک که نیاز به پردازش چندانی ندارند، به بیشترین شکل استفاده می شوند.

اولین سری از میکروکنترلرها در سال 1981 توسط شرکت Intel ساخته شدند و برای اینکه به تولید انبوه برسند، شرکت Intel مجوز ساخت آن را به شرکت های مختلفی مانند Atmel، Xeimens، Dallas Semiconductor، Motorola و... داد با این شرط که برنامه ای که برای 8051 اصلی نوشته می شود، به همه ی میکروکنترلر های 8051 تولیدی این شرکت ها بخورد.

8051 اصلی 4KByte حافظه قابل برنامه ریزی داشت، دارای 2 تایمر 16 بیتی بود، 40 پایه (Pin) داشت، تا حداکثر فرکانس 20MHz کار می کرد، تا 1000 بار قابل برنامه ریزی بود، برای برنامه ریزی شدن باید با روش موازی برنامه ریزی می شد که در این حالت تمام پایه های آن برای برنامه ریزی شدن (پروگرام شدن) مورد استفاده قرار می گرفت و اگر در حین برنامه ریزی میکروکنترلر را از پروگرامر (برنامه ریز) جدا می کردیم، میکروکنترلر صدمه می دید.

شرکت هایی نظیر Atmel مدل های بسیار مختلفی از این میکروکنترلر را ساختند مثلاً مدل AT89C52 این شرکت 8KB حافظه داشت و مدل AT89C55 دارای 20KB حافظه قابل برنامه ریزی بود و می توانست تا فرکانس 33MHz کار کند.

مدل OTP (One Time Programmable) یا یک بار قابل برنامه ریزی آن ساخته شد که قیمت ارزان تری داشت.

و مدلی ساخته شد که دارای 3 تایمر 16 بیتی بود.

مدل 20 پین 8051 هم ساخته شد.

مدلی از آن ساخته شد که حافظه ی داخلی نداشت (8031) و فقط می توانستیم حافظه ی خارجی 64KB به آن متصل کنیم.

مدلی از آن هم ساخته شد که دارای حافظه EEPROM (Electrical Erasable Programmable Random Access Memory) بود.

شرکت Atmel راه آسان تری برای پروگرام کردن ابداع کرد و آن هم برنامه ریزی به روش ISP (In System Programming) بود در این نوع برنامه ریزی هنگامی که میکروکنترلر در حالت Reset بود، از سه پایه ی MISO (Master Input Slave Output)، MOSI (Master Output Slave Input) و CLK (Clock) برای پروگرام کردن استفاده می شد.

در روش ISP دیگر نیازی به خارج کردن میکروکنترلر از مدار نبود و هنگامی که در مدار قرار داشت می توانستیم آن را برنامه ریزی کنیم.

در سال 1996 دو مهندس شرکت Atmel میکروکنترلر AVR را ابداع کردند که می توان به نوعی آن را تکمیل شده ی 8051 دانست. مخفف دقیق کلمه ی AVR را فقط این دو مهندس می دانند.

قیمت AVR ها گران تر از 8051 بود دلیل آن هم امکانات بیشتر AVR می باشد. مثلاً 8051 چهل پایه با امکانات متوسط 1200 تومان قیمت دارد در حالی که همین مدل از AVR حدود 2000 تومان قیمت دارد.

AVR ها مزیت های زیادی نسبت به 8051 دارند که در ادامه آنها را ذکر خواهیم کرد.

سری دیگر از میکروکنترلر ها، PIC (Program Interface Controller) هستند که قیمتی تا دو برابر AVR دارند و امکانات آنها بیشتر می باشد و دارای خطای بسیار پایینی هستند. میکرو کنترلر های PIC در پکیجهای (تعداد پایه) 8، 16، 18، 20، 28، 40، 64 و... ارائه می شوند. مثلاً PIC12XX در بسته بندی های 8 پایه تا 16 پایه می باشند، PIC16XX در بسته بندی های 16 تا 28 پایه هستند، PIC18XX بسته بندی های 20 پایه تا 40 پایه، PIC24XX در بسته بندی های بالاتر از 40 پایه و در نهایت سری dsPIC که قدرتمندترین عضو این خانواده هستند.  این سری از میکروکنترلر را شرکت Microchip می سازد که رقیب اصلی AVR محسوب می شود.

دو مدل دیگر از میکروکنترلرها وجود دارند که در ایران یافت نمی شوند بنابراین آنها را شرح نمی دهیم.

نکته: پروگرامر میکرو کنترلر سه مدل دارد:

1)       می تواند از طریق پورت موازی (پورت پرینتر) که 25 پین دارد برنامه ریزی شود (پورت DB25).

2)       می تواند با پورت سریال (RS232) برنامه ریزی شود که 9 پین دارد (پورت DB9).

3)       می تواند با درگاه USB (Universal Serial Bus) برنامه ریزی شود که در این حالت نیازی به تغذیه جداگانه ندارد.

سؤال: برای برنامه ریزی کردن میکروکنترلر از چه زبانی باید استفاده کنیم؟ زبانهای رایج برنامه نویسی برای میکروکنترلر ها سه زبان Basic، C و اسمبلی (Assembly) می باشند.

1)       زبان بیسیک سطح برنامه نویسی بسیار بالایی دارد (فهم آن برای کاربر بسیار آسان است). در این زبان حدود 150 کلمه ی کلیدی وجود دارد. نقطه ضعف جدی این زبان این است که ساختار یکپارچه ای ندارد به این معنی که دستورات نرم افزار Bascom AVR تفاوت های بسیاری با نرم افزار Fast AVR دارد و هر دوی این زبانها دستوراتی کاملاً متفاوت با نرم افزار PIC Basic دارند به همین دلیل برای برنامه ریزی میکروکنترلر از این زبان استفاده نمی کنیم.

2)       زبان C دارای سطح برنامه نویسی میانی است (حدود 30 کلمه ی کلیدی دارد) و ساختار یکپارچه ای دارد به طوری که اگر کاربر C 8051 باشید و بخواهید C AVR را یاد بگیرید، در عرض کمتر از 1 ساعت می توانید این کار را انجام دهید. نگه داری و به روز رسانی این زبان بسیار آسان تر از بیسیک است. زبان C ارتباط تنگاتنگی با زبان اسمبلی دارد به طوری که دستورات اسمبلی را به وفور در برنامه های C مشاهده می کنیم.

3)       زبان اسمبلی زبان ماشین است به این معنی که تمامی کامپایلر ها مانند Basic، پاسکال و C ابتدا به اسمبلی ترجمه می شوند و سپس کامپایل انجام می شود. سطح زبان اسمبلی بسیار پایین است ولی خوبی هایی در این زبان وجود دارد. مثلاً می توانیم با برنامه نویسی اسمبلی حجم برنامه را تعیین کنیم. کامپایلر های دیگر طبق دستورات از پیش تعیین شده ای که دارند برنامه را به اسمبلی ترجمه می کنند در حالی که با نوشتن برنامه به زبان اسمبلی حجم برنامه در کنترل ما قرار می گیرد به عنوان مثال اگر برنامه ای بنویسیم که 8 LED را خاموش و روشن کند، این برنامه با زبان Basic حدود 690 بایت حافظه را اشغال می کند در حالی که همین برنامه به زبان اسمبلی 394 بایت حافظه را پر می کند. در میکروکنترلر AVR در قسمت Boot Loader فقط مجاز به نوشتن برنامه با زبان اسمبلی هستیم.

زبان دیگر برنامه نویسی پاسکال می باشد که سطح بالایی دارد و ساخت یافته می باشد که با آمدن زبان C  کمتر از این زبان استفاده می شود.

فایل هگز چیست؟تمامی کامپیلرها پس از کامپایل به اسمبلی به مبنای 16 یا هگزا دسیمال می روند. به فایل ایجاد شده بر روی کامپیوتر پس از کامپایل که فرمت HEX دارد، فایل هگز می گویند.

میکروپروسور

به میکرو پروسسور ریز پردازنده یا( CPU:Central Processor Unit) می گویند. میکروپروسسورها برای کار کردن نیاز به حافظه های( RAM (Random Access Memory)، ROM (Read Only Memory، درگاه های ورودی خروجی (I/O) و... دارند که مقدار RAM و ROM را کاربر تعیین می کند به همین دلیل می توان از میکروپروسسور برای انجام تمامی کارها استفاده کرد (مانند برنامه های کامپیوتری، بازی کامپیوتری و...) و به این دلیل به آن همه منظوره می گویند در حالی که میکروکنترلرها یک تک تراشه هستند که RAM و ROM داخلی ثابتی دارند و ..........

تاريخچه مختصري از ريزپردازنده ها

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

اولين ريزپردازنده ای که بر روی يک کامپيوتر خانگی نصب گرديد، 8080 بود. پردازنده فوق هشت بيتی و بر روی يک تراشه قرار داشت. اين ريزپردازنده در سال 1974 به بازار عرضه گرديد. اولين ریزپردازنده ای که باعث تحولات اساسی در دنيای کامپيوتر شد، 8088 بود. ريزپردازنده فوق در سال 1979 توسط شرکت IBM طراحی و اولين نمونه آن در سال 1982 عرضه گرديد. درمورد ریزپردازنده ها مباحث مفصلی در سایت میکرورایانه انجام شده است به فهرست مقالات سایت میکرورایانه مراجعه کنید.

وضعيت توليد ريزپردازنده توسط شرکت های توليد کننده بسرعت رشد کرده و مثلا ریزپردازنده های شرکت اینتل از مدل 8088 به 80286، 80386، 80486، پنتيوم، پنتيوم II، پنتيوم III و پنتيوم 4 رسيده است. ریزردازنده های پنتيوم 4 در مقايسه با ریزپردازنده 8088 عمليات مربوطه را با سرعتی به ميزان 5000 بار سريعتر انجام می دهد.