Die gleichzeitige Anweisung bezieht sich auf die Fähigkeit eines Computersystems, mehrere Anweisungen gleichzeitig auszuführen oder zumindest zu tun. Es ist ein breiteres Konzept als Parallelität, obwohl es oft synonym verwendet wird. Der Hauptunterschied liegt darin, wie die Anweisungen behandelt werden:
* Parallelität: Führen Sie ausdrücklich mehrere Anweisungen * gleichzeitig * unter Verwendung mehrerer Verarbeitungseinheiten (wie mehrerer Kerne in einer CPU) aus. Dies erfordert dedizierte Hardware -Ressourcen.
* Parallelität: Befasst sich mit der Ausführung mehrerer Anweisungen, die sich rechtzeitig überlappen, aber nicht unbedingt genau im selben Moment. Dies kann durch verschiedene Techniken erreicht werden, darunter:
* Multitasking: Ausführen mehrerer Programme anscheinend gleichzeitig durch schnelles Umschalten zwischen ihnen. Die tatsächliche Verarbeitung ist immer noch sequentiell, aber die Schaltung ist schnell genug, um die Illusion der Parallelität zu ermöglichen.
* Multithreading: Ein einzelnes Programm, das mehrere Anweisungen gleichzeitig ausführt. Diese Threads können Ressourcen teilen, und ein einzelner Kern kann schnell zwischen ihnen wechseln (Kontextschalter).
* Parallelität auf Befehlsebene (ILP): Die CPU leistet und führt mehrere Anweisungen gleichzeitig in einem einzigen Kern an, wodurch Pipelining und andere Techniken zur Verbesserung der Leistung nutzt. Dies geschieht auf einer viel niedrigeren Ebene als Multitasking oder Multithreading.
* SIMD (einzelne Anweisungen, mehrere Daten): Ein einzelner Befehl arbeitet gleichzeitig mit mehreren Datenpunkten, die häufig in der Vektorverarbeitung und den GPU -Berechnungen verwendet werden.
Im Wesentlichen ist Parallelität ein umfassenderer Begriff. Parallelität ist ein * Typ * von Parallelität, bei dem die Anweisungen gleichzeitig auf separaten Hardwareeinheiten ausgeführt werden. Die Parallelität kann auch ohne echte Parallelität erreicht werden, genau durch cleveres Planungs- und Ressourcenmanagement. Ziel von beiden ist es, die Gesamtsystemleistung und den Durchsatz zu verbessern, indem verschiedene Teile eines Programms oder mehrere Programme überlappend oder gleichzeitig ausgeführt werden.