PDA

نسخه کامل مشاهده نسخه کامل : Core با Threade چه فرقی داره؟



B.J.U
31-07-2010, 10:32
سلام
میخواستم بدونم هسته با هسته ی مجازی چه فرقی داره؟به اندازه ی هسته ی واقعی قدرت داره؟
مثلا 1 Core -2 Threads میشه 3 هسته یا 2 هسته؟

pooria.rio
31-07-2010, 10:53
سلام
میخواستم بدونم هسته با هسته ی مجازی چه فرقی داره؟به اندازه ی هسته ی واقعی قدرت داره؟
مثلا 1 Core -2 Threads میشه 3 هسته یا 2 هسته؟

core هسته ی فیزیکیه یعنی وجود خارجی داره روی CPU
اما threads هسته ی مجازی که سیستم عامل هسته های فیزیکی رو بصورت مجازی افزایش میده تا بتونه تقسیم کار بیشتری رو انجام بده

B.J.U
31-07-2010, 11:27
یعنی به اندازه ی هسته ی واقعی قدرت داره؟

pooria.rio
31-07-2010, 11:36
نه نداره،میگم که اصلا وجود خارجی نداره،در واقع فقط یه تقسیم بندیه از طرف سیستم عامل
فک میکنم فک میکنم مثلا یه چییز مثل share گرافیک باشه که خیلی تاثیری نداره

B.J.U
31-07-2010, 12:00
مطمئنید از طرف سیسنم عامله؟
پس تکنولوژی Hyper Threading چیه؟

salarhiv
31-07-2010, 13:56
Hyper Threading زمانی جواب میده که پردازنده فضای خالی زیادی برای پردازش داره ولی هسته های فیزیکی پردازنده روی استرس قرار دارن.در اینجا این فناوری به کمک پردازنده میاد و با ساخت مجازی یک هسته ی پردازشی از مبزان فرکانس خالی ,قسمت خیلی کمی از پردازش رو به اون میده.بیشتر یه فناوری تبلیغاتیه تا کاربردی.

TREASURES
31-07-2010, 14:15
Core ها تعداد هسته های حقیقی توی پردازنده هست.
Thread هم تعداد پردازش هایی هست که هر پردازنده در یک لحظه انجام میده.
تعداد Thread با تعدا core برابر هستش مگر آنکه اون پردازنده از تکنولوژی HyperThtrad
استفاده کنه که در این صورت تعداد thread ها دو برابر تعداد Core ها هستش
یعنی در حالت معمول هر هسته فقط یک پردازش در لحظه انجام میده ولی اگر این
تکنولوژی را داشته باشه میتونه دو پردازش را همزمان انجام بده

B.J.U
31-07-2010, 20:46
ممنون
اطلاعات جالبی بود

Guts
06-08-2010, 13:21
خوب thread از 2 دید یا 2 نوع میشه بررسیش کرد، اول بگم Thread یه ابزار و مفهوم برای برنامه‌سازان و برنامه‌نویسان هست و هدف اجرای چندین عملیات یا محاسبه به‌صورت موازی یا با ترتیب زمانی هست، که بسته به محاسبات و عملیاتی که انجام میدن می‌تونن تعداد Thread رو تغییر بدن که به بهترین کارایی برسن.
حالا این‌که تعداد Threadها رو در یک برنامه چندتا در نظر بگیریم که پرفرمنس و کارایی بهینه برسیم هم، کاره برنامه‌سازه؛ حالت اول تعداد Thread رو ممکنه به تعداد Threadهای فیزیکی که همون تعداد هسته پردازنده هست در نظر بگیریم که خوب در این صورت Threadها به‌صورت موازی اجرا می‌شن و بسته به تعداد هسته شما می‌تونید عملیات موازی انجام بدین که همون بحث برنامه‌نویسی موازی پیش میاد به عنوان مثال در مبحث GPGPU‌ها (یعنی استفاده از GPU به‌عنوان CPU) به‌دلیل تعداد زیاد هسته‌ی GPUها معمولاً در برنامه‌سازی موازی و parallelism کارایی بسیار خوبی دارن و میشه تعداد بسیار زیادی محاسبات و عملیات رو در زمان واحد به‌صورت موازی برروی هسته‌های GPU اجرا کرد. یه مورد دیگه ممکنه برنامه‌ساز به دلایلی از تعداد Thread نابرابر با تعداد Thread فیزیکی یا هسته استفاده کنه که بسته به شرایط و نوع عملیاتی که می‌خواد انجام بده Thread می‌سازه که می‌تونه به بهبود کارایی برنامه کمک زیادی بکنه در این‌حالت بحث تقسیم زمانی برای محاسبه هر Thread به‌وجود میاد و مسائل دیگه.

به‌طور کلی تعداد Threadها دسته برنامه‌ساز هست می‌تونه 2 تا باشه یا به‌تعداد هسته پردازنده یا نه nتا باشه این کاملاً بسته به عملیاتی و نوع محاسباتی داره که می‌خواد انجام بده همیشه تعداد Thread بیشتر باعث بهبود پرفرمنس نمیشه و گاها ممکنه مشکلاتی به‌وجود بیاد مثلاً یکی از مشکلات متدوال در بحث برنامه‌سازی MultiThread، اشتراک و تداخل اطلاعات هست و مباحث دیگه که خیلی مربوط به این‌جا نمیشه.

MultiThread مبحث گسترده و نسبتاً پیچیده‌ایه تو بحث سیستم عامل و برنامه‌سازی مطرح میشه والان یکی از مباحث خیلی داغ در این دو زمینه هست که خیلی هم روش کارشده و داره‌میشه.

amir.7
06-08-2010, 14:04
سلام

دوستان اگه اشتباه نکنم این تکنولوژی هایپرتریدینگ بیشتر زمانی کاربرد داره که اون نرم افزاری که ما داریم ازش استفاده میکنیم بر

اساس تعداد هسته های بالا طراحی شده باشه ، بطور مثال اگه یه نرم افزار بر اساس دو یا چهار هسته طراحی شده باشه در اینصورت

یه پردازنده چهار هسته ای با 4 تا ترد نمیتونه تاثیری در اجرای بهتر اون برنامه داشته باشه ، لطفا اگه درسته یه کم در موردش

توضیح بفرمایید ، ممنون.


عشق ، هم آمدنی است و هم آموختنی .