System auf einem Chip

Apple M1 System auf einem Chip

A System auf einem Chip (SOC; /ˌɛsˌˈsich/ Es-oh-SEHEN oder /sɒk/ Socke[NB 1]), auch geschrieben als als System-on-a-Chip und System-on-Chip, ist ein Integrierter Schaltkreis (auch als "Chip" bezeichnet), das alle oder die meisten Komponenten eines Computers oder anderer integriert elektronisches System. Diese Komponenten enthalten fast immer a Zentrale Verarbeitungseinheit (ZENTRALPROZESSOR), Erinnerung Schnittstellen, On-Chip Input-Output Geräte, Input-Output Schnittstellen und Zweitlager Schnittstellen, oft neben anderen Komponenten wie Radiomodems und ein Grafikkarte (GPU) - alles auf einer einzigen Substrat oder Mikrochip.[1] Es kann enthalten Digital, Analog, gemischtes Signal, und oft Radiofrequenz Signalverarbeitung Funktionen (ansonsten wird es nur als Antragsprozessor angesehen).

SOCS mit höherer Performance werden häufig mit dediziertem und physisch separatem Speicher und sekundärem Speicher gepaart (wie z. LPDDR und EUFs oder EMMCChips, die auf dem SOC über die sogenannten als so bezeichnet werden können Paket auf Paket (POP) Konfiguration oder in der Nähe des SOC platziert werden. Darüber hinaus können SoCs separate Wireless verwenden Modems.[2]

SOCs stehen im Gegensatz zu den gemeinsamen Traditionellen Hauptplatine-basierend PC die Architektur, der Komponenten basierend auf der Funktion trennt und sie über eine zentrale Schnittstellenschaltung verbindet.[NB 2] Während ein Motherboard abnehmbare oder austauschbare Komponenten verbindet, integrieren SoCs alle diese Komponenten in einen einzelnen integrierten Schaltkreis. Ein SOC integriert normalerweise eine CPU-, Grafik- und Speicheroberflächen.[NB 3] Sekundärspeicherung und USB -Konnektivität,[NB 4] Zufallszugriff und schreibgeschützt Erinnerungen und sekundäre Speicher und/oder deren Controller auf einem einzigen Schaltkreissterben, während ein Motherboard diese Module als anschließen würde Diskrete Komponenten oder Erweiterungskarten.

Ein SOC integriert a Mikrocontroller, Mikroprozessor oder vielleicht mehrere Prozessorkerne mit Peripheriegeräten wie a GPU, W-lan und Mobilfunk Funkmodems und/oder ein oder mehrere Coprozessoren. Ähnlich wie ein Mikrocontroller einen Mikroprozessor mit peripheren Schaltkreisen und Speicher integriert, kann ein SOC als Integration eines Mikrocontrollers in noch fortgeschrittene gesehen werden Peripheriegeräte. Eine Übersicht über die Integration von Systemkomponenten finden Sie unter System Integration.

Enger integrierte Computersystemdesigns verbessern sich Leistung und reduzieren Energieverbrauch ebenso gut wie Halbleiter sterben Bereich als Multi-Chip-Designs mit gleichwertiger Funktionalität. Dies kommt auf Kosten der Reduzierung Austauschbarkeit von Komponenten. Per Definition sind SOC -Designs vollständig oder nahezu vollständig in verschiedenen Komponenten integriert Module. Aus diesen Gründen gab es einen allgemeinen Trend zur strengeren Integration von Komponenten in der ComputerhardwareindustrieZum Teil aufgrund des Einflusses von SoCs und Lehren aus den mobilen und eingebetteten Computermärkten. SOCs können als Teil eines größeren Trends in Richtung angesehen werden eingebettetes Computer und Hardware-Beschleunigung.

SOCs sind in der sehr häufig Mobile Computing (wie in Smartphones und Tablet -Computer) und Edge Computing Märkte.[3][4] Sie werden auch häufig in verwendet eingebettete Systeme wie WiFi -Router und die Internet der Dinge.

Typen

Mikrocontroller-Basierte System auf einem Chip

Im Allgemeinen gibt es drei unterscheidbare Arten von Socs:

Anwendungen

SOCs können auf jede Computeraufgabe angewendet werden. Sie werden jedoch in der Regel für mobiles Computing wie Tablets, Smartphones, Smartwatches und Netbooks sowie für Tablets verwendet eingebettete Systeme und in Anwendungen, wo zuvor Mikrocontroller würde verwendet werden.

Eingebettete Systeme

Wenn bisher nur Mikrocontroller eingesetzt werden konnten, steigen die SoCs auf dem Markt für eingebettete Systeme auf Bedeutung. Engere Systemintegration bietet eine bessere Zuverlässigkeit und Zwischenzeit zwischen dem Versagenund SoCs bieten fortgeschrittenere Funktionen und Rechenleistung als Mikrocontroller.[5] Anwendungen umfassen KI -Beschleunigung, eingebettet Maschinenaufwand,[6] Datensammlung, Telemetrie, Vektorverarbeitung und Ambient Intelligence. Oft zielen eingebettete SOCS auf die Internet der Dinge, industrielles Internet der Dinge und Edge Computing Märkte.

Mobile Computing

Mobile Computing Basierte SoCs bündeln immer Prozessoren, Erinnerungen, On-Chip Caches, Drahtlose Vernetzung Fähigkeiten und oft Digitalkamera Hardware und Firmware. Mit zunehmenden Speichergrößen haben High -End -SoCs oft keinen Speicher- und Flash -Speicher und stattdessen der Speicher und den Speicher und Flash-Speicher wird direkt neben oder darüber platziert (darüber (darüberPaket auf Paket), der Soc.[7] Einige Beispiele für Mobile Computing -Socs sind:

Persönliche Computer

Im Jahr 1992, Eichelcomputer produzierte die A3010, A3020 und A4000 Personalcomputer Mit dem ARM250 SOC. Es kombinierte den ursprünglichen Acorn ARM2 -Prozessor mit einem Speichercontroller (MEMC), Video -Controller (VIDC) und I/A -Controller (IOC). In früherer Eichel ARM-Machter Computer waren vier diskrete Chips. Der ARM7500-Chip war ihr SOC der zweiten Generation, basierend auf den ARM700-, VIDC20- und IOMD-Controllern, und war in eingebetteten Geräten wie Set-Top-Boxen sowie späteren PC-Computern weit verbreitet.

SOCs werden ab 2018 auf Mainstream -PCs angewendet.[8] Sie werden besonders auf Laptops angewendet und Tablet -PCs. Tablet- und Laptop -Hersteller haben Unterricht von eingebetteten Systemen und Smartphone -Märkten zu reduziertem Stromverbrauch, besserer Leistung und Zuverlässigkeit von engerer gelernt Integration von Hardware und Firmware Module, und Lte und andere drahtloses Netzwerk auf Chip integrierte Kommunikation (integriert Netzwerkschnittstellencontroller).[10]

ARM-basierend:

x86-basierend:

Struktur

Ein SoC besteht aus Hardware Funktionseinheiten, einschließlich Mikroprozessoren dieser Lauf Softwarecodesowie ein Kommunikationssubsystem Verbinden, Steuerung, Direkt und Schnittstelle zwischen diesen Funktionsmodulen.

Funktionale Komponenten

Prozessorkerne

Ein SOC muss mindestens einen haben Prozessorkern, aber normalerweise hat ein SOC mehr als einen Kern. Prozessorkerne können a sein Mikrocontroller, Mikroprozessor (μp),[11] digitaler Signalprozessor (DSP) oder Anwendungsspezifischer Befehlssatzprozessor (ASIP) Kern.[12] Assips haben Anweisungssätze die für eine angepasst werden Anwendungsbereich und so konzipiert, dass es effizienter ist als allgemeine Anweisungen für eine bestimmte Art der Arbeitsbelastung. Multiprozessor -Socs Haben Sie per Definition mehr als einen Prozessorkern.

Ob Single-Core, Multi-Core oder ManycoreSOC -Prozessorkerne verwenden normalerweise RISC Anweisungsset Architekturen. RISC -Architekturen sind vorteilhaft über CISC Prozessoren für SOCS, weil sie weniger digitale Logik benötigen und daher weniger Strom und Bereich einlegen Tafel, und in der eingebettet und Mobile Computing Märkte, Flächen und Strom sind oft stark eingeschränkt. Insbesondere verwenden Soc -Prozessorkerne häufig die Armarchitektur denn es ist ein weicher Prozessor als an angegeben IP -Kern und ist stärker effizienter als x86.[11]

Erinnerung

Socs müssen haben Halbleitergedächtnis Blöcke, um ihre Berechnung durchzuführen, ebenso wie Mikrocontroller und andere eingebettete Systeme. Abhängig von der Anwendung kann der SOC -Speicher a bilden Speicherhierarchie und Cache -Hierarchie. Auf dem Markt für mobile Computer ist dies üblich, aber in vielen geringer Strom Eingebettete Mikrocontroller, dies ist nicht erforderlich. Gedächtnistechnologien für SOCs umfassen Nur-Lese-Speicher (ROM), Arbeitsspeicher (RAM), Elektrisch löschbares programmierbares ROM (Eeprom) und Flash-Speicher.[11] Wie in anderen Computersystemen kann RAM in relativ schneller, aber teurer unterteilt werden statischer Widder (Sram) und der langsamer, aber billiger Dynamischer RAM (Dram). Wenn ein SOC a hat Zwischenspeicher Hierarchie wird SRAM normalerweise zur Implementierung verwendet Prozessorregister und Kerne ' eingebaute Caches während Dram für verwendet wird Haupterinnerung. "Hauptspeicher" kann spezifisch für einen einzelnen Prozessor sein (der sein kann Multi-Core) Wenn der SOC hat mehrere Prozessorenin diesem Fall ist es Verteilter Speicher und muss über gesendet werden § Intermodul -Kommunikation On-Chip, zu dem von einem anderen Prozessor zugegriffen werden soll.[12] Weitere Diskussionen über Multi-Processing-Gedächtnisprobleme finden Sie unter Cache -Kohärenz und Speicherlatenz.

Schnittstellen

SOCs sind extern Schnittstellen, normalerweise für Kommunikationsprotokolle. Diese basieren oft auf Branchenstandards wie z. USB, Firewire, Ethernet, USAart, Spi, HDMI, I²cusw. Diese Schnittstellen unterscheiden sich je nach beabsichtigter Anwendung. Drahtlose Vernetzung Protokolle wie W-lan, Bluetooth, 6lowpan und Near Field Communication kann auch unterstützt werden.

Bei Bedarf gehören SoCs Analog Schnittstellen einschließlich Analog zu Digital und Digital-analog-Konverter, oft für Signalverarbeitung. Diese können in der Lage sein, mit verschiedenen Arten von zu verkörpern Sensoren oder Aktuatoren, einschließlich Smart Wandler. Sie können sich mit anwendungsspezifisch verabreichen Module oder Schilde.[NB 5] Oder sie können für den SOC intern sein, z. B. wenn ein analoge Sensor in den SOC eingebaut ist und seine Messwerte für die mathematische Verarbeitung in digitale Signale umgewandelt werden müssen.

Digitale Signalprozessoren

Digitaler Signalprozessor (DSP) Kerne sind häufig in SoCs enthalten. Sie treten auf Signalverarbeitung Operationen in SoCs für Sensoren, Aktuatoren, Datensammlung, Datenanalyse und Multimedia -Verarbeitung. DSP -Kerne sind normalerweise vorhanden Sehr langes Unterrichtswort (VLIW) und Einzelanweisung, mehrere Daten (SIMD) Anweisungsset Architekturenund sind daher sehr zugänglich für die Nutzung Parallelität auf Befehlsebene durch Parallelverarbeitung und Superscalar -Ausführung.[12]: 4 DSP-Kerne enthalten am häufigsten anwendungsspezifische Anweisungen und sind daher normalerweise in der Regel Anwendungsspezifische Befehlssatzprozessoren (EIN SCHLUCK). Solche anwendungsspezifischen Anweisungen entsprechen dedizierter Hardware Funktionseinheiten das berechnet diese Anweisungen.

Typische DSP -Anweisungen umfassen multiplizieren, Schnelle Fourier-Transformation, Fusions-Multiply-Add, und Konvolutionen.

Sonstiges

Wie bei anderen Computersystemen erfordern SOCS Timing -Quellen generieren Taktsignale, Kontrolle der Ausführung von SOC -Funktionen und liefern Zeitkontext zu Signalverarbeitung Anwendungen des SOC, falls erforderlich. Volkszeitquellen sind Kristalloszillatoren und Phasenschleifen.

SOC Peripheriegeräte einschließlich Zähler-timers, Echtzeit Timer und Stromreset Generatoren. SoCs umfassen auch Spannungsaufsichtsbehörden und Leistungsmanagement Schaltungen.

Intermodul -Kommunikation

SOCs umfassen viele Ausführungseinheiten. Diese Einheiten müssen häufig Daten senden und Anweisungen Hin und her. Aus diesem Grund erfordern alle bis auf die trivialsten Socs Kommunikationssubsysteme. Ursprünglich wie bei anderen Mikrocomputer Technologien, Datenbus Es wurden Architekturen verwendet, aber kürzlich entworfen Netzwerke-On-Chip (NOC) sind anwesend und werden in naher Zukunft prognostiziert, um Busarchitekturen für SOC -Design zu überholen.[13]

Bus-basierte Kommunikation

Historisch gesehen eine gemeinsame globale Computerbus In der Regel haben die verschiedenen Komponenten verbunden, auch als "Blöcke" des SOC bezeichnet.[13] Ein sehr häufiger Bus für SOC Communications ist die lizenzfreie Microcontroller-Busarchitektur von ARMs Royalty (Royalty Free) (Amba) Standard.

Direkter Speicherzugriff Controller leiten Daten direkt zwischen externen Schnittstellen und SOC -Speicher, wobei die CPU oder umgehen SteuergerätDadurch erhöhen Sie die Daten Durchsatz des Soc. Dies ist ähnlich wie bei einigen Gerätetreiber von Peripheriegeräten auf Komponentenbasis Multi-Chip-Modul PC -Architekturen.

Computerbusse sind begrenzt in Skalierbarkeitnur bis zu zehn Kerne (Multicore) auf einem einzelnen Chip.[13]: Xiii Drahtverzögerung ist durch Fortsetzung nicht skalierbar Miniaturisierung, System Geschwindigkeit skaliert nicht mit der Anzahl der angeschlossenen Kerne, dem SoC's Arbeitsfrequenz Muss abnehmen, wobei jeder zusätzliche Kern, der nachhaltig ist, und lange Drähte große Mengen an elektrischer Leistung verbrauchen. Diese Herausforderungen sind unerschwinglich zu unterstützen Manycore Systeme auf Chip.[13]: Xiii

Netzwerk auf einem Chip

In den späten 2010er Jahren ein Trend der SoCs -Implementierung Kommunikationssubsysteme in Bezug auf eine netzwerkähnliche Topologie statt einer Busbasis Protokolle sind entstanden. Ein Trend in Richtung Weitere Prozessorkernen auf SoCs hat dazu geführt, dass die Kommunikationseffizienz auf Chips zu einem der Schlüsselfaktoren bei der Bestimmung der Gesamtsystemleistung und -kosten wird.[13]: Xiii Dies hat zur Entstehung von Verbindungsnetzwerken mit geführt Router-basierend Paketschaltung bekannt als "Netzwerke auf Chip"(NOCs), um die zu überwinden Engpässe von Bus-basierten Netzwerken.[13]: Xiii

Netzwerke-On-Chips haben Vorteile, einschließlich Ziel- und anwendungsspezifischer Routing, größere Stromeffizienz und verringerte Möglichkeiten von Busstreitigkeiten. Network-on-Chip-Architekturen lassen sich inspirieren Kommunikationsprotokolle wie TCP und die Internet -Protokollsuite Für die On-Chip-Kommunikation,[13] Obwohl sie normalerweise weniger haben Netzwerkschichten. Optimales Netzwerk-On-Chip Netzwerkarchitekturen sind ein fortlaufender Bereich von großem Forschungsinteresse. NOC -Architekturen reichen von herkömmlichem verteiltem Computing Netzwerktopologien wie zum Beispiel Torus, Hypercube, Maschen und Baumnetzwerke zu Genetische Algorithmusplanung zu Randomisierte Algorithmen wie zum Beispiel zufällige Spaziergänge mit Verzweigung und randomisiert Zeit zu leben (TTL).

Viele SOC -Forscher betrachten NOC -Architekturen als die Zukunft des SOC -Designs, da gezeigt wurde, dass sie die Strom- und Durchsatzbedürfnisse von SOC -Designs effizient entsprechen. Aktuelle NOC-Architekturen sind zweidimensional. 2D IC -Design hat begrenzt Bodenplanung Entscheidungen, wie die Anzahl der Kerne in SoCs zunehmen, so wie Dreidimensionale integrierte Schaltkreise (3Dics) Es kommt zu, dass SOC-Designer dreidimensionale On-Chip-Netzwerke aufbauen möchten, die als 3DNOCS bezeichnet werden.[13]

Design-Flow

SOC -Designfluss

Ein System auf einem Chip besteht aus beiden Hardware-, beschrieben in § Strukturund die Software, die den Mikrocontroller, den Mikroprozessor oder den digitalen Signalprozessor, Peripheriegeräte und Schnittstellen steuert. Das Design-Flow Für einen SOC ist es, diese Hardware und Software gleichzeitig zu entwickeln, die auch als architektonisches Co-Design bezeichnet wird. Der Designfluss muss auch Optimierungen berücksichtigen (§ Optimierungsziele) und Einschränkungen.

Die meisten SOCs werden aus vorqualifizierter Hardwarekomponente entwickelt IP -Kernspezifikationen für die Hardware -Elemente und Ausführungseinheiten, zusammen mit der Software, zusammen mit Software "Blöcke", die oben beschrieben wurden Gerätetreiber Das kann ihren Betrieb steuern. Von besonderer Bedeutung sind die Protokollstapel Das antreibt branchenabhängige Schnittstellen wie wie USB. Die Hardwareblöcke werden mithilfe von zusammengestellt computergestütztes Design Tools speziell elektronische Designautomatisierung Werkzeug; das Softwaremodule werden mit einer Software integriert integrierte Entwicklungsumgebung.

SOCS -Komponenten sind auch häufig in entworfen hochrangige Programmiersprachen wie zum Beispiel C ++, Matlab oder Systemc und konvertiert zu RTL Entwürfe durch hochrangige Synthese (HLS) Tools wie z. C zu HDL oder Fluss nach HDL.[14] HLS -Produkte, die als "algorithmische Synthese" bezeichnet werden, ermöglicht es Designern, C ++ zu verwenden, um System-, Schalt-, Software- und Überprüfungsstufen in einer hohen Ebene zu modellieren und zu synthetisieren, die allgemein bekannt ist Computeringenieure In einer Weise unabhängig von Zeitskalen, die typischerweise in HDL angegeben sind.[15] Andere Komponenten können Software bleiben und kompiliert und eingebettet werden Soft-Core-Prozessoren im SOC als Module in HDL als enthalten IP -Kerne.

Einmal der die Architektur des SOC wurde definiert, alle neuen Hardware -Elemente sind in einer Abstract geschrieben Hardware -Beschreibung Sprache bezeichnet Übertragungsstufe Register (RTL), das das Schaltungsverhalten definiert oder durch hochrangige Synthese in RTL aus einer hohen Sprache synthetisiert wurde. Diese Elemente sind in einer Hardware -Beschreibung Sprache miteinander verbunden, um das vollständige SOC -Design zu erstellen. Die Logik, die angegeben ist, um diese Komponenten zu verbinden und zwischen möglicherweise unterschiedlichen Schnittstellen zu konvertieren, die von verschiedenen Anbietern bereitgestellt werden, wird genannt Logik Kleber.

Designüberprüfung

Chips werden auf die Richtigkeit der Validierung verifiziert, bevor sie an a gesendet werden Halbleiter Gießerei. Dieser Prozess wird genannt Funktionale Überprüfung und es macht einen erheblichen Teil der Zeit und Energie aus, die in der aufgewendet wurde Lebenszyklus des Chip -Designs, oft als 70%zitiert.[16][17] Mit der wachsenden Komplexität von Chips,, Hardware -Überprüfungssprachen wie Systemverilog, Systemc, e, und Openvera werden benutzt. Käfer Der Designer wird in der Verifizierungsphase gefunden.

Traditionell haben Ingenieure Simulationsbeschleunigung verwendet, Emulation oder Prototyping auf Neuprogrammierbare Hardware Hardware und Software für SOC -Designs vor der Abschluss des Designs zu überprüfen und zu debuggen. Klebeband. Feldprogrammierbare Gate-Arrays (FPGAs) werden für Prototyping -SOCs bevorzugt, weil FPGA -Prototypen sind neuprogrammierbar, erlauben Debuggen und sind flexibler als Anwendungsspezifische integrierte Schaltkreise (Asics).[18][19]

Mit hoher Kapazität und schneller Kompilierungszeit sind Simulationsbeschleunigung und Emulation leistungsfähige Technologien, die eine große Sichtbarkeit in Systeme bieten. Beide Technologien arbeiten jedoch langsam in der Größenordnung von MHz, was erheblich langsamer - bis zu 100 -mal langsamer - sein kann als die Betriebsfrequenz des SOC. Beschleunigungs- und Emulationsboxen sind auch bei über 1 Million US -Dollar sehr groß und teuer.

Im Gegensatz dazu verwenden FPGA-Prototypen FPGAs direkt, um die Ingenieure zu ermöglichen, die vollständige Betriebsfrequenz eines Systems mit realen Stimuli zu validieren und zu testen. Tools wie Certus[20] werden verwendet, um Sonden in das FPGA -RTL einzufügen, die Signale zur Beobachtung zur Verfügung stellen. Dies wird verwendet, um Hardware-, Firmware- und Software -Interaktionen in mehreren FPGAs mit Funktionen wie einem Logikanalysator zu debuggen.

Parallel dazu werden die Hardware -Elemente gruppiert und durch einen Prozess von weitergeleitet Logiksynthese, in denen Leistungsbeschränkungen wie Betriebsfrequenz und erwartete Signalverzögerungen angewendet werden. Dies erzeugt eine Ausgabe, die als a bekannt ist Netzliste Beschreibung des Designs als physischer Schaltkreis und seiner Zusammenhänge. Diese Netlisten werden mit dem kombiniert Logik Kleber Verbinden Sie die Komponenten, um die schematische Beschreibung des SOC als Schaltung zu erzeugen, der sein kann gedruckt auf einen Chip. Dieser Prozess ist als bekannt als Platz und Route und geht voraus Klebeband für den Fall, dass die SOCS als produziert werden Anwendungsspezifische integrierte Schaltkreise (ASIC).

Optimierungsziele

SOCs müssen optimieren Stromnutzung, Bereich auf sterben, Kommunikation, Positionierung für Lokalität zwischen modularen Einheiten und anderen Faktoren. Optimierung ist notwendigerweise ein Designziel von SOCS. Wenn keine Optimierung erforderlich wäre, würden die Ingenieure a verwenden Multi-Chip-Modul Architektur ohne Berücksichtigung des Gebietsgebrauchs, des Stromverbrauchs oder der Leistung des Systems in gleichem Maße.

Häufige Optimierungsziele für SOC -Designs folgen mit Erklärungen. Im Allgemeinen kann die Optimierung einer dieser Mengen schwierig sein Kombinatorische Optimierung Problem und kann in der Tat sein Np-harte ziemlich einfach. Deshalb raffiniert Optimierungsalgorithmen sind oft benötigt und es kann praktisch sein zu verwenden Näherungsalgorithmen oder Heuristik in manchen Fällen. Darüber hinaus enthalten die meisten SOC -Designs Mehrere Variablen, um gleichzeitig zu optimieren, Also Pareto effizient Lösungen werden im SOC -Design gesucht. Oft sind die Ziele der Optimierung einiger dieser Größen direkt uneins, was die Entwurfsoptimierung von SOCs und die Einführung weiter erhöht Kompromisse im Systemdesign.

Für eine umfassendere Berichterstattung über Kompromisse und Anforderungsanalyse, sehen Anforderungen Engineering.

Ziele

Energieverbrauch

SOCs sind optimiert, um die zu minimieren elektrische Energie Wird verwendet, um die Funktionen des SOC auszuführen. Die meisten SOCs müssen niedrige Leistung verwenden. SOC -Systeme benötigen oft lange Lebensdauer der Batterie (wie zum Beispiel Smartphones), kann möglicherweise Monate oder Jahre ohne Stromquelle verbringen und gleichzeitig die autonome Funktion aufrechterhalten, und sind in der Stromversorgung häufig durch eine hohe Anzahl von Stromverbrauch begrenzt eingebettet SOCS ist miteinander vernetzt in einem Gebiet. Darüber hinaus können die Energiekosten hoch sein, und die Energieerhaltung wird die Verringerung der Energie verringern Eigentumsgesamtkosten des Soc. Endlich, Abwärme Durch einen hohen Energieverbrauch kann andere Schaltkomponenten schädigen, wenn zu viel Wärme abgelöst wird, was einen weiteren pragmatischen Grund zur Erhaltung der Energie ergibt. Die in einer Schaltung verwendete Energiemenge ist die Integral- von Energie in Bezug auf die Zeit konsumiert und die Durchschnittsrate des Stromverbrauchs ist das Produkt von aktuell durch Stromspannung. Äquivalent, von Ohm'sches Gesetz, Leistung ist Strom quadratischer Zeiten Widerstand oder Spannungsquadrat geteilt durch Widerstand:

SOCs sind häufig eingebettet in tragbare Geräte wie zum Beispiel Smartphones, GPS -Navigationsgeräte, Digital Uhren (einschließlich smarte Uhren) und Netbooks. Kunden wollen eine lange Batterie für lebende Batterien für Mobile Computing Geräte, ein weiterer Grund, warum der Stromverbrauch in SoCs minimiert werden muss. Multimedia -Anwendungen werden oft auf diesen Geräten ausgeführt, einschließlich Videospiele, Video Streaming, Bildverarbeitung; alle sind in gewachsen Rechenkomplexität In den letzten Jahren mit den Nutzeranforderungen und Erwartungen an höhereQualität Multimedia. Die Berechnung ist anspruchsvoller, wenn die Erwartungen in Richtung gehen 3D -Video bei hohe Auflösung mit Mehrere StandardsDaher müssen SoCs, die Multimedia -Aufgaben ausführen, rechnerisch fähige Plattform sein und gleichzeitig eine geringe Leistung für einen Standard -mobilen Akku ausführen.[12]: 3

Leistung pro Watt

SoCs sind optimiert, um zu maximieren Energie-Effizienz In der Leistung pro Watt: Maximieren Sie die Leistung des SOC angesichts eines Budgets der Stromverbrauch. Viele Anwendungen wie z. Edge Computing, verteilte Verarbeitung und Ambient Intelligence erfordern eine bestimmte Ebene von Rechenleistung, aber die Macht ist in den meisten SOC -Umgebungen begrenzt. Das Armarchitektur hat eine größere Leistung pro Watt als x86 in eingebetteten Systemen, so wird es für die meisten SOC -Anwendungen gegenüber einem vorgezogenen SOC -Anwendungen bevorzugt eingebetteter Prozessor.

Abwärme

SOC -Designs sind optimiert, um zu minimieren Abwärme Ausgang auf dem Chip. Wie bei anderen integrierte Schaltkreise, Wärme erzeugt aufgrund von Hoch Leistungsdichte sind die Engpass weiter Miniaturisierung von Komponenten.[21]: 1 Die Leistungsdichten von integrierten Schaltkreisen mit hoher Geschwindigkeit, insbesondere Mikroprozessoren und einschließlich SoCs, sind sehr uneben geworden. Zu viel Abwärme kann Schaltkreise beschädigen und untergraben Verlässlichkeit der Schaltung im Laufe der Zeit. Hohe Temperaturen und thermischer Stress beeinflussen die Zuverlässigkeit negativ, Stressmigration, verringert Zwischenzeit zwischen Fehlern, Elektromigration, Kabelbindung, Metastabilität und andere Leistungsverschlechterung des SOC im Laufe der Zeit.[21]: 2–9

Insbesondere die meisten SOCs befinden sich in einem kleinen physischen Bereich oder einem kleinen Volumen, und daher werden die Auswirkungen der Abwärme verstärkt, da es nur wenig Raum für die Diffundierung des Systems gibt. Wegen hoch Transistor zählt auf modernen Geräten, oft ein Layout von ausreichendem Durchsatz und hoch Transistordichte ist physisch realisierbar von Herstellungsprozesse würde jedoch zu unannehmbar hohen Wärmemengen im Volumen des Stromkreises führen.[21]: 1

Diese thermischen Effekte zwingen SOC und andere Chip -Designer, konservativ anzuwenden Designmargenweniger leistungsfähige Geräte erstellen, um das Risiko von zu mildern katastrophales Versagen. Wegen erhöhter Transistordichten Wenn Längenskalen kleiner werden, jeder Prozessgenerierung erzeugt mehr Wärmeausgang als die letzte. Soc -Architekturen werden normalerweise heterogen und erzeugen räumlich inhomogen Wärmeflüsse, was nicht effektiv durch einheitlich gemindert werden kann Passive Kühlung.[21]: 1

Durchsatz

SOCs sind optimiert, um Rechen- und Kommunikation zu maximieren Durchsatz.

Latenz

SoCs sind optimiert, um zu minimieren Latenz für einige oder alle ihre Funktionen. Dies kann durch erreicht werden durch auslegen Elemente mit richtiger Nähe und Lokalität Um sich zu minimieren, um die Verbindungsverzögerungen zu minimieren und die Geschwindigkeit zu maximieren, mit der Daten zwischen Modulen kommuniziert werden, Funktionseinheiten und Erinnerungen. Im Allgemeinen ist die Optimierung zur Minimierung der Latenz eine NP-Complete Problem entspricht dem Boolesche Zufriedenheitsproblem.

Zum Aufgaben Das Ausführen von Prozessorkernen, Latenz und Durchsatz kann mit verbessert werden Aufgabenplanung. Einige Aufgaben werden jedoch in anwendungsspezifischen Hardwareeinheiten ausgeführt, und selbst die Aufgabenplanung reicht möglicherweise nicht aus, um alle softwarebasierten Aufgaben zu optimieren, um die Timing- und Durchsatzbeschränkungen zu erfüllen.

Methoden

Systeme auf Chip werden mit Standardhardware modelliert Verifizierung und Validierung Techniken, aber zusätzliche Techniken werden verwendet, um Soc -Design -Alternativen zu modellieren und zu optimieren, um das System in Bezug auf Entscheidungsanalyse mit mehreren Kriterien auf den obigen Optimierungszielen.

Aufgabenplanung

Aufgabenplanung ist eine wichtige Aktivität in jedem Computersystem mit mehreren Prozesse oder Themen Teilen eines einzelnen Prozessorkerns. Es ist wichtig zu reduzieren § Latenz und erhöhen § Durchsatz zum eingebettete Software auf einem Soc's laufen § Prozessorkerne. Nicht jede wichtige Computeraktivität in einem SOC wird in Software ausgeführt gemeinsame Ressourcen.

SOCS planen oft Aufgaben nach Netzwerkplanung und Randomisierte Planung Algorithmen.

Pipelining

Hardware- und Softwareaufgaben werden häufig in Pipeled in Prozessordesign. Pipelining ist ein wichtiges Prinzip für beschleunigen in Rechnerarchitektur. Sie werden häufig in verwendet GPUS (Grafikpipeline) und RISC -Prozessoren (Entwicklungen der Klassische RISC -Pipeline), werden aber auch auf anwendungsspezifische Aufgaben wie z. digitale Signalverarbeitung und Multimedia -Manipulationen im Kontext von SoCs.[12]

Probabilistische Modellierung

SOCs werden jedoch oft analysiert Probabilistische Modelle, Queuing -Theorie § Warteschlangennetzwerke und Markov -Ketten. Zum Beispiel, Little's Gesetz Ermöglicht den SOC -Zuständen und NOC -Puffer als Ankunftsprozesse und analysiert durch Poisson -Zufallsvariablen und Poisson -Prozesse.

Markov -Ketten

SOCs werden oft mit modelliert Markov -Ketten, beide Diskrete Zeit und kontinuierliche Zeit Varianten. Die Markov -Kettenmodellierung erlaubt es Asymptotische Analyse des Soc's Steady -State -Verteilung von Macht, Wärme, Latenz und anderen Faktoren, damit Designentscheidungen für den gemeinsamen Fall optimiert werden können.

Herstellung

SOC -Chips sind normalerweise erfunden Verwendung Metal -Oxid -Jemonductor (MOS) Technologie.[22] Die oben beschriebenen Netzlisten werden als Grundlage für das physische Design verwendet (Platz und Route) Fließen Sie, um die Absicht der Designer in das Design des SOC umzuwandeln. Während dieses Konvertierungsprozesses wird das Design mit statischer Timing -Modellierung, Simulation und anderen Tools analysiert, um sicherzustellen Integrität.

Wenn alle bekannten Fehler korrigiert und diese überprüft wurden und alle physischen Designprüfungen durchgeführt werden, werden die physischen Designdateien, die jede Schicht des Chips beschreiben . Diese werden an eine Waferherstellungsanlage gesendet, um vor dem Verpacken und Testen die SOC -Würfel zu erstellen.

SOCs können durch verschiedene Technologien hergestellt werden, darunter:

ASICS verbraucht weniger Strom und ist schneller als FPGAs, kann aber nicht neu programmiert werden und sind teuer herzustellen. FPGA -Designs eignen sich besser für Designs mit niedrigerem Volumen, aber nach genügend Produktionseinheiten reduzieren ASICs die Gesamtbetriebskosten.[23]

SOC-Designs konsumieren weniger Strom und haben eine geringere Kosten und eine höhere Zuverlässigkeit als die von ihnen ersetzten Multi-Chip-Systeme. Mit weniger Paketen im System werden auch Montagekosten gesenkt.

Wie die meisten jedoch Sehr große Integration (VLSI) Designs, Gesamtkosten[Klarstellung erforderlich] ist für einen großen Chip höher als für dieselbe Funktionalität, die über mehrere kleinere Chips verteilt ist, von niedrigere Erträge[Klarstellung erforderlich] und höher Einmalentwicklung Kosten.

Wenn es nicht möglich ist, einen SOC für eine bestimmte Anwendung zu konstruieren, ist eine Alternative a System im Paket (SIP) mit einer Reihe von Chips in einem einzigen bestehen Paket. Wenn SOC in großen Bänden hergestellt wird, ist er kostengünstiger als SIP, da seine Verpackung einfacher ist.[24] Ein weiterer Grund, warum SIP bevorzugt werden kann, ist Abwärme Möglicherweise ist in einem SOC für einen bestimmten Zweck zu hoch, da funktionelle Komponenten zu nahe beieinander liegen, und in einer SIP -Wärme löst sich besser aus verschiedenen funktionellen Modulen ab, da sie physisch weiter voneinander entfernt sind.

Benchmarks

SOC Forschung und Entwicklung Vergleicht oft viele Optionen. Benchmarks wie kosmisch,[25] sind entwickelt, um solche Bewertungen zu unterstützen.

Siehe auch

Anmerkungen

  1. ^ In diesem Artikel wird die Konvention verwendet, dass SOC ausgesprochen wird /ˌɛsˌˈsich/ Es-oh-SEHEN. Daher verwendet es die Konvention "A" für die unbestimmter Artikel entsprechend SOC ("ein Soc "). Andere Quellen können es als aussprechen als /sɒk/ Socke und benutze daher "a SOC ".
  2. ^ Dieses zentrale Board wird als "Mother Board" bezeichnet, um die "Kinder" -Komponentenkarten zu hosten.
  3. ^ Die Grafikverbindungen (PCI Express) und RAM historisch konstituierte die Nord brücke von mit Motherboard unterstützten diskreten Architekturen.
  4. ^ Die Festplatte und USB -Konnektivität umfassten historisch einen Teil des Southbridge von mit Motherboard unterstützten diskreten modularen Architekturen.
  5. ^ Im eingebettete Systeme, "Schilde" sind analog zu Erweiterungskarten zum Stck. Sie passen oft über einen Mikrocontroller wie ein Arduino oder Single-Board-Computer so wie die Raspberry Pi und funktionieren als Peripheriegeräte Für das Gerät.

Verweise

  1. ^ Shah, Agam (3. Januar 2017). "7 schillernde Smartphone -Verbesserungen mit Snapdragon 835 Chip von Qualcomm". Netzwerkwelt.
  2. ^ "Qualcomms Snapdragon X60 verspricht kleinere 5G -Modems im Jahr 2021 - ARS Technica".
  3. ^ Pete Bennett, EE mal. "Das Warum, wo und was mit Low-Power SoC-Design2. Dezember 2004. Abgerufen am 28. Juli 2015.
  4. ^ Nolan, Stephen M. "Power Management für Internet of Things (IoT) -System für eine Chip (SOC) -Entwicklung". Design und Wiederverwendung. Abgerufen 25. September, 2018.
  5. ^ "Ist ein Single-Chip-SOC-Prozessor richtig für Ihr eingebettetes Projekt?". Eingebettet. Abgerufen 13. Oktober, 2018.
  6. ^ "Qualcomm startet Socs für eingebettete Vision | Bildgebung und maschinelles Vision Europa". www.imveurope.com. Abgerufen 13. Oktober, 2018.
  7. ^ "Samsung Galaxy S10 und S10e Teardown". ich befestige es. 6. März 2019.
  8. ^ a b "Arm verläuft Intel mit neuer Chip -Roadmap bis 2020". Windows Central. Abgerufen 6. Oktober, 2018.
  9. ^ a b "Immer verbundene PCs, verlängerte Akkulaufzeit 4G LTE -Laptops | Windows". www.microsoft.com. Abgerufen 6. Oktober, 2018.
  10. ^ "Gigabit -Klasse LTE, 4G LTE und 5G -Mobilfunkmodems | Qualcomm". Qualcomm. Abgerufen 13. Oktober, 2018.
  11. ^ a b c Furber, Stephen B. (2000). ARM-System-on-Chip-Architektur. Harlow, England: Addison-Wesley. ISBN 0201675196. OCLC 44267964.
  12. ^ a b c d e Haris Javaid, Sri Parameswaran (2014). Pipelined Multiprozessor-System-on-Chip für Multimedia. Springer. ISBN 9783319011134. OCLC 869378184.{{}}: CS1 Wartung: Verwendet Autorenparameter (Link)
  13. ^ a b c d e f g h Kundu, Santanu; Chattopadhyay, Santanu (2014). Netzwerk-On-Chip: Die nächste Generation der System-On-Chip-Integration (1. Aufl.). Boca Raton, FL: CRC Press. ISBN 9781466565272. OCLC 895661009.
  14. ^ "Best Practices für das FPGA -Prototyping von MATLAB- und Simulink -Algorithmen". EEJournal. 25. August 2011. Abgerufen 8. Oktober, 2018.
  15. ^ Bowyer, Bryan (5. Februar 2005). "Das 'Warum' und 'Was' der algorithmischen Synthese". EE mal. Abgerufen 8. Oktober, 2018.
  16. ^ EE mal. "Ist die Überprüfung wirklich 70 Prozent?14. Juni 2004. Abgerufen am 28. Juli 2015.
  17. ^ "Unterschied zwischen Überprüfung und Validierung". Software -Testklasse. 26. August 2013. Abgerufen 30. April, 2018. In Interviews stellen die meisten Interviewer Fragen zu „Was ist Unterschied zwischen Überprüfung und Validierung?“ Viele Menschen verwenden die Verifizierung und Validierung austauschbar, haben jedoch unterschiedliche Bedeutungen.
  18. ^ Rittman, Danny (5. Januar 2006). "Nanometerprototyping" (PDF). Tayden Design. Abgerufen 7. Oktober, 2018.
  19. ^ "FPGA -Prototyping zur strukturierten ASIC -Produktion, um Kosten, Risiko & TTM zu senken". Design und Wiederverwendung. Abgerufen 7. Oktober, 2018.
  20. ^ Brian Bailey, EE Times. "TeKtronix hofft, ASIC -Prototypen aufzurüsten30. Oktober 2012. Abgerufen am 28. Juli 2015.
  21. ^ a b c d Ogrenci-Memik, Seda (2015). Wärmemanagement in integrierten Schaltkreisen: Überwachung und Kühlung auf Chip- und Systemebene.London, Großbritannien: Die Institution für Ingenieurwesen und Technologie. ISBN 9781849199353. OCLC 934678500.
  22. ^ Lin, jünger Long Steve (2007). Wesentliche Probleme im SOC-Design: Entwerfen komplexer Systeme auf dem Chip. Springer Science & Business Media. p. 176. ISBN 9781402053528.
  23. ^ "FPGA gegen ASIC: Unterschiede zwischen ihnen und welcher zu verwenden? - Numato Lab Help Center". Numato.com. Abgerufen 17. Oktober, 2018.
  24. ^ EE mal. "Die große Debatte: Soc gegen SIP21. März 2005. Abgerufen am 28. Juli 2015.
  25. ^ "Kosmisch". www.ece.ust.hk. Abgerufen 8. Oktober, 2018.

Weitere Lektüre

Externe Links