Central Processing Units (CPUs) sind die Gehirne unserer Computer. Sie verarbeiten alles, was wir täglich tun, vom Öffnen einer Anwendung bis zum Ansehen eines Films. Aber was genau ist eine CPU? Wie funktioniert es? Und was ist der Unterschied zwischen CPUs und den immer beliebter werdenden vCPUs?

Das Gehirn von Computern verstehen

Die ersten elektronischen Computer wurden laut dem vollständigen Geschichtsführer in den frühen 1800er Jahren hergestellt herausgegeben von G2. Diese Computer waren jedoch groß und teuer und konnten nur von ausgebildeten Mathematikern und Wissenschaftlern verwendet werden.

Charles Babbage wird die Erfindung der ersten Rechenmaschine, der Difference Engine, zugeschrieben, die so programmiert werden konnte, dass sie alle Berechnungen durchführt, die von Hand durchgeführt werden könnten. Das Difference Engine-Projekt wurde jedoch aufgrund fehlender Finanzierung nie abgeschlossen. nach Angaben des Computer History Museum.

1937 erwähnte Babbage erstmals die Analytical Engine, die der erste mechanische Allzweckcomputer der Welt werden sollte. „Die Analytical Engine beinhaltete alle Elemente eines modernen Computers: eine Arithmetik-Logik-Einheit, einen Kontrollfluss in Form von bedingten Verzweigungen und Schleifen und einen integrierten Speicher“, (

instagram viewer
Hinweise zur Elektronik).

Eine Schlüsselkomponente des heutigen Computers ist die CPU oder Zentraleinheit. Die CPU ist für die Ausführung von Anweisungen verantwortlich, die ihr von Software wie einem Betriebssystem oder einer Anwendung gegeben werden. Laienhaft ausgedrückt können Sie sich die CPU als das Gehirn Ihres Computers vorstellen. Die CPU besteht aus zwei Hauptteilen: der Steuereinheit und der Arithmetik-Logik-Einheit (ALU). Wenn diese Abkürzungen Sie verwirren, lesen Sie unsere Übersicht darüber, wie sich APUs, CPUs und GPUs unterscheiden.

Die Steuereinheit ist dafür verantwortlich, Anweisungen aus dem Speicher abzurufen, sie zu decodieren und sie dann zur Ausführung an die arithmetisch-logische Einheit zu senden. Die ALU führt arithmetische und logische Operationen an Daten durch, die in Registern gespeichert sind, die interne Speichereinheiten innerhalb der CPU sind.

Modern CPUs enthalten auch einen Cache, das ist eine kleine Menge Hochgeschwindigkeitsspeicher, der häufig verwendete Anweisungen und Daten speichert. Caches sind in Ebenen unterteilt; Der Cache der Ebene 1 (L1) ist in den CPU-Die selbst integriert, der Cache der Ebene 2 (L2) befindet sich auf einem separaten Chip in der Nähe der CPU, und Level 3 (L3) Cache befindet sich weiter entfernt von der CPU auf einem eigenen Chip oder sogar auf einem eigenen Schaltkreis Tafel.

CPU vs. vCPU

Mit dem Aufkommen von Cloud-Diensten kam das Aufkommen der virtuellen Zentraleinheit, kurz vCPU. TechTarget definiert vCPU als „eine physische Zentraleinheit (CPU), die einer virtuellen Maschine (VM) zugeordnet ist.“

Virtuelle Maschinen sind im Grunde eigenständige Betriebssysteme, die in einem anderen Betriebssystem ausgeführt werden, als wären sie Anwendungen. VMs werden für eine Vielzahl von Zwecken verwendet, z. B. zum Testen neuer Software in einer sicheren Umgebung, zum Ausführen mehrerer Betriebssysteme (z. Windows und Linux) auf demselben Computer oder die Konsolidierung mehrerer physischer Server zu einem einzigen Server, um Platz zu sparen und zu reduzieren Kosten.

Eine vCPU ist also eine Softwareimplementierung einer CPU; Es existiert nicht physisch in Ihrem Computer, wie es eine echte CPU tut. Der Hypervisor, also die Software, die VMs erstellt und verwaltet, weist der virtuellen Maschine vCPUs zu. Jede vCPU wird vom Betriebssystem innerhalb der VM als echter CPU-Kern angesehen. Siehe unsere Erklärung von Hypervisoren um mehr zu lernen.

Da vCPUs jedoch softwarebasiert sind, sind sie nicht so effizient wie echte CPUs. Daher ist es wichtig anzugeben, wie viele Kerne hat Ihr Prozessor beim Kauf eines Computers (z. B. bedeutet „Quad-Core“ vier Kerne). Die gleiche Regel gilt bei der Auswahl eines Virtual Private Server (VPS) oder eines dedizierten Server-Hosting-Plans.

Der Hauptunterschied zwischen CPUs und vCPUs besteht darin, dass CPUs hardwarebasiert sind, während vCPUs softwarebasiert sind. Dies bedeutet, dass CPUs physisch in Ihrem Computer vorhanden sind, während vCPUs dies nicht tun. Stattdessen werden sie bei Bedarf von Hypervisoren erstellt. Aufgrund dieses Unterschieds in der Implementierung sind CPUs viel effizienter als vCPUs; Sie haben nicht den Overhead, der mit dem Einspielen von Software verbunden ist.

Seit den frühen 2000er Jahren sind vCPUs immer beliebter geworden, weil sie billiger und einfacher zuzuweisen sind als physische CPUs; Wenn Sie jedoch nach Leistung suchen, ist es am besten, einen Computer mit mehreren CPU-Kernen zu verwenden, da jeder Kern Anweisungen unabhängig verarbeiten kann.

Kerne vs. Fäden

Eine CPU kann einen oder mehrere Kerne haben, was die Verarbeitungseinheit ist, die Aufgaben zu einem bestimmten Zeitpunkt ausführt. Der Kern verwaltet die Task-Ausführungsreihenfolge, die Register und den Cache (falls zutreffend) und führt Operationen über die ALU aus. Die CPU steuert die Kerne, aber der Kern führt jeden Softwareprozess oder Thread aus, den das Betriebssystem plant. Ein Thread ist eine unabhängige Folge von Anweisungen, die von einer CPU verarbeitet werden können.

Innerhalb desselben Prozesses können mehrere Threads existieren und denselben Speicherplatz gemeinsam nutzen. Dadurch können sie einfacher miteinander kommunizieren, als wenn sie in separaten Prozessen ausgeführt würden. Threads werden häufig verwendet, um die Leistung von Multithread-Anwendungen zu verbessern, indem verschiedene Teile des Programms gleichzeitig auf verschiedenen Kernen oder Prozessoren ausgeführt werden können.

Der Begriff "Thread" wird seit vielen Jahren in der Computerterminologie verwendet; Allerdings dauerte es bis Anfang der 2000er Jahre, bis die Hardwareunterstützung für Threads in Prozessoren eingeführt wurde. Dadurch konnten mehrere Threads gleichzeitig auf separaten Kernen ausgeführt werden. Bisher konnte immer nur ein Thread auf einem einzelnen Kern ausgeführt werden, unabhängig davon, wie viele Kerne im Prozessor vorhanden waren. Multicore-Prozessoren sind heute weit verbreitet, und die meisten Betriebssysteme bieten ein gewisses Maß an Unterstützung für die Ausführung von Programmen als mehrere Threads.

Zusammenfassung der Kernthemen

Zusammenfassend lässt sich sagen, dass CPUs die hardwarebasierten Gehirne unserer Computer sind, während ihr virtuelles Gegenstück, vCPUs, softwarebasiert sind und von Hypervisoren erstellt wurden, um in virtuellen Maschinen ausgeführt zu werden. Kerne sind die hardwarebasierten Verarbeitungseinheiten innerhalb einer CPU, während Threads die softwarebasierten Anweisungen sind, die von einer CPU verarbeitet werden können.

Threads können gleichzeitig auf separaten Kernen ausgeführt werden, wodurch verschiedene Teile des Programms gleichzeitig ausgeführt werden können. Dies kann die Hardwareleistung verbessern, da mehrere Aufgaben gleichzeitig statt nacheinander verarbeitet werden können.

Nachdem Sie nun den Unterschied zwischen CPUs, vCPUs, Kernen und Threads verstanden haben, können Sie bei der Auswahl eines Computers oder Servers eine fundierte Entscheidung treffen. Wenn Sie nach Leistung suchen, wählen Sie am besten einen Computer mit mehreren CPU-Kernen, da jeder Kern Anweisungen unabhängig verarbeiten kann. Wenn Sie jedoch nach einer kostengünstigen Lösung suchen, sind vCPUs möglicherweise der richtige Weg.