Také zvláštne riešenia V - Forth a jeho procesory
Po BASICu a Jave niečo exotickejšie - zásobníkový Forth
wek, 09.07.2015-23:05

Programovacie jazyky spočiatku vznikali z potreby zápisu "ľudsky čitateľných" príkazov a tradičných matematických operácií. Nečudo, veď počítače slúžili spočiatku pre vedecké účely (no dobre, skôr vojenské, ale aj tak bola v pozadí snaha strojovo riešiť zložité matematické úlohy). Neskôr však prišla generácia návrhárov, ktorí neboli tlačení primárne touto úlohou. Jedna skupina vychádzala z rôznych matematicko-logických abstrakcií a navrhovali jazyky vysoko abstraktné; iní poznali možnosti digitálnej elektroniky a tak navrhovali postupy a jazyky prispôsobené viac strojom než ľuďom.

Jeden z týchto "strojovo-orientovaných" prístupov je založený na využití princípu zásobníka. Využitie zásobníka je v pozadí mnohých algoritmov (napr. vyhodnocovanie zložených výrazov), ide ruka v ruke s princípom rekurzie a zásobník je pritom pomerne ľahko implementovateľný v hardware. Čitatelia uzone určite poznajú slávny rad kalkulačiek HP s reverznou poľskou notáciou, ktorá vychádza práve z takéhoto princípu.


Zrejme najznámejším jazykom založeným na zásobníku je Forth. V pozadí Forthu stojí jediný človek, jeho autor, Chuck Moore (netreba si ho mýliť s jeho menovcom Gordonom Mooreom, autorom známeho Moorovho zákona). Jazyk vznikol pôvodne na riadenie rádioteleskopu, na ktorom Moore pracoval. Keďže je pomerne jednoduchý a je pomerne jednoduché ho implementovať či už ako interpreter alebo aj kompilátor, v krátkom čase vzniklo viacero implementácií na rôznych platformách (napr. aj 8051; a dodnes vznikajú - napr. Offete Enterprises ponúka okrem iného aj verziu pre STM32 ako aj - ehm - Arduino ) a jazyk si našiel množstvo fanúšikov.

Treba si pritom uvedomiť, že samotný Forth je pomerne vágne definovaný a jednotlivé implementácie sú dosť zle navzájom kompatibilné, čo však môže byť - a zrejme aj je - chápané aj naopak, ako voľnosť pri implementácii.

Ale čo je zaujímavejšie je, že vzniklo aj prekvapujúco veľa hardwarových implementácií. Podobne ako sa jazyk nestal mainstreamovým, ani tieto čipy nezažili väčšiu slávu a mnohé z nich boli len prototypy vyrobené v niekoľkých kusoch a použité len v overovacích aplikáciách. Napriek tomu si však niektoré z nich zaslúžia viac pozornosti. Napríklad RTX2000/2010 od firmy Harris (dnes Intersil) je RadHard procesor, ktorý riadil či riadi viaceré vesmírne sondy. Alebo rad MARC4, 4-bitové mikrokontroléry od Temicu (neskôr Atmel) určené do lacných aplikácií v čase, keď 8-bitové mcu boli ešte relatívne drahé.

Intenzívne sa v tejto oblasti už desaťročia angažuje aj sám autor jazyka Chuck Moore. Inšpiroval či sa priamo zúčastnil návrhu množstva implementácií, založil pritom niekoľko firiem (ktoré následne zákonite zanikli kvôli spomenutému nedostaveniu sa úspechu). Popritom si napísal aj vlastné návrhové prostredie OKAD, ako inak, vo Forthe. Jedným zo zaujímavých návrhov dotiahnutých až do funkčných prototypov bol i21, ktorý v jedinom PLCC68 puzdre integroval okrem Forth procesora aj pamäťový (DRAM) kontrolér, videokontrolér s PAL/NTSC výstupom, rozhranie pre modem a klávesnicu, čím mal ašpirovať na lacný vysoko integrovaný "internetový procesor" danej doby. Aktuálnym projektom Chucka Moora je spolornosť GreenArrays, ktorá ponúka čip GA144 - ako jeho meno prezrádza, jedná sa o 144 procesorov na jednom čipe - a k tomu aj vývojové prostredie resp. simulátor.



Je zaujímavé, kam až ďaleko dokáže dôjsť nadšenectvo...


tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.106 )