fbpx

CPU: Central Processing Unit  

GPU: Graphics Processing Unit 

CPU болон GPU хоёрын гол ялгаа нь CPU нь компьютерийн бүх үндсэн функцийг гүйцэтгэдэг бол GPU нь олон жижиг ажлыг нэгэн зэрэг гүйцэтгэхэд зориулагдсан бүрэлдэхүүн хэсэг юм. 

Төв боловсруулах нэгж (CPU) нь хоцролтыг оновчтой болгосон ерөнхий зориулалтын процессор бөгөөд олон төрлийн тодорхой ажлуудыг дэс дарааллаар гүйцэтгэхэд зориулагдсан бол График боловсруулах нэгж (GPU) нь өндөр түвшний зэрэгцээ буюу параллель тооцоолоход зориулагдсан, дамжуулах чадварыг оновчтой болгосон тусгай процессор юм. 

 

CPU 

GPU 

Task параллельчлал 

Өгөгдөл параллельчлал 

Хэдхэн heavyweight цөм 

Олон жижиг lightweight цөм 

Санах ойн хэмжээ өндөр 

Санах ойн өндөр дамжуулах чадвар 

Олон төрлийн загварчилгаа 

Хэд хэдэн өндөр оновчтой загварчилгаа 

Салангид thread удирдлага 

Threads нь техник хангамжаар удирддаг 

 

 

CPU нь өндөр цагийн хурдтай цөөхөн heavyweight цөмтэй тул өгөгдлийг дарааллаар нь боловсруулахдаа маш хурдан байдаг. CPU нь хоцролтыг оновчтой болгосон бөгөөд хэд хэдэн даалгаврыг маш хурдан сольж чаддаг бөгөөд энэ нь параллелизм мэт сэтгэгдэл төрүүлж болзошгүй юм. Гэсэн хэдий ч үндсэндээ энэ нь нэг удаад нэг ажлыг гүйцэтгэхэд зориулагдсан юм 

CPU limitation 

 Heavyweight загварууд  

 Процессорын техник хангамжид улам бүр төвөгтэй загварыг шууд оруулах хандлага нь сул талтай орчин үеийн чиг хандлага юм. Зарим илүү хэцүү заавруудыг гүйцэтгэхийн тулд CPU нь заримдаа хэдэн зуун цагийн мөчлөгөөр эргэх шаардлагатай болдог. Хэдийгээр Intel энэ хязгаарлалтыг багасгахын тулд загварын түвшний параллелизм бүхий загваруудын дамжуулах шугамыг ашигладаг ч энэ нь CPU-ийн ерөнхий гүйцэтгэлд нэмэлт зардал болдог. 

Контекст солих хоцролт  

Контекст солих хоцролт нь thread хооронд шилжихэд CPU-ийн цөмд шаардагдах хугацаа юм. CPU нь регистр болон төлөвийн хувьсагчдыг хадгалах, кэш санах ойг цэвэрлэх болон бусад төрлийн цэвэрлэх үйлдлүүдийг хийх ёстой тул ажлууд хооронд шилжих нь нэлээд удаан байдаг. Орчин үеийн CPU процессорууд олон ажлын хоцролтыг бууруулдаг ажлын төлөвийн сегментүүдээр дээрх асуудлыг хялбаршуулахыг хичээдэг ч контекст шилжих нь үнэтэй процедур хэвээр байна. 

Моорийн хууль  

Нэгдсэн хэлхээний нэг квадрат инч тутамд транзисторын тоо хоёр жил тутамд хоёр дахин нэмэгддэг гэсэн ойлголт дуусч магадгүй юм. Цахиурт (силиконд) хэдэн транзистор багтах хязгаар байдаг ч Физикийг давж гарах боломжгүй. Үүний оронд инженерүүд тархсан тооцооллын тусламжтайгаар тооцооллын үр ашгийг нэмэгдүүлэхийг хичээж, квант компьютер дээр туршилт хийж, CPU үйлдвэрлэхэд цахиурыг орлуулахыг оролдож байна. 

GPU

График боловсруулах нэгж (GPU) нь тусгайлсан процессор бөгөөд түүний үүрэг нь өндөр зэрэглэлийн параллелизм шаарддаг хэд хэдэн тодорхой ажлуудад зориулж санах ойг хурдан удирдах, компьютерийг хурдасгах явдал юм 

GPU-ийн архитектур  

GPU нь хэмжээст матрицын арифметик болон хөвөгч цэгийн тооцоололд зориулж зааврын багцыг оновчтой болгосон олон мянган lightweight цөмийг ашигладаг тул өндөр зэрэглэлийн параллелизм шаарддаг шугаман алгебр болон төстэй ажлуудыг гүйцэтгэхэд маш хурдан байдаг. Дүрмээр бол, хэрэв таны алгоритм векторжуулсан өгөгдлийг хүлээн авдаг бол энэ ажил GPU-ээр тооцоолоход тохиромжтой байх магадлалтай. 

Архитектурын хувьд GPU-ийн дотоод санах ой нь цэгээс цэгийн холболттой өргөн интерфэйстэй бөгөөд GPU-ийн тухайн агшинд ашиллах өгөгдлийн хэмжээ нэмэгдэхийн хэрээр санах ойг нэмэгдүүлдэг, хурдасгадаг. Энэ нь асар том өгөгдлийг нэг дор хурдан удирдахад зориулагдсан. 

GPU limitations

Хүч чадал багатай цөмүүд  

Хэдийгээр GPU нь илүү олон цөмтэй ч цагны хурдаараа CPU-ээс бага чадалтай. GPU цөмүүд нь мөн чанар багатай, гэхдээ илүү нарийн загварын багцтай байдаг. Энэ нь тийм ч муу зүйл биш юм, учир нь GPU нь тодорхой ажлуудын жижиг багцуудыг гүйцэтгэхэд маш үр дүнтэй байдаг 

Санах ой бага  

GPU-ууд нь хамгийн их санах ойн хэмжээгээр хязгаарлагддаг. Хэдийгээр GPU процессорууд нь тухайн агшинд CPU-ээс илүү их хэмжээний мэдээллийг зөөж чаддаг ч GPU санах ойд нэвтрэх хугацаа нь илүү өндөр хоцрогдолтой байдаг 

Хязгаарлагдмал API 

 Хамгийн алдартай GPU API нь OpenCL болон CUDA юм. Харамсалтай нь тэд хоёулаа дибаг хийхэд хэцүү гэдгээрээ алдартай. Хэдийгээр OpenCL нь нээлттэй эх сурвалж боловч Nvidia техник хангамж дээр нэлээд удаан ажилладаг. Нөгөө талаас CUDA нь Nvidiaн өмчлөлийн API бөгөөд Nvidia GPU-д зориулж оновчтой болсон боловч тэдгээрийн техник хангамжийн экосистемд таныг автоматаар түгждэг буюу хязгаарладаг. 

Comments

  • enkhbaatar 2023-12-07

    hi

    Reply

Leave a Reply