Embedded Systems and Hardware/Software Codesign

Slides:



Advertisements
Similar presentations

Advertisements

8088 Microprocessor Hardware. Microprocessor System Modules CPU Memory (RAM, ROM) Peripherals (IO) Data Bus Control Bus Address Bus Keyboard Monitor Printer.
فاکتورهای مهم در ایجاد یک مقاله علمی
Decision Tree.
مفاهیم پایه فنآوري اطلاعات ارائه دهنده سيد امين حسيني E.mail:
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تخصيص منابع.
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
Artificial Intelligent Systems Laboratory 1 الگو‌هاي فرايند (Process Patterns) فصل 2 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده :
ARM Session , Spring Copyright © 2012 Mohammad Moallemi.
انواع Middleware و معرفی دو نمونه
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
درس سیستم عامل استاد : عربی. سرفصل ها  فصل 1 : مقدمه  فصل 2 : پروسس ها  فصل 3 : ورودی / خروجی  فصل 4 : مدیریت حافظه  فصل 5 : سیستمهای فایل.
پردازنده های چند هسته ای 1. چرا CPU های چند هسته ای ؟ 1. تقسیم بار سیستم 2. زیاد شدن توان عملیاتی ( Throughput) 3. اجرای بهتر برنامه های سنگین ( برنامه.
زبان ماشين و اسمبلي – درس سوم مروری بر ساختار پردازنده پنتیوم
پیاده سازی کنترلر PC/104. Contents PC/104 پیاده سازی کنترلر HILتست 1.
توزیع های لینوکس Linux Distributions
محسن مهدوی ـ شایان افراسیابی
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Copyleft گلبهار اکبری.
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
نکات بسیار مهم در مورد دانشگاه تبریز
معرفی پرتال سازمانی درسا مرکز فناوری اطلاعات و ارتباطات
فصل اول: رسانه های ذخیره سازی
Copyright © 2008 pasargadcomputer.ir
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
اسلایدهای فصل سوم کتاب سیلبرشاتز دانشکده مهندسی کامپیوتر دانشگاه شریف
دانلود جدیدترین مقالات برق الکترونیک و کامپیوتر
آشنایی مقدماتی با نرم افزار Endnote X4
چهاردهمین اجلاس سراسری فناوری رسانه
نکات بسیار مهم در مورد دانشگاه تبریز
نرم افزار نگهداری و تعمیرات مبتنی بر مدیریت دانش نت CMMS-MKMS
نرم افزار رایانه بخش دوم کتاب توربان درس مهندسی فناوری اطلاعات فصل 2.
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
مهندسی سيستم‌هاي تجارت الکترونيکی
نرم افزار کامپیوتر بخش دوم کتاب توربان.
انجمن انفورماتیک ایران سمينار
بررسی قطبش در لیزر های کاواک عمودی گسیل سطحی(vcsel)
مقدمه اي بر مهندسي نيازمنديها
SSO Single Sign-on Systems
SE Dept.2 تهیه کنندگان: ملیحه اسکندری نسیبه پوتی
آشنایی مقدماتی با نرم افزار Endnote X4
ابزار اندازه گیری و کنترل
اندازه‌گیری الکترونیکی
تراشه ها ي منطقي برنامه پذ ير
جزوه درس طراحی سیستمهای شی گرا
ASP.NET فرناز شریعت.
دینامیک سیستمهای قدرت مدرس: دکتر مهدی بانژاد
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
نرم‌افزاری برای مدیریت منابع
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
وبلاگ جامع مهندسی برق و الکترونیک
معماری سرویس گرا (SOA).
آشنایی مقدماتی با نرم افزار Endnote X4
به نام خدا اين فايل راهنما جهت آشنايی کاربران گرامی با پايگاه اطلاعاتی Sciencedirect و نحوه جستجوی اطلاعات در آن تهيه شده است لطفاً اسلايدهای بعد را مشاهده.
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
آشنایی مقدماتی با نرم افزار Endnote
به نام خدا Koha برنامه.
پروتکلها و استانداردهای وب (فصل نهم)
سمینار SharePoint رانندگی در بزرگراه پرتال ها
فصل ششم مدارهای ترتیبی.
آشنايي با نرم افزار.
فرشاد آقابزرگی هوش تجاری
سخت افزارهای امنیتی Hardware Security تهیه و ارایه : یونس جوان.
Uniprocessor Scheduling
به نام یکتای دانا فصل اول: متدها و قواعد.
فصل 8 –Process and Deployment
آشنایی با فرایند داده کاوی در نرم افزار R گروه داده کاوی دایکه داود دوروش تابستان 6139.
مواردی که لازم است در ارائه ذکر شود : 1 - اسلاید اول : بسم الله الرحمن الرحیم 2 - اسلاید دوم : عنوان دقیق طرح ( لازم است نوع حسگر تشخیص سریع، نمونه حس.
Presentation transcript:

Embedded Systems and Hardware/Software Codesign مرتضي صاحب الزماني

انواع طراحي سيستم ديجيتال بزرگ پياده‌سازي نرم‌افزاري: اجراي برنامه کاربردي با پردازنده نهفته و برنامه سطح بالا روي آن پياده‌سازي سخت‌افزاري: طراحي سخت‌افزار خاص‌منظوره کد HDL و سنتز و ... منابع سخت‌افزاري FPGA (logic blocks، Multipliers، ...)

انواع طراحي سيستم‌هاي ديجيتال بزرگ تفاوت‌ها: نرم‌افزاري: انعطاف بالا توصيف الگوريتم به زبان سطح بالا آسان سخت‌‎افزاري: سرعت بالا هزينه بالا

The Von Neumann Computer Sequential execution tcycle = cycle execution time One instruction needs tinstruction = 5*tcycle 3 instructions: in 15*tcycle Pipelining: no improvement. 3 instructions: in 7*tcycle in the ideal case.  Increased throughput Even with pipeline and other improvement like cache, the execution remain sequential.

Application-Specific Processors ASIC implementation: The complete execution is done in parallel in one clock cycle run-time = tclock= delay longest path from input to output ASIC Example: Implementation of a VN computer if (a < b) then { d = a+b; c = a*b; } else d = a+1; c = b-1; At least 3 instructions run-time >= 3*tinstruction

انواع طراحي سيستم‌هاي ديجيتال بزرگ روش سوم: استفاده از مزاياي هر دو: پياده‌سازي بخش‌هاي غيربحراني با نرم‌افزار (کنترل هزينه) پياده‌سازي بخش‌هاي بحراني روي سخت‌افزار

انواع طراحي سيستم‌هاي ديجيتال بزرگ  طراحي توامان افراز (partitioning) تحليل زماني + تحليل هزينه + تحليل توان مصرفي سعي و خطا  بهترين افراز

JPEG Encoder

JPEG Encoder Profiling: gprof در Linux 11٪ خواندن تصویر 89٪ کد کردن

تعيين بورد و/يا تراشه FPGA جريان طراحي توأمان تصميم‌هاي اوليه افراز انتخاب زبان نرم‌افزاري انتخاب زبان توصيف سخت‌افزار تعيين بورد و/يا تراشه FPGA جریان طراحی سخت‌افزار جریان طراحی نرم‌افزار

جریان طراحی انتخاب بورد: بوردهای توسعه در فهرست بورد خودتان: مشخصات کامل (نوع تراشه FPGA + امکانات ارتباطی + تراشه‌های جانبی + اتصال پین‌ها) موجود است بورد خودتان: مشخصات را بدهید به هر حال نوع تراشه مشخص می‌شود.

جريان طراحي توأمان جریان طراحی سخت‌افزار جریان طراحی نرم‌افزار تعیین پردازنده و پیکربندی آن ایجاد پروژه نرم‌افزار افزودن وسایل جانبی و هسته‌های سخت‌افزاری توسعه نرم‌افزار انتخاب نوع ارتباط وسایل جانبی با پردازنده کامپایل و لینک مجتمع‌سازی بخش‌های سخت‌افزاری انتقال برنامه به حافظه سنتز، جایابی، و مسیریابی جریان نرم‌افزار مستقل از جریان سخت‌افزار نیست. نوع پردازنده، پیکربندی آن، نحوه ارتباط نرم‌افزار با سخت‌افزار تولید دنباله بیتی انتقال به FPGA

جریان طراحی سخت‌افزار تعیین پردازنده: پردازنده سخت: پردازنده نرم ARM Cortex PowerPC سریع، مساحت کمتر، توان مصرفی کم عدم نیاز به استفاده از Logic Blockها یکی یا بیشتر پردازنده نرم

جریان طراحی سخت‌افزار تعیین پردازنده: پردازنده نرم PicoBlaze (Xilinx) MicroBlaze (Xilinx) NIOS II (Altera) OR1200 (Open Cores) (متن باز) اگر تراشه دارای هسته سخت دارد، استفاده از نرم توجیه چندانی ندارد) انعطاف‌پذیری بالا (پیکربندی و تنظیم پارامترها بسته به کاربرد) مثال: استفاده از PicoBlaze 8 بیتی بجای پردازنده قوی مجموعه دستورالعمل‌ها عمق خط لوله دستورالعمل‌ها ....

جریان طراحی سخت‌افزار پیکربندی پردازنده: فرکانس ساعت پهنای باس داده و آدرس اندازه حافظه نهان داده و دستورالعمل نوع گذرگاه ارتباطی خصوصیات Reset (مثبت یا منفی) FPU؟ و تنظیمات آن ...

افزودن وسایل جانبی و هسته‌های سخت‌افزاری سخت‌افزار جانبی: انتخاب بلوک‌های IP آماده در کتابخانه ابزار و پیکربندی آن کنترلر حافظه (پیکربندی مشخصات حافظه) مدار UART (تنظیم نرخ ارسال/دریافت داده، اندازه داده و نوع توازن) FIFO با ابعاد مشخص خرید IP از شرکت‌های طراح طراحی مستقل بلوک (در ابزار نیست و خرید مقرون به صرفه نیست) توصیف با VHDL یا Verilog سنتز و ....

Xilinx Core Generator

انتخاب نوع ارتباط وسایل جانبی با پردازنده دو نوع: ارتباط نقطه به نقطه گذرگاه (bus)

انتخاب نوع ارتباط وسایل جانبی ارتباط نقطه به نقطه داده‌ها: به صورت دنباله نمونه: FSL (شرکت LogiCore) ارتباط مبتنی بر FIFO Peripheral Device 1 Microprocessor Peripheral Device 2

انتخاب نوع ارتباط وسایل جانبی گذرگاه (bus) چند سخت‌افزار جانبی با اتصالات مشترک درخواست استفاده از گذرگاه توسط داور بررسی (پذیرفته یا رد) می‌شود Bus Arbiter Peripheral Device 1 Microprocessor Peripheral Device 2

انتخاب نوع ارتباط وسایل جانبی گذرگاه (bus) دو گذرگاه با سرعت‌های مختلف: سریع‌ها روی گذرگاه سیستم (حافظه‌ها و ....) کندها روی گذرگاه جانبی (serial port، GPIO) System Bus Peripheral Bus Microprocessor Bridge Peripheral Device 3 Peripheral Device 4 Memory Controller Peripheral Device 2

انواع گذرگاه گزینه‌ها: تفاوت در کارایی و هزینه سخت‌افزاری (LEها) PLB (Xilinx) از کتابخانه CoreConnect برای ارتباط وسایل جانبی سریع هنوز در ابزارها موجود است داده 128 بیتی هزینه بالا

انواع گذرگاه گزینه‌ها: AXI (Xilinx) مبتنی بر AMBA (شرکت ARM) برای ارتباط وسایل جانبی سریع (مانند حافظه و اترنت) برای حافظه داخلی FPGA از LMB استفاده می‌شود. در ابزارهای جدیدتر AXI-Lite برای وسایل جانبی کندتر (UART یا صفحه کلید)

انواع گذرگاه گزینه‌ها: Avalon (Altera) Avalon-ST: نقطه به نقطه Avalon-MM: گذرگاه مشترک Wishbone (SiliCore) متن باز  قابل تغییر طراح انتخاب می‌کند – ابزار سخت‌افزار ایجاد می‌کند

مجتمع‌سازی بخش‌های سخت‌افزاری پردازنده(ها) سیستم ارتباطی سخت‌افزارهای جانبی و حافظه‌ها تولید دنباله بیتی Export به محیط نرم‌افزار:  ارسال مشخصات hardware platform

جریان توصیف نرم‌افزار مراحل ایجاد پروژه (C یا C++) برنامه نویسی معمولا ویرایش الگوهای موجود ارتباط با سخت‌افزار به کمک APIها اشکال‌زدایی انتقال برنامه به حافظه داخلی FPGA یا خارجی (اگر جا نشد)

نکات متفرقه سیستم چندپردازنده‌ای پیاده‌سازی سیستم پایه سیستم عامل: حافظه مجازی مدیریت پردازش چندنخی .... مثال: سیستم عامل لینوکس روی FPGA  امکان اجرای انواع نرم‌افزارهای موجود سربار زیاد (سیکل اضافه پردازنده، حافظه، توان)  فقط وقتی که لازم است