Integer ارسال شده در January 22 اشتراک گذاری ارسال شده در January 22 In the name of God سلاممممممممممم می عرضم خدمت تک تک شما دوستان عزیز امیدوارم که حالتون خوب باشه! خب در این تاپیک یه موضوع فوق جذاب رو میخوایم باهم دنبال کنیم! چطوری میتونیم Ryzen AI Max و NVIDIA RTX 5080 و کلا سخت افزار های خودمون رو بسازیم! آماده اید بریم؟ پس بریم! ۱- مقدمات و اصطلاحات قبل از شروع, باید یک سری مقدمات و اصطلاحات رو بررسی کنیم زبان های توصیف سخت افزار: به زبان ساده، اینا زبانهای برنامهنویسی مخصوصِ سختافزار هستن همونطور که با Python یا C++ نرمافزار مینویسید, با این زبانها (مثل Verilog و VHDL) رفتار و ساختار تراشهها و مدارها رو توصیف میکنید تفاوتش اینه که اینجا دارید مدارهایی رو توصیف میکنید که همزمان کار میکنن، نه این که خط به خط اجرا بشن بورد: همون تختهی سبز یا قهوهای رنگیه که تو همهی دستگاههای الکترونیکی میبینید کارش اینه که همهی قطعات رو به هم وصل کنه تا با هم حرف بزنن و یه سیستم واحد رو تشکیل بدن مثلاً Kingston Server Premier KSM512R5/52MEI, خودش یه بورد کاملِ کوچیکه که چند تا تراشهی حافظه و مدارهای کنترلی روش سوارن تراشه: اون مربع یا مستطیل سیاه رنگیه که روی بوردها میچسبونن مغز اصلی هر دستگاهِ الکترونیکیه ما با همون زبانهای HDL میایم و رفتار این تراشه رو طراحی میکنیم FPGA: اینا خیلی باحالن! FPGA ها تراشههای جادویی هستن که بعد از تولید هم میتونن دوباره برنامهریزی بشن تصور کنید یه زمین خالیِ بازی هست که میتونید توش با لگو (همون کد HDL) هر مداری که دلتون خواست بسازید یه پردازنده, یه مبدل تصویر, یا حتی بخشی از یه کارت گرافیک ASIC: اینا دیگه خیلی حرفهایتر و هزینهبرترن ... توی ASIC, شما طراحی نهاییتون رو (که با HDL نوشتید) برای همیشه داخل سیلیکون میریزید و یه تراشهی ثابت و اختصاصی میسازید دیگه هیچ تغییری نمیشه توش داد, اما در عوض, سرعتش خیلی بالا و مصرف برقش خیلی پایینه, برای تولید انبوه (مثل تراشههای گوشیهای هوشمند, کارتهای گرافیک خیلی قوی, یا تراشههای مخصوص هوش مصنوعی) عالین مدار: در سادهترین حالت, مدار از چندتا قطعه (مثل لامپ، سیم و باتری) تشکیل میشه که مسیر بستهای برای عبور جریان برق درست میکنن تا کاری انجام بدن (مثلاً روشن شدن لامپ) تو دنیای دیجیتال, مدارها از ترانزیستورها و گیتهای منطقی تشکیل میشن و کارهایی مثل محاسبه, ذخیرهسازی و تصمیمگیری رو انجام میدن ۲- حالا زبان های HDL رو لیست میکنی؟ بله! در زیر, لیست جامع ای زبان های HDL + کارکردشون وجود داره برای شما عزیزان Verilog: یه زبان که به نظر خود من اگر Python رو با C ترکیب کنی, Verilog حاصل بدست میادش (Python + C = Verilog) استاندارد صنعت, سلطه ی بازار کیا ازش استفاده میکنن؟ طراحی بخشهای پردازشی (CU) در کارتهای گرافیک AMD Radeon, تراشههای شبکه Broadcom SystemVerilog: یه زبان که وقتی به وجود میاد که Verilog رو با C++ جمع بزنی, حاصل میشه SystemVerilog (که دقیقا همون Verilog هستش اما با قابلیت های OOP و ...) استاندارد صنعت, قدرتمند کیا ازش استفاده میکنن؟ هسته اصلی محیطهای تست (UVM) در شرکتهایی مانند NVIDIA و Intel برای تست تراشههای پیچیده قبل از ساخت VHDL: اوه اوه, این ادمین دنیای HDL هاست! سخت گیر! به شدت حساس! یه و جا بزاری کامپیوترت رو کرش میکنه استاندارد صنعت, به شدت قدرتمند, سخت گیر کیا ازش استفاده میکنن؟ سیستمهای کنترل پرواز در هواپیماهای Airbus و Boeing, تجهیزات آزمایشگاهی پیشرفته مانند شتابدهندههای سرن (CERN) SystemC: یه کتابخونه ی C++ سطح سیستم هستش که برای مدل سازی و شبیه سازی هستش کیا ازش استفاده میکنن؟ مدلسازی اولیه معماری SoC (سیستم روی یک تراشه), شبیهسازی تعامل سختافزار و نرمافزار Chisel: یه زبان خیلی جوون و Scala-based! خیلی پیشرفته و خفن, به Verilog تبدیل میشه کیا ازش استفاده میکنن؟ طراحی سریع و تولید خانوادهای از هستههای پردازنده RISC-V توسط استارتاپ SiFive و در پروژههای دانشگاه برکلی Bluespec: یه ترکیبی از Chisel + VHDL! قوانین سختگیرانه, زبان سطح بالا و قدرتمند! کیا ازش استفاده میکنن؟ طراحی سوئیچهای شبکه پرسرعت و پروتکلهای ارتباطی پیچیده MyHDL: یه زبان خفن و جذاب بر پایه ی پایتون! از MyHDL به VHDL & Verilog تبدیل میشه, قدرتمند, ساده کیا ازش استفاده میکنن؟ نمونهسازی اولیه الگوریتمهای پردازش سیگنال و یادگیری ماشین برای پیادهسازی روی FPGA البته یک سری زبان های دیگه هم هستن اختصاصی شرکت های بزرگ (AHDL (Altera Intel), Intel HLS (Intel). Xilinx Vitis HLS (Xilinx AMD), EDA Vendor Languages (شرکت های EDA)) ولی خب من خودم بیشتر از SystemVerilog, Chisel و Bluespec استفاده میکنم یه ترکیب جانانه و خیلی خفن هستن روی هم دیگه! ۳- پس C, C++, ASM, و... اینا چی میگن؟ همونطوری که میدونید, به خودی خود مثلا کارت گرافیکتون یا پردازندتون فقط یه عضو جا گیر توی مادربرد هستش برای اینکه نرم افزار ها باهاشون ارتباط برقرار کنن, نیاز به درایور هستش مثلا درایور کارت های گرافیک GeForce یا Radeon رو دیدید بدیهیا! اینا دقیقا با سی, سی پلاس پلاس و یا اسمبلی نوشته میشن به طور کلی, زبان های نرم افزاری سطح پایین (مثل همین سی, سی پلاس پلاس و اسمبلی) به عنوان رابط با نرم افزار ها استفاده میشن مثلا برای اینکه بازی هایی که با موتور RAGE (موتور اختصاصی راک استار, GTA SA, GTA V و... همه با این ساخته شدن) ساخته میشن بتونن روی کارت گرافیک RTX 5080 شما Draw بشن, باید یه درایوری باشه که کد ها و API های اونارو تبدیل به API ها و کلا این چیز میز های ISA اون مثلا کارت گرافیک کنه برای همه اجزای سخت افزار همینه, حتی Wireless Network Card هم برای ارسال/دریافت پکت نیاز داره به درایور تا برنامه ها باهاش ارتباط برقرار کنن خب دیگه, خلاصه ی مطلب همینا بودن اگر آموزش های جامع تری رو خواستید... توی Dev.to بنده خب هستش اگر خواستید میتونید یه نگاه بندازید بهشون خب دیگه, امیدوارم سرتون رو درد نیاورده باشم خدانگهدارتون! NO Thing to DO :My Account :My Brothers لینک به دیدگاه https://forum.arsacia.ir/topic/100817-%DA%86%D8%B7%D9%88%D8%B1-ryzen-ai-max-%D9%88-nvidia-rtx-5080-%D8%AE%D9%88%D8%AF%D9%85%D9%88%D9%86-%D8%B1%D9%88-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85%D8%9F/ به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری...
ارسالهای توصیه شده
برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید
برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید
ایجاد یک حساب کاربری
برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است!
ثبت نام یک حساب کاربری جدیدورود به حساب کاربری
دارای حساب کاربری هستید؟ از اینجا وارد شوید
ورود به حساب کاربری