تحقیق دانشجویی - 338

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره پردازشگر های کامپیوتری

بازديد: 211

 

نقطه عطف پست RISC : RISC vs . CISC

اكثريت پردازشگرهاي امروزي را به درستي نمي توان كاملاً RICE يا CISC ناميد. دو درسنامد معماري به حدي به يكديگر نزديك شده اند.  كه ديگر فرق آشكاري بين مباحث مربوط به افزايش عملكرد و كارآيي وجود ندارد. واضح تر بگوييم، چيپ هايي كه به شكل x86CLSC ISA عمل مي كنند بسيار شبيه به چيپ هاي مختلف RISC ISA مي باشد؛ از نظر شكل و ساختار شبيه به يكدگيرند اما در زير در پوشها كاملاً با هم متفاوتند. اما اين يك خبر يك طرفه نيست. در واقع چنين موضوعي براي CPU هاي RISC امروزي نيز مطرح است. اختارهايي به آ‌نها افزوده شده كه امروز اندك چيزي به پيچيدگي CLSC وجود دارد. بنابراين بحث بين RISC ضد CLSC تنها در بخش هاي بازاريابي و فروش مطرح است كه اين اختلافات جزئي را بهانة معرفي و فروش قرار مي دهند. در اينجا، لازم مي دانم به گفته ديويد دينزل، رئيس ساخت خانوادة سانزاسپارك (Sun,s SPARK) و CEO of Transmeta، اشاره اي داشته باشم : «امروزه (در RISC ) تيم هاي بزرگ طراحي و چرخه هاي بزرگ طراحي وجود دارند.»

او مي گويد : «داستان عملكرد بسيار واضح است. اندازه هاي كمكي ديگر كوچك نيستند. فقط به نظر نمي رسد كه حساسيت زياد داشته باشد.» نتيجه محصول جديد چيپ هاي پيچيده RISC است. در بزرگترين زمينه هاي مشكل عملكرد خارج از نظرم است. دينزل مي گويد : به نظر من مي رسد كه MIP,S R10/000 و  HP  PA-8000 بسيار پيشرفته تر و پيچيده تر از معماري CLSC هاي استاندارد امروزي است كه پنتيوم II مي باشند. پس فايده RISC، اگر چيپ ها چندان ساده نيستند، چيست؟

اين بيابند مهم است و احساس و نظر بين محققين را بيان مي كند. بجاي CPU هاي يا CLSC در بخش هاي قديمي تر ديگر چيزي نداريم. به عصر پس از RISC خوش آمديد. چيزي كه به دنبال مي آيد يك تز بازبيني شده كامل است كه  چند سال قبل توسط Ars قبل از اظهار نظر دينزل در اين مورد و قبل از اينكه من فرصت تبادل ايميل با افراد متفكر را داشته باشم، بيان شده است. در اين مقاله من دربارة نكات زير صحبت خواهم  نمود :

RISC به همان اندازه كه يك استراتژي طراحي براي عكس العمل به تدريس در يك طرح كامپيوتري در يك مدرسه است يك تكنولوژي مشخص نيست. در واقع يك طغيان عليه نرم (هنجارهاي) رايج بود، نرم هايي كه ديگر وجود ندارند و من راجع به آنها صحبت خواهم نمود. CLSC را بعنوان يك Catch - all (نوعي جعبه) براي دسته فكر كننده در مقابل RISC زندگي مي كنيم. جائيكه كلمات  RISCCLSC, بجز  در ماركتينگ، اهميت خود را از دست داده اند. در دنياي پس از RISC هر طرحي و عملي با محسنات خودش مورد بررسي قرار مي گيرد، و نه با كلماتي مثل باريك، دو قطبي نظرات جهاني را كه سعي مي كنندآن را در تاريكي از دو كمپ قرار دهند. دسته بندي مي كند.

پس از طبقه بندي پيشرفت تاريخچه اي استراتژي هاي طراحي و قرار دادن فلسفه آنها در يك بافت تكنولوژيكي مناسب، من به شرح ايده پردازشگرهاي پس از RISC مي پردازم و نشان مي دهم كه چگونه اين پردازشگرها به دقت بر گروههاي RISC، CLSCجا نمي گيرند.

تاريخچه اقدام به شروع كار

احتمالاً رايج ترين شيوه مقايسه RISC، CLSC ليست كردن ويژگي هاي هر كدام و كنار هم قرار دادن آنها جهت مقايسه سپس بحث در اين باره است كه كدام ويژگي به عملكرد كمك مي كند يا عامل بازدارنده است. اين شيوه چنانچه در مورد دو تكنولوژي موقت رقيب اعمال شود بسيار خوب است مثل مقايسه كارت هاي ويديوئي OS،CPU هاي مشخص و ... اما در مورد CLSCو RISCموفق نيست. زيرا، اين دو فقط استراتژي هاي طراحي هستند و نه تكنولوژي ـ در نتيجه مقايسه آنها جهت دستيابي به يكسري اهداف موجب بروز مشكل مي شود. در واقع خلاصه تر، مي توان آنها را فلسفه هاي طراحي يا راههايي براي فكر دربارة يك سري مسائل و راه حل هاي آنها ناميد.

اكنون ديدن اين دو استراتژي كه از ميان شرايط تكنولوژيكي مشخصي پيشرفت كرده اند مهم است و اينكه در زمان نكته و نقطه مشخصي دارند. هر كدام روشي براي طراحي ماشين هايي بود كه طراحان از كارآيي منابع تكنولوژيكي استفاده كرده بودند. در فرموله نمودن اين استراتژي  ها، محققان نظري هم به محدوديت هاي تكنولوژي روز داشته اند محدوديت هايي كه امروزه الزاماً وجود ندارند. كليد فهم RISC، CLSCفهميدن اين محدوديت ها و شرايط سازندگان كامپيوتر در اين محدوديت ها مي باشد. بنابراين مقايسه صحيح RISC، CLSCاز آن بيرون آمده و گسترش يافته اند، گفتن اين نكته ضروري است كه ابتدا بايستي ؟؟؟ VLST حافظه / ذخيره سازي و كامپايلر (همگردان) در اواخر دهة 70 و اوايل دهة 80 آشنا شد. اين سه تكنولوژي، محيط تكنولوژيكي را كه محققان در آن تلاش مي كردند سريعترين ماشين را بسازند مشخص توصيف مي كند.

ذخيره سازي و حافظه

تجسم و تصور تاثيرات تكنولوژي ذخيره سازي در كامپيوترهاي طراحي شده دهه هاي 70 و 80 بسيار سخت است. در سال 1970، كامپيوترها براي ذخيره كد برنامه از حافظه هسته مغناطيسي استفاده مي كردند؛ هسته هاي حافظه مغناطيسي نه تنها گران قيمت بودند بلكه بسيار هم كند عمل مي كردند. پس از معرفي اقلام RAM از جنبه سرعت بهبود يافتند، اما دربارة قيمت كاري نكردند، براي فهم بهتر اين واقعيت را در نظر بگيريد كه در سال 1977، يك DRAM، 1 مگابايتي حدود 5000 دلار قيمت داشت. در سال 1994 اين قيمت تا حدود 6 دلار كاهش يافت. علاوه بر قيمت بالاي RAM، ذخيره سازي ثانويه نيز  گران قيمت و كند بود، بنابراين حجم زيادي از كد براي اعلام به RAM از ذخيره سازي ثانويه بسيار از عملكرد مي كاست.

قيمت بالاي حافظه اصلي و كندي ذخيره سازي ثانويه دست به دست هم مي داد تا كار را كسل كننده و طولاني كند. بهترين كد، كد فشرده بود؛ شما را قادر مي ساخت تا همه را در مقدار اندكي حافظه قرار دهيد. از آنجايي كه قيمت RAM بخش مهمي از كل هزينه را تشكيل مي داد، كاهش قيمت آن مستقيماً منجر به كاهش هزينه كل سيستم مي شود. (در ابتداي دهه 90، قيمت RAM تنها 36% قيمت كل سيستم را شامل مي شد و پس از آن بسيار ارزانتر شد.) بعداً دربارة اندازه كد و هزينه سيستم، پس از در نظر گرفتن جزئيات عقلي مربوط به محاسبه CISC، صحبت خواهيم نمود.

كامپايلر (همگردان)

ديويد تپرسون در يك مقاله كه به تازگي منتشر  كرده است و قبلاً بعنوان paper در بر كلي بيان نموده است، مي نويسد : چيزي را حين خواندن يك  كاغذ به خاطر سپردن دليل انزجار از كامپايلر هاي آن نسل بود. برنامه نويسان C مجبور بودن كلمه «register» را نزديك هر متغير بنويسند تا كامپايلر از ريجسترها (ثبت كننده ها) بتوانند استفاده كند. وي بعنوان پروفسور سابق بركلي كه يك شركت كامپيوتري كوچك براه انداخته بود ادامه مي دهد : «تا زمانيكه كه كار كند، هر تكه آهن پاره را كه به مردم بدهي، آنها قبول خواهند كرد.» عمده دليل  اين حرف وي بسيار ساده است. پردازشگرها سرعت بالاتر و حجم حافظه بيشتر است و مردمي را كه در هنگام كار از انتظار طولاني مدت خسته مي شوند را راضي مي كند.

كار كامپايلر در آن زمان نسبتاً ساده بود : ترجمه جملاتي كه به يك زبان سطح بالا (HLL) نوشته شده بود، مثل زبان C يا پاسكال به زبان اسمبلي، سپس زبان اسمبلي تبديل به كد ماشين توسط اسمبلر، مي شد. مرحلة مجموعه سازي زمان زيادي صدف مي شد و خروجي به سختي قابل ارزش بود. تا زماني كه ترجمه  HLL به اسمبلي درست انجام مي گرفت، بهترين انتظار را برآورده مي ساخت. چنانچه از كدها بهينه و فشرده استفاده مي كرديد تنها مورد انتخاب شما كه به اسمبلر بود.

