No Instruction Set Computing (NISC) ist eine Computer-Architektur und Compiler-Technologie für die Entwicklung hocheffizienter, benutzerdefinierter Prozessoren und Hardware-Beschleuniger, wobei ein Compiler einem die Kontrolle über die Hardware auf sehr niedriger Ebene erlaubt.
Übersicht
NISC ist eine statisch-geplante horizontale nano-codierende Architektur (SSHNA). Der Begriff „statisch geplant“ bedeutet dabei, dass die Prozessausführung wie auch Fehlerkontrolle in der Hand des Compilers liegen.
Der Begriff „horizontal nano-codiert“ bedeutet, dass NISC keinen vordefinierten Befehlssatz oder Mikrocode benutzt. Der Compiler erzeugt Nanocodes zur direkten Steuerung des Befehlssatzes oder Mikrocodes.
Der Compiler erzeugt Nanocodes zur direkten Anpassung der Rechenwerke, der Register, der Multiplexer, wie auch der Bussysteme.
Sie gibt dem Compiler die Kontrolle auf tiefer Ebene zur besseren Ausnutzung der Bussystem-Ressourcen, was letztendlich zu einer höheren Leistung führt.
Die Vorteile der NISC-Technik sind hierbei:
- Simple Kontroller: Keine Hardware-Scheduler, keine Instruktionsdecoder
- Bessere Performance: Mehr flexible Architekturen, bessere Ressourcenauslastung
- Einfacheres Design: keine Notwendigkeit zum Entwerfen von Befehlssätzen
Im Kern basiert NISC auf dem Konzept, leistungsfähige FPGAs durch intelligente Compiler dazu zu bringen, Programme, die z. B. in Hochsprachen wie C geschrieben wurden, in Echtzeit in FPGA-verständliche Hardwarebeschreibungssprachen ähnlich wie VHDL oder Verilog zu übersetzen.
EDA-Entwickler haben dafür Methoden ersonnen, mit denen FPGA-Systeme ohne VHDL realisiert werden können und die bereits einen Standard-ANSI-C-Quellcode unmittelbar in ein digitales Schaltungsäquivalent umsetzen. Sowohl vom FPGA-Hersteller Altera (C2H-Compiler), als auch vom EDA-Spezialisten Altium (CHC-Compiler) wurden solche Compiler entwickelt. Damit wird auch Programmierern der Zugang zu FPGAs ermöglicht, die bisher keine Kenntnisse und Erfahrungen mit VHDL und Verilog hatten.
Unter der Voraussetzung, dass ein Standard entwickelt wird, der regelmäßig alle Programmfragmente in FPGA-gerechte Form bringt, könnte den FPGAs damit – anstelle der heute noch üblichen fest verdrahteten Prozessoren – auch der Weg in heimische PCs eröffnet werden.