PDA

View Full Version : اسمبلي وبرنامه هاي موازي



shub_60
شنبه 26 دی 1388, 00:10 صبح
سلام
من دنبال يه سري مقاله خوب براي آشنايي با برنامه هاي موازي ونوشتن آنها به زبان اسمبلي هستم
اينكه برنامه هاي موازي چي هستن ؟
كارشون چيه ؟
چه طوري به زبان اسمبلي نوشته مي شن؟
ممنون مي شم اگه مقاله فارسي معرفي كنيد

tdkhakpur
یک شنبه 27 دی 1388, 20:59 عصر
میتوانید کتاب معماری پردازنده 80486 را مطالعه کنید چند سال(12) پیش فقط لاتینش داخل بازار بود فکر کنم حالا ترجمه شده اش چاپ شده باشد.
به هر صورت شما باید برنامه نویسی به زبان اسمبلی زا با استفاده از دستورات اسمبلی برای سویچ به حالت حفاظت شده(protect mode) و همچنین صفحه بندی حافظه برای اجرا برنامه ها آشنا باشید.
حقیقت این کار مانند علم پزشکی میماند و خیلی هم شیرین و جذابه!!!

shub_60
یک شنبه 04 بهمن 1388, 00:11 صبح
ممنون از راهنماييتون من اين مطلبا واسه تحقيقم مي خواستم ،مي خواستم در مرحله اول بدونم برنامه هاي موازي چي هستند ؟وچه موارد استفاده اي دارند؟

tdkhakpur
سه شنبه 06 بهمن 1388, 00:31 صبح
در مرحله اول بدونم برنامه های موازی چی هستند ؟

برنامه موازی برنامه هایی هستند که همزمان از توانایی cpu استفاده کرده و اجرا می شوند از مهمترین توانایی اینگونه برنامه ها میتوان به عدم تداخل بین کار های برنامه ها ذکر کرد یعنی وقتی سیستم اصلی یا همان سیستم عامل کنونی ارجاع کنترل cpu را به برنامه شماره 1 میدهد میتواند سراغ برنامه شماره 2 رفته و آنرا نیز اجرا نماید در حالی که باز میتواند برنامه شماره 1 را از همان نقطه قطع شده ادامه دهد.
الگوریتم کار به این صورت هست که شما میتوانید زمانی را در نظر بگیرید که در انحضار برنامه شماره 1 باشد مثلا 2 درصد از زمان cpu به برنامه شماره 1 و 4 درصد به برنامه شماره 2 اختصاص یابد حال سیستم اصلی با توجه به اندازه کدهای این دو برنامه میتواند مقدار درصد را محاسبه و تعداد کدهای مورد نیاز برای پردازش را به هر دو برنامه با توجه به ارجاع cpu به آن دو را انجام دهد یعنی وقتی برنامه 1 شروع به کار می شود به تعداد مثلا 100 کد(البته با توجه به کلاک پالس) از برنامه 1 انجام و پس از ان سراغ برنامه شماره دو رفته و کدهای انرا با توجه به درصد مربوطه انجلم میدهد.

وچه موارد استفاده ای دارند؟
اگر محیط ویندوز و داس را بررسی کنید خواهید فهمید که داخل داس شما فقط انحصارا داخل یک برنامه هستید و نمیتوانید کار دیگری تا اتمام برنامه جاری انجام بدید در صورتی که ویندوز از این امکان cpu استفاده کرده و به کاربران راحتی کار را عرضه کرده است.

shub_60
پنج شنبه 08 بهمن 1388, 22:53 عصر
ممنون از راهنماييها وحوصله ووقتي كه مي زاريد
يه سوال برام پيش اومده نمي دونم شايدم بي ربط باشه ولي از اونجايي كه من دانشجوي تازه كارم مي پرسم -مي خواستم بدونم آيا اين برنامه هاي موازي همون نخ ها هستند كه از فضاي آدرس يكسان استفاده مي كنند؟

tdkhakpur
جمعه 09 بهمن 1388, 19:28 عصر
ببینید نخ یک اصطلاح کامپیوتری هست که به یک سری گفته میشود که به نحوی پشت سر هم قرار میگیرند درحقیقت هر برنامه برای خودش یک گره از نخ محسوب میشود یعنی سیستم عامل از طریق نخ وارد برنامه یا همان ایستگاه برنامه می شود بعد از ورود یک بررسی به ساحتار و نوع کاری که فعلا باید روی این برنامه یا همان ایستگاه انجام دهد کرده و به همین ترتیب عملیات را از طریق نخ با سرکشی به سایر برنامه ها انجام داده چرخه را تا خاموش کردن cpu ادامه میدهد.

p3m4ni
شنبه 30 شهریور 1392, 12:31 عصر
برنامه موازی برنامه هایی هستند که همزمان از توانایی cpu استفاده کرده و اجرا می شوند از مهمترین توانایی اینگونه برنامه ها میتوان به عدم تداخل بین کار های برنامه ها ذکر کرد یعنی وقتی سیستم اصلی یا همان سیستم عامل کنونی ارجاع کنترل cpu را به برنامه شماره 1 میدهد میتواند سراغ برنامه شماره 2 رفته و آنرا نیز اجرا نماید در حالی که باز میتواند برنامه شماره 1 را از همان نقطه قطع شده ادامه دهد.
الگوریتم کار به این صورت هست که شما میتوانید زمانی را در نظر بگیرید که در انحضار برنامه شماره 1 باشد مثلا 2 درصد از زمان cpu به برنامه شماره 1 و 4 درصد به برنامه شماره 2 اختصاص یابد حال سیستم اصلی با توجه به اندازه کدهای این دو برنامه میتواند مقدار درصد را محاسبه و تعداد کدهای مورد نیاز برای پردازش را به هر دو برنامه با توجه به ارجاع cpu به آن دو را انجام دهد یعنی وقتی برنامه 1 شروع به کار می شود به تعداد مثلا 100 کد(البته با توجه به کلاک پالس) از برنامه 1 انجام و پس از ان سراغ برنامه شماره دو رفته و کدهای انرا با توجه به درصد مربوطه انجلم میدهد.

اگر محیط ویندوز و داس را بررسی کنید خواهید فهمید که داخل داس شما فقط انحصارا داخل یک برنامه هستید و نمیتوانید کار دیگری تا اتمام برنامه جاری انجام بدید در صورتی که ویندوز از این امکان cpu استفاده کرده و به کاربران راحتی کار را عرضه کرده است.
فکر نمیکنی multi task رو multi proccess اشتباه گرفتی؟
میدونم مال خیلی وقت پیشه ولی خوب یکی مثه من سرچ میکنه میبینه خوب!

xman_1365_x
پنج شنبه 04 مهر 1392, 18:22 عصر
فکر نمیکنی multi task رو multi proccess اشتباه گرفتی؟
میدونم مال خیلی وقت پیشه ولی خوب یکی مثه من سرچ میکنه میبینه خوب!

تعریف درسته و برای برنامه های موازی یا همون چند وظیفه ای (http://en.wikipedia.org/wiki/Multiprogramming#Multiprogramming) بودنه(اجرای چند وظیفه توسط یک پردازنده)،چند پروسه ای (http://en.wikipedia.org/wiki/Multiprocessing) بودن نیازمند چندین پردازنده هست که اینجا مورد بحث نبوده!
موفق باشی