( bucko | 2019. 10. 03., cs – 10:17 )

Látom, már megint sikerül téves félinformációkkal osztani az észt. :)

A 8 bites procikon egy utasítás hossza 1-4 byte lehet általában.
Tényleg, a 80-as években igy is volt.
Manapság meg jobbára 16 bites az opcode a 8 biteseken. Legalábbis az Atmega328P ilyen.
Ebből az utasításszóból tartozik 1-2-3 db egy utasításhoz, de tipikusan 1.

Mellékesen a PIC platformon léteznek ennél kisebbek is. Ezeknél az opcode 10-12-14-16 bites lehet. A legnagyobb típusválaszték és a legfrissebb fejlesztések 14 bitesek. Itt a beépített speciális perifériák milyensége és darabszáma a döntő. Ezeket a perifériákat néhány utasítással üzembe lehet helyezni, összekapcsolni és kezelni. A hardver meg teszi a dolgát.

A kutya sem térne át fejlettebb processzorra, ha a extra tudása a szélesebb adatbusz, nagyobb kezelhető memória és a kicsit nagyobb sebességben kimerülne. Már a 16 bites eszközök is jóval fejlettebb utasításkészlettel rendelkeznek. Előfordulhat, hogy 3-4 utasítással jó néhány oldal 8 bites programot lehet helyettesíteni. Ha van cryptoengine, akkor csak használni kell, míg az aes256 8 biten 2,5kB kódot fogyaszt. Tehát egy magasabb bitszámú processzor általában rövidebb kódot eredményez.

Egy ESP-nek meg nagyobb a kódja, mert magasszintű nyelven programozod, tcp és wifi is van benne, no meg a framework is nagy méretű. Ráadásul nincs is kigyomlálva - ahogy írta valaki.

Az i2c meg csak egy kérdést vet fel: Miközben arról írtam, hogy egyszerű periféria és hosszú vezeték esetén érdemes csökkenteni a sebességet - ki a rosseb mondta, hogy ezen keresztül programozd? Már, ha türelmetlen vagy. ;)