Jak jsem zadal URISC do vyhledávače

28. 10. 2016 14:09 (aktualizováno) Pavel Chalupa

Už mě celkem nudí většina toho o čem se dnes na webu každý den píše a čas od času si najdu téma, které zadám do vyhledávače. Zkratku RISC všichni známe, ale dnešní ARMy už moc riscové nejsou, tak jsem zkusil zadat URISC (z anglického ultimate). Wikipedie přesměrovává z URISC na One instruction set computer. Tam jsem se trochu ztrácel, ale nejzajímavějším a pro mě lépe stravitelným studijním materiálem je The Ultimate RISC. V diagramech je vysvětlen celý princip a v závěru už je krásně lidsky pochopitelný assembler:

            MVI     0, total ;initialize
            MVI     array, ptr
            MVI     asize-1, count
      loop: MOVE    ptr, s   ;modify LDA
      s:    LDA     0
            ADD     sum
            STA     sum
            LDA     ptr
            IMM ADD,1
            STA     ptr
            LDA     count
            IMM SUB,1
            STA     count
            SKIP    ccN, ex  ;exit if neg
      ex:   IMM JMP,loop

Instrukce sice nejsou přímo instrukce v assembleru, ale makra, zato se to dá používat a lidsky přečíst jako assembler. Co je však krásnější na tomhle celém je to, že nepotřebujete procesor s miliardami tranzistorů, ale stačí pár TTL obvodů a procesor si postavíte sami. Přijde mi to mnohem zajímavější k pochopení toho co se děje uvnitř dnešní techniky než propagace dnešního modelu stylem: hodíme tam levný ARM, zbastlíme vlastní distribuci Linuxu, a naprogramujem to v Javě, kterou si vezmeme zdarma. Jinak řečeno, dnešní model je příliš složitý a úplně se odklání od osvědčeného KISS – keep it simple, stupid:

Unix philosophy (https://en.wikipedia.org/wi­ki/Unix_philosophy)
KISS principle (https://en.wikipedia.org/wi­ki/KISS_principle)

Další příbuzné téma ke čtení je z oblasti umělých neuronových sítí ZISC: Zero instruction set computer.

Sdílet