VLSI : استفاده از هنر تركيب اشل بسيار بزرگ (Very lange Scale Integration) منجر به ايجاد ترانزيستورهاي با دانسيته پائين در مقايسه با استانداردهاي امروزي، شد. نمي توانيد كاركردهاي بسياري را در يك چيپ قرار دهيد. در سال 1981 زمانيكه تپرسن و سكوئين براي نخستين بار پروژه RISC را مطرح نمودند، قرارگيري يك ميليون ترانزيستور روي چيپ بسيار زياد بود. بعلت قلت منابع در دسترس ترانزيستور، ماشين هاي CISC آن روز مثل VAX واحدهاي عملكردي مختلفي روي چيپ هاي چندتايي داشتند. اين يك مشكل بود زيرا خطاي تاخير زمان انتقال داده ها بين چيپ ها باعث محدود كردن عملكرد و اجرا مي شد. كار يك چيپ به تنهايي ايده آل بود اما بنا به دلايلي بودن بازانديشي اساسي عملي نبود.


راه حل RISC

بنا به دلايلي كه ذكر آنها در اينجا لازم نيست، نقطه عطف نرم افزاري دهة 60 و 70 هرگز كاملاً موفق نبود. در سال 1981 تكنولوژي تغيير كرد اما سازندگان هنوز از روشهاي قديمي بهره مي گرفتند : پيچيدگي را از نرم افزار به سخت  افزار هدايت مي كردند. همانگونه كه قبلاً گفتم، بسياري از اجراهاي CISC بقدري پيچيده بودند كه چندين چيپ را در بر مي گرفتند.  واضح است كه اين وضعيت ايده آل نمي باشد. چيزي كه مورد نياز بود يك راه حل تك چيپي بود ـ چيزي كه استفاده بهينه از منابع در دسترس نادر ترانزيستور را فراهم كند. چنانچه تمام CPU را روي يك چيپ سوار مي كرديد بايستي يكسري قطعات را از آن خارج كنيد. در اين رابطه تحقيقاتي نيز انجام شد كه به پروفايل كردن كدها حقيقي متقاضي در حال اجرا و مشاهده انواع موقعيت هايي كه اتفاق مي افتاد مي پرداخت. ايده، درك اين موضوع بود كه بيشترين زمان را كامپيوتر صرف چه كاري مي كند تا بتوانند براي بهينه سازي اين وظيفه ساختار مناسب بسازند. در واقع حاضر بودند تا سرعت كامپيوتر را در بخشي كه بيشترين وقت را صرف مي كند بالا ببرند حتي اگر اين امر منجر به كاهش سرعت در بخشهاي ديگر بشود. اين شيوه كميتي طراحي كامپيوتر در اظهار نظر معروف پترسون خلاصه شده است : سرعت بخشي به مورد معمول و رايج.

همانطور كه به نظر مي رسد سرعت بخشي به مورد رايج عكس گرايشي بود كه CISC شروع كرده بود : عملكرد و پيچيدگي بايستي از سخت افزار خارج شده به نرم افزار بازگردد، تكنولوژي كامپايلر بهتر و حافظه ارزان تر شده بود و بسياري از نگراني هايي كه طراحان را به سمت يك سِت ساختاري پيچيده هدايت مي كرد نيز بود. در نرم افزار استفاده از زبان سطح بالا بهتر نتيجه مي داد، و محققين آن را استدلال كرده اند؛ استفاده از منابع گرانبهاي سخت افزار در  حمايت MLL ، بيهوده بود. اين منابع را مي توان در جاي ديگر استفاده كرد تا كارآيي را بالا ببرد.

دستورالعملهاي ساده و بازگشت اجراي مستقيم

زمانيكه محققين RISC به دنبال حذف عملكردهاي اضافي بودند اول به موتور مي كرد كه برخوردند كه به دنبال آن تمام ساختارهاي پيچيده اي كار كامپايلر، راتير و برنامه نويس را تسهيل مي كردند، نيز بودند. چيزي كه پترسون و ديگران به آن رسيدند اين بود كه به ندرت شخصي از اين ساختارهاي غريبه و بيگانه استفاده مي كند. كامپايلر و راتير مطمئناً از آنها استفاده نمي كرده اند. زمان جمع آوري كد، كامپايلر استفاده از دستورالعملهاي پيچيده را رها مي كند و به جاي آن ترجيح مي دهد گروههاي كوچكتر دستورالعمل را كه كار مشابهي انجام مي دهند، استفاده كند. محققان متوجه شدن كه از طبقه بندي متقاضيان، درصد كمي از ساختارهاي ISA، اكثريت كار را انجام مي دهند. آن دستورالعملهايي كه به ندرت استفاده مي شوند را مي توان بدون اينكه در كارآيي تاثيري داشته باشند حذف نمود.

اين ايده كاهش دستورالعمل در اثر و به كمك خلاص شدن از همه بجز ضروري ترين دستورالعمل و جايگزيني دستورات پيچيده تر با گروههاي كوچكتر باعث استفاده از كلمه مجموعه دستورات كاهش يافته كامپيوتر (Reduced Instruction Set Comuter) شد. با شمول گروهي كوچك از دستورات دقيق در ماشين، مي توانستيد از شر موتور ميكرو كد خلاص شده و در نتيجه سريعتر عمل كنيد و از يك روش كنترل اجراي مستقيم قابل اعتمادتر استفاده كنيد.

نه تنها تعداد دستورات بلكه حجم آنها نيز كاهش يافت. تصميم بر اين شد كه هر جا امكان داشت، دستورات RISC يك و فقط يك چرخه براي كامل شدن داشته باشند. استدلال اين تصميم بر اساس چند مشاهده بود. ابتدا، محققين متوجه شدند كه هر چيزي را كه بتوان با ميكرو كد انجام داد را مي توان با دستورات كوچك، سريع و به زبان اسمبلي انجام داد. حافظه اي كه براي ذخيره ميكرو كد استفاده مي شد فقط براي اسمبلر مورد استفاده قرار مي گيرد، بنابراين نياز به ميكرو كد كلاً مرتفع مي شود. بنابراين بسياري از دستورات در ماشين RISC به شكل خلاصه تر با ماشين CLSC تطابق دارد.

دوم، فرمت دستور العمل يكپارچه مشاهدة اين امر بود كه ارتباط در صورتي ميسر مي شود كه دستورات پيچيدة متفاوتي استفاده نشود. از آنجايي كه ارتباط به شما امكان اجراي دستورات قطعات چندگانه مختلف را به طور موازي مي دهد، ماشين ارتباط تعداد ميانگين كمتري دستور در هر سيكل دارد. يك راه موثر براي كاهش زمان اجراي يك برنامه كاهش تعداد ميانگين سيكل هاي دستورات اجرايي ماشين مي باشد.


 RISC و معادله كارآيي (اجرا)

بحث ما درباره ارتباط و تاثيرات آن بر روي CPI ما را به در نظر گرفته معادله اجرا بر مي گرداند.

](سيكل/ زمان) * (دستور/ سيكل ها) * (برنامه/ دستورات)[ = برنامه / زمان

طراحان RISC تلاش نموده اند تا زمان بر برنامه را با كاهش طرف دوم به سمت راست «=» و افزايش طرف اول به ميزان اندك، كاهش دهند. استدلال مي شود كه كاهش در سيكل ها در دستورات با كاهش مجموعه دستورات و افزايش وسيله ارتباط و ديگر ويژگي ها حاصل مي شود. و ثابت شد كه اين استدلال صحيح است.

باركردن / ذخيره و ريجسترها

در كنار وسايل ارتباطي، دو ابداع كليدي ديگر نيز وجود داشتند كه به طراحان  RISC امكان دارند تا CPI را كاهش دهند و تجمع كد را در حداقل نگه دارند : حذف حالت هاي پيچيده نشاني دادن (addressing) و افزايش ريجسترهاي ساختماني، در يك ساخت RISC تنها عمليات ريجستر به ريجستر وجود دارد و فقط بارها و ذخيره ها به حافظه دسترسي دارند. مثال ساختما هاي ARS-1 و ARS-2 را كه قبلاً به آن اشاره كرديم را بياد آوريد.


در يك ساختار بار كردن / ذخيره دستورات ARS-2 مثل MUL]5:2 و 2:3 [ نمي تواند وجود داشته باشد. شما مجبوريد اين دستورات را با دو دستور بار كردن (LOAD) جايگزين كنيد ( براي بارگزاري از حافظه به ريجستر) و دستور ريجستر به ريجستر MUL

(مثل[A,B]   Mul) جايگزين كنيد و بعد از دستور STORE ( براي نوشتن نتيجه در حافظه) تك، شمارش دستور را بقدري بالا مي برد كه استفاده از حافظه و اجرا صدمه مي بيند. دلايل اندكي براي توجيه كاهش تجمع كدها نسبت به حجم مورد انتظار وجود دارد.

پروفايل هاي (تاريخچه هاي) فوق الذكر دربارة كدهاي اجرائي NLL كه پترسن و همكارانش نشان دارند، بيان مي كند كه اسكالر در برنامه متغيرهاي محلي هستند. اين بدين معني بود كه چنانچه آنها شاخه هاي چندگانه ريجسترها را به سازه اضافه كنيم، آنها مي توانند اين اسكالرها در ريجسترها نگه دارند و از بارگذاري آنها هر زماني جلوگيري كنند. هر زماني كه زير روال (Subroutine) خوانده مي شود، تمام اسطالرهاي محلي در شاخه ريجستر بارگذاري شده و تا زمان نياز آنجا نگهداري شوند.

در مقابل، ماشين فرضي ARS-1 من از مشخص كننده هاي Operand ميكرو كد براي انتقال بارگذاري ها و ذخيره هاي عمليات حافظه به حافظه (بسيار شبيه VAX) استفاده مي كند. معني اين يعني هر زمان  ARS-1 با چيزي مشابه ]5:2 و 2:3 [Mul برخورد كند، موتور ميكروكد آن اين Mul را به مجموعه اي از دستورات زير ترجمه مي كند :

(LOAD) محتواي 2:3 را در ريجستر بارگذاري كن، محتواي 5:2 را در ريجستر بارگذاري كن (LOAD) دو ريجستر را  كنMul نتيجه را در 2:3 ذخيره كن. (STORE)

اين سري هاي LOAD و STORE سيكل هاي چند گانه مي طلبد كه مثل ماشين RISC مي باشد. تنها تفاوت در اين است كه آن سيكل ها خودشان به دستورات Mul و ثبت نوشته در حافظه برنامه ميكرو كد ARS-2 محتواي دو ريجستر را نوشته و به ترتيب نگه داري مي كند. اين يعني ARS-2 بارگذاري ها و ذخيره هاي بيشتري را نسبت به ماشين RISC انجام مي دهد زيرا نمي تواند دسترسي حافظه را از دستور Mul حذف كند و آنها را هوشمندانه اداره كند.

از آنجايي كه LOAD و STORE در دستور MUL استفاده مي شوند، كامپايلر نمي تواند آنها را با هم تداخل دهد و براي حداكثر كارآيي آنها را دوباره اداره كند. در مقايسه، جدا بودن RISC ها از LOAD و STORE در هر دستور به كامپايلر امكان زمان بندي عمليات در تاخير را بلافاصله پس از LOAD مي دهد.


بنابراين در حاليكه منتظر سيكل هاي اندكي از داده ها براي بارگذاري در ريجستر است مي تواند به جاي اينكه بيكار بماند كار ديگري را انجام دهد. بسياري از ماشين ها CISC مثل VAX از اين تاخير LOAD سود مي  جويند اما اين كار بايستي در ميكرو كد صورت بگيرد.

نقش تغيير يافته كامپايلر

همانگونه كه ديديد نقش كامپايلر، مديريت دسترسي هاي حافظه، در يك ماشين RISC سعي مي كنند اپراندها (Operands) را در ريجستر نگه دارند تا دستورات ساده ريجستر به ريجستر استفاده شود. كامپايلرهاي قديمي سعي در كشف حالت نشاني دادن ايده آل و كوتاهترين فرمت دستور براي افزودن به اپراند در حافظه دارد، در كل، طراحان كامپايلر RISC مدل اجرائي ريجستر به ريجستر را ترجيح مي دهند، بنابراين مي توانند Operand را براي استفاده مجدد در ريجسترها نگاه دارند و تكرار محاسبه دسترسي حافظه را كمتر انجام دهند. سپس براي دستيابي به حافظه از LOAD ها و STORE استفاده مي كنند و مثل يك ساخت حافظه به حافظه عمل كنند.

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

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 25 اسفند 1393 ساعت: 0:22 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره کامپیوتر

بازديد: 147

 

Understanding pipelining Perforamce

 شناخت پردازش خط لوله اي

 بنا به دلايلي پنتيوم يك طراحي اصلي حياتي بود اما احتمالاً وسيله ارتباط غيرعادي آن ويژگي اعتصابي و جالب و بحث برانگيز آن بود. پس از طي حدود 20 مرحله، ارتباط و خط لوله ي پنتيوم 4 تقريباً دو برابر عميق تر و پيچيده تر از ديگر رقباي خود بود. اخيراً پرس كات (Prescott) با يك جانشين 90 نانومتري به پنتيوم 4 راه ارتباطي را به سطح بعدي با افزوده شدن يك 10 مرحله اي ديگر به پنتيوم 4، كه هم اكنون نيز كانال ارتباطي طولاني تري است را دارد. استراتژي Intel براي پيچيده سازي كانال ارتباطي پنتيوم 4 كه به نام بيش ارتباط يا hyperpipelining در عملكرد خود موفق بوده است اما بدون نقص و كاستي نيز نمي باشد. در مقاله قبلي در مورد پنتيوم 4 و پرسكات من به معايب كانال هاي ارتباطي پيچيده اشاره كاستي نيز نمي باشد. در مقاله قبلي در مورد پنتيوم 4 و پرسكات، من به معايب كانال هاي ارتباطي پيچيده اشاره كردم و تلاش نموده ام تا در مقالات بزرگتر فني در Netburst اين معايب را و ديگر مطالب را توضيح دهم. در مجموعه مقالات حاضر، قصد من استفاده از تاكيد بيشتر براي توضيح كانال ارتباطي تاثيرات آن بر عملكرد ريزپردازنده و بخش هاي زيرين بالقوه آن، مي باشد. من شما را از طريق مقدمه اساسي به تصور كانال ارتباطي خواهم برد و سپس توضيح خواهم داد كه براي ارتباط موفقيت آميز چه چيزهايي نياز است و چه مخاطراتي در آن اختلال ايجاد مي كند. در انتهاي مقاله، شما كاملاً متوجه خواهيد شد كه چگونه عمق و پيچيدگي كانال ارتباطي به راههاي مختلفي از كدها دقيقاً روي عملكرد ريز پردازنده تاثير مي گذارد، چنانچه مقاله قبلي من را با  نام شناخت كانال ارتباطي و اجراي سوپر اسكالر (understanding pipelinigl supascalar eyecution) خوانده باشيد، بخش اول اين مقاله براي شما قابل فهم تر خواهد بود. در واقع اين مقاله، همان قبلي است اما بسيار واضح تر، دقيق تر و امروزي تر.

چرخه زندگي يك دستورالعمل

فعاليت اصلي هر ريزپردازنده در حال عبور از دستورات را مي توان در مجموعه 4 گام ساده كاهش داد. كه هر دستور به شكل كد به ترتيب مي رود تا اجرا مي شود :

1ـ دستور بعدي را از آدرس ذخيره شده در شمارشگر برنامه را بيارويد (fetch)

2ـ اين دستور را در ريجستر دستور ذخيره كنيد و آن را رمز گشايي كنيد و نشاني را در شمارشگر برنامه افزايش دهيد.

3ـ دستور ريجستر را اجرا كنيد (Execute)   چنانچه دستور شاخه اي نيست به ALU (واحد محاسبه و منطق) مناسب بفرستيد.

a) محتواي ورودي ريجسترها را بخوانيد (Read)

b) محتواي ريجسترهاي ورودي را اضافه كنيد (ADD)

4ـ نتايج دستور را از ALU به ريجستر مقصد بنويسيد (Wrie)

 در يك پردازنده مدرن و جديد، چهار گام بالا بقدري تكرار مي شوند تا اجراي برنامه تمام شود. اينها در حقيقت 4 مرحله در كانال ارتباطي (pipeline) RISC مي باشد. اكنون در اينجا 4 مرحله را بطور خلاصه مي آوريم :

Fetch (آوردن)

Decode (رمزگشايي كردن)

Execate (اجرا كردن)

Write يا «Write - bock» (نوشتن)

هر كدام از اين مراحل را مي توان يك فاز در چرخه زندگي دستور، به شمار آورد. يك دستور با فاز آوردن شروع مي شود به فاز رمز گشايي رفته و بعد به فاز اجرا و نهايتاً به فاز نوشتن مي رود. هر فاز زمان ثابتي و نه مساوي را صرف مي كند. در اغلب پردازنده هاي مثال كه در اين مقاله به آنها خواهيم پرداخت. تمام 4 مرحله زمان يكساني را صرف مي كنند اما اين موضوع براي پردازنده هاي واقعي اينگونه نيست. در هر مورد، اگر يك پردازنده ساده آزمايشگاهي دقيقاً 1 نانوثانيه براي تكميل هر فاز صرف كند، اين پردازنده براي تمام كردن يك دستور 4 نانو ثانيه وقت صرف مي كند.

اساس كار خط لوله اي (pipelining) مقايسه

در بخش حاضر براي توضيح ارتباط از مقايسه كارخانه استفاده مي شود. ديگر افراد از مقايسه هاي ساده تري مثل شستن رخت ها براي توضيح اين تكنيك استفاده مي كنند اما دلايل اندكي در انتخاب من براي اين مقايسه وجود دارد. ابتدا، تجسم كارخانجات با خطوط اسمبلي براي خواننده راحت تر است و فضاهاي زيادي براي جذب نقاط و نكات مختلف توسط خواننده وجود دارد. دوم، و احتمالاً مهمترين دليل، مشكلات منابع مديريتي و زمان بندي صف داده ها كه طراحان كارخانه در ساخت كامپيوتر با آن مواجه هستند، مي باشند. در بسياري از موارد مشكلات و راه حل ها دقيقاً مشابهند، و به سادگي به قلمرو (domain) مختلفي ترجمه مي شود. (توجه داشته باشيد كه مشكلات / راه حل هاي مربوط به صف داده ها كه مشابهند نيز در سرويس كارخانه بوجود مي آيد. و اين دليلي است كه چرا قياس با رستورانهاي فست فود و سوپر ماركت ها مورد علاقه من است.)

بهتر است بگوييم من و دوستانم تصميم گرفتيم وارد تجارت ساخت خودروهاي موتوري شويم و محصول اوليه ما يك وسيله نقليه اسپورت (Suv) باشد. پس از تحقيقات و بررسي ما به اين نتيجه مي رسيم كه در پروسه ساخت SUV 5 مرحله وجود دارد :

مرحله 1) ساخت شاسي اتومبيل

مرحله 2) قراردادان موتور شاسي

مرحله 3) قراردادن درها، كاپوت و لفاف ها

مرحله 4) قراردادن چرخها

مرحله 5) رنگ زدن SUV

انجام هر كدام از مراحل فوق، نياز به استفاده از كارگران ماهر به همراه مجموعه وسايل پيشرفته دارد و اينكه كارگران مسئول ساخت شاسي چندان از موتور، بدنه، چرخها يا رنگ آميزي اطلاعي ندارد و اين در مورد بقيه قسمتها نيز اين  چنين است. پس زمانيكه ما تصميم گرفتيم كه يك كارخانه  SUV را راه بياندازيم، 5 گروه متخصص هر كدام در هر يك مرحله از ساخت را به خدمت گرفتيم. يك گروه براي ساخت شاسي، يكي براي موتور، يك  گروه ديگر براي چرخها و يك گروه هم براي رنگ آميزي. نهايتاً بعلت اينكه گروه ها حرفه اي متخصص بودند هر مرحله پروسه ساخت SUV دقيقاً يك ساعت طول مي كشيد تا كامل شود.

اكنون، از آنجايي كه من و دوستانم در زمينه موتورهاي صنعتي سر رشته نداريم، بايستي در مورد منابعي كه كارخانه را سودآور مي كند بسيار ياد بگيريم. ما اساس اولين ساخت را روي نقشه زير قرار داديم : در زمينه كارخانه هر 5 گروه را در يك خط قرار دهيم، و ابتدا گروه  1 مرحله 1 را انجام دهد. پس از اتمام مرحله 1، گروه كارگران 1، SUV نيمه تمام را به مرحله 2 مي دهند و اتاق شاسي بعدي تا گروه دوم موتور را ساخته و درون آن بگذارد. به محض اتمام كار گروه  SUV به مرحله 3 برسد و در آنجا كار مرحله 1 و2 را تكميل مي كند. SUV در امتداد خط پائين مي رود و هر 5 مرحله روي آن انجام مي شود بدين شكل كه فقط يك گروه در حال كار بر روي SUV است و بقيه كارگران بيكار هستند. با اين سرعت دقيقاً  ساعت طول مي كشد تا يك SUV آماده شود و در واقع كارخانه ماهر  ساعت يكبار يك SUV توليد مي كند.

موفقيت در طي سال ماشين SUV ما به خوبي فروش داده و ما با ارتش آمريكا قرارداد بسته ايم. ارتش سفارش چند ماشين در زمان را مي دهد. يك سفارش ممكن است شامل SUV10 باشد و ديگري ممكن است شامل 500 ماشين SUV شد. هر چقدر ميزان سفارشات ما در سال مالي بيشتر باشد پول بيشتري عايد ما خواهد شد. البته اين بدين معني است كه بايد به دنبال راهي براي افزايش SUV در ساعت باشيم. با تكميل SUV هاي بيشتري در هر ساعت، مي توانيم سفارشات ارتش را سريعتر آماده كرده و به پول خود سريعتر برسيم. يك راه تلاش براي كاهش زمان توليد SUV است. چنانچه بتوانيم كارگران را وادار كنيم با دو برابر سرعت كار كنند. مي توانيم در زمان مشابه دو برابر توليد داشته باشيم. كارگران با سرعت هر چه تمامتر كار مي كنند، و فقط براي افزايش بازدهي استراحت كوتاهي مي كنند، باز هم از جدول حذف شده است.

از آنجايي كه بيشتر از اين نمي توانيم سرعت كارگران را بالا ببريم. مي توانيم يك خط اسمبلي ديگر نيز به راه بياندازيم. اگر 5 گروه ديگر را به خدمت گرفته و آموزش دهيم، قادر هستيم در 5 ساعت دو تا SUV توليد كنيم. اين موضوع نه تنها سبب دو برابر شدن توليد مي شود بلكه تعداد كارگران در حال كار يا در حال استراحت را نيز دو برابر مي كند. در نتيجه بايد دنبال يك راه بهتر باشيم.

با كمبود اختيارات و امكانات، ما يك تيم مشاوره را به خدمت گرفتيم تا يك راه مناسب بودن و دو برابر شدن تعداد كارگران و افزايش ميزان بهره وري، پيش پاي ما بگذارد. يكسال و هزاران ساعت وقت صرف شد تا تيم مشاوره بتواند راه حل مناسبي بيابد. چرا بگذاريم كارگران 5/4 وقت خو د را در اتاق استراحت بگذرانند؟ و پس از اين مدت آيا مي توانند مفيد باشند و بازدهي مناسبي داشته باشند؟ با برنامه ريزي مناسب بر 5 گروه كاركنان كارخانه ما قادر بود هر SUV در يك ساعت كامل كند و به نحو حيرت آوري كارآيي و خروجي خط اسمبلي را بهبود بخشد. جريان كاري بازبيني شده به شرح زير است : كارگران مرحله 1 شاسي را مي سازند، به محض اتمام شاسي آن را به كارگران مرحله 2 مي فرستند. كارگران مرحله 2 مشغول قرار گرفتن موتور درون شاسي مي شوند و در همين حين كارگران مرحله 1 شروع به ساخت يك شاسي جديد ديگر مي كنند. زماني كه كار هر دو گروه 1 و 2 تمام شد آن را به مرحله 3 مي فرستند و كارگران گروه 1 دوباره ساخت يك شاسي جديد را شروع مي كنند.

بنابراين زماني كه خط اسمبلي شروع به توليد SUV در مراحل مختلف مي كند، بيشترين كارگران همزمان در حال كار هستند در حاليكه همه كارگران روي وسيله نقليه متفاوتي در مراحل مختلف توليد كار مي كنند. اگر بتوانيم خط اسمبلي را پر نگهداريم و همزمان همه كارگران مشغول بكار باشند مي توانيم طي يك ساعت يك SUV توليد كنيم. در واقع سرعت توليد را 5/1 رسانده ايم. اين، بطور خلاصه، يعني را ه ارتباطي (pipelining)

در حاليكه زمان كل توليد هر يك sav از 5 ساعت تغيير نيافته است. اما سرعت توليد و تكميل افزايش يافته و بنابراين سرعت اجراي معامله و قرارداد با ارتش افزايش يافته است. راه ارتباطي با استفاده مجهز از تمام منابع موجود ،‌جادو م يكند . ما نيازي به افزايش سرعت انفرادي هر مرحله توليد نداريم همچنين نيازي به افزايش منابع خود كه ما را دچار مشكل كرده بودند نيز نداريم . تنها چيزي كه لازمست گرفتن كار بيشتر از منابع موجود است.

اكنون به بحث خود درباره ريز پردازنده ها مي پردازيم ، حالا تصور 4 مرحله (فاز) سيكل زندگي يك دستور راحت است. دقيقاً مشابه صاحبان كالا كارخانه د رمثال بالا كه مي خواستند تعداد suv  توليدي در زمان را افزايش دهند طراحان ريز پردازنده نيز هميشه به دنبال راههايي هستند كه تعداد دستوراتي را كه cpu  مي تواند در زمان داده شده كامل كند ، را افزايش دهند . زماني كه بخاطر مي آوريم كه يك برنامه مجموعه دستورات متوالي و منظم است آنگان روشن مي شود كه افزايش تعداد دستورات انجام شده در هر واحد زماني يك راه براي كاهش ميزان كل زماني است كه براي اجراي برنامه طول مي كشد. در مثال بالا ، يك برنامه مشابه سفارش گرفتن از ارتش است ، دقيقا افزايش خروجي كارخانه در هر ساعت ما را قادر مي ساخت كه سريعتر معاملات را تمام كنيم . و افزايش سرعت تكميل دستورات پردازنده ما را قادر مي سازد كه برنامه را سريعتر انجام دهيم.

يك مثل خط لوله اي ( Anon-pipelined  exampel ) 

يك پردازنده غير خط لوله اي در يك زمان روي يك دستور كار مي كند . و هر دستور از طريق تمام 4 فاز سيكل در طي يك سيكل ساعتي عبور مي دهد. از اين رو پردازشگرهاي اين چنيني را به نام پردازشگرهاي تك سيكلي نيز مي نامند زيرا تمام دستورات فقط يك سيكل ساعت طول مي كشند تا كاملا اجرا شوند.

از آنجايي كه پردازشگر دستورات را با سرعت يك در هر سيكل ساعت كامل مي كند . ساعت cpu  نيز تا حد امكان بايستي كار كند تا سرعت تكميل دستورات پردازنده بيشتر شود . بنابراين نياز به محاسبه حداقل ميزان زماني اجراي يك دستور را داريم و بايستي زمان سيكل ساعتي را با آن طول زمان برابر كنيم. اين موضوع دقيقاً در cpu  آزمايشگاهي يابند اتفاق مي افتد 4 فاز سيكل زيست دستور ، كل 4 نانوثايه طول مي كشد . بنابراين بايستي طول سيكل ساعتي cpu  را به 4 نانوثانيه تنظيم كنيم تا از دستور fetd ( اوردن ) تا wnite  ( نوشتن ) يك سيكل ساعتي طول بكشد. ( سيكل ساعتي cpu  را اغلب به اختصار ساعت clock  مي نامند)

در دياگرام بالا،به دستور آبي از محل ذخيره كه خارج مي شود و وارد پردازشگر مي شود و سپس از طريق فازها يك سيكل 4 نانومتري را طي مي كند تا در انتهاي ِِ چهارمين نانو ثانيه فاز آخر را تمام كند و كل سيكل تمام شود . انتهاي چهارمين نانو ثانيه انتهاي اولين سيكل ساعتي نيز مي باشد . بنابراين اكنون اولين سيكل ساعتي تمام شده و دستور آبي اجراي خود را تمام كرده است و دستور قرمز وارد پردازشگر شده ، سيكل زندگي خود را شروع مي كند و پروسه يكساني را طي مي كند . اين گامهاي متوالي 4 نانو ثانيه اي تا زماني تكرار مي شود كه پس از 16ns  ( 4 سيكل ساعتي ) پردازشگر تمام 4 دستور را با سرعت 25/0 دستور / ns ( نانو ثانيه ) كامل كند .

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

قبل از اينكه ادامه بدهيم ، بايستي جنبه هاي اندك دياگرام بالا را كه ممكن است گيج كننده به نظر برسد را شفاف توضيح دهيم. در انتهاي دياگرام يك ناحيه باعنوان (( دستورات تكميل شده / Completed  Instructions  )) وجود دارد . اكنون ،‌دستورات تكميل شده حقيقتاً هيچ كجا نمي روند ت به محض اتمام كارشان كه گفتن به پردازشگر چگونگي بهبودبخشي داده است ،‌به سادگي از پردازشگر حذف مي شوند . بنابراين ، جعبه ((  Completed  Instructions  ))  در انتهاي دياگرام ،‌حقيقتاً نمايانگر بخشي از كامپيوتر نيستند و اين به اين خاطر است كه من آن را داخل نقطه چين گذاشته ام . اين مكان فقط جايي براي ماست كه بدانيم چند دستور در زمان مشخص توسط پردازشگر انجام شده يا سرعت تكميل دستورات توسط پردازشگر را بدانيم بنابراين هنگام مقايسه گونه هاي مختلف پردازشگر جائي هست كه با نگاه كردن به آن مي توانيم سريع بفهميم كار كدام بهتر بوده است. هر چقدر تعداد دستورات كامل شده توسط پردازنده در زمان مشخص بيشتر باشد،اجراي برنامه ها بهتر مي شود كه ترتيب منظم دستورات است. بنابراين در نظر بگيريد كهجعبه دستورات كامل شده بعنوان نوعي اسكور برد براي سنجش سرعت كامل سازي پردازنده بكار مي رود.

با پيروي از نكته بالا ، ممكن است كنجكاو شويد كه چرا دستور آبي كه در چهارمين نانوثانيه كامل شده است در اين جعبه ديده نمي شود تا زمان پنجمين نانوثانيه در آن ديده مي شود . دليل آن ماهيت و ذات دياگرام مي باشد . زيرا يك دستور يك نانوثانيه وقت صرف مي كند ( از شروع تا اتمام ) ، در هر مرحله اجرا به دستور آبي وارد فاز نوشتن ( write)  در ابتداي چهارمين ns مي شود و فاز نوشتن در انتهاي چهارمين ns پايان مي يابد. اين بدين معناست كه پنجمين ns  اولين نانوثانيه كامل است كه دستور آبي كامل شده است . بنابراين در شروع پنجمين ns پردازشگر يك دستور را كامل نموده است.

يك مثال خط لوله اي ( A  pipeline  exampele) 

پردازشگر خط لوله اي يعني شكستن پروسه اجراي دستور به سري هاي مراحل ارتباطي مجزا كه مي توان با تخصصي كردن سخت افزار آن را به ترتيب انجام داد. بخاطر بياوريد راهي را كه ما در خط اسمبلي خود كاهش ايجاد نموديم.

از آنجايي كه سكيل زيست دستور شامل 4 فاز مجزاي مشخص است ، مي توان آن را با شكستن پروسه اجراي دستور توسط پردازشگر تك سيكل شروع نمود.

مرحله 1 ) دستور را از ذخيره كه بياور (Fetch)

مرحله 2 ) دستور را رمزگشايي كن (Decode)

مرحله 3 ) دستور را اجرا كن  ( Execate)

مرحله 4 ) نتايج دستور را در فايل ديجستر بنويس (write)

بخاطر داشته باشيد كه تعداد مراحل ارتباط به عمق آن بستگي دارد . بنابراين ارتباط 4 فازه ما عمق 4 دارد. براي حفظ راحتي بهتر است بگوييم كه مراحل ارتباط بالا دقيقاً يك ns براي يك دستور طول مي كشد درست مثل قياس با كارخانه suv كه يك ساعت طول مي كشيد. بنابراين پردازشگر تك سيكل اصلي ما ، زمان پردازش 4 نانوثانيه اي دارد و به 4 مرحله مجزا و متوالي ارتباطي ns  شكسته مي شود.

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 25 اسفند 1393 ساعت: 0:20 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره کار با 2005 Delphi

بازديد: 203

 

 کار با 2005Delphi

دلفي  (401) معرفي  Delphinافرادي بي نظير و قدرتمند از شرکت  Bor Landاست که ويژگي هاي منحصر به فرد ان "انعطاف پذيري Visudبودن شي  گرايي و سادگي ان را نسبت به ساير محيط هاي برنامه سازي همچون Vb   Cttمتماييز مي نمايند دلفي بر اساس يک زبان شي گراي کامل به نام PascadObjectتهيه شده است . با استفاده از دلفي قادر خواهيم بود تمام کارهاي قابل انجام با ساير زبان هاي برنامه نويسي چون Ctt وVb را انجام داده و در عين حال با مشکلات کمتري در حين کار مواجه شويد. اين ابزار شما را در تهيه و طراحي برنامه هاي کاربردي متنوع و همه منظوره با عملکرد بالا ياري ميرساند . قبل از هر چيز لازم است تا نرم افزار دلفي را بر روي سيستم خود نصب نمايئد. ملزومات سيستمي مورد نياز براي کار با Del Phi2005 عبارتنداز:

·                     پردازنده پنتيوم با سرعت حداقل   Mht233

·                     حداقل Mb64 حافظه اصلي ( Ram )

·                     حداقل Mb520 فضاي خالي بر روي هلرد ديسک

·                     سيستم عامل Windows Xp يا 2000 و يا 98

البته يکي از فريتهاي بزرگ محيط Delphi 2005 اين است که ميتوانيد در ان با زبانهاي برنامه نويسي ديگري همچون ( ) نيز برنامه نويسي انجام دهيد.

از انجا که کد نويسي از محيط دلفي عينا Syntax مشابه با پاسکال را دارد از ذکر جزييات و روش هاي برنامه نويسي در  اين جا صرف نظر ميکنيم و مبناي کار را بر اساس کليات برنامه نويسي پاسکال اما در سطحي بسيار ساده تر ( بدليل وژوال  بودن ان ) قرار ميدهيم.

کتابخانه وژوال دلفي شامل اشياء از پيش اماده شدهاي است که ويژگيهاي مورد استفاده متداول در برنامه هاي کاربردي  Windows  را براي ما  فراهم بي سازند که اين امر باعث کاهش فوق العاده زمان پياده  سازي و ازمايش برنامه ها ميشود.

در کتابخانه اجزاء سازنده دلفي 2005 تب وجود دارند که همانطور که در شکل ديده راست محيط دلفي ليست شده اند.

اين برگه (Tab) هاي موجود به شرح زير ميباشند:

 

   

Standard                          Bde                                 Lndy F10 Handievs

Additional                        Fnternetexpress                Fndy Fn Tercepts

Win 32                            Web Snap                        Fndy Misc


براي طراحي ظاهر فرمها از برگه هاي Standard  وAdditioned استفاده ميشود .

براي برقراري ارتباط با پايگاه داده مورد استفاده از برگه هاي Data Access و Data Controls  استفاده ميشود.

براي کار با Component هاي موجود بانک هاي اطلاعاتي ، از برگه Bde  استفاده ميشود .

براي استفاده از اجزا موجود در پايگاه داده اي که با ان ارتباط برقرار کرده ايم مثل Table ها و Query ها از برگه Dbgo استفاده ميکنيم.

براي کار با خاصيت هاي پروتکلهاي مختلف از جمله Nntp از تبهاي X1 و X3 و Lndy Misc استفاده ميشود که توضيح دقيق اين برگه ها در اينده نيز خواهد امد.

در بين برگه هايي که در بالا ذکر شد اين موارد بهترين و پرکار ترين برگه هايي بودند که در طراحي پروژه حاضر از انها استفاده کرده ايم  .

حال ميبايست به توضيح دقيق تر تبهاي X1  و X3 و Lndy Misc بپردازيم.

4.2) پياده سازي خواص Nntp در دلفي

حال که هم بطور کامل با قوانين پروتکل Nntp اشنا شديم و هم بخشهايي از دلفي که بر اساس پروتکل مذکور تعريف شدهاند را شناختيم براي دستيابي به بخشهايي ازکد  پروژه نهايي به پياده سازي توابعي در دلفي مي پردازييم که دستورات ذکر شده در پروتکل Nntp   را شبيه سازي ميکنند.

اين شبه کدها "( يا به عبارتي توابع ") در Event هاي مربوطه به برگه Ldnntpservers

که بطور مفصل راجع به ان بحث کردييم نوشته شده اند. البته در بين دستوراتي که در توضيح پروتکل Nntp ذکر شده دستوراتي وجود دارند که در نسخه هاي جديد تر ان مورد استفاده قرار نميگيرند همچنين نرم افزار Client اي که از ان استفاده مي کنيم ( Out Look)  احتياجي به استفاده از برخي از اين دستورات ندارد. لذا در اين بخش تنها به پياده سازي پروژه استفاده شده اند .

-4.3.1 پياده سازي دستور List :

که اين دستور را در روييدادGroupsOnlist در ليست روييدادهاي مربوطه به X3 مينويسيم .

براي پياده سازي هر يک از دستوراساسي بايد بر روي Event مربوطه به ان کليک کنيم تا عبارت X3

در تب مربوطه به ان روييداد ظاهر شود سپس که نوعي را اغاز ميکنيم .

که اين دستور عبارتند از 3

4.3.2- پياده سازي دستور Cxoup :

Onselectgroup

5. پياده سازي صفحات پروژه

حال به جزييات مربوط به طراحي فرمها در برنامه هاي سرور Client پرداخته ودر نهايت متن برنامه هاي نوشته شده را ارايه خواهيم نمود.

1-5- فرمهاي مربوط به برنامه نويسي سمت سرور

در برنامه مربوط به سرور چهار فرم و 2 يونيت طراحي شده است . که هر يک وظيفه بخصوصي را در زمينه سرو بدهي انجام مي دهد .

1-1-5- فرم Umain

اين گزينه مربوط به عمليات گرهها و يا کاربران ميباشد . انتخاب گزينه گروهها سبب مي شود که اين فرم يک Link به فرم Ugroup که مربوط به انجام عمليات گروهها مي باشد ايجاد کند. انتخاب گزينه کاربران نيز باعث ايجاد يک Link به فرم    Uusers براي انجام عمليات کاربران ميشود.

3- عمليات

اين Tab  شامل دو گزينهStart و     Stop است که توابع مربوط به انها نيز درمتن برنامه نوشته شده است اين دو گزينه مربوط به راه اندازي ويا متوقف کردن کار سرور هستند.

4. کمک

در اين بخش توضيحات مختصري درباره دستورات پروتکل Nntp ونيز نحوه کار انها ارايه شده است که ميتوان گفت خلاصه اي سازمان يافته از انچه پيش از اين در ارتباطبا اين پروکتل ذکر کرديم ميباشد.

در قسمت Tldnntpservers ، کليه ارتباطات با پروتکل Nntp ونيز دستورات مبتني بر اين پروکتل اورده شده اند .

برخي توابع اضافي که در اين  Unit  قرار دارند نيز مربوط به انجام عمليات لازم براي اجراي دستورات مربوط به پروتکل Nntp مي باشند که به علت ساده و کار بردي بودن اين توابع از شرح جزييات انها صرفنظر مي کنييم .

-5-1.2 فرمUdm   ( Unit Data Module) 

همان طور که از نام ان نيز پيداست اين يونيت يک Data Module است. تمامي ارتباطات و اتصالات به پايگاه داده به جز Dbgrid که مربوط به نمايش محتويات جدول مي باشد براي سهولت کار واضح بودن برنامه در اين قسمت قرار دارند که اجزا اين يونيت عبارتند از

Adoconnection براي برقراري اتصال برنامه با محيط Sql Server

Ds Users : براي برقراري ارتباط با توابعي که براي تاثير روي جدول Users در پايگاه داده نوشته شده اند .

( اين جز يک Data Set  است )

Ds Group: : براي برقراري ارتباط با توابعي که براي تاثير روي جدول Groups در پايگاه داده نوشته شده اند ( اين جز يک Data Set  است )

Dso Users : يک Data Source  براي برقراري اتصال با جدول Users  در پايگاه داده است.

 يک Data Source براي برقراري اتصال با جدول Users  در پايگاه داده است.

Dso  Group : يک Data Source براي برقراري اتصال با جدولGroups  در پايگاه داده است

Ds Global: يک Data Set براي برقراري ارتباط با پايگاه داده در نوشتن دستوراتي است که در بخش Mainنوشته ايم به عنوان مثال دستوراتي در پروتکل Nntp  که در ليستهاي موجود در پايگاه داده پارامتري را اضافه ، جستجو ، مقايسه ويا حذف مي کند.


3. 1. 5-فرم Ueroups

همانطور که مي بينيد بر روي اين فرم چهار Ruttonوجود دارند که عمل هر يک از آنها را توضيح مي دهيم .

·                     اضافه :

مربوط به اضافه کردن يک گروه به ليست گروههاي موجود ؟؟؟است .اين کار فقط و فقط توسط سرور انجام مي شود وClient به طور کلي چنين اختياري را ندارد .

مکانيزم اضافه کردن يک گروه به ليست گروهها به اين ترتيب مي باشد :

·                     حذف:

     مربوط به حذف يک گروه توسط مشخص کردن نام آن گروه از ليست اسامي گروههاي خبري مي باشد .براي انجام اين کار (حذف يک گروه )يک شرط لازم است ؟؟؟که گروهي که قرار است حذف شود داراي جزئيات (Article   Lو يا ؟؟؟مربوط به آن )نباشد .البته امکان حذف گروه با کليه جزئيات نيز وجود دارد ،برنامه براي اين کار سوالي از کار ؟؟؟و در صورت مثبت بودن جواب آن ،گروه را به همراه کليه جزئيات آن حذف مي کند .

عمل حذف گروهها نيز به طريق زير انجام مي گيرد :

·                     بازگشت :

اين گزينه را در واقع مي توان ؟؟؟هم، ناميد فرم را؟؟؟و به برنامه بر مي گردد.

4. 1. 5 – فرم Uaddgroup

اين فرم عمليات خاصي انجام نمي دهد تنها حاوي يک پنجره محاوره اي است که نام و وضعيت گروه مورد نظر براي اضافه شدن را مي گيرد وآن را به يونيت Main

بر مي گرداند . مي توان اين عمل را تاييد نموده يا از آن انصراف داد.

5. 1. 5 – يونيت Umtglohals

اين يونيت هيچ فرقي ندارد .

6. 1. 5- يونيت Unit Message Base

 -5.  2      برنامه نويسي سمت Client

1. 2.  5-  برنامه نويسي توسط Asp.Net  وبه زبان C#

2. 2. 5-استفاده از نرم  افزارOut Look

3. 5- متن اصلي پروژه پياده سازي شده در محيط Delphi 2005

  6. اضافه و حذف کردن گروه

همانطور که پيش از اين نيز ذکر شد در انجام پردازش هاي مربوط به گروهها از سيستم فايل استفاده مي شود بنا براين در اضافه و حذف کردن گروههانيزمي بايد اطلاعات گروه به فايل اضافه و يا از آن حذف مي شود . براي اضافه کردن يک گروه به مجموعه گروهها يک فايل جديد هم نام با آن گروه را ايجاد مي کنيم (با پسوند .Grp )در ابتداي فايل نام گروه خبري  را قرار مي دهيم وسپس در خط بعدي آن ،يک نقطه خواهد گرفت اين کار به دليل سهولت در انجام پردازش ها است .علت آن در متن برنامه وبا درک ساختار آن مشخص خواهد شد .

پس از آوردن نام فايل در بخش هاي بعدي برنامه اطلاعات گروه مثل Message-Id و....قرار خواهند گرفت .

پس از انجام عمليات مربوط به فايل اين تغييرات را در جدول مربوط به گروهها در پايگاه داده

نيز ذخيره مي کنيم ،البته بايد دقت شود براي اضافه کردن تکراري نبودن نام نيز مهم است .

حذف:

نام گروه مورد نظر را در جدول مربوط به گروهها در پايگاه داده ونيز در ليست فايلهاي مربوط به گروهها اضافه خواهيم کرد .

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 25 اسفند 1393 ساعت: 0:15 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره كارت صدا

بازديد: 539

 

كارت صدا چيست؟

 

كارت صدا(۱) Sound Card كارت صدا يكي از عناصر سخت افزاري رايانه است كه باعث پخش و ضبط صدا مي گردد. قبل از گسترش كارت هاي صدا، صدا در رايانه توسط بلند گوهاي داخلي ايجاد مي شد. اين بلند گوها توان خود را از برد اصلي مي گرفتند. استفاده از كارت صدا از اواخر سال ۱۹۸۰ شروع شد. در حال حاضر شركت هاي متعددي توليدات خود را در اين زمينه به بازار عرضه مي كنند. كارت صوتي همانند كارت گرافيكي بر روي برد اصلي نصب مي شود و در پشت آن چند فيش براي ميكروفن و بلند گو قرار دارد. وظيفه كارت صدا آماده سازي سيگنال ها جهت پخش و دريافت سيگنال هاي ورودي از ميكروفن و آماده كردن آنها براي ذخيره در رايانه است. كارت صدا، كارت صوتي نيز ناميده مي شود و در بسياري موارد مي تواند اصواتي با كيفيت بسيار عالي توليد كند. صوت، يك سيگنال آنالوگ است كه به صورت موج پيوسته انتشار مي يابد. رايانه همواره در حال پردازش سيگنال هاي آنالوگ است، زيرا اين سيگنال ها دائماً در حال تغييرند. در واقع لازم است كه سيگنال هاي آنالوگ به بيت هاي رقمي (ديجيتال) تبديل شوند. اين عمل توسط وسيله اي به نام Analog toDigital Convertor ADC)) صورت مي گيرد. سيگنال هاي ديجيتالي توليد شده مجدداً بايد به سيگنال هاي آنالوگ تبديل شوند تا بتوانند به وسيله بلند گو پخش شوند. اين عمل توسط سخت افزار ديگري به نام DACصورت مي گيرد. صداهاي ديجيتال به فضاي زيادي بر روي ديسك نياز دارد. بنابراين به جاي ذخيره صدا آن را ايجاد مي كند. اين عمليات شبيه سازي صوتي نام دارد و به روش هاي زير صورت مي گيرد: FM -1(مدولاسيون بسامد): اين روش به صورت كاملاً مصنوعي صدا را ايجاد مي كند و براي ساخت آن از دو موج سينوسي استفاده مي كند. ۲- جدول موجي (صداي موجي): اين روش كم هزينه و واقعي تر است. در اين حالت از تمامي وسايل موسيقي نمونه گيري شده است و صداي ديجيتالي توليد شده در يك جدول موج ذخيره شده است. در صورتي كه يك برنامه به صدايي احتياج داشته باشد اين جدول موج چه در كارت صدا و چه در ديسك، صداي واقعي را به برنامه مي دهد. فايل هاي صوتي با پسوند Wav در ويندوز صداهاي واقعي هستند كه از جدول موج استفاده مي كنند. بنابراين آهنگسازان حرفه اي ترجيح مي دهند اين گونه كارت هاي صدا را استفاده نمايند. اين صداها در تراشه هاي رام كارت صوتي ذخيره مي شوند و در نتيجه بسياري از توليد كنندگان بزرگ بودن حافظه جدول صوتي را دليل مرغوب بودن كارت صدا مي دادند. ۳- ) MIDIرابط ديجيتالي ادوات موسيقي): اين روش برخلاف روش قبلي صداي توليد شده را ضبط نمي كند، بلكه اطلاعات صدا مانند كوك، دوام، بلندي و ساير موارد را ضبط مي كند. اين اطلاعات در يك قالب استاندارد در فايل ذخيره مي شود و يا به يك وسيله موسيقي جهت اجرا ارسال مي شود. بنابراين يك فايل MIDI مجموعه اي از دستور العمل ها در مورد چگونگي اجراي نت هاست. نكته: فايل هاي MIDI جهت برقراري ويدئو كنفرانس ها و پخش فيلم در اينترنت به كار مي روند. ۴- نمونه سازي فيزيكي:اين روش نسبتاً جديد است و بسته به نوع ساز شبيه سازي شده است. با اينكه داراي صداي خوبي است اما بار زيادي بر پردازنده اصلي وارد مي سازد. اجزاي تشكيل دهنده كارت صدا - پردازنده سيگنال هاي ديجيتال كه عمليات مورد نظر را انجام مي دهند. - مبدل آنالوگ به ديجيتال (ACD) براي صوت ورودي به رايانه - مبدل ديجيتال به آنالوگ (DAC) - حافظه ROM يا فلش جهت ذخيره سازي اطلاعات - اينترفيش دستگاه هاي موزيكال ديجيتالي (MIDI) جهت اتصال دستگاه هاي موزيك خارجي - كانكتورهاي لازم جهت اتصال به ميكروفن يا بلند گو - پورت مخصوص بازي براي اتصال Joystick كارت هاي صوتي قديمي عمدتاً از نوع ISA بوده اند، اما كارت صداهاي امروزي از نوع PCI هستند كه بر روي برد اصلي نصب مي گردند. بيشتر مادربردها در حال حاضر كارت صدا را به صورت يك تراشه بر روي برد اصلي دارند. انواع اتصال كارت صدا به رايانه - بلند گو (Speaker) - يك منبع ورودي آنالوگ (ميكروفن ضبط صوت و CD-Player) - يك منبع ورودي ديجيتال نظير CD-ROM - يك منبع آنالوگ خروجي نظير ضبط صوت - يك منبع ديجيتال خروجي شنيدن صوت مراحل شنيدن صوت بر خلاف روش توليد صدا مي باشد كه در زير شرح داده شده است: ۱- داده هاي ديجيتال از هاردديسك خوانده مي شود و سپس در اختيار پردازنده اصلي قرار مي گيرد. ۲- پردازنده اصلي داده ها را براي DSP موجود بر روي كارت صدا ارسال مي كند. 3- DSP داده هاي ديجيتال را از حالت فشرده خارج مي كند. ۴- داده هاي ديجيتال غير فشرده شدن توسط DSP بلافاصله با مبدل ديجيتال به آنالوگ (DAC) پردازش و يك سيگنال آنالوگ ايجاد مي كنند. اين سيگنال هاي ايجاد شده از طريق هدفن يا بلند گو شنيده خواهد شد.

 

 

 

 

وظايف كارت صدا

كارت هاي صدا حداقل 4 وظيفه را در كامپيوتر بر عهده دارد. آنها بعنوان synthesizer رابط MIDI و مبدل آنالوگ به ديجيتال (A/D) در حال ضبط كردن و مبدل ديجيتال به آنالوگ (D/A) در حال پخش عمل مي كنند. اكنون به توضيح هر كدام مي پرداريم:
The Synthesizer:
Synthesizer رساننده صدايي است كه كارت صدا توليد كرده است. در اينجا ما سه نوع سيستم داريم:
FM Synthesiz,Waretables Sampling,Physical Modeling
FM Synthesiz:

ارزانترين كارتهاي صدا از تكنولوژي
FM براي مدل كردن آلات موسيقي متفاوت استفاده مي كنند. اين كارتهاي صدا واقعاٌ Synthesizer هستند. كارت صدا اصواتي توليد مي كند كه از تركيب يك سري صداهاي مصنوعي ساخته شده است.

Ware tables Sampling:

Ware table بهترين وگرانترين تكنولوژي در كارتهاي صدا است. اين بدان معني است كه صدا در كارتهاي صدا از دستگاههاي واقعي ضبط مي شود. بعنوان مثال از روي يك پيانو يك نمونه كوچك ضبط و ذخيره مي شود و زماني كه موزيك اجرا مي شود در حقيقت شما به اين اصواتي كه بصورت نمونه ضبط شده است گوش مي دهيد، لذا زماني كه اين نمونه هاي صوتي داراي كيفيت بالايي باشند كارت صدا اصوات دل انگيزتري توليد مي كند. در اين حالت صداي پيانو مانند يك پيانو واقعي شنيده مي شود. سيستم Ware table در كارت صداهاي Blasters AWE بكار رفته است.

Physical Modeling:

در اين حالت اصوات توليدي در نتيجه نرم افزار مدل شده اند. در اين حالت به نظر مي آيد كه پروسسور بايد كار طاقت فرسايي انجام دهد.كارت صداهاي
Orginal مارك Gold شامل صداي 14 دستگاه هستند كه بدين روش مدل شده اند.

آزمايش صدا:

كيفيت اصلي كارت صدا را بوسيله اجراي يك فايل
MIDI مي توان امتحان كرد. در اين حالت براحتي مي توانيد تفاوت را احساس كنيد. همچنين در تعداد نت هايي كه در يك لحظه مي تواند اجرا شود هم، تفاوت وجود دارد.

اگر شما مي خواهيد موزيك خود را در كامپيوتر خود بسازيد، الزاماٌ براي ساختن اين موزيك از صداهاي موجود در كامپيوتر خود استفاده كرده ايد و هرچه كار شما بزرگتر باشد نمونه صداهاي بيشتري احتياج داريد.
بعضي كارتهاي صدا نمونه هاي صداهاي جديد را مي پذيرند و شما مي توانيد نمونه هاي جديد خود را ذخيره سازيد. در اين حالت كارت صدا يك
RAM بعنوان حافظه در خود دارد تا بتوانيد صداهاي مورد نظر را روي آن دانلود كنيد.
مبدل آنالوگ به ديجيتال:
زمانيكه در حال ضبط صداهاي آنالوگ هستيد(مثلاٌ هنگام ضبط صدا از ميكروفن) به يك مبدل آنالوگ به ديجيتال احتياج داريد و مبدل ديجيتال به آنالوگ نيز زماني استفاده مي شود كه صداي ديجيتال بايد مجدداٌ براي آمپلي فاير اسپيكرهاي شما به سيگنال آنالوگ تبديل شود.
امواج صدا پس از اين كه از طريق ميكروفن به كارت صدا منتقل مي شوند، در آنجا به يكسري پالسهاي ديجيتال تبديل مي گردند كه هر از چند گاهي در يك فايل ذخيره مي شوند. بنابراين ضبط يك صوت در كامپيوتر شامل يك فرآيند تبديل آنالوگ به ديجيتال ميباشد. اما در حالت اجراي يك فايل صوتي جريان بيتهاي صفر و يك اطلاعاتي تبديل به سيگنالهاي آنالوگي مي شوند كه در نهايت به بلندگوي اسپيكر شما ختم مي گردد.
فرآيند نمونه گيري:
همانطور كه ذكر شد ضبط ديجيتالي صدا را بعنوان نمونه گيري شناختيم. شما مي توانيد هر صدايي را كه مي خواهيد، روي يك فايل ذخيره كنيد و براي اينكار كافي است شما كارت صدايي بهمراه ميكروفن داشته باشيد. عمليات نمونه گيري نيز مي تواند با روشها و كيفيتهاي متفاوت انجام پذيرد:
نمونه گيري 8 بيتي يا 16 بيتي،11.22 يا 44 كيلو هرتز، استريو يا مونو
عددي كه بر حسب كيلو هرتز بيان مي شود نشان مي دهد كه صدا نمونه هاي صوتي چند هزار بار در ثانيه ضبط مي شود.
كيفيت صداي نمونه گيري شده:
يك نمونه صدا مانند صداي ضبط شده روي نوار كاست است كه كيفيت آن مي تواند خوب يا بد باشد در اينجا بر نحوه تنضيمات براي كيفيت گذري مي كنيم.
در هنگام ضبط صداي ديجيتالي در هر ثانيه چندين نمونه از صدا گرفته مي شود هر چه تعداد اين نمونه ها در واحد زمان بيشتر باشد كيفيت بهتر است. طبيعتاً يك نمونه گيري بدون وقفه از سيگنال صوتي بهترين كيفيت را خواهد داشت ولي در عمل غير ممكن است.
براي ضبط سي دي هاي صوتي (
Audio CD ) به تعداد 44100 بار در ثانيه از سيگنال صوتي نمونه گيري مي شود.
كيفيت با واحد
Hz و رزولوشن با تعداد بيت اندازه گيري مي شود. هر چه مقدار KHz بيشتر باشد كيفيت بهتر مي شود اما فايل شما هم بزرگتر مي شود. نمونه گيري 8 بيت يا 16 بيت به اين اشاره دارد كه چه مقدار اطلاعات از سيگنال صوتي در هر بار نمونه گيري ذخيره شود. 16 بيت يك كيفيت خوب به ما تحويل مي دهد.
فرض كنيد فايل صوتي ديجيتال شما استريو 2 كانال 16 بيت در 44.1
KHz باشد حجم فايل صوتي به صورت زير خواهد بود
176400=44100 نمونه در ثانيه*16 بيت* 2 كانال
همانطور كه مي دانيد 8 بيت برابر يك بايت است بنابراين اندازه فايل ها با كيفيت
CD در حالت استريو به صورت زير خواهد بود
زمان اجرا
حجم فايل
1 دقيقه

10 مگابايت
1 ساعت
605 مگابايت
74 دقيقه
746 مگابايت
آنچه در اينجا مي بينيد مربوط به فايل با فرمت
Wave است. استريو 16 بيت و 44KHz كيفيت بسيار خوبي در اختيار شما قرار مي دهد

 مباني كارت صدا

يك كارت صدا داراي بخش هاي متفاوت زير است :

·       يك پردازنده سيگنال هاي ديجيتال (DSP) كه مسئول انجام اغلب عمليات( محاسبات ) مورد نظر است .

·       يك مبدل ديجتيال به آنالوگ (DAC)

·       يك مبدل آنالوگ به ديجيتال(ADC) براي صوت ورودي به كامپيوتر

·       حافظه ROM  يا Flash براي ذخيره سازي داده

·       يك اينترفيس دستگاههاي موزيكال ديجيتالي (MIDI) براي اتصال دستگاه هاي موزيك خارجي

·       كانكنورهاي لازم براي اتصال به ميكروفن و يا بلندگو

·       يك پورت خاص " بازي" براي اتصال Joystick

اغلب كارت هاي صدا كه امروره استفاده مي گردد از نوع PCI بوده و در يكي از اسلات هاي آزاد برد اصلي نصب مي گردند. كارت هاي صداي قديمي عمدتا" از نوع ISA بودند. اكثر كامپيوتر هاي جديد كارت صدا را بصورت يك تراشه و بر روي برد اصلي دارند. در اين نوع كامپيوترها اسلاتي برروي برد اصلي استفاده نشده وبدين ترتيب يك اسلات صرفه جوئي شده است ! Sound Blaster Pro  بعنوان يك استاندارد در دنياي كارت هاي صدا مطرح است .

  

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

كارت صدا را مي توان به يكي از دستگاههاي زير متصل نمود :

·       هدفون

·       بلندگو (Speaker)

·       يك منبع ورودي آنالوگ نظير : ميكروفن راديوضبط صوت و CD player

·       يك منبع ورودي ديجيتال نظير CD-Rom

·       يك منبع آنالوگ خروجي نظير ظبط صوت

·       يك منبع ديجيتال خروجي نظير CD-R

 

عمليات كارت صدا

يك كارت صدا قادر به انجام چهار عمليات خاص در رابطه با صدا است :

·       پخش موزيك هاي از قبل ضبط شده ( از CD  فايل هاي صوتي نظير mp3 و يا Wav ) بازي يا DVD

·       ضبط صدا با حالات متفاوت

·       تركيب نمودن صداها

·       پردازش صوت هاي موجود

عمليات دريافت و ارسال صوت (صدا) براي كارت صدا از طريق بخش هاي DAC و ADC انجام مي گيرد. پردازش هاي لازم و مورد نياز بر روي صوت توسط DSP  انجام مي گيرد و بدين ترتيب عمليات اضافه اي  براي پردازنده اصلي كامپيوتر بوجود نخواهد آمد.

 

 

 

توليد صوت

فرض كنيد، قصد داشته باشيم كه از طريق ميكروفن صداي خود را به كامپيوتر انتقال دهيم . در اين حالت كارت صدا يك فايل صوتي با فرمت wav را ايجاد و داده هاي ارسالي توسط ميكروفن در آن ذخيره گردند.فرآيند فوق شامل مراحل زير است :

1 - كارت صدا از طريق كانكتور ميكروفن سيگنال هاي پيوسته و آنالوگي را دريافت مي دارد.

2 - از طريق نرم افزار مربوطه نوع دستگاه ورودي براي ضبط صدا را مشخص مي نمائيم .

3 - سيگنال آنالوگ ارسالي توسط ميكروفن بلافاصله توسط تراشه مبدل آنالوگ به ديجيتال (ADC) تبديل و يك فايل حاوي صفر و يك توليد مي گردد.

4 - خروجي توليد شده توسط ADC در اختيار تراشه DSP براي انجام پردازش هاي لازم گذاشته مي شود. DSP توسط مجموعه دستوراتي كه در تراشه ديگر است برنامه ريزي براي انجام عمليات خاص مي گردد. يكي از عملياتي كه DSP انجام مي دهد فشرده سازي داده هاي ديجيتال بمنظور ذخيره سازي است .

5 - خروجي DSP با توجه به نوع اتصالات كارت صدا در اختيار  گذرگاه داده كامپيوتر قرار مي گيرد.

6 - داده هاي ديجيتال توسط پردازنده اصلي كامپيوتر پردازش و در ادامه براي ذخيره سازي در اختيار كنترل كننده هارد ديسك گذاشته مي شوند. كنترل كننده هارد ديسك اطلاعات را بر روي هارد و بعنوان يك  فايل ضبط شده صوتي ذخيره خواهد كرد.

 شنيدن صوت

مراحل گوش دادن  به صوت به شرح زير مي باشد ( برعكس روش گفته شده در ارتباط باضبط صوت):

1 - داده هاي ديجيتال از هارد ديسك خوانده شده و در اختيار پردازنده اصلي قرار مي گيرند.

2 - پردازنده اصلي داده ها را براي DSP موجود بر روي كارت صدا ارسال مي دارد.

3 - DSP داده هاي ديجيتال را ازحالت فشرده خارج مي نمايد.

4 - داده هاي ديجيتال غيرفشرده شده  توسط  DSP  بلافاصله توسط مبدل ديجيتال به آنالوگ(DAC)  پردازش و يك سيگنال آنالوگ ايجاد مي گردد. سيگنال هاي فوق از طريق هدفوق  يا بلندگو قابل شنيدن خواهند بود

 

 

منبع :

http://www.tebyan.net/Teb.aspx?nId=5661

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 25 اسفند 1393 ساعت: 0:11 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره کارت شبکه

بازديد: 289

 

آشنائی با کارت شبکه

کارت شبکه ، يکی از مهمترين عناصر سخت افزاری در زمان پياده سازی يک شبکه کامپيوتری است . هر کامپيوتر موجود در شبکه ( سرويس گيرندگان و سرويس دهندگان ) ، نيازمند استفاده از يک کارت شبکه است . کارت شبکه ، ارتباط بين کامپيوتر  و  محيط انتقال ( نظير کابل ها ی مسی و يا فيبر نوری ) را فراهم می نمايد .
اکثر مادربردهای جديدی که از آنان در کامپيوترهای شخصی استفاده می گردد ، دارای يک اينترفيس شبکه ای
onboard می باشند . کامپيوترهای قديمی و يا کامپيوترهای جديدی که دارای اينترفيس شبکه ای onboard نمی باشند ، در زمان اتصال به شبکه ، می بايست بر روی آنان يک کارت شبکه نصب گردد.

وظايف کارت شبکه

  • برقراری ارتباط لازم بين کامپيوتر و محيط انتقال
  • تبديل داده : داده ها بر روی گذرگاه ( bus ) کامپيوتر به صورت موازی حرکت می نمايند . نحوه حرکت داده ها بر روی محيط  انتقال شبکه به صورت سريال است . ترانسيور کارت شبکه ( يک ارسال کننده و يا دريافت کننده ) ، داده ها را از حالت موازی به سريال و بالعکس تبديل می نمايد .
  • ارائه يک آدرس منحصربفرد سخت افزاری : آدرس سخت افزاری (MAC ) درون تراشه ROM موجود بر روی کارت شبکه نوشته می گردد . آدرس MAC در واقع يک زير لايه از لايه  Data Link مدل مرجع OSI می باشد . آدرس سخت افراری موجود بر روی کارت شبکه ، يک آدرس منحصربفرد را برای هر يک از کامپيوترهای  موجود در شبکه ، مشخص می نمايد . پروتکل هائی نظير TCP/IP از يک سيستم آدرس دهی منطقی ( آدرس IP ) ، استفاده می نمايند . در چنين مواردی قبل از دريافت داده توسط کامپيوتر ، می بايست آدرس منطقی به آدرس سخت افزاری ترجمه گردد .

انتخاب کارت شبکه

برای انتخاب يک کارت شبکه ، می بايست پارامترهای متعددی را بررسی نمود :

  • سازگاری با معماری استفاده شده در شبکه : کارت های شبکه دارای مدل های متفاوتی با توجه به معماری استفاده شده در شبکه ( اترنت ، Token ring )می باشند . اترنت ، متداولترين معماری شبکه در حال حاضر است که در شبکه هائی با ابعاد بزرگ و کوچک ، استفاده می گردد .
  • سازگاری با throughput شبکه : در صورتی که يک شبکه اترنت سريع (سرعت 100Mbps ) پياده سازی شده است ، انتخاب يک کارت اترنت با سرعت 10Mbps تصميم مناسبی در اين رابطه نخواهد بود . اکثر کارت های شبکه جديد قادر به سوئيچينگ اتوماتيک بين سرعت های 10 و 100Mbps می باشند ( اترنت معمولی و اترنت سريع )
  • سازگاری با نوع اسلات های خالی مادربرد : کارت های شبکه دارای مدل های متفاوتی با توجه به نوع اسلات مادربرد می باشند. کارت های شبکه PCI درون يک اسلات خالی PCI  و کارت هائی از نوع ISA در اسلات های ISA نصب می گردند . کارت شبکه می بايست متناسب با يکی از اسلات های خالی موجود بر روی مادربرد، انتخاب گردد. اسلات آزاد به نوع مادربرد  بستگی داشته و در اين رابطه گزينه های متعددی نظير ISA,PCI و EISA می تواند وجود داشته باشد . شکل زير يک نمونه مادربرد را که دارای اسلات های ISA و PCI است ، نشان می دهد :

 گذرگاه ISA که از کلمات Industry Standard Architecture  اقتباس شده است، استاندارد استفاده شده در کامپيوترهای IBMXT است . استاندارد فوق در ابتدا به صورت هشت بيتی مطرح و در سال 1984 نوع شانزده بيتی آن نيز عرضه گرديد. تعداد زيادی از تجهيزات سخت افزاری نظير مودم ، کارت صدا و کارت های شبکه بر اساس استاندارد فوق توليد و عرضه شده اند . برخی از مادربردهای جديد دارای اسلات های PCI بوده  و از کارت های ISA حمايت نمی نمايند . ( کارت های PCI دارای سرعت بيشتری نسبت به ISA می باشند ) .

PCI در سال 1993 معرفی و يک گذرگاه سی و دو بيتی است . PCI 2.1 شصت و چهار بيت را حمايـت می نمايد .کارت های شبکه PCI با توجه به پتاسيل های موجود دارای استعداد لازم به منظور ارائه سرعت و کارآئی بيشتری نسبت به کارت های ISAمی باشند :

  • بافرينگ : حافظه تراشه ها ( RAM )  بر روی کارت شبکه قرار داشته و از آن به عنوان بافر استفاده می گردد .از حافظه فوق به منظور نگهداری اطلاعاتی که در انتظار پردازش می باشند و يا اطلاعاتی که می بايست بر روی شبکه منتشر شوند ، استفاده می گردد .
  •  DMA و يا DirectMemory Access ، کامپيوترهائی که از DMA حمايـت می نمايند، امکان ارسال و يا دريافت داده از حافظه را مستقيما" و بدون درگيرکردن پردازنده فراهم می نمايند .
  • BusMastering . کارت های شبکه می توانند بگونه ای طراحی شوند که مستقيما" بدون استفاده از پردازنده کامپيوتر و يا واسطه ای ديگر به حافظه RAM کامپيوتر دستيابی داشته باشند . ويژگی فوق به کارت های شبکه اجازه می دهد که bus را کنترل نموده و داده ئی را به حافظه RAM کاميپوتر ارسال و يا دريافت نمايند .

نصب کارت شبکه

برای نصب کارت شبکه می توان مراحل زير را دنبال نمود :

  • باز نمودن کيس کامپيوتر و نصب کارت شبکه در يکی از اسلات های آزاد
  • بستن کيس و متصل نمودن کابل به پورت کارت شبکه
  • راه انداری کامپيوتر . در صورتی که يک کارت Plug&Play  تهيه شده است و از سيستم عاملی استفاده  می شود  که تکنولوژی Plug & Play را حمايت می نمايد ، تنها کاری که احتمالا" می بايست انجام داد ، قرار دادن ديسکت و يا CD درايور کارت شبکه در درايو مربوطه است .در صورتی که از سيستم عاملی استفاده می گردد که قادر به تشخيص سخت افزارهای جديد نمی باشد ، می بايست عمليات نصب کارت شبکه به صورت دستی انجام شود .

با توجه به اين که کامپيوترهای جديد و سيستم های عاملی که بر روی آنان نصب می گردد، عموما" از فن آوری Plug&Play حمايت می نمايند ، نصب يک کارت شبکه کار چندان مشکلی نخواهد بود . کافی است کارت شبکه را درون يکی از اسلات های خالی مادربرد قرار داده و کامپيوتر را راه اندازی نمود . کارت های شبکه Plug&Play توسط سيستم عامل تشخيص داده شده و درايور آنان نصب می گردد .
در حال حاضر سيستم های عامل اندکی وجود دارد که از تکنولوژی
Plug &Play حمايت نمی نمايند ، در زمان نصب کارت شبکه بر روی اين نوع سيستم ها ، می بايست دارای اطلاعات لازم در رابطه با IRQ نيز باشيم ( IRQ از کلمات Interrupt Request  اقتباس شده است) . به هر دستگاه موجود در کامپيوتر نظير موس ، صفحه کليد و کارت شبکه ، يک خط IRQ نسبت داده می شود. دستگاه های فوق با استفاده از IRQ نسبت داده شده ، درخواست خود را با پردازنده مطرح می نمايند ( پردازش داده ها ) . هر دستگاه می بايست دارای يک IRQ منحصربفرد باشد در غير اينصورت با يک IRQConflict مواجه خواهيم شد.

جدول زير تنظيمات IRQ در کامپيوترهای شخصی را نشان می دهد .

IRQ

کاربرد

0

System timer

1

Keyboard

2

Cascade to secondary IRQ controller

3

COM port 2 and 4 (serial port)

4

COM port 1 and 3 (serial port)

5

LPT2 (printer port)

6

Floppy disk controller

7

LPT1 (printer port)

8

Real-time clock

9

Free

10

Primary SCSI adapter (or free)

11

Secondary SCSI adapter (or free)

12

PS/2 mouse

13

Floating-point math coprocessor

14

Primary hard disk controller

15

Secondary hard disk controller (or free)

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 25 اسفند 1393 ساعت: 0:06 منتشر شده است
برچسب ها : ,,,
نظرات(0)

ليست صفحات

تعداد صفحات : 792

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

 سامانه خرید و امن این سایت از همه  لحاظ مطمئن می باشد . یکی از مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه   09159886819  در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما  فرستاده می شود .

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس