دانش کامپیوتر

دانش کامپیوتر

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

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

مرور بخش‌ها

برنامه‌نویسی

دنیای زبان‌های کدنویسی و توسعه نرم‌افزار

مشاهده بخش

دسته‌بندی‌های مرتبط

مقالات منتخب

خطرهای داده در پایپ‌لاین: Forwarding در مقابل Stalling

هم‌پوشانی اجرای دستورات یک مشکل جدی ایجاد می‌کند وقتی یک دستور به نتیجه‌ای نیاز دارد که دستور قبلی هنوز محاسبه آن را تمام نکرده است. این مقاله توضیح می‌دهد خطرهای داده چه هستند، forwarding چگونه بیشتر آن‌ها را بدون از دست دادن هیچ کارایی حل می‌کند، و چرا برخی موقعیت‌ها همچنان نیاز به توقف پایپ‌لاین دارند.

/persian/article-fa/data-hazards-in-pipelines-forwarding-versus-stalling-fa

خطرهای کنترلی: مدیریت شاخه‌ها در یک پردازنده پایپ‌لاین‌شده

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

/persian/article-fa/control-hazards-handling-branches-in-a-pipelined-processor-fa

یک پردازنده پایپ‌لاین‌شده چگونه استثناها را مدیریت می‌کند

هر دستوری آن‌طور که انتظار می‌رود اجرا نمی‌شود — برخی شرایط خطایی مانند یک opcode نامعتبر یا سرریز محاسباتی را فعال می‌کنند که پردازنده باید با امنیت به آن‌ها پاسخ دهد. این مقاله توضیح می‌دهد استثناها چه هستند، یک پردازنده پایپ‌لاین‌شده چگونه آن‌ها را بدون خراب کردن وضعیت برنامه تشخیص داده و مدیریت می‌کند، و چرا استثناها مشابه خطرهای کنترلی رفتار می‌شوند.

/persian/article-fa/how-a-pipelined-processor-handles-exceptions-fa

موازی‌سموازی‌سازی سطح دستور: اجرای بیش از یک دستور به‌طور هم‌زمانازی سطح دستور: اجرای بیش از یک دستور به‌طور هم‌زمان

موازی‌سازی سطح دستور: اجرای بیش از یک دستور به‌طور هم‌زمان

/persian/article-fa/instruction-level-parallelism-executing-more-than-one-instruction-at-once-fa

پایپ‌لاین‌های دنیای واقعی: مقایسه ARM و Intel، و تسریع ضرب ماتریس

مفاهیم نظری پایپ‌لاین در پردازنده‌های تجاری واقعی شکل مشخصی به خود می‌گیرند، که بسته به اهداف طراحی‌شان از نظر عمق پایپ‌لاین و عرض صدور به‌طور گسترده متفاوت‌اند. این مقاله مقایسه می‌کند ARM Cortex-A53 و Intel Core i7 چگونه پایپ‌لاینینگ را متفاوت برای کارایی توان در مقابل کارایی خام پیاده‌سازی می‌کنند، سپس نشان می‌دهد موازی‌سازی سطح دستور چگونه ضرب ماتریس را در عمل تسریع می‌کند.

/persian/article-fa/real-world-pipelines-comparing-arm-and-intel-and-speeding-up-matrix-multiply-fa

تصورات غلط رایج درباره طراحی پردازنده و تصویر کلی فصل چهارم

پس از پوشش datapath ها، پایپ‌لاینینگ، خطرها، و مقایسه‌های پردازنده دنیای واقعی، وقت آن است چند تصور غلط پایدار درباره نحوه رفتار واقعی پردازنده‌ها را اصلاح کنیم. این مقاله به مغالطات رایج درباره پایپ‌لاینینگ و کارایی می‌پردازد، سپس مسیر کامل از datapath های ساده تا اجرای سوپراسکالر که در سراسر این فصل پوشش داده شد را به هم پیوند می‌دهد.

/persian/article-fa/common-misconceptions-about-processor-design-and-chapter-fours-big-picture-fa

سلسله‌مراتب حافظه: چرا کامپیوترها از چند نوع حافظه استفاده می‌کنند

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

/persian/article-fa/the-memory-hierarchy-why-computers-use-several-kinds-of-memory-fa

اصول کش: حافظه کوچک و سریع چگونه پیش‌بینی می‌کند بعداً چه چیزی نیاز است

یک کش فقط به این دلیل کار می‌کند که برنامه‌ها تمایل دارند داده یکسان یا نزدیک به هم را به‌طور تکراری دسترسی کنند نه به‌صورت تصادفی. این مقاله اصل محلیت که کش را مؤثر می‌کند را توضیح می‌دهد، یک کش مستقیم‌نگاشت‌شده چگونه داده را با استفاده از یک آدرس مکان‌یابی می‌کند، و در یک hit کش در مقابل یک miss کش چه اتفاقی می‌افتد.

/persian/article-fa/cache-fundamentals-how-small-fast-memory-predicts-what-you-need-next-fa

سنجش و بهبود کارایی کش

همه miss های کش یکسان نیستند، و درک علل آن‌ها اولین گام برای بهبود کارایی است. این مقاله توضیح می‌دهد چگونه تأثیر واقعی کارایی کش را با استفاده از نرخ miss و جریمه miss محاسبه کنیم، سه علت رایج miss های کش را دسته‌بندی می‌کند، و استراتژی‌های عملی برای کاهش هرکدام را توضیح می‌دهد.

/persian/article-fa/measuring-and-improving-cache-performance-fa

حافظه قابل‌اعتماد: سخت‌افزار چگونه خطاهای داده را تشخیص و تصحیح می‌کند

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

/persian/article-fa/dependable-memory-how-hardware-detects-and-corrects-data-errors-fa

ماشین‌های مجازی: اجرای چند سیستم مجزا روی یک کامپیوتر

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

/persian/article-fa/virtual-machines-running-multiple-isolated-systems-on-one-computer-fa

حافظه مجازی: دادن یک فضای آدرس خصوصی به هر برنامه

برنامه‌ها طوری رفتار می‌کنند که گویی به یک بلوک بزرگ و خصوصی از حافظه دسترسی دارند، حتی اگر RAM فیزیکی محدود و بین بسیاری از فرآیندهای در حال اجرا مشترک باشد. این مقاله توضیح می‌دهد حافظه مجازی چگونه این توهم را از طریق ترجمه آدرس ایجاد می‌کند، جدول‌های صفحه و TLB چگونه ترجمه را سریع می‌کنند، و وقتی داده مورد نیاز در حال حاضر در حافظه فیزیکی نباشد چه اتفاقی می‌افتد.

/persian/article-fa/virtual-memory-giving-every-program-its-own-private-address-space-fa