رشته یا Thread چیست و چه تفاوتی با هسته پردازنده دارد؟
چنانچه از علاقهمندان دنیای فناوری باشید، به احتمال زیاد درمورد رایانه و قطعات آن اطلاعات پایهای دارید. برای مثال میدانید که پردازنده چه کارهایی انجام میدهد و نحوه کارکرد آن چگونه میباشد. یا ممکن است میدانید که وجود رشتههای (تردها) بیشتر به معنای کارکرد بهتر میباشد.
اما آیا اطلاعات بیشتری از این بخش در رایانه دارید؟ آیا میدانید تردها دقیقا چه میباشند و اصلا چرا یکی از مهمترین فاکتورها قلمداد میشوند. در این مقاله قرار است نگاهی دقیقتر به رشتهها داشته باشیم و درمورد این موضوع به تفصیل صحبت کنیم. ضمنا به شیوه دقیق توضیح خواهیم داد که آنها دقیقا چه کاری انجام میدهند. پس چنانچه به اضافه کردن اطلاعات خود در این زمینه علاقهمند هستید با زومیت همراه شده و این مطلب را تا انتها مطالعه کنید.
رشته یا Thread چیست
همه واحدهای پردازش مرکزی حاوی ترد یا رشته میباشند، اما این مسئله دقیقاً به چه معنا است؟ به زبان ساده، رشتهها بخشی میباشند که به پردازنده دستگاه شما اجازه میدهند چندین کار را مقارن انجام دهد. ازاین رو چنانچه میخواهید چندین پروسه بسیار فشرده را اجرا کنید، به یک پردازنده با تعداد زیادی رشته نیاز دارید.
تعداد رشتههای دستگاه شما، ارتباط مستقیمی به تعداد هستههای پردازنده دارد. هر هسته پردازنده میتواند دو رشته داشته باشد. ازاین رو پردازندهای با ۲ هسته ۸ چهار رشته و پردازندهای با ۸ هسته حاوی ۱۶ رشته خواهد بود. ضمنا پردازندهای با ۲۴ هسته (بله، چنین پردازندهای موجود است)، ۴۸ رشته خواهد داشت.تردها به بالاترین سطح کد اجرا شده از طریق پردازنده اشاره دارند، ازاین رو پردازنده شما میتواند با تعداد زیادی رشته چندین کار را مقارن انجام دهد. همه CPU ها حاوی رشتههای فعال میباشند و هر پروسهی که در رایانه شما انجام میشود حداقل به یک رشته نیاز دارد.
تردها برای کارکرد رایانه مهم میباشند زیرا تعداد کارهایی که این دستگاه میتواند در هر زمان انجام دهد را تعیین میکنند. در ادامه به جزئیات مهمتری درمورد رشتهها خواهیم پرداخت و میگوییم چرا یکی از مهمترین بخشهای رایانه میباشند.
پیش از اینکه بتوانید شیوه کارکرد رشتهها را دقیقا متوجه شوید، باید درک اولیهای از پردازنده داشته باشید. نمیتوان کارکرد یکی را بدون درک قابلیتهای دیگری فهمید.
واحد پردازش مرکزی یا CPU هسته اساسی هر تلفن هوشمند، تبلت و رایانه میباشد. این یک جزء مهم است که نحوه کارکرد رایانه شما را تعیین میکند. پردازنده هسته اساسی کامپیوتر است و دستگاه شما بدون آن نمیتواند کار کند. گاهی به پردازنده، مغز رایانه نیز میگویند. CPU روی مادربرد جای دارد (که به آن مدار اساسی نیز نقل است) و جزء جداگانهای از قطعه حافظه میباشد.
پردازنده روی بخش حافظه که تمام دادهها و اطلاعات را در سیستم شما ذخیره میکند، کار خود را انجام میدهد. حافظه و CPU از کارت گرافیک دستگاه جدا میباشند. تنها کارکرد کارت گرافیک این است که دادهها را گرفته و آنها را به تصاویری که در مانیتور خود میبینید تبدیل کند.
با پیشرفت سالیانه فناوری، شاهد کوچکتر شدن پردازندهها هستیم. ضمنا آنها سریعتر از پیوسته وظایف خود را انجام میدهند. چنانچه کمی درمورد قانون مور (Moore’s Law) اطلاعات داشته باشید، این کارکرد سریعتر را درک خواهید کرد.
قانون مور نام خود را از بنیانگذار اینتل گوردون مور گرفته میباشد. این ایده مور است که تعداد ترانزیستورها در یک مدار مجتمع هر دو سال دو برابر شود. چنانچه به داشتن اطلاعات بیشتر درمورد قانون مور علاقهمند هستید میتوانید مقاله جامع قانون مور را در زومیت مطالعه کنید.
کاربرد Thread
تردها به بخش مهمی از محاسبات بدل شدهاند زیرا به پردازنده اجازه میدهند مقارن چندین کار را انجام دهد تا کارها سریعتر انجام شود. ضمنا این بخش باعث میشود رایانه توانایی انجام چندین کار بهصورت مقارن را داشته باشد. درواقع به دلیل وجود رشتهها در سیستم است که شما میتوانید مقارن با مرور در اینترنت به موسیقی گوش دهید.
تفاوت رشته های نرمافزاری و سختافزاری
واژه ترد یا رشته به دو مورد اشاره دارد که از لحاظ کارکردی تقریبا با یکدیگر مانند میباشند.
رایجترین کاربرد این اصطلاح به تردهای نرمافزاری اشاره میکند. در این جا ترد به توالی آیین نامههایی نقل است که نرمافزار برای کارهای مختلف به آنها نیاز دارد. درست است که این مسئله نیز مهم است اما باید در مقاله دیگری به تفصیل درمورد آن صحبت کرد.
اما در این میان، واژه ترد میان مشخصات پردازندهها در سایتهایی مانند اینتل و ایامدی دیده میشود که به رشتههای سختافزاری اشاره دارد. در این مقاله رشتههای سختافزاری مورد بررسی قرار میگیرند.
تفاوت Thread و Core در CPU
سوالی که در نهایت نیت پاسخ دادن آن را داریم تفاوت میان رشته یا ترد و هسته (Core) میباشد. در این بخش با استفاده از یک جدول تفاوتهای این دو را مشخص میکنیم.
پارامترها | هسته | رشته |
---|---|---|
مفهوم | هسته CPU یک جزء سختافزاری فیزیکی میباشد. | ترد یک جزء مجازی است که برای مدیریت وظایف استفاده میشود. |
پروسه | CPU فقط زمانی به رشته دوم دسترسی پیدا میکند که اطلاعات ارسال شده از طریق رشته اول قابل اطمینان نباشند. | روشهای مختلفی برای همکاری میان CPU و چندین رشته وجود دارد. |
گسترش | میتوان از راه عملیات ترکیبی به آن دسترسی پیدا کرد. | با استفاده از چندین پردازنده CPU انجام میشود. |
مزیت | CPU میزان کار انجام شده به صورت مقارن را افزایش میدهند. | تردها هزینه استقرار را به حداقل رسانده و پاسخ گرافیکی را افزایش میدهند. |
واحدهای پردازش | برای کارکرد صحیح به یک واحد پردازش واحد نیاز دارد. | برای انجام هر وظیفه نیاز به چندین واحد پردازش دارد. |
محدودیتها | با افزایش کار، انرژی بیشتری مصرف میکند. | هنگام انجام چندین پروسه به شیوه مقارن، میتوان هماهنگی بین سیستمعامل، هسته و رشتهها را تجربه کرد. |
کار پردازنده یا CPU چیست
همانطور که در گذشتهً گفتیم، پردازنده مغز کامپیوتر شما میباشد. این قطعه دادهها را از یک برنامه یا اپلیکیشن خاص میگیرد، یک سری محاسبات را روی آنها انجام میدهد و در نهایت فرمان را اجرا میکند. پردازنده یک چرخه سه قسمتی را انجام میدهد که به آن حلقه تکراری واکشی، رمزگشایی و اجرا میگویند.
در مرحله اول، CPU آیین نامهها را از حافظه سیستم شما دریافت میکند. هنگامی که این بخش آیین نامههای راجع به حافظه را دریافت کرد، وارد مرحله دوم میشود. در مرحله دوم است که آیین نامهها را رمزگشایی میکند. هنگامی که دستگاه آیین نامهها را رمزگشایی کرد، به مرحله سوم یعنی اجرا میرود.
اطلاعات رمزگشایی شده از CPU عبور میکنند تا به واحدهایی که باید کارکرد مورد نیاز را انجام دهند، برسند. پردازنده در پروسه رمزگشایی، معادلات ریاضی خاصی را انجام میدهد تا سیگنال مورد نیاز را به سیستم شما ارسال کند.
این چرخه بارها و بارها برای هر عمل و فرمان انجام میشود. در فناوری CPU پیشرفته، اجزای پردازنده شما دیگر همه کارها را خودشان انجام نمیدهند، اما فعلا یکی از قطعههای مورد نیاز هر سیستم میباشند.
CPU بخش مهمی از هر سیستم را تشکیل میدهد و دوش به دوش رشتهها کار میکند. پردازندههای مختلف بنا به کارکردشان حاوی تعداد رشتههای متفاوتی میباشند که میتوانند کارکرد رایانه شما را محدود کرده یا گسترش دهند.
نقش رشته یا Thread در CPU
برای درک بهتر موضوع اساسی این مقاله، دانستن نحوه همکاری تردها و پردازندهها موثر میباشد.
فرض کنید که دستوری را به سیستم دادهاید. پردازنده شما پروسه واکشی، رمزگشایی و اجرا را برای دستیابی به آن فرمان آغاز میکند. ترد دنبالهای از آیین نامهها است که به رایانه شما میگوید برای انجام آن فرمان باید چه کار کند. پردازندهها نیز آیین نامههایی که برای اجرای فرمانهایی خاص به فرانت اند ارسال شدهاند را اجرا میکنند. سپس پردازندهها و رشتهها برای رسیدن به انگیزه اساسی سیستم تلاش میکنند.
آنها برای باز کردن برنامه، استفاده از اپلیکیشن، پخش فیلم و انجام هر کاری که از رایانه خود میخواهید با یکدیگر کار میکنند. وقتی صحبت از CPUها و رشتههایی میشود که در کنار هم کار میکنند، اهمیت ندارد که آیین نامهها از کجا صادر میشوند؛ پردازنده شما است که تعیین میکند کدام پردازش از طریق CPU و کدام یک از طریق ترد انجام شود.
هر بار که پردازنده شما یک رشته جدید بارگذاری میکند، ترد اساسی در حافظه ذخیره میشود. هنگامی که آیین نامههای آن از چرخه حذف میشوند، یک رشته جدید شروع و اولین مرحله از مراحل واکشی، رمزگشایی و اجرا آغاز میشود.
کلام آخر
کاربران ماز طریق معمولا اطلاعات زیادی درمورد تردها ندارند و اهمیتی نیز به آنها نمیدهند. چنانچه به شیوه عمومی با رایانه سروکار دارید، مشکلی ندارد که درمورد این موضوعات اطلاعاتی نداشته باشید. اما چنانچه میخواهید نحوه کارکرد رایانه خود را بدانید و بفهمید، درک رشتهها و ارتباط آنها با پردازندهها مهم میباشد.
برای درک تردها، نخست باید بدانید CPU چیست و چه کار میکند. ضمنا به درک چرخه واکشی، رمزگشایی و اجرا نیاز دارید. اما مهمترین چیزی که باید بدانید این است که رشتهها بر سرعت و کارآیی رایانه شما در اجرای مقارن چندین آیین نامه تأثیر میگذارند.
در ویندوز، همه رشتهها به شیوه فعال کار میکنند. تعدادی از پردازندهها حاوی رشتههای متعدد با فناوری فراریسمانی میباشند، به همین دلیل کارکردی مانند دو برابر تعداد پردازندهها را شبیهسازی میکنند. با داشتن تعداد زیادی رشته، حتی یک پردازنده تکی نیز میتواند کارهای مختلفی را مقارن انجام دهد.
پردازنده و تعداد رشتههای مناسب عناصر مهمی در کارکرد رایانه میباشند
برای داشتن یک سیستم کاربردی، به CPU و تعداد رشتههای مناسب نیاز دارید. این دو، عناصر مهمی میباشند که به رایانه اجازه کار میدهند. شما برای پردازش سایر قطعات و ارسال آیین نامه به قطعههای دیگر رایانه خود به CPU احتیاج دارید. ضمنا به تردها نیاز است تا کارکردهای زیادی را مقارن انجام دهند و بدین شکل سیستم با سرعت بیشتری کار کند. بدون این دو فاکتور، هیچ کارکردی در سیستم خود مشاهده نخواهید کرد.