<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=System-on-a-Chip</id>
	<title>System-on-a-Chip - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=System-on-a-Chip"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=System-on-a-Chip&amp;action=history"/>
	<updated>2026-05-30T06:50:39Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=System-on-a-Chip&amp;diff=485803&amp;oldid=prev</id>
		<title>imported&gt;BrunoBoehmler: /* Literatur */ LIT in Zeilen- statt Tabellenform</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=System-on-a-Chip&amp;diff=485803&amp;oldid=prev"/>
		<updated>2025-09-11T23:38:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Literatur: &lt;/span&gt; LIT in Zeilen- statt Tabellenform&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:Raspi 15807388763 6d259773fb o.png|mini|rechts|Ein SoC auf einem Einplatinencomputer [[Raspberry Pi]] 2 Model B&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.raspberrypi.com/documentation/computers/processors.html |titel=Raspberry Pi Documentation - Processors |sprache=en |abruf=2023-07-07}}&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Ein &amp;#039;&amp;#039;&amp;#039;{{lang|en|System-on-a-Chip}}&amp;#039;&amp;#039;&amp;#039;, auch &amp;#039;&amp;#039;&amp;#039;{{lang|en|System-on-Chip}}&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SoC&amp;#039;&amp;#039;&amp;#039;, dt. &amp;#039;&amp;#039;Ein-Chip-System&amp;#039;&amp;#039;), ist ein [[integrierter Schaltkreis]] (IC), in welchem eine Vielzahl von Funktionen eines programmierbaren elektronischen Systems realisiert ist. Als &amp;#039;&amp;#039;System&amp;#039;&amp;#039; wird dabei eine Kombination unterschiedlicher Elemente (logische Schaltungen, Taktgebung, selbständiges Anlaufen, mikrotechnische [[Sensor]]en usw.) aufgefasst, die zusammen eine bestimmte Funktionalität bereitstellen, beispielsweise einen Beschleunigungssensor samt Auswertungselektronik. Im Gegensatz zu einem elektronischen Schaltkreis auf einer [[Leiterplatte]] sind bei einem SoC alle Funktionen direkt auf dem [[Die (Halbleitertechnik)|Die]], also dem [[Halbleiter]]-[[Substrat (Materialwissenschaft)|Substrat]] integriert, was auch monolithische Integration genannt wird. Aufgrund der häufigen Nutzung von [[Silizium]] als Substratmaterial spricht man auch von {{lang|en|&amp;#039;&amp;#039;System-on-Silicon&amp;#039;&amp;#039;}} (SoS). Ursprünglich wurden SoCs vorrangig in [[Eingebettetes System|eingebetteten Systemen]] eingesetzt, finden sich inzwischen aber in fast allen Geräteklassen, vom [[Smartphone]] bis zum [[Desktop-Computer]].&lt;br /&gt;
&lt;br /&gt;
Während Systeme anfänglich aus einem [[Mikroprozessor]]- oder [[Mikrocontroller]]-IC und vielen anderen ICs für spezielle Funktionen bestanden, die auf einer [[Leiterplatte|Platine]] aufgelötet waren, lässt die heute mögliche Integrationsdichte zu, nahezu alle Funktionen auf einem einzigen IC zu vereinigen. Dabei werden digitale, analoge und [[Mixed-Signal]]-Funktionseinheiten integriert. Vorteile sind vor allem Kosteneinsparung, geringerer Energieverbrauch beziehungsweise Verlustleistung und umfassende Miniaturisierung. So ist heute beispielsweise bei Mobiltelefonen die digitale Funktion, gegebenenfalls mit Ausnahme des Speichers, auf einem IC realisiert. Auch die Schnittstellen beispielsweise zur Tastatur, zur SIM-Karte oder zum Display sind bereits auf diesem IC enthalten.&lt;br /&gt;
&lt;br /&gt;
Eine ähnliche Technik, um hohe Integrationsdichten auch von Bauelementen von stark unterschiedlicher Technik zu erreichen, ist das sogenannte [[System-in-Package]] (SiP). Dabei werden mehrere Chips (z.&amp;amp;nbsp;B. CPU und RAM) in einem Gehäuse zusammengefasst. Durch die weitere Hinzunahme von Peripheriebausteinen entstehen [[Leiterplatte]]n mit komplexen Funktionen, die {{Anker|SoM}}[[System on Module]] genannt werden.&lt;br /&gt;
&lt;br /&gt;
== Einsatzgebiet ==&lt;br /&gt;
Eingesetzt werden SoCs unter anderem in mobilen Geräten wie [[Smartphone]]s, [[Tablet-Computer]], sonstige [[Gadget]]s und [[Datenerfassungsgerät]]e, ebenso in der [[Mess-, Steuerungs- und Regelungstechnik|Steuerungs-]] und [[Automatisierungstechnik]] (z.&amp;amp;nbsp;B. Waschmaschine, Automobilelektronik, Industrieautomation) sowie in zahlreichen modernen Geräten der [[Unterhaltungselektronik]]. Meist sind viele verschiedene Schnittstellen zu bedienen (Sensoren, Aktoren, Netzwerke, Tasten, Anzeigen) und die Stückzahlen sind groß. Die Integration der Funktionen, die zuvor auf mehrere Bauelemente oder gar mehrere Leiterplatten verteilt waren, kann auch die Ausfall- und die [[Funktionale Sicherheit]] erhöhen, insbesondere wenn vielfältige Maßnahmen zur Fehleraufdeckung integriert sind, die mit diskreten Bauteilen nicht marktfähig zu realisieren wären. Für Anwendungen, die weniger große Stückzahlen generieren, wie in [[Medizintechnik|medizintechnischen Geräten]] oder der [[Avionik]], werden selten speziell angepasste SoCs eingesetzt, sondern bleiben oft viele der integrierten Module ungenutzt.&lt;br /&gt;
&lt;br /&gt;
== Entwurfsvorgang ==&lt;br /&gt;
{{Belege fehlen}}&lt;br /&gt;
SoCs werden heute zumeist nicht völlig neu entwickelt, sondern die Entwürfe basieren&amp;amp;nbsp;– zumindest in Teilen&amp;amp;nbsp;– auf vorhandenen oder erworbenen Komponenten, sogenannten [[IP-Core|IP-Kernen]]. Dies sind beispielsweise Makros für vollständige [[CPU]]-Kerne, oder [[Koprozessor]]en&amp;amp;nbsp;– etwa als Hardwarebeschleuniger für Verschlüsselungs- oder Grafikberechnungen. Ebenso sind dies Peripherieblöcke zur Implementierung von [[Speicher]]-, [[Ethernet]]-, [[Bluetooth]]- oder sonstigen Schnittstellen, oder auch komplette Speichereinheiten inklusive deren Verwaltung.&lt;br /&gt;
&lt;br /&gt;
Viele Standardkomponenten sind bei [[Electronic Design Automation|EDA]]-Werkzeugen der Chip-Hersteller in proprietärer Form kostenlos enthalten. Andere Komponenten können vom Chip-Hersteller oder anderen IP-Lieferanten wie z.&amp;amp;nbsp;B. [[ARM Limited|ARM]], [[Transmeta]] oder kleineren oft sehr spezialisierten Entwicklungsunternehmen lizenziert werden. Oftmals lassen sich solche IP-Kerne über Parameter dem Verwendungszweck angepasst generieren, beispielsweise in Form der Pipelinelänge, der Cachegröße oder den Busbitbreiten.&lt;br /&gt;
&lt;br /&gt;
Weitere benötigte Komponenten eines SoC wurden beispielsweise bereits in früheren Projekten entwickelt und können im Idealfall direkt eingesetzt werden&amp;amp;nbsp;– oder es müssen Änderungen vorgenommen werden, bestenfalls genügt eine Parametrisierung der IP-Kerne.&lt;br /&gt;
Eine weitere Möglichkeit ist das Verwenden „freier Hardware“. So entstehen auch im Hardwarebereich immer mehr [[Open Source|Open-Source]]-Projekte (z.&amp;amp;nbsp;B. auf [[OpenCores.org]]), die sich oft noch im Entwicklungsstadium befinden. Was hier gegebenenfalls fehlt, muss der Nutzer selbst entwickeln oder entwickeln lassen.&lt;br /&gt;
&lt;br /&gt;
Die Übergänge, was in Software und was in Hardware umgesetzt wird, sind anwendungsabhängig zunehmend fließend&amp;amp;nbsp;– siehe [[Software Defined Radio]] (SDR).&lt;br /&gt;
&lt;br /&gt;
=== Debugging Interface ===&lt;br /&gt;
In der Regel besitzen SoCs eine [[Debugger|Debug]]-Schnittstelle (englisch &amp;#039;&amp;#039;{{lang|en|interface}}&amp;#039;&amp;#039;). Dies ist oft eine einfache [[RS-232]]-Schnittstelle, die häufig über [[USB]] emuliert wird. Sie bietet einen direkten Zugriff von außen auf zentrale Teile des SoC und ermöglicht es beispielsweise, im Betrieb von einer [[Terminalemulation]] aus Fehlermeldungen und allgemeine Informationen abzufragen. In komplexeren Umgebungen übernimmt diese Funktion oft auch eine [[JTAG]]-Schnittstelle. Diese wird typischerweise nicht nur zur Übertragung von Fehlermeldungen genutzt, sondern zur Kommunikation mit einem Hard- oder Softwaredebugmodul im SoC. Ein solches Modul erlaubt es dem Anwender, beispielsweise das SoC „anzuhalten“ und die Abarbeitung im CPU-Kern im Einzelschrittmodus („Step-by-Step“) durchzuführen und bei Bedarf währenddessen einzelne Registerwerte zu ändern oder beispielsweise eine Schleife abzukürzen oder einen Sprungbefehl zu umgehen.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Anwendung dieser Schnittstelle ist das Programmieren programmierbarer Bereiche eines SoC, wie z.&amp;amp;nbsp;B. [[Random-Access Memory|RAM]], [[EEPROM]], [[Flash-Speicher|Flash]] oder auch einzelner Schaltungsteile bis hin zum gesamten SoC-Design (nur in einem [[FPGA]] o.&amp;amp;nbsp;Ä.). Meist hängen weitere externe Bausteine als „Kette“ an derselben JTAG-Schnittstelle, welche über einen sogenannten [[Boundary Scan]] angesprochen werden.&lt;br /&gt;
&lt;br /&gt;
== Komponenten ==&lt;br /&gt;
[[Datei:ARMSoCBlockDiagram.svg|mini|Blockdiagramm eines SoC basierend auf einem [[ARM-Architektur|ARM-Prozessor]] ]]&lt;br /&gt;
&lt;br /&gt;
=== Bus ===&lt;br /&gt;
Verbunden wird das System intern über einen oder mehrere Busse. In komplexeren SoCs kommt oft ein hierarchisches oder zumindest segmentiertes Bussystem zum Einsatz. Dieses besteht typischerweise aus einem schnellen [[Systembus]], einem langsameren [[Peripheriebus]] und einem [[Registerbus|Register-]] bzw. [[Steuerbus]]. Schnelle Peripherieeinheiten werden mitunter aber auch direkt mit dem Systembus verbunden. Zwischen dem Systembus und dem Peripheriebus vermittelt eine Bridge. Weiterhin benötigt jeder Bus mit mehreren Mastern einen [[Arbiter]]. Für die besonders wichtige Verbindung zwischen dem Prozessor und seinem oder seinen Cache(s) bzw. einem kleinen lokalen Speicher wird oft ein proprietärer aber besonders schneller Prozessorbus eingesetzt. Ein Beispiel hierfür ist der [[Local Memory Bus|LMB]] von Xilinx.&lt;br /&gt;
&lt;br /&gt;
Als Systembus sind in SoCs beispielsweise [[Advanced Microcontroller Bus Architecture|AMBA]] von Arm (Busse: AHB bzw. ASB/APB) [[CoreConnect]] von IBM (Busse: PLB/OPB/DCR) oder in jüngster Zeit auch der [[WishBone]] von Silicore/[[OpenCores]].org stark vertreten. Weit verbreitet sind heute Busbreiten von 32 bis 128&amp;amp;nbsp;Bit. Bei leistungsfähigen SoCs findet sich oft ein [[Speicherdirektzugriff|DMA]]-Controller am Systembus, um die CPU von Speicherzugriffen zu entlasten.&lt;br /&gt;
&lt;br /&gt;
Die Spezifikationen dieser Busse sind physikalisch alle auf die Implementierung in [[Anwendungsspezifische integrierte Schaltung|ASICs]] (&amp;#039;&amp;#039;anwendungsspezifischen integrierten Schaltungen&amp;#039;&amp;#039;) und/oder [[FPGA]]s (englisch {{lang|en|&amp;#039;&amp;#039;Field Programmable Gate Array&amp;#039;&amp;#039;}}) ausgelegt und unterscheiden sich auch ansonsten stark von verbreiteten Systembussen wie [[Peripheral Component Interconnect|PCI]] – beispielsweise wird auf Grund des festen Systemaufbaus im Allgemeinen kein [[Plug and Play]] verwendet.&lt;br /&gt;
&lt;br /&gt;
=== Taktgeber ===&lt;br /&gt;
Als Taktgeber und Zeitgeber sind Funktionsgruppen enthalten, die Impulse in einer bestimmten Frequenz abgeben. Es wird sich dabei um einfache physikalische Schwinger und weitere elektronische Funktionen zur Stabilisierung der Taktrate handeln, die für die Ablaufsteuerung und gegebenenfalls eine Synchronisation erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Eine [[Echtzeituhr]] (physikalische Uhr) empfängt oder misst und zählt lokal eine physikalische Zeit und kann ebenfalls enthalten sein. Dazu sind präzise physikalische Schwinger meist extern zum SoC angeordnet.&lt;br /&gt;
&lt;br /&gt;
Im weiteren Sinne sind mit dem Taktgeber außer dem Taktgeber und der Echtzeituhr auch spezielle stromsparende Weckschaltungen enthalten, die eine Uhrzeit auch nach Ausschalten des Systems behalten bzw. fortschreiben. Der oder die Taktgeber steuern dann auch den [[Bereitschaftsbetrieb|Bereitschaftszustand]] oder [[Sleep-Modus]].&lt;br /&gt;
&lt;br /&gt;
=== {{Anker|MPSoC}}Prozessor ===&lt;br /&gt;
[[Datei:KL AMD Am286LX ZX.jpg|mini|AMD [[Am286]]ZX/LX, SoC auf [[Intel 80286|80286]]-Basis]]&lt;br /&gt;
Üblicherweise besteht ein SoC aus einem [[Prozessor]], welcher über ein [[Bus (Datenverarbeitung)#Bussysteme|Bussystem]] mit [[Speicher]] und weiterer [[Peripherie]] verbunden ist. Bei diesem Prozessor kann es sich sowohl um einen sehr einfachen 8-Bit-[[Mikrocontroller]] handeln, als auch um eine sehr leistungsfähige Multicore-[[Prozessor|CPU]]. Mehrprozessorsysteme sind ebenfalls möglich.&lt;br /&gt;
&lt;br /&gt;
Je nach Leistungsfähigkeit, Anwendungsanforderungen und weiteren Kriterien wie Stromverbrauch, Größe und Preis besitzt das SoC eventuell neben seinen Registern nur einen kleinen internen Speicher, oder (meist zusätzlich) einen oder mehrere deutlich größere externe Speicher. Dies kann beispielsweise [[SDRAM]] oder [[Flash-Speicher]] sein. Hierfür hängt dann in der Regel am Systembus ein [[Speichercontroller]], welcher eine entsprechende Schnittstelle für den Speicher zur Verfügung stellt.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Prozessoren ===&lt;br /&gt;
Um den eigentlichen Hauptprozessor des SoCs zu entlasten, sind je nach Anwendung auch spezialisierte Prozessoren enthalten. Dies können beispielsweise Prozessoren zur digitalen Signalverarbeitung sein ([[Digitaler Signalprozessor|DSPs]]) oder beispielsweise Ver-/Entschlüsselungseinheiten oder sonstige Hardwarebeschleuniger wie [[Physikbeschleuniger]]. Hierzu können einzelne Berechnungen oder auch nur Teile davon ausgelagert werden. Diese werden entweder ganz vom [[Coprozessor]] übernommen, oder der Hauptprozessor reicht nur einzelne, besonders rechenintensive Befehle weiter. Diese werden dann unter Umständen nicht mehr als Software auf einer General Purpose CPU oder DSP ausgeführt, sondern direkt in Hardware implementiert. Dies ist zumindest in FPGAs und ASICs gängige Praxis und wird daher auch dementsprechend direkt von den [[Electronic Design Automation|EDA]]-Werkzeugen unterstützt. Viele moderne FPGAs wie Virtex4/5 oder StratixII/III enthalten auch sogenannte DSP-Makros, womit sehr schnell in vielen parallelen Pfaden sogenannte [[Multiply-Accumulate|MAC]]-Befehle ausgeführt werden können.&lt;br /&gt;
&lt;br /&gt;
=== Speicher ===&lt;br /&gt;
Der Speicher in einem SoC dient entweder zur Ablage und Ausführung des Programms (Programmspeicher) oder zur Ablage und Bearbeitung von Daten (Datenspeicher). Handelt es sich bei dem Speicher um einen [[Cache]], so ist dieser oft in zwei getrennten Speichern als [[Harvard-Architektur]] ausgeführt. Normaler [[Arbeitsspeicher|RAM]] wird hingegen gewöhnlich in einer [[Von-Neumann-Architektur]] implementiert. Speichertechnisch handelt es sich intern meist um schnellen [[Static random-access memory|SRAM]], bei externem Speicher, welcher über einen Speichercontroller angebunden wird, meist um langsameren, aber günstigeren [[DRAM]] oder um [[Flash-Speicher|Flash]].&lt;br /&gt;
&lt;br /&gt;
=== Peripherie ===&lt;br /&gt;
Welche weiteren Peripherieeinheiten integriert werden, hängt sehr stark von der eigentlichen Anwendung, aber natürlich auch von vielen weiteren Faktoren wie den beim Prozessortyp erwähnten Kriterien ab. Diese Peripherieblöcke hängen meist nicht direkt am Systembus, sondern über eine sogenannte Bridge an einem separaten Peripheriebus. Dieser ist meist deutlich langsamer getaktet, genügt jedoch den Anforderungen der meisten Peripherie. Somit wird in erster Linie neben einigen anderen positiven Effekten die kapazitive Belastung des Systembusses gesenkt, und dieser kann somit schneller getaktet werden, was natürlich nur so lange hilft, bis die CPU tatsächlich auf eine Peripherieeinheit warten muss; dann sind im Normalfall beide Busse belegt, ohne etwas zu übertragen. Zusätzlich erleichtert ein Peripheriebus die Entwicklung einfacherer Komponenten, da die Integration dieses Bustyps im Gegensatz zum Systembus in der Regel deutlich leichter fällt und durch seine oft kleinere Bitbreite und langsamere Taktung deutlich geringere Anforderungen stellt.&lt;br /&gt;
&lt;br /&gt;
Je nach Art und Anzahl der Peripherieblöcke sowie Einsatzzweck des SoC enthält dieses manchmal einen dedizierten [[Interrupt Controller]]. Bei einfachen, kleineren oder besonders günstigen Systemen wird aber oft auf einen solchen Controller verzichtet, hier muss dann die Software die Interruptquelle ermitteln. Fortschrittliche Interrupt Controller bieten nicht nur viele Kanäle um die Zuordnung der Interrupts zu übernehmen, sondern bieten auch Kanäle mit unterschiedlichen Interrupt-Prioritäten an. Dies ist wichtig, wenn in Teilen des Systems [[Echtzeitanforderung]]en gestellt werden, die mit Interrupts nicht einfach bzw. manchmal überhaupt nicht zu lösen sind, da Interrupts nicht vorhersehbar sind. Dieses Problem kann oft durch eine intelligente Priorisierung gelöst werden.&lt;br /&gt;
&lt;br /&gt;
Oft sind weit mehr Peripherie-Module vorhanden, als in einer bestimmten Anwendung genutzt werden. Von den äußeren Anschlüssen bleiben weniger ungenutzt, da diese oft programmierbar verschiedenen Modulen zugeordnet werden können. Teilweise kann einzelnen Modulen der Takt und Gruppen von Modulen sogar die Spannung abgeschaltet werden, um die Leistungsaufnahme zu senken.&lt;br /&gt;
&lt;br /&gt;
=== Grafik ===&lt;br /&gt;
[[Datei:A33 SOC.jpg|mini|AllWinner-A33-SoC mit [[Mali (GPU)|Mali]]-400MP2-GPU]]&lt;br /&gt;
Viele SoCs enthalten auch einen Grafikprozessor, der ein oder mehrere Displays ansteuert. Hierfür ist in einem PC sonst eine separate Grafikkarte oder ein im Chipsatz integrierter Grafikkern (GPU) zuständig (sogenannte &amp;#039;&amp;#039;[[Hardwarebeschleunigung]]&amp;#039;&amp;#039;). Wegen der immer weiter fortschreitenden Integration fertigen seit einigen Jahren große CPU-Hersteller wie AMD/ATI,&amp;lt;ref&amp;gt;[https://www.heise.de/newsticker/meldung/AMD-entwickelt-integrierten-CPU-GPU-Chip-118827.html &amp;#039;&amp;#039;AMD entwickelt integrierten CPU-GPU-Chip.&amp;#039;&amp;#039;] In: &amp;#039;&amp;#039;heise.de&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt; Intel und VIA/Nvidia, CPUs mit integrierten [[Grafikprozessor|GPUs]]. Manche eingebetteten Systeme stellen hohe Anforderungen an die Grafikausgabe  (Spielekonsolen, Blu-Ray/DVD-Player, bildgebende Geräte der Medizintechnik oder des Militärs), in anderen Fällen reichen oft LCDs oder einige Leuchtdioden zur Statusausgabe aus. Je nach Anwendung kann auch ganz auf eine grafische Ausgabe verzichtet werden.&lt;br /&gt;
&lt;br /&gt;
Besonders erschwert wird die Realisierung der Grafikfähigkeit oft durch besonders rigide Vorgaben bei maximaler Leistung, der maximalen Chipfläche oder auch durch einen extremen Preisdruck, sofern es sich um Massenware handelt.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
Ebenso anzutreffen sind in vielen SoCs spezielle Audiokerne. Diese werden beispielsweise in Mobiltelefonen, MP3-, DVD-Playern und ähnlichen Multimediageräten benötigt. Hierbei kommen je nach Anforderung, Stückzahl, finanziellen Möglichkeiten, Platzbeschränkungen usw. oft aber auch externe Hardware-Audio-Codecs zum Einsatz, welche dann nur über einen relativ kleinen [[IP-Block]] an den SoC-internen Bus angebunden sind. Sofern keine besonders hohen Anforderungen an die Audioqualität gestellt werden, kann beispielsweise ein [[AC’97]]-Codec zum Einsatz kommen. Kosten können mit solchen externen Komponenten aber nur bei kleinen Stückzahlen gespart werden, da sich hier die Entwicklungskosten für eine integrierte oder gar selbst entwickelte Lösung oft überproportional auswirken.&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen ===&lt;br /&gt;
SoCs kommunizieren typischerweise viel stärker mit ihrer technischen Umgebung als mit einem Bediener. Hierzu werden je nach Anforderung diverse Schnittstellen implementiert. Dies geschieht oftmals durch Einbinden fertiger [[IP-Core|IP-Blöcke]], welche je nach Geschwindigkeit- und Latenzanforderung mit dem internen System- oder Peripheriebus verbunden werden.&lt;br /&gt;
&lt;br /&gt;
Zum Bediener hin kommt neben den bereits angesprochenen Audio- und Grafikschnittstellen hauptsächlich ein Tastaturcontroller (z.&amp;amp;nbsp;B. für Matrix-Tastaturen, serielle Tastaturen oder Touchpads) oder eine USB-Schnittstelle für entsprechende Geräte in Frage.&lt;br /&gt;
Zur Kommunikation mit anderen Systemen kommen hauptsächlich [[Serielle Schnittstelle]]n wie z.&amp;amp;nbsp;B. [[Universal Serial Bus|USB]], [[EIA-232|RS232]], [[Controller Area Network|CAN]]-Bus, [[LIN-Bus]], [[MOST-Bus]], [[ARINC 429]] und [[Ethernet]] in Frage. Hierbei wird manchmal nur der [[MAC-Layer]] im SoC integriert, manchmal aber auch der [[PHY]]. Eine weitere Möglichkeit sind [[parallele Schnittstelle]]n wie z.&amp;amp;nbsp;B. [[IEEE 1284|Centronics]], Port-IO, [[ATA/ATAPI|IDE]]/[[CompactFlash|CF]] usw.&lt;br /&gt;
&lt;br /&gt;
== {{lang|en|System-on-a-programmable-Chip}} ==&lt;br /&gt;
[[Datei:Embedded World 2016, Altera Cyclone-V SE (cropped).jpg|mini|Ab 2012: Altera Cyclone V SoC]]&lt;br /&gt;
[[Datei:Altera Intel Stratix 10 SX SoC-FPGA 1SX040HH3F35I3VG.jpg|mini|Ab 2013: Stratix 10 SX SoC]]&lt;br /&gt;
In zunehmender Zahl werden SoCs auf programmierbaren Chips implementiert, sogenannten {{lang|en|System-on-a-programmable-Chips}}. Hierbei handelt es sich um eine Kombination aus [[FPGA]]-Logik und weiterer Peripherie sowie [[CPU]]s. Hierbei kommen als Prozessor sowohl sogenannte HardCores (im Silizium vorhandene CPU-Kerne parallel zur programmierbaren FPGA-Logik) als auch SoftCores (in den FPGA-Quellcode eingefügte, synthetisierbare CPU-Makros) zum Einsatz. Als HardCore gibt es beispielsweise [[PowerPC]]- oder [[Arm-Architektur|ARM]]-Kerne, als SoftCores meist herstellerspezifische Prozessoren wie den [[MicroBlaze]] von Xilinx oder den [[Altera Nios|NIOS II]] von Intel (vormals Altera). Es existieren aber auch plattformunabhängige synthetisierbare Kerne von ARM, Lattice und anderen, welche entweder kommerziell als [[IP-Core]] vertrieben werden oder als Open Source zur Verfügung stehen. Auf diese Weise können die benötigten Funktionen eines Systems optimal auf die angebotenen Ressourcen verteilt werden.&lt;br /&gt;
&lt;br /&gt;
Nicht zu verwechseln ist dies mit Lösungen wie den [[PSoC]]s von [[Cypress Semiconductor Corporation|Cypress]] oder anderen Firmen, bei welchen nur ein klassischer Mikrocontroller programmierbar ist, nicht jedoch dessen ALU und das ganze System mit Bussen, Speicher und weiterer Peripherie.&lt;br /&gt;
&lt;br /&gt;
Die üblichen Komponenten eines SoCs sind:&lt;br /&gt;
* [[Prozessor]]&lt;br /&gt;
** [[Register (Computer)|Register]]&lt;br /&gt;
** [[Arithmetisch-logische Einheit|ALU]]&lt;br /&gt;
* [[Grafikprozessor]]&lt;br /&gt;
* [[Soundchip]]&lt;br /&gt;
* [[Datenspeicher|Speicher]]&lt;br /&gt;
** [[Random-Access Memory|RAM]]&lt;br /&gt;
** [[Festwertspeicher|ROM]], z.&amp;amp;nbsp;B. als Flash- oder [[One Time Programmable|OTP]]-Speicher&lt;br /&gt;
** Speicher- und [[Speicherdirektzugriff|DMA]]-Controller&lt;br /&gt;
* Interne Einheiten&lt;br /&gt;
** [[Zeitgeber]]&lt;br /&gt;
** [[Zählwerk#Elektronische Zählwerke|Zähler]]&lt;br /&gt;
** [[Programmable Interrupt Controller|Interruptcontroller]]&lt;br /&gt;
** [[Watchdog]]-Timer&lt;br /&gt;
** Debug-Schnittstellen, z.&amp;amp;nbsp;B. [[JTAG]]&lt;br /&gt;
** Spezielle Recheneinheiten, wie z.&amp;amp;nbsp;B. in [[Digitaler Signalprozessor|DSP]]-SoCs&lt;br /&gt;
** [[Kryptographie]]&lt;br /&gt;
* [[Peripherie]]-Einheiten und -Schnittstellen&lt;br /&gt;
** Tastaturcontroller, z.&amp;amp;nbsp;B. für Matrix-Tastaturen, serielle Tastaturen oder Touchpads&lt;br /&gt;
** [[Grafikstandard|Grafikschnittstellen]], z.&amp;amp;nbsp;B. für [[Low Voltage Differential Signaling|LVDS]], [[Flüssigkristallanzeige|LCD]], [[Video Graphics Array|VGA]], [[Digital Visual Interface|DVI]], [[Moving Picture Experts Group|MPEG]], HD/[[Secure Digital Music Initiative|SDMI]]&lt;br /&gt;
** [[Serielle Schnittstelle]]n, z.&amp;amp;nbsp;B. [[Universal Serial Bus|USB]], [[EIA-232|RS232]], [[Controller Area Network|CAN]]-Bus&lt;br /&gt;
** [[Parallele Schnittstelle]]n, z.&amp;amp;nbsp;B. nach [[Centronics-Schnittstelle|Centronics]], Port-IO&lt;br /&gt;
** [[Pulsweitenmodulation]], z.&amp;amp;nbsp;B. für [[DC-DC-Wandler]] oder Motorsteuerung&lt;br /&gt;
** [[Modulator]]en, z.&amp;amp;nbsp;B. für [[Global System for Mobile Communications|GSM]]-Codierung, [[Quadraturamplitudenmodulation|QAM]], [[Phasenmodulation|PSK]]&lt;br /&gt;
** Weitere Schnittstellen, z.&amp;amp;nbsp;B. Ethernet, [[Media Access Control|MAC]] oder [[Universal Serial Bus|USB]]&lt;br /&gt;
** [[Analog-Digital-Umsetzer]]&lt;br /&gt;
&lt;br /&gt;
== Hersteller ==&lt;br /&gt;
Am Markt finden sich zahlreiche Angebote für System-on-a-Chip-Halbleiter. Wichtige Anbieter hierfür sind: (alphabetisch sortiert, nicht nach Größe)&lt;br /&gt;
* [[Advanced RISC Machines Ltd.|ARM]] und [[Intel]] mit der [[ARM-Architektur]] bzw. der Weiterentwicklung [[XScale]] (auch [[Intel Quark]] oder [[Intel Edison]])&lt;br /&gt;
* [[Altera]] ([[Intel]]), [[Microsemi]] und [[Xilinx]] mit diversen SoC-Plattformen in [[FPGA]]s&lt;br /&gt;
* [[Broadcom]] mit diversen Kommunikationschips&lt;br /&gt;
* [[Cypress Semiconductor Corporation]] für [[PSoC]] programmierbare System on Chip&lt;br /&gt;
* [[Infineon]] und [[NXP Semiconductors|NXP]] mit SoC-ICs für mobile Endgeräte wie Handys oder auch xDSL-Modems&lt;br /&gt;
* [[LSI Logic]] mit Chips für Netzwerk und Speicherprodukte&lt;br /&gt;
* [[MIPS-Architektur|MIPS]] und Lizenznehmer wie etwa [[AMD]] mit der AU1000 Serie&lt;br /&gt;
* [[Motorola]]/[[Freescale]]/[[NXP Semiconductors]] und [[IBM]] mit diversen [[PowerPC]]-Derivaten&lt;br /&gt;
* [[Qualcomm]] ([[Snapdragon (Prozessor)|Snapdragon]]) für moderne Smartphone-SoCs&lt;br /&gt;
* [[STMicroelectronics]]&lt;br /&gt;
* [[TDK#TDK-InvenSense|TDK-InvenSense]] mit SoC-ICs für Bewegung und Lage, Bild und Ton im [[Gamecontroller]], Handy und [[Head-Mounted Display]]&lt;br /&gt;
* [[Texas Instruments]] mit [[Open Multimedia Application Platform|OMAP]], DSPs und RF-Modulen (z.&amp;amp;nbsp;B. ZigBee Modul µTiny)&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=Bashir M. Al-Hashimi |Titel=System-on-Chip: Next Generation Electronics |Verlag=Institution of Engineering and Technology |Datum=2006 |ISBN=0-86341-552-0}}&lt;br /&gt;
* {{Literatur |Autor=F. Kesel und R. Bartholomä |Titel=Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs |Verlag=Oldenbourg |Datum=2006 |ISBN=3-486-57556-2}} – Erklärt den Entwurf digitaler Schaltungen und SoCs auf FPGA-Basis – VHDL-Beispiel ist ein kleiner Mikrocontroller. Ausblick zu SystemC enthalten (Hinweis: Ist kein VHDL-Einsteiger-Lehrbuch!)&lt;br /&gt;
* {{Literatur |Autor=Steve Furber |Titel=ARM Rechnerarchitekturen für System-on-Chip-Design |Verlag=Mitp-Verlag |Datum=2002 |ISBN=3-8266-0854-2}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{Internetquelle |url=https://www.computerhistory.org/siliconengine/digital-watch-is-first-system-on-chip-integrated-circuit/ |titel=1974: Digital Watch is First System-On-Chip Integrated Circuit |werk=[[Computer History Museum]] |sprache=en |archiv-url=https://web.archive.org/web/20230327005301/https://www.computerhistory.org/siliconengine/digital-watch-is-first-system-on-chip-integrated-circuit/ |archiv-datum=2023-03-27 |abruf=2023-08-02 |abruf-verborgen=1}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste programmierbare Logik}}&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Systemonachip}}&lt;br /&gt;
[[Kategorie:Aufbau- und Verbindungstechnik der Elektronik]]&lt;br /&gt;
[[Kategorie:Hardware]]&lt;br /&gt;
[[Kategorie:Digitaltechnik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;BrunoBoehmler</name></author>
	</entry>
</feed>