PicoBlaze

Liese Hildenbrand September 13, 2016 P 0 0
FONT SIZE:
fontsize_dec
fontsize_inc

PicoBlaze ist die Bezeichnung für eine Reihe von drei alkoholfreie Prozessor-Cores von Xilinx für die Verwendung in ihren FPGA und CPLD-Produkte. Sie werden auf einem 8-Bit-RISC-Architektur und kann Geschwindigkeiten auf der Virtex 4 FPGA-Familie bis zu 100 MIPS erreichen. Die Prozessoren ein 8-Bit-Adress- und Daten-Port für den Zugriff auf eine Vielzahl von Peripheriegeräten. Die Lizenz der Kerne ermöglicht die kostenlose Nutzung, wenn auch nur auf Xilinx-Geräte, und sie mit Entwicklungswerkzeugen kommen. Tools von Drittanbietern sind von Mediatronix und andere zur Verfügung. Auch PacoBlaze ein Verhaltens- und geräteunabhängige Implementierung der Kerne vorhanden ist und unter der BSD-Lizenz veröffentlichte Software.

Die PicoBlaze Entwurf wurde ursprünglich benannt KCPSM, die für "Constant Coded Programmierbare State Machine" steht. Ken Chapman war der Xilinx-Systeme Designer, der ausgearbeitet und den Mikrocontroller implementiert.

Instanziierung

Beim Instanzieren eines PicoBlaze Mikrocontroller in VHDL, muss der jeweilige KCPSM Komponentennamen verwendet werden. Beispielsweise für eine PicoBlaze3 Prozessor:

Leistung

Alle Befehle ausführen in zwei Taktzyklen, so dass die Leistung des Kernbefehlssatz deterministisch. Unterbrechungsantwort nicht mehr als fünf Taktzyklen. Als Ressourcenoptimierung ist es möglich, dass zwei PicoBlaze Kerne, um die gleiche 1k x 18 Befehls PROM teilen, unter Ausnutzung des Dual-Port-Umsetzung dieser Block auf Xilinx FPGAs.

Architektur Notizen

Xilinx dokumentiert die PicoBlaze als erfordern nur 96 FPGA-Scheiben. Die kleine Größe Umsetzung wird zum Teil durch eine ziemlich starre Trennung des Befehls Aufreihwange von der Ausführungsseite erreicht. Die einzige Information, die von der Rechen Seite zur Sequenzierung Nebenflüsse sind die Null und tragen ALU-Status-Bits, wenn sie von den bedingten Sprung und CALL-Befehle getestet. Es ist nicht möglich, berechnete Sprünge oder Funktionszeigern implementieren. Die einzige Information, die aus der Sequenzierung Seite zur Ausführung Nebenflüsse sind Operandenfelder: Zielregister, ALU-Operationscode, optional Quellregister, optional 8-Bit-Direktwert / Port-Adresse, optional 6-Bit-Notizblock-Adresse ein. Es gibt keinen Mechanismus, um den Wert des Stapelzeigers zu inspizieren, der Inhalt des 31-Eintrag-Stack die Interrupt-Freigabe-Bit, oder auf den Inhalt des Programmspeichers.

Die Anweisung Aufreihwange nicht enthält einen Addierer, also relativ Niederlassungen und positionsunabhängig Code sind nicht möglich. Alle Sprung und Call-Adressen sind absolut.

Die PicoBlaze schlecht in die Programmierung in kompilierten Sprachen wie C geeignet Neben dem Mangel an Unterstützung für Funktionszeiger, es gibt keine Anweisungen oder Adressierungsarten, um einen Stack-basierten Aufrufkonvention zu beschleunigen. Für PicoBlaze dauert es zwei Anweisungen zu drücken oder POP und zwei Befehle umsetzen zu implementieren relative Adressierung off ein Software-Stack-Pointer bezeichnet. Die PicoBlaze ist besser, einen handoptimierten registerbasierten Aufrufkonvention geeignet. Dies schließt nicht die Verwendung einer Forth artigen Datenstapel entgegen, und in der Tat die PicoBlaze ist gut geeignet, um diesen Ansatz, wenn die 64-Byte-Notizblockspeicher bietet ausreichend Platz.

  Like 0   Dislike 0
Vorherige Artikel Die American Hebrew
Nächster Artikel Richard Arum
Bemerkungen (0)
Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha