Posts

Matematika brzine: Zašto registri pobeđuju varijable u memoriji na Intel 8051

Uvod i teorija U prve dve epizode rešili smo stambenu krizu u RAM-u i prošli kroz anatomiju PSW registra. Međutim, prava magija optimizacije i razlog zašto smo toliko pažnje posvetili bankama registara leži u brzini izvršavanja instrukcija . Na 8-bitnim sistemima, lokacija na kojoj čuvate podatke tokom proračuna direktno diktira koliko će taktova kvarcnog oscilatora procesor potrošiti. Fizičko pravilo arhitekture Intel 8051 je prosto: rad direktno unutar registara je duplo brži od rada sa varijablama u memoriji. Jedan mašinski ciklus (Machine Cycle) na bazičnom 8051 procesoru traje tačno 12 taktova (oscilacija) kvarcnog oscilatora . Kada procesor izvršava operaciju nad registrom (npr. R0 ili Akumulator A ), ALU (aritmetičko-logička jedinica) ima direktan hardverski pristup podacima. Instrukcija zauzima samo 1 bajt u ROM-u i završava se u roku od 1 mašinskog ciklusa (12 oscilacija) . Sa druge strane, kada podatke držite u varijablama unutar opšteg RAM-a, procesor mora da prođe kroz slo...

Pod haubom PSW registra: Asemblerski vodič kroz banke registara na Intel 8051

Uvod i teorija U prethodnom uvodnom tekstu definisali smo logičku mapu unutrašnjeg RAM-a i dotakli se koncepta hardverskog preusmeravanja adresa pomoću dekodera. Da bismo razumeli kako procesor u realnom vremenu zna koju od četiri banke registara treba da koristi, moramo detaljno analizirati njegovu „kontrolnu tablu“ – statusni registar PSW (Program Status Word) . PSW je 8-bitni registar specijalne namene (SFR) smešten na adresi D0H . Svaki bit u ovom registru ima jedinstvenu hardversku ulogu i direktno utiče na ponašanje procesora nakon aritmetičkih operacija ili pri donošenju odluka. Anatomija PSW registra izgleda ovako: Bit 7 – CY (Carry Flag): Koristi se kao akumulator za bit-operacije i beleži prenos (ili pozajmicu) iz najvišeg bita (Bit 7) prilikom aritmetičkih operacija. Bit 6 – AC (Auxiliary Carry Flag): Beleži prenos iz donjeg polu-bajta (bita 3 u bit 4), što je ključno za BCD (Binary-Coded Decimal) aritmetiku. Bit 5 – F0 (Flag 0): ...

Iluzija automatizma i stambena kriza u 128 bajtova: Kako Intel 8051 upravlja registrima i stekom

Image
  Uvod i teorija Kada danas pišemo kod za moderne računare ili kompleksne 32-bitne sisteme, navikli smo na luksuz apstrakcije. Pozovemo metodu, operativni sistem i procesor u pozadini alociraju memoriju, hardver automatski skloni registre na bezbedno mesto, a mi ne razmišljamo o tome gde se ti podaci fizički nalaze. Međutim, ako želimo da razumemo pravu prirodu programiranja bliskog hardveru, moramo se vratiti u 1980. godinu, kada je Intel lansirao legendarni 8-bitni mikrokontroler 8051. Na ovoj arhitekturi ne postoji prostor za iluzije – hardver radi samo onaj apsolutni minimum koji mora, dok je sve ostalo prepušteno inteligenciji i oprezu programera. Najbolji primer ove minimalističke filozofije krije se u načinu na koji 8051 rukuje prekidima, pozivima metoda i svojom ultra-malom unutrašnjom memorijom. Za razliku od x86 procesora, koji imaju kompleksne hardverske mehanizme koji automatski prebacuju ključne registre stanja na stek prilikom prekida, 8051 radi nešto sasvim drugo...

Pivoting a Hardware Startup into an Open-Source Platform | Zilsel-Invent

INTRODUCTION: Hard Times for Hardware Startups After thirteen years, I faced the reality that my startup project, launched back in 2013 , did not achieve commercial success. I invested immense effort and years of continuous learning to master electronics and programming just to bring my idea to life. From my perspective, it is exceptionally difficult to break into the Arduino ecosystem as an independent hardware designer and manufacturer from Serbia. The barrier is not a lack of design knowledge or engineering skill, but rather the Arduino Community – a massive ecosystem counting over 30 million active users . This statistic, based on official Arduino IDE downloads and active cloud platform users, is a clear testament to their market dominance. Arduino has become the standard in primary schools, high schools, universities, and maker workshops. Competing with such an established ecosystem with a new commercial product is a monumental challenge. The market is saturated with similar ...

Kako sam transformisao hardverski startup u Open-Source platformu | Zilsel-Invent

UVOD: Teško vreme za hardverske startape Posle trinaest godina, suočio sam se sa činjenicom da moj startup projekat, započet davne 2013. godine , nije ostvario komercijalni uspeh. Uložio sam ogroman trud i godine učenja kako bih savladao elektroniku i programiranje i realizovao svoju ideju. Iz mog ugla, izuzetno je teško uplivati u vode Arduino ekosistema kao dizajner i proizvođač hardvera iz Srbije. Prepreka nije nedostatak dizajnerskog znanja ili veština, već Arduino Community – džinovska zajednica koja broji više od 30 miliona aktivnih korisnika . Ova statistika, bazirana na zvaničnim preuzimanjima Arduino IDE platforme i aktivnosti na njihovom Cloudu, jasna je potvrda njihove dominacije. Arduino je standard u osnovnim i srednjim školama, na fakultetima i u hobi radionicama. Zato je plasiranje novog, konkurentnog komercijalnog proizvoda na to tržište ogroman izazov. Tržište je preplavljeno sličnim rešenjima, ali većina nije uspela da napravi proboj. Razlog mog neuspeha nisu nik...

Termodinamika i Ezoterija

Image
U nekoliko blog postova sam opisao razmišljanja koja su me vodila ka tome, kako mogu da izmerim performanse software-a vezane za deep level optimizaciju korišćenjem CPU extenezija, Microsoft® SQL Server® je idealan primer optimizovanog software-a CPU extenzijama. U suštini moje razmišljanje je bilo bazirano na starijim arhitekturama kao što je Intel® 8051 CPU. Koncept razmišljanja nije loš, i nije loše poznavati i razumeti, iako je arhitektura CPUa danas složenija. Nekada je bilo moguće izračunati tačan broj taktova kvarcnog oscilatora koliko je zaista potrebno vremena da se izvrši deo koda od interesa za merenje. Što je automatski povlačilo da znamo koliko brzo će se izvršiti na nekom drugom procesoru sa bržim klokom. Prosto, broj taktova sa periodom trajanja oscilacije definiše vreme. Danas je to malo drugačije, i teško je dobiti takve podatke. Ali je dobro znati i razumeti. Delim koristan link koji nije loše listati i čitati: agner.org . Termodinamičko hlađenje jezgra utiče na perfo...

"AI is hallucinating" or just using exact scientific methods we choose to ignore?

Image
Quite a bit of time has passed since the beginning of the war in Ukraine, and people are still spinning in circles trying to explain: what is happening and what is it all about? There are scientifically grounded methods that can clearly explain these processes, and they are defined through the Ten Principles of the United Nations Global Compact (UNGC) . This framework generally applies to corporations, relationships between spouses, but also to relations between states. The exact same method is used for global economic analyses and predicting future courses of events. Recently, I addressed a few questions to an AI system, and one of them was: "Which path is the IT sector in Serbia taking?" As an answer, I received a prediction that most local companies will go bankrupt and that the market will be taken over by giants like IBM and Microsoft, which raises a serious question regarding the high unemployment rate of domestic IT professionals. In this context, the AI explicitly men...