در دل کیبوردها چه میگذرد؟

کیبورد ساده: کیبوردهای ساده همان کیبوردهای رایجی هستند که سایت p30abzar همگی می شناسیم. ممکن است زرق و برق و آپشنهای کیبوردهای حرفهای که صد سال یک بار نیز به کار شما نمیآیند چشمتان را بگیرند اما آیا عاقلانه است که بابت چیزی که اصلا به دردمان نمیخورد پولی بدهیم؟ شستن دو دسته لباس با این روش همان ۴ ساعت طول میکشد؛ اما اگر شستن دسته دوم لباسها را همزمان با خشک شدن دسته اول آنها شروع کنید، دو دسته لباس را میتوانید ظرف مدت سه ساعت هم بشویید و هم خشک کنید. این برنامه، اساسا از سی پی یو برای یافتن اعداد اول مرسن (Mersenne) استفاده میکند. برای کار با ماشینحسابهای سادهای که معمولاً دانش آموزان دوره متوسطه اول یا همان دانش آموزان راهنمایی از آنها استفاده میکنند، تنها کافی است دو عدد را وارد و با زدن دکمههای مربوط به عملیات مختلف، محاسبات را با ماشینحساب انجام دهید و نتیجه را مشاهده کنید.

که در نتیجه حالا با چهار هسته همزمان میتونین رو چهار تا دستوری که شما دادین مثل همین فتوشاپ و کروم و … خمیر سیلیکون رو به اندازه یه نخود بزنید روی سی پی یو و بعدش با یه چیزی شبیه به کارت ، روی سی پی یو بمالید . در ادامه بیشتر با بخشهای مختلف این نقشه آشنا میشویم. پیشبینیکنندههای انشعاب مفهوم بسیار پیچیدهای هستند و توضیح بیشتر در مورد آنها در این مقاله نمیگنجد؛ اما اگر بخواهیم تعریفی کاملاً ساده و ابتدایی از آنها ارائه دهیم، باید بگوییم این پیشبینیکنندهها وضعیت دستورالعملهای انشعاب قبلی را بررسی و کنترل میکنند تا ببینند سیپییو در هنگام پردازش دستورالعملها با دستورالعملهای انشعاب مواجه خواهد شد یا خیر.

واحدهای محاسبه و منطق علاوه بر انجام عملیات محاسباتی ساده و ابتدایی میتوانند عملیات بیتی (عملیاتی که روی تکتک بیتهای یک عدد دودوبی یا همان مقدار 0 و 1 یا هرگونه الگوی بیتی دیگری انجام میشود) مثل عملیات AND، OR، NOT و XOR را نیز انجام دهند. علاوه بر این ها، لپ تاپ های دارای سی پی یو Core i3، جز لپ تاپ هایی با قیمت پایین محسوب میشوند و در دسته بندی لپ تاپ های اقتصادی قرار دارند تا تمامی کاربران بتوانند با هر میانگین بودجه مالی توانایی خرید لپ تاپ داشته باشند. هر کسی که قرار است با کیبورد کار کند باید با تک تک اجزای ان اشنایی داشته باشد . وجود فضای کافی روی سطح پردازنده از یک سو باعث میشود دمای تمام سطح کاملاً به هیت سینک منتقل شود و از سوی دیگر فضای لازم برای نصب پینهای بیشتر بهمنظور برقراری ارتباط CPU با سایر قطعات را نیز فراهم میکند. تصویر زیر تصویر یک سیپییوی اینتل متعلق به چند سال پیش است همانطور که میبینید بخش عمدهای از فضای تراشه سیپییو توسط هستهها و حافظههای کش آن اشغال شده است؛ اما در تصویر زیر این تصویر که ساختار یک سیپییوی بسیار جدیدتر AMD در آن به تصویر کشیده شده است، به وضوح میبینید که فضای اشغالشده توسط سایر قطعات CPU در مقایسه با فضای اشغالشده توسط هستههای آن، بسیار بیشتر است.

پایه سیلیکونی CPU تنها ۲۰ درصد از فضای سطح فیزیکی آن را اشغال میکند. با پیدایش شتابدهندهها و استفاده از آنها در CPU، یک هسته CPU فضای بسیار کمی از کل تراشه را اشغال میکند. هر یک از این سطوح حافظه نسبت به سطح قبلی خود ظرفیت بیشتری دارند؛ اما در مقابل جستجو در آنها برای یافتن دادههای موردنظر بیشتر طول میکشد؛ زیرا سیپییو باید برای یافتن دادههای موردنظرش، تمام فضای حافظه را جستجو کند. هر یک از دستورالعملها دربردارنده بیتهای خاصی از دادهها تحت عنوان کد دستور یا آپ کد (Operation Code یا بهاختصار OPcode هستند که اطلاعات لازم برای تفسیر دستورالعمل را در اختیار CPU قرار میدهند. رجیستر داخلی که دربردارنده موقعیت دستورالعمل بعدی لازمالاجرا توسط CPU در حافظه سیستم است، همبشه در CPU حفظ می شود. این دستورالعملها در مرحله بعدی به جدول نام مستعار رجیستر (Register Alias Table) و ROB و ایستگاه رزرو (Reservation Station) منتقل میشود. پس از انجام. پس از انجام این عملیات، نتیجه درصورتیکه مثبت باشد باید در آدرس حافظه ۴۳۲۱ ذخیره و درصورتیکه منفی باشد، باید در آدرس حافظه ۸۷۶۵ ذخیره شود. معماریهای مجموعه دستورالعملی متداولترین نوع دستورالعملها مثل بارگذاری، ذخیره کردن، اضافه کردن و تفریق و سایر موارد مشابه را به اشتراک میگذارند؛ اما بسیاری از دستورالعملهای خاص تنها مختص یک معماری مجموعه دستورالعملی خاص هستند.

همچنین ممکن است نیازمند محاسبه آفسِت یا offset (منظور از آفست فاصله اطلاعات یا یک دستور از ابتدای سگمنت، ناحیهای از حافظه، است) برای اضافه کردن آن به شمارنده برنامهای باشد که دستورالعمل انشعاب به آن نیاز دارد. هر یک از انواع طراحیهای بهکارگرفتهشده برای سیپییوها منحصربهفرد هستند؛ اما یکی از نمونه روشهای تقسیم مراحل به این شرح است: ۴ سیکل برای دریافت و بازیابی دستورالعملها از حافظه، ۶ سیکل برای رمزگشایی، سه سیکل برای اجرا و ۷ سیکل هم برای بهروزرسانی نتایجی که به حافظه سیپییو برگردانده میشوند. در بخش قبلی با سه نوع دستورالعمل اصلی بر سیپییو یعنی دستورالعملهای مرتبط با حافظه، دستورالعملهای حسابی یا محاسباتی و دستورالعملهای انشعاب تا حدودی آشنا شدیم. بنابراین همیشه باید مراقب آنچه که در پس زمینه سیستم رخ میدهد باشید. مثلا اگر عادت کرده باشید کلید های حرکتی و اعداد را در سمت راست کیبورد داشته باشید، حتما به تصویر کی بورد دقت کنید زیرا برخی مدلها به صورت فشرده تر طراحی شده اند و برای افرادی که قصد دارند کی بورد استانداردی داشته باشند چندان مناسب نمی باشد. اگر CPU تا سیکل ۱۰ تشخیص ندهد که دستورالعملی که در حال اجرای آن است، یک دستورالعمل انشعاب است، ۹ دستورالعمل قبلی فاقد اعتبار خواهند شد؛ البته برای پیشگیری از مشکل هم یک راهحل کاربردی وجود دارد.

توشیبا حتی اگر نتواند که لپ تاپهای خود را به همان محبوبیت قبلی برساند، هنوز هم نام بزرگی در صنعت تکنولوژی محسوب می شود و چیزهای زیادی برای ارائه کردن دارد. اکنون نوبت توضیح در مورد دستورالعملهای انشعاب است. تاکنون تنها در مورد طراحی معماری CPU توضیح دادهایم؛ زیرا بخش عمدهای از پیچیدگی CPU مربوط به همین قسمت از طراحی آن است. یکی دیگر از ویژگیهای خاص سیپییوها که حتماً باید به آن اشاره کنیم، وجود مدارهای شتابدهنده وظایف خاص در سیپییو است که شتابدهندهها (Accelerators) نام دارند. معماریهای دیگری نیز برای ساخت CPU وجود دارد که از میان آنها میتوان به MIPS و RISC-V و PowerPC اشاره کرد؛ اما این معماریها در موارد معدودی و تنها برای ساخت برخی از پردازندهها استفاده میشوند.

در واقع می توان گفت که اصلی ترین بخش کامپیوتر مادربرد است و مهم ترین کاربرد آن نیز کنترل پردازشگر مرکزی و ایجاد ارتباط بین آن و سایر بخش های دیگر می باشد. در حدود نیمی از پینهای CPU برای انتقال جریان برق موردنیاز قطعات و سایر پینها برای برقراری ارتباط CPU با سایر قطعات ازجمله رم، چیپست، هارد سیستم، دستگاههای متصل شده به مادربرد از طریق رابط اتصال PCI Express و سایر دستگاهها استفاده میشود. در هر دو حالت فراموش نکنید که کابل فن خنک کنده را در پین 4 تایی مربوطه روی مادربورد وصل کنید. این موضوع به معنای این است که با وجود اینکه یک دستورالعمل از حافظه دریافت شده است، واحدهای محاسبه و منطق هنوز هیچ فعالیتی نمیکنند؛ بنابراین برای به حداکثر رساندن راندمان CPU، هر یک از مراحل چرخه دستورالعمل باید طی یک فرایند پردازشی که لولهکشی نام دارد، به مراحل کوچکتر تقسیم شود. برای انتقال داده موردنیاز سیپییو به سطوح بالاتر حافظههای سیستم مثل کش L1 و L2 مراحل زیادی باید طی شود؛ اما در مقابل دسترسی سریع CPU به دادههای موردنیازش در آینده تضمین میشود. با توجه به نمودار زیر نسل ششم و هفتم دیگر پایین ترین سی پی های نسل i3 موجود در لپ تاپ های موجود در بازار است.

کیبورد بی سیم لاجیتک مدل K360 با حروف فارسی: این کیبورد بیسیم برای مصارف روزمره و اداری طراحی شده است و با دو باتری نیم قلمی ساعتها برایتان کار میکند. موس بی سیم inet مدل G-217 محصولی است که از طریق پورت USB به کامپیوتر شما متصل میشود. سی پی یو یا به اصطلاح فارسی پردازنده، واحد پردازش مرکزی کامپیوتر است. TBL یا بافر پهلو – نگر ترجمه، به CPU کمک میکند مکانی از حافظه را که میتواند دستورالعمل موردنیاز خود را در آنجا پیدا کند، بهدرستی تشخیص دهد. درصورتیکه CPU تشخیص دهند دستورالعمل بعدی نیازمند دادهای است که در آن لحظه آماده نیست میتواند ترتیب دستورالعملهای در صف انتظار را تغییر دهد و دستورالعملی را قرار است کمی بعد اجرا شود و در صف قرار دارد، انتخاب کند.

الگویی که اجرای خارج از ترتیب (out-of-order execution) نام دارد، برای به حداقل رساندن زمان غیرفعال بودن سیپییو (بیکار بودن آن) و انتظار برای اتمام پردازش دستورالعملهای در حال اجرا استفاده میشود. این نرم افزار را می توان در سیستم ویندوز با .NET Framework نسخه 2.0 به بالا و روی سیستم های لینوکس که دارای Mono با WinForms هستند، اجرا کرد. در ادامه پس از این که توضیح میدهیم چرا کلیدهای میانبر مفید هستند، نخست نگاهی به کلیدهای میانبر سراسری میاندازیم که کارکردهای یکسانی را در تقریباً همه برنامههای ویندوز دارند. قیمت انواع موس کامپیوتر برای این دسته افراد اصلاً مهم نیست و فقط کیفیت آن را در نظر میگیرند. ماوس های مخصوص بازی که به سنسورهای لیزری مجهز شده اند به مراتب از ماوس های اپتیکال، دقت عمل بیشتری دارند و می توانند جزئیات هرگونه حرکتی را با سرعت بیشتری منتقل کنند اما خوب نباید از قیمت بالای آنان در برابر ماوس های اپتیکالی نیز غافل شویم که سبب گشته همچنان طرفداران این نوع از ماوس ها؛ یعنی ماوس های گیمینگ اپتیکالی بیشتر از ماوس های لیزری باشند. CPU پس از جستجوی داده موردنظر خود، آن را به سطوح بالاتر سلسلهمراتب حافظه انتقال میدهد تا در صورتی که در آینده به آن نیاز پیدا کرد، دسترسی سریعتر و راحتتری به آن داشته باشد.

Pointer Trails باعث می شود در زمان حرکت دادن موس از آن رد کمرنگی باقی بماند و پیدا کردن آن را ساده تر کند. ممکن است سیپییو پس از انجام محاسبه به این نتیجه برسد که اگر نتیجه منفی بود، باید ۱۹ محاسبه پس از آن را رد کرد و به سراغ بیستمین محاسبه برود. طبیعتاً ممکن است برای اجرای دستورالعملهای مختلف مراحل و مسیرهای متفاوتی استفاده شوند و بخشهای مختلفی درگیر شوند؛ اما در این مقاله بزرگترین و مهمترین بخشها را بررسی میکنیم در ابتدا ابتداییترین طراحی یک CPU تکهستهای را بررسی میکنیم و سپس بهتدریج سراغ طراحیهای پیچیدهترسیپییوهای مدرن میرویم. زمانی که یک نتیجه پیشبینی انشعاب کاملاً مشخص شد (مرحله مربوط به لولهکشی را کامل کند) شمارنده برنامه آپدیت خواهد شد و CPU سراغ اجرای دستورالعمل بعدی میرود؛ اما در صورتی که دستورالعمل بهدرستی پیشبینی نشود، CPU اجرای تمام دستورالعملهایی را که آن ها پس از آن دستورالعمل انشعابی که بهاشتباه پیشبینی داده شده است، برای اجرا دریافت کرده است، رها میکند واجرای دستورالعملها را از جایی که دستورالعمل انشعاب بهدرستی تشخیص داده شده است، شروع میکند. درصورتیکه CPU تشخیص دهند دستورالعمل بعدی نیازمند دادهای است که در کش وجود ندارد، به حافظه رم مراجعه میکند و پس از دریافت داده موردنظرش، آن داده را در کش خود ذخیره میکند.

برای مثال در اکثر لپ تاپ های جدید تر از یک درایو 2.5 اینچی با ضخامت 7 میلی متر استفاده می شود. این بخش را ابتدا با توضیح در مورد دستورالعملهای حسابی شروع میکنیم؛ زیرا فهم آن نسبت به دستورالعمل دیگر سادهتر است. برای مثال گزینههای زیادی در میان مادربوردهای Mini-ITX وجود دارند که از کارتهای گرافیکی پیشرفته و حجم بالای رم پشتیبانی میکنند. هرچند که این کلیدها با برنامه های قدیمی داس، مصارف زیادی داشتند اما امروزه از رونق افتاده اند و چندان عمومیت ندارند. برای اینکه بهتر متوجه توضیحات بیانشده بشوید، اجازه دهید ساختار سیپییوی اینتل Core 2 متعلق به سال ۲۰۰۶ را بهصورت ساده و مختصر بررسی کنیم؛ البته برخی از قطعات مورداستفاده در این CPU منسوخ و از رده خارج شدهاند؛ اما جزئیات طراحیهای جدیدتر در دست نیست. اکنون که با سه نوع نوع اصلی دستورالعملهای سیپییو کاملاً آشنا شدیم، اجازه دهید کمی هم در مورد برخی از ویژگیهای مدرنتر CPU صحبت کنیم. سیپییو در واقع آن بخش از رایانه است که اقدامات، محاسبات و اجرای برنامهها را بر عهده دارد. به همین دلیل ممکن است در برخی از مواقع برخی از هستهها بهشدت کار کنند و در مقابل سایر هستهها تقریباً هیچ فعالیتی نداشته باشند.

در حقیقت معماری مجموعه دستورالعمل وظایفی مثل تعیین دستورالعملهایی که CPU میتواند آنها را پردازش کند، تعیین چگونگی نحوه برقراری ارتباط CPU با حافظه و تراشهها و همچنین چگونگی تقسیم وظایف بین بخشهای مختلف درگیر با مراحل مختلف پردازش اطلاعات و سایر موارد را بر عهده دارد. معماری ۳۲ بیتی بهشدت پیچیده و متراکم است؛ بنابراین برای رمزگشایی آن باید مراحل زیادی طی شود. بهرهمندی از کلاکها برای کسب اطمینان از اینکه هر یک از مراحل لولهکشی پیشرفت لازم را داشتهاند و اینکه تمام مقادیر در زمان درست نمایش داده میشوند، ضروری است. در ضمن زمانی که تعداد هستههای یک CPU افزایش مییابد، پیشبینی صحیح دستورالعملهای انشعاب نیز اهمیت بسیار زیادی پیدا میکند؛ زیرا هرچقدر تعداد هستههای پردازش کننده دستورالعملهای مختلف بهصورت همزمان بیشتر شود، احتمال اینکه یکی از آنها درحال پردازش دستورالعمل انشعاب باشد، نیز بیشتر میشود؛ بنابراین ممکن است جریان دستورالعمل هر لحظه تغییر کند. شتابدهندهها در حقیقت مدارهایی هستند که تنها وظیفه آنها، انجام یک وظیفه جزئی و کوچک در سریعترین زمان ممکن است. برای بررسی بخشهای اصلی CPU، مراحلی را که از هنگام اعمال یک دستورالعمل تا اجرای آن طی میشوند، بررسی میکنیم. در حقیقت CPU با بهرهمندی از این تکنیک میتواند سریعتر به دستورالعملهای ذخیرهشده در حافظه دسترسی پیدا کند تا به دادههای موردنیاز خود قبل از اینکه به آنها نیاز پیدا کند، دسترسی پیدا کند.