خلاصه:
در این مقاله توضیحی درباره
کامپیوترهای موازی میدهیم و بعد الگوریتمهای موازی را بررسی میکنیم. ویژگیهای
الگوریتم branch & bound را بیان میکنیم
و الگوریتمهای b&b موازی را
عرضه میدهیم و دستهای از الگوریتمهای b&b آسنکرون برای اجرا روی سیستم MIMD را توسعه میدهیم. سپس این الگوریتم را که توسط عناصر پردازشی
ناهمگن اجرا شده است بررسی میکنیم.
نمادهای perfect
parallel و achieved effiency را که بطور تجربی معیار مناسبی برای موازیسازی است معرفی میکنیم
زیرا نمادهای قبلی speed up (تسریع) و efficiency (کارایی) توانایی کامل را برای اجرای واقعی
الگوریتم موازی آسنکرون نداشتند. و نیز شرایی را فراهم کردیم که از آنومالیهایی که
به سمت جهت موازیسازی و آسنکرون بودن و یا عدم قطعیت باعث کاهش کارایی الگوریتم شده
بود، جلوگیری کند.
2- معرفی:
همیشه نیاز به کامپیوترهای قدرتمند
وجود داشته است. در الگو سنتی محاسبات، یک عنصر پردازشی منحصر تمام taskها را بصورت خطی (Seqventia) انجام میدهد. به جهت اجرای یک آییننامه داده بایستی از محل یک
کامپیوتر به سمت محل دیگری منتقل میشد، بنابراین نیاز هب کامپیوترهای قدرتمند اهمیت روز
اضافه پیدا کرد. یک مدل جدید از محاسبات توسعه داده شد، که در این الگو جدید چندین
عنصر پردازشی در اجرای یک task واحد حرف هم
همکاری میکنند. ایده اصل این مدل بر اساس تقسیم یک task به subtaskهای مستقل
از یکدیگر است که میتوانند هر کدام بصورت parallel (موازی) ادا شوند. این سنخ از کامپیوتر را کامپیوتر موازی گویند.
در این پروژه از ATmega8
به سمت عنوان کنترولر و مدار امر رله ها استفاده شده است . در چشم حال برای ارتباط با کامپیوتر از طریق
پورت USB نیز ، از این
میکرو کنترولر استفاده شده است.این میکرو کنترولر از خانواده میکروکنترولر های AVR
است .
پروتکل
USB به چهره رقیق افزاری در برنامه ( Firmware)
میکرو پیاده سازی شده است و باده تواند با استاندارد USB
1.1 Low به تبادل اطلاعات بپردازد.
برنامه
این میکرو بر اساس کامپایلر GCC نوشته شده
است که از بهر کامپایل آن می توان از برنامه
WinAvr استفاده کرد .
LCD
بکار رفته در این پروژه کاراکتری و 16*2 باده باشد که بصورت مستقیم توسط رقیق افزار
کامپیوتری ، متن یا دستوالعمل را افسرده و
اجرا می کند .
در
برنامه کامپیوتری برای ارتباط با پورت USB
از درایور آماده libusb استعمال شده
است .
برنامه
کامپیوتری میانجیگری لسان C++Builder تهیه شده
است. این برنامه مستقیماٌ از میکروفن کامپیوتر صوت را دریافت کرده و پشت از ذخیره
باب بافر اندرونی شروع به تجزیه و تحلیل می کند. روال پیشه به این صورت است که از
اطلاعات ورودی که در بازه زمان هستند تبادل فوریه ( FFT)
گرفته شده تا به سمت بازه فرکانس بروند . سپس با پردازش روی خشم فرکانسی و اندکی کار
آماری حدود شباهت آواز دریافتی را با نمونه های اندوخته شده مقایسه می کند .
1-1-2- لخت افزار Firmware
:
میکرو
میتواند پنج دستورالعمل مختلف را از کامپیوتر دریافت نموده و ادا نماید .
1-
ارسال یک بایت دستورالعمل به سمت LCD : cmdLCD_Command
2-
ایفاد یک بایت دیتا به سمت LCD : cmdLCD_Data
3-
نمایش یک رشته متنی روی LCD : cmdLCD_Str
4-
مشعشع و بیفروغ کردن BackLight : cmdLCD_BL
5-
بازدید رله ها : cmdSWITCH
برای
کنترل LCD سه تابع طراحی شده است :
void
LCD_Command(uchar command)
void
LCD_Data(uchar data)
void
LCD_Init(void)
این
متعلقات برای ایفاد دستورالعمل ودیتا و همچنین تنظیمات اولیه استفاده می شوند .
یکی از
توابعی که در بخش USB آن استعمال باده شود usbFunctionSetup
است که توسط آن به سمت درخواست رسیده شده از کامپیوتر پاسخ داده می شود . از تابع usbFunctionWrite
جهت دریافت اطلاعات از کامپیوتر استفاده می گردد . صفت دیگری که برای ارسال دیتا
به کامپیوتر از ثانیه استفاده باده شود usbFunctionRead
نام دارد که در این پروژه از آن استعمال نگردیده است .