www.wikidata.de-de.nina.az
Ein System on a Chip auch System on Chip SoC dt Ein Chip System ist ein integrierter Schaltkreis IC in welchem eine Vielzahl von Funktionen eines programmierbaren elektronischen Systems realisiert ist Als System wird dabei eine Kombination unterschiedlicher Elemente logische Schaltungen Taktgebung selbstandiges Anlaufen mikrotechnische Sensoren usw aufgefasst die zusammen eine bestimmte Funktionalitat 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 also dem Halbleiter Substrat integriert was auch monolithische Integration genannt wird Aufgrund der haufigen Nutzung von Silizium als Substratmaterial spricht man auch von System on Silicon SoS Ursprunglich wurden SoCs vorrangig in eingebetteten Systemen eingesetzt finden sich inzwischen aber in fast allen Gerateklassen vom Smartphone bis zum Desktop Computer Ein SoC auf einem Einplatinencomputer Raspberry Pi 2 Model B 1 Wahrend Systeme anfanglich aus einem Mikroprozessor oder Mikrocontroller IC und vielen anderen ICs fur spezielle Funktionen bestanden die auf einer Platine aufgelotet waren lasst die heute mogliche 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 Eine ahnliche 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 B CPU und RAM in einem Gehause zusammengefasst Durch die weitere Hinzunahme von Peripheriebausteinen entstehen Leiterplatten mit komplexen Funktionen die System on Module genannt werden Inhaltsverzeichnis 1 Einsatzgebiet 2 Entwurfsvorgang 2 1 Debugging Interface 3 Komponenten 3 1 Bus 3 2 Taktgeber 3 3 Prozessor 3 4 Weitere Prozessoren 3 5 Speicher 3 6 Peripherie 3 7 Grafik 3 8 Audio 3 9 Schnittstellen 4 System on a programmable Chip 5 Hersteller 6 Literatur 7 Weblinks 8 EinzelnachweiseEinsatzgebiet BearbeitenEingesetzt werden SoCs unter anderem in mobilen Geraten wie Smartphones Tablet Computer sonstige Gadgets und Datenerfassungsgerate ebenso in der Steuerungs und Automatisierungstechnik z B Waschmaschine Automobilelektronik Industrieautomation sowie in allen moglichen vielen modernen Geraten der Unterhaltungselektronik Meist sind viele verschiedene Schnittstellen zu bedienen Sensoren Aktoren Netzwerke Tasten Anzeigen und die Stuckzahlen sind gross Die Integration der Funktionen die zuvor auf mehrere Bauelemente oder gar mehrere Leiterplatten verteilt waren kann auch die Ausfall und die Funktionale Sicherheit erhohen insbesondere wenn vielfaltige Massnahmen zur Fehleraufdeckung integriert sind die mit diskreten Bauteilen nicht marktfahig zu realisieren waren Fur Anwendungen die weniger grosse Stuckzahlen generieren wie in medizintechnischen Geraten oder der Avionik werden selten speziell angepasste SoCs eingesetzt sondern bleiben oft viele der integrierten Module ungenutzt Entwurfsvorgang BearbeitenSoCs werden heute zumeist nicht vollig neu entwickelt sondern die Entwurfe basieren zumindest in Teilen auf vorhandenen oder erworbenen Komponenten sogenannten IP Kernen Dies sind beispielsweise Makros fur vollstandige CPU Kerne oder Koprozessoren etwa als Hardwarebeschleuniger fur Verschlusselungs oder Grafikberechnungen Ebenso sind dies Peripherieblocke zur Implementierung von Speicher Ethernet Bluetooth oder sonstigen Schnittstellen oder auch komplette Speichereinheiten inklusive deren Verwaltung Viele Standardkomponenten sind bei EDA Werkzeugen der Chip Hersteller in proprietarer Form kostenlos enthalten Andere Komponenten konnen vom Chip Hersteller oder anderen IP Lieferanten wie z B ARM Transmeta oder kleineren oft sehr spezialisierten Entwicklungsunternehmen lizenziert werden Oftmals lassen sich solche IP Kerne uber Parameter dem Verwendungszweck angepasst generieren beispielsweise in Form der Pipelinelange der Cachegrosse oder den Busbitbreiten Weitere benotigte Komponenten eines SoC wurden beispielsweise bereits in fruheren Projekten entwickelt und konnen im Idealfall direkt eingesetzt werden oder es mussen Anderungen vorgenommen werden bestenfalls genugt eine Parametrisierung der IP Kerne Eine weitere Moglichkeit ist das Verwenden freier Hardware So entstehen auch im Hardwarebereich immer mehr Open Source Projekte z B auf OpenCores org die sich oft noch im Entwicklungsstadium befinden Was hier gegebenenfalls fehlt muss der Nutzer selbst entwickeln oder entwickeln lassen Die Ubergange was in Software und was in Hardware umgesetzt wird sind anwendungsabhangig zunehmend fliessend siehe Software Defined Radio SDR Debugging Interface Bearbeiten In der Regel besitzen SoCs eine Debug Schnittstelle englisch interface Dies ist oft eine einfache RS 232 Schnittstelle die haufig uber USB emuliert wird Sie bietet einen direkten Zugriff von aussen auf zentrale Teile des SoC und ermoglicht es beispielsweise im Betrieb von einer Terminalemulation aus Fehlermeldungen und allgemeine Informationen abzufragen In komplexeren Umgebungen ubernimmt diese Funktion oft auch eine JTAG Schnittstelle Diese wird typischerweise nicht nur zur Ubertragung 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 durchzufuhren und bei Bedarf wahrenddessen einzelne Registerwerte zu andern oder beispielsweise eine Schleife abzukurzen oder einen Sprungbefehl zu umgehen Eine weitere Anwendung dieser Schnittstelle ist das Programmieren programmierbarer Bereiche eines SoC wie z B RAM EEPROM Flash oder auch einzelner Schaltungsteile bis hin zum gesamten SoC Design nur in einem FPGA o A Meist hangen weitere externe Bausteine als Kette an derselben JTAG Schnittstelle welche uber einen sogenannten Boundary Scan angesprochen werden Komponenten Bearbeiten nbsp Blockdiagramm eines SoC basierend auf einem ARM ProzessorBus Bearbeiten Verbunden wird das System intern uber 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 Register bzw Steuerbus Schnelle Peripherieeinheiten werden mitunter aber auch direkt mit dem Systembus verbunden Zwischen dem Systembus und dem Peripheriebus vermittelt eine Bridge Weiterhin benotigt jeder Bus mit mehreren Mastern einen Arbiter Fur die besonders wichtige Verbindung zwischen dem Prozessor und seinem oder seinen Cache s bzw einem kleinen lokalen Speicher wird oft ein proprietarer aber besonders schneller Prozessorbus eingesetzt Ein Beispiel hierfur ist der LMB von Xilinx Als Systembus sind in SoCs beispielsweise AMBA von Arm Busse AHB bzw ASB APB CoreConnect von IBM Busse PLB OPB DCR oder in jungster Zeit auch der WishBone von Silicore OpenCores org stark vertreten Weit verbreitet sind heute Busbreiten von 32 bis 128 Bit Bei leistungsfahigen SoCs findet sich oft ein DMA Controller am Systembus um die CPU von Speicherzugriffen zu entlasten Die Spezifikationen dieser Busse sind physikalisch alle auf die Implementierung in ASICs anwendungsspezifischen integrierten Schaltungen und oder FPGAs englisch Field Programmable Gate Array ausgelegt und unterscheiden sich auch ansonsten stark von verbreiteten Systembussen wie PCI beispielsweise wird auf Grund des festen Systemaufbaus im Allgemeinen kein Plug and Play verwendet Taktgeber Bearbeiten 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 fur die Ablaufsteuerung und gegebenenfalls eine Synchronisation erforderlich sind Eine Echtzeituhr physikalische Uhr empfangt oder misst und zahlt lokal eine physikalische Zeit und kann ebenfalls enthalten sein Dazu sind prazise physikalische Schwinger meist extern zum SoC angeordnet Im weiteren Sinne sind mit dem Taktgeber ausser 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 Bereitschaftszustand oder Sleep Modus Prozessor Bearbeiten nbsp AMD Am286ZX LX SoC auf 80286 BasisUblicherweise besteht ein SoC aus einem Prozessor welcher uber ein 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 leistungsfahige Multicore CPU Mehrprozessorsysteme sind ebenfalls moglich Je nach Leistungsfahigkeit Anwendungsanforderungen und weiteren Kriterien wie Stromverbrauch Grosse und Preis besitzt das SoC eventuell neben seinen Registern nur einen kleinen internen Speicher oder meist zusatzlich einen oder mehrere deutlich grossere externe Speicher Dies kann beispielsweise SDRAM oder Flash Speicher sein Hierfur hangt dann in der Regel am Systembus ein Speichercontroller welcher eine entsprechende Schnittstelle fur den Speicher zur Verfugung stellt Weitere Prozessoren Bearbeiten Um den eigentlichen Hauptprozessor des SoCs zu entlasten sind je nach Anwendung auch spezialisierte Prozessoren enthalten Dies konnen beispielsweise Prozessoren zur digitalen Signalverarbeitung sein DSPs oder beispielsweise Ver Entschlusselungseinheiten oder sonstige Hardwarebeschleuniger wie Physikbeschleuniger Hierzu konnen einzelne Berechnungen oder auch nur Teile davon ausgelagert werden Diese werden entweder ganz vom Coprozessor ubernommen oder der Hauptprozessor reicht nur einzelne besonders rechenintensive Befehle weiter Diese werden dann unter Umstanden nicht mehr als Software auf einer General Purpose CPU oder DSP ausgefuhrt sondern direkt in Hardware implementiert Dies ist zumindest in FPGAs und ASICs gangige Praxis und wird daher auch dementsprechend direkt von den EDA Werkzeugen unterstutzt Viele moderne FPGAs wie Virtex4 5 oder StratixII III enthalten auch sogenannte DSP Makros womit sehr schnell in vielen parallelen Pfaden sogenannte MAC Befehle ausgefuhrt werden konnen Speicher Bearbeiten Der Speicher in einem SoC dient entweder zur Ablage und Ausfuhrung 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 ausgefuhrt Normaler RAM wird hingegen gewohnlich in einer Von Neumann Architektur implementiert Speichertechnisch handelt es sich intern meist um schnellen SRAM bei externem Speicher welcher uber einen Speichercontroller angebunden wird meist um langsameren aber gunstigeren DRAM oder um Flash Peripherie Bearbeiten Welche weiteren Peripherieeinheiten integriert werden hangt sehr stark von der eigentlichen Anwendung aber naturlich auch von vielen weiteren Faktoren wie den beim Prozessortyp erwahnten Kriterien ab Diese Peripherieblocke hangen meist nicht direkt am Systembus sondern uber eine sogenannte Bridge an einem separaten Peripheriebus Dieser ist meist deutlich langsamer getaktet genugt 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 naturlich nur so lange hilft bis die CPU tatsachlich auf eine Peripherieeinheit warten muss dann sind im Normalfall beide Busse belegt ohne etwas zu ubertragen Zusatzlich erleichtert ein Peripheriebus die Entwicklung einfacherer Komponenten da die Integration dieses Bustyps im Gegensatz zum Systembus in der Regel deutlich leichter fallt und durch seine oft kleinere Bitbreite und langsamere Taktung deutlich geringere Anforderungen stellt Je nach Art und Anzahl der Peripherieblocke sowie Einsatzzweck des SoC enthalt dieses manchmal einen dedizierten Interrupt Controller Bei einfachen kleineren oder besonders gunstigen Systemen wird aber oft auf einen solchen Controller verzichtet hier muss dann die Software die Interruptquelle ermitteln Fortschrittliche Interrupt Controller bieten nicht nur viele Kanale um die Zuordnung der Interrupts zu ubernehmen sondern bieten auch Kanale mit unterschiedlichen Interrupt Prioritaten an Dies ist wichtig wenn in Teilen des Systems Echtzeitanforderungen gestellt werden die mit Interrupts nicht einfach bzw manchmal uberhaupt nicht zu losen sind da Interrupts nicht vorhersehbar sind Dieses Problem kann oft durch eine intelligente Priorisierung gelost werden Oft sind weit mehr Peripherie Module vorhanden als in einer bestimmten Anwendung genutzt werden Von den ausseren Anschlussen bleiben weniger ungenutzt da diese oft programmierbar verschiedenen Modulen zugeordnet werden konnen Teilweise kann einzelnen Modulen der Takt und Gruppen von Modulen sogar die Spannung abgeschaltet werden um die Leistungsaufnahme zu senken Grafik Bearbeiten nbsp AllWinner A33 SoC mit Mali 400MP2 GPUViele SoCs enthalten auch einen Grafikprozessor der ein oder mehrere Displays ansteuert Hierfur ist in einem PC sonst eine separate Grafikkarte oder ein im Chipsatz integrierter Grafikkern GPU zustandig sogenannte Hardwarebeschleunigung Wegen der immer weiter fortschreitenden Integration fertigen seit einigen Jahren grosse CPU Hersteller wie AMD ATI 2 Intel und VIA Nvidia CPUs mit integrierten GPUs Manche eingebetteten Systeme stellen hohe Anforderungen an die Grafikausgabe Spielekonsolen Blu Ray DVD Player bildgebende Gerate der Medizintechnik oder des Militars in anderen Fallen reichen oft LCDs oder einige Leuchtdioden zur Statusausgabe aus Je nach Anwendung kann auch ganz auf eine grafische Ausgabe verzichtet werden Besonders erschwert wird die Realisierung der Grafikfahigkeit oft durch besonders rigide Vorgaben bei maximaler Leistung der maximalen Chipflache oder auch durch einen extremen Preisdruck sofern es sich um Massenware handelt Audio Bearbeiten Ebenso anzutreffen sind in vielen SoCs spezielle Audiokerne Diese werden beispielsweise in Mobiltelefonen MP3 DVD Playern und ahnlichen Multimediageraten benotigt Hierbei kommen je nach Anforderung Stuckzahl finanziellen Moglichkeiten Platzbeschrankungen usw oft aber auch externe Hardware Audio Codecs zum Einsatz welche dann nur uber einen relativ kleinen IP Block an den SoC internen Bus angebunden sind Sofern keine besonders hohen Anforderungen an die Audioqualitat gestellt werden kann beispielsweise ein AC 97 Codec zum Einsatz kommen Kosten konnen mit solchen externen Komponenten aber nur bei kleinen Stuckzahlen gespart werden da sich hier die Entwicklungskosten fur eine integrierte oder gar selbst entwickelte Losung oft uberproportional auswirken Schnittstellen Bearbeiten SoCs kommunizieren typischerweise viel starker mit ihrer technischen Umgebung als mit einem Bediener Hierzu werden je nach Anforderung diverse Schnittstellen implementiert Dies geschieht oftmals durch Einbinden fertiger IP Blocke welche je nach Geschwindigkeit und Latenzanforderung mit dem internen System oder Peripheriebus verbunden werden Zum Bediener hin kommt neben den bereits angesprochenen Audio und Grafikschnittstellen hauptsachlich ein Tastaturcontroller z B fur Matrix Tastaturen serielle Tastaturen oder Touchpads oder eine USB Schnittstelle fur entsprechende Gerate in Frage Zur Kommunikation mit anderen Systemen kommen hauptsachlich Serielle Schnittstellen wie z B USB RS232 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 Moglichkeit sind parallele Schnittstellen wie z B Centronics Port IO IDE CF usw System on a programmable Chip BearbeitenIn zunehmender Zahl werden SoCs auf programmierbaren Chips implementiert sogenannten System on a programmable Chips Hierbei handelt es sich um eine Kombination aus FPGA Logik und weiterer Peripherie sowie CPUs Hierbei kommen als Prozessor sowohl sogenannte HardCores im Silizium vorhandene CPU Kerne parallel zur programmierbaren FPGA Logik als auch SoftCores in den FPGA Quellcode eingefugte synthetisierbare CPU Makros zum Einsatz Als HardCore gibt es beispielsweise PowerPC oder ARM Kerne als SoftCores meist herstellerspezifische Prozessoren wie den MicroBlaze von Xilinx oder den NIOS II von Intel vormals Altera Es existieren aber auch plattformunabhangige synthetisierbare Kerne von ARM Lattice und anderen welche entweder kommerziell als IP Core vertrieben werden oder als Open Source zur Verfugung stehen Auf diese Weise konnen die benotigten Funktionen eines Systems optimal auf die angebotenen Ressourcen verteilt werden Nicht zu verwechseln ist dies mit Losungen wie den PSoCs von 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 Die ublichen Komponenten eines SoCs sind Prozessor Register ALU Grafikprozessor Soundchip Speicher RAM ROM z B als Flash oder OTP Speicher Speicher und DMA Controller Interne Einheiten Zeitgeber Zahler Interruptcontroller Watchdog Timer Debug Schnittstellen z B JTAG Spezielle Recheneinheiten wie z B in DSP SoCs Kryptographie Peripherie Einheiten und Schnittstellen Tastaturcontroller z B fur Matrix Tastaturen serielle Tastaturen oder Touchpads Grafikschnittstellen z B fur LVDS LCD VGA DVI MPEG HD SDMI Serielle Schnittstellen z B USB RS232 CAN Bus Parallele Schnittstellen z B nach Centronics Port IO Pulsweitenmodulation z B fur DC DC Wandler oder Motorsteuerung Modulatoren z B fur GSM Codierung QAM PSK Weitere Schnittstellen z B Ethernet MAC oder USB Analog Digital UmsetzerHersteller BearbeitenAm Markt finden sich zahlreiche Angebote fur System on a Chip Halbleiter Wichtige Anbieter hierfur sind alphabetisch sortiert nicht nach Grosse ARM und Intel mit der ARM Architektur bzw der Weiterentwicklung XScale auch Intel Quark oder Intel Edison Intel vormals Altera Microsemi und Xilinx mit diversen SoC Plattformen in FPGAs Broadcom mit diversen Kommunikationschips Cypress Semiconductor Corporation fur PSoC programmierbare System on Chip Infineon und NXP mit SoC ICs fur mobile Endgerate wie Handys oder auch xDSL Modems LSI Logic mit Chips fur Netzwerk und Speicherprodukte MIPS und Lizenznehmer wie etwa AMD mit der AU1000 Serie Motorola Freescale NXP Semiconductors und IBM mit diversen PowerPC Derivaten Qualcomm Snapdragon fur moderne Smartphone SoCs STMicroelectronics TDK InvenSense mit SoC ICs fur Bewegung und Lage Bild und Ton im Gamecontroller Handy und Head Mounted Display Texas Instruments mit OMAP DSPs und RF Modulen z B ZigBee Modul µTiny Literatur BearbeitenBashir M Al Hashimi System on Chip Next Generation Electronics Institution of Engineering and Technology 2006 ISBN 0 86341 552 0 F Kesel und R Bartholoma Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs Oldenbourg 2006 ISBN 3 486 57556 2 Erklart 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 Steve Furber ARM Rechnerarchitekturen fur System on Chip Design Mitp Verlag 2002 ISBN 3 8266 0854 2 Weblinks Bearbeiten1974 Digital Watch is First System On Chip Integrated Circuit In Computer History Museum Archiviert vom Original am 27 Marz 2023 abgerufen am 2 August 2023 englisch Einzelnachweise Bearbeiten Raspberry Pi Documentation Processors Abgerufen am 7 Juli 2023 englisch AMD entwickelt integrierten CPU GPU Chip In heise deProgrammierbare LogikKonzepte ASIC SoC FPGA CLB CPLD EPLD PLA PAL GAL PSoC Reconfigurable Computing Xputer Soft microprocessor Circuit underutilization High level synthesis HardwarebeschleunigungProgrammiertechnik Masken programmiert Antifuse EPROM E PROM Flash SRAMProgrammiersprachen Verilog A AMS VHDL AMS VITAL SystemVerilog DPI SystemC AHDL Handel C PSL UPF PALASM ABEL CUPL OpenVera C to HDL Flow to HDL MyHDL JHDL ELLAHersteller Accellera Actel Achronix AMD Aldec Atmel Cadence Cypress Duolog Forte Intel Altera Lattice National Mentor Graphics Microsemi Signetics Synopsys Magma Virage Logic Texas Instruments Tabula XilinxProdukte Hardware iCE Stratix Cyclone Arria Max Kintex Zynq VirtexSoftware Intel Quartus Prime Xilinx ISE Xilinx Vivado ModelSim VTRIP Proprietar ARC ARM Cortex M PowerPC LEON LatticeMico8 MicroBlaze PicoBlaze Nios Nios IIOpen Source JOP LatticeMico32 OpenCores OpenRISC RISC V Zet Abgerufen von https de wikipedia org w index php title System on a Chip amp oldid 236995928