Централните процесори (CPU) са мозъците на нашите компютри. Те обработват всичко, което правим ежедневно, от отваряне на приложение до гледане на филм. Но какво точно е CPU? Как работи? И каква е разликата между CPU и все по-популярните vCPU?

Разбиране на мозъка на компютрите

Първите електронни компютри са създадени в началото на 1800 г., според пълното ръководство по история публикувано от G2. Тези компютри обаче бяха големи и скъпи и можеха да се използват само от обучени математици и учени.

Чарлз Бабидж е признат за изобретяването на първата изчислителна машина, Difference Engine, която може да бъде програмирана да извършва всяко изчисление, което може да се направи на ръка. Проектът Difference Engine обаче така и не беше завършен поради липса на финансиране, според Музея за компютърна история.

През 1937 г. Бабидж за първи път споменава аналитичния двигател, който ще стане първият в света механичен компютър с общо предназначение. „Аналитичната машина включва всички елементи на съвременен компютър: аритметична логическа единица, контролен поток под формата на условно разклоняване и цикли и интегрирана памет,“ (

instagram viewer
Бележки за електрониката).

Ключов компонент на съвременния компютър е процесорът или централният процесор. Централният процесор е отговорен за изпълнението на инструкции, дадени му от софтуер като операционна система или приложение. Казано на лаик, можете да мислите за процесора като за мозъка на вашия компютър. Централният процесор се състои от две основни части: контролно устройство и аритметично логическо устройство (ALU). Ако тези съкращения ви объркват, вижте нашия преглед на разликата между APU, CPU и GPU.

Блокът за управление отговаря за извличането на инструкции от паметта, декодирането им и след това изпращането им до аритметичното логическо устройство за изпълнение. ALU извършва аритметични и логически операции върху данни, съхранявани в регистри, които са вътрешни единици за съхранение в процесора.

Модерен Процесорите също съдържат кеш, което е малко количество високоскоростна памет, която съхранява често използвани инструкции и данни. Кешовете са разделени на нива; Кешът от ниво 1 (L1) е вграден в самата матрица на процесора, кешът от ниво 2 (L2) се намира на отделен чип близо до процесора, а кешът от ниво 3 (L3) се намира по-далеч от процесора на собствен чип или дори на собствена верига дъска.

CPU срещу. vCPU

С възхода на облачните услуги дойде появата на виртуалния централен процесор или накратко vCPU. TechTarget дефинира vCPU като „физическо централно процесорно устройство (CPU), което е присвоено на виртуална машина (VM).“

Виртуалните машини са основно самостоятелни операционни системи, които работят в друга операционна система, сякаш са приложения. VM се използват за различни цели като тестване на нов софтуер в безопасна среда, работа с множество операционни системи (напр. Windows и Linux) на един и същ компютър или консолидиране на множество физически сървъри в един сървър, за да спестите място и да намалите разходи.

И така, vCPU е софтуерна реализация на CPU; не съществува физически във вашия компютър, както истинският процесор. Хипервайзорът, който е софтуерът, който създава и управлява виртуални машини, присвоява vCPU на виртуалната машина. Всеки vCPU се разглежда от операционната система във VM като истинско CPU ядро. Вижте нашите обяснение на хипервайзорите да научиш повече.

Въпреки това, тъй като vCPU са базирани на софтуер, те не са толкова ефективни, колкото истинските процесори. Затова е важно да се уточни колко ядра, които вашият процесор има когато купувате компютър (напр. "четириядрен" означава четири ядра). Същото правило важи и при избора на виртуален частен сървър (VPS) или хостинг план за специален сървър.

Основната разлика между CPU и vCPU е, че процесорите са базирани на хардуер, докато vCPU са базирани на софтуер. Това означава, че процесорите физически съществуват във вашия компютър, докато vCPU не съществуват; вместо това те се създават от хипервайзори, когато е необходимо. Поради тази разлика в изпълнението, процесорите са много по-ефективни от vCPU; те нямат режийни разходи, свързани с работата в софтуера.

От началото на 2000-те vCPU стават все по-популярни, защото са по-евтини и по-лесни за присвояване от физическите CPU; все пак, ако търсите производителност, най-добре е да използвате компютър с множество процесорни ядра, тъй като всяко ядро ​​може да обработва инструкции независимо.

Ядра срещу нишки

Централният процесор може да има едно или повече ядра, което е процесор, който изпълнява задачи в определено време. Ядрото ще поддържа реда за изпълнение на задачата, регистрите и кеша (ако е приложимо) и ще извършва операции чрез ALU. Централният процесор контролира ядрата, но ядрото изпълнява всеки софтуерен процес или нишка, които операционната система планира. Нишката е независима последователност от инструкции, които могат да бъдат обработени от CPU.

Множество нишки могат да съществуват в рамките на един и същи процес и да споделят едно и също пространство в паметта. Това им позволява да комуникират помежду си по-лесно, отколкото ако работят в отделни процеси. Нишките често се използват за подобряване на производителността на многонишкови приложения, като позволяват на различни части от програмата да работят едновременно на различни ядра или процесори.

Терминът "нишка" се използва в компютърната терминология от много години; обаче едва в началото на 2000-те години поддръжката на нишки на хардуерно ниво беше въведена в процесорите. Това позволи едновременното изпълнение на множество нишки на отделни ядра. Преди това само една нишка можеше да се изпълнява в даден момент на едно ядро, независимо от това колко ядра присъстваха в процесора. Многоядрените процесори вече са нещо обичайно и повечето операционни системи осигуряват известно ниво на поддръжка за стартиране на програми като множество нишки.

Завършване на основните проблеми

За да обобщим, процесорите са хардуерно базираните мозъци на нашите компютри, докато техният виртуален аналог, vCPU, са софтуерно базирани и създадени от хипервайзори, за да работят във виртуални машини. Ядрата са хардуерно базирани процесорни единици в CPU, докато нишките са софтуерно базирани инструкции, които могат да бъдат обработени от CPU.

Нишките могат да се изпълняват едновременно на отделни ядра, което позволява различни части на програмата да работят едновременно. Това може да подобри производителността на хардуера, тъй като множество задачи могат да се обработват едновременно, вместо последователно.

Сега, след като разбирате разликата между CPU, vCPU, ядра и нишки, можете да вземете информирано решение при избора на компютър или сървър. Ако търсите производителност, най-добре е да изберете компютър с множество процесорни ядра, тъй като всяко ядро ​​може да обработва инструкции независимо. Въпреки това, ако търсите рентабилно решение, vCPU може да са правилният начин.