Mikroprocessor förståelse (nytt 2017-03-21)
Mikroprocessor förståelse (nytt 2017-03-21)
Jag har försökt att skriva en lätt beskrivning av hur en mikroprocessor samt vissa periferfunktioner fungerar.
Det är en grundläggande beskrivning som inte är så djupgående. Jag har även försökt att beskriva lite hur vissa periferkretsar fungerar.
Jag kan irritera mig över att vissa sitter i Arduino-träsket och har svårt att ta ett steg fram i programmeringen - men det er irrationellt att bli irriterat, det är bättre att försöka att lyfta och hjälpa vidare.
Om det så er en hjälp kan jag inte svara på, jag kunde nog ha varit med specifik och mer djupgående men det kan man göra annanstans.
Det är en grundläggande beskrivning som inte är så djupgående. Jag har även försökt att beskriva lite hur vissa periferkretsar fungerar.
Jag kan irritera mig över att vissa sitter i Arduino-träsket och har svårt att ta ett steg fram i programmeringen - men det er irrationellt att bli irriterat, det är bättre att försöka att lyfta och hjälpa vidare.
Om det så er en hjälp kan jag inte svara på, jag kunde nog ha varit med specifik och mer djupgående men det kan man göra annanstans.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av Icecap 21 mars 2017, 20:10:20, redigerad totalt 5 gånger.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
- Lennart Aspenryd
- Tidigare Lasp
- Inlägg: 12607
- Blev medlem: 1 juli 2011, 19:09:09
- Ort: Helsingborg
Re: Mikroprocessor förståelse
En riktigt bra start för att börja förstå. Ser tacksamt emot mera av detta slag.
Re: Mikroprocessor förståelse
Har skummat lite grann, jag har försökt förklara för ungarna en gång i tiden och det är svårt att förklara kortfattat.
Några tankar:
Jag undrar om man inte borde prata om instruktioner (och instruktionspekare/programräknare) innan man pratar om operationer och hopp?
Sen hur många register en mikroprocessor har varierar ju väldigt mycket, men man kanske kan förklara skillnaden mellan register och minne och sen att olika mikroprocessorer har olika begränsningar i vad de kan adressera i olika operationer? Det "normala" är väl faktiskt att man bara kan göra operationer mellan två register? Att man kan köra mellan ett register och en minnesadress är väl en uC-grej som är bara för att den ska vara enkel?
ALU kanske borde förklaras också? Och även då förklara att det är oftast den som används när man ska kolla om nåt är noll eller inte (det är ju i de flesta arkitekturer ALUns Zero-flagga som styr villkorliga instruktioner, så för att kolla om nåt har ett visst värde så görs en subtraktion i ALU, fast resultatet förkastas och man tittar bara på flaggan).
Sen kan det vara bra att kanske tipsa nåt om det här med tolkning av binära tal, jag upplever att många har svårt att förstå varför alla andra utgångar nollställs när de skriver 0x40 till en port för att sätta pinne 6 hög. Just hur man använder AND och OR när man bara vill ändra på några enstaka bitar verkar vara magi för vissa.
Sen tror jag att man tyvärr också behöver lite bilder för att illustrera, för många saker är svåra att greppa om man inte kan visualisera. Visa hur en programräknare pekar på instruktion efter instruktion t.ex., och visa hur bitar ändras vid maskning med AND och OR.
Problemet är väl att hålla det hela tillräckligt kort så folk läser det...
Ska se om jag hittar min anteckningar från när jag försökte lära ungarna...
Några tankar:
Jag undrar om man inte borde prata om instruktioner (och instruktionspekare/programräknare) innan man pratar om operationer och hopp?
Sen hur många register en mikroprocessor har varierar ju väldigt mycket, men man kanske kan förklara skillnaden mellan register och minne och sen att olika mikroprocessorer har olika begränsningar i vad de kan adressera i olika operationer? Det "normala" är väl faktiskt att man bara kan göra operationer mellan två register? Att man kan köra mellan ett register och en minnesadress är väl en uC-grej som är bara för att den ska vara enkel?
ALU kanske borde förklaras också? Och även då förklara att det är oftast den som används när man ska kolla om nåt är noll eller inte (det är ju i de flesta arkitekturer ALUns Zero-flagga som styr villkorliga instruktioner, så för att kolla om nåt har ett visst värde så görs en subtraktion i ALU, fast resultatet förkastas och man tittar bara på flaggan).
Sen kan det vara bra att kanske tipsa nåt om det här med tolkning av binära tal, jag upplever att många har svårt att förstå varför alla andra utgångar nollställs när de skriver 0x40 till en port för att sätta pinne 6 hög. Just hur man använder AND och OR när man bara vill ändra på några enstaka bitar verkar vara magi för vissa.
Sen tror jag att man tyvärr också behöver lite bilder för att illustrera, för många saker är svåra att greppa om man inte kan visualisera. Visa hur en programräknare pekar på instruktion efter instruktion t.ex., och visa hur bitar ändras vid maskning med AND och OR.
Problemet är väl att hålla det hela tillräckligt kort så folk läser det...
Ska se om jag hittar min anteckningar från när jag försökte lära ungarna...
Re: Mikroprocessor förståelse
Skummade igenom. Det är en bra början, som är lätt att hänga med i när ämnet är bekant sen tidigare. Svårt att försöka tänka sig hur det faktiskt ser ut en för läsare, som nästan allting är nytt för.
Re: Mikroprocessor förståelse
2N2222: "Och på ren svenska oxå."
- Tack, inte illa att få veta som utlänning med 40 timmars "Påbyggnadssvenska för invandrare" i bagaget.
Nerre: Jo - men nu för tiden är det ju Arduino och dylika system som är aktuella där det mesta är tuggat och klart, man ska bara svälja. Att sedan smaken är lite som barnmat (obefintlig alltså) är ett biverkan. Jag hoppas att det kan inspirera till att "själv laga mat" så att säga.
Det kan vara att jag ska samla ihop mig och göra en genomgång av en "typisk" MCU med ALU osv. men jag ville hålla detta så generellt som möjligt för att det ska vara till att ta in.
- Tack, inte illa att få veta som utlänning med 40 timmars "Påbyggnadssvenska för invandrare" i bagaget.
Nerre: Jo - men nu för tiden är det ju Arduino och dylika system som är aktuella där det mesta är tuggat och klart, man ska bara svälja. Att sedan smaken är lite som barnmat (obefintlig alltså) är ett biverkan. Jag hoppas att det kan inspirera till att "själv laga mat" så att säga.
Det kan vara att jag ska samla ihop mig och göra en genomgång av en "typisk" MCU med ALU osv. men jag ville hålla detta så generellt som möjligt för att det ska vara till att ta in.
- hcb
- Moderator
- Inlägg: 5757
- Blev medlem: 23 februari 2007, 21:44:50
- Skype: hcbecker
- Ort: Lystrup / Uppsala
- Kontakt:
Re: Mikroprocessor förståelse
Icecap: Mycket snyggt. Detta borde hamna i wikin.
Ett stort och varmt tack för dina bidrag till forumet.
Ett stort och varmt tack för dina bidrag till forumet.
Re: Mikroprocessor förståelse
Bra skrivet! En mycket bra start för den som vill lära sig om mikroprocessorer.
Re: Mikroprocessor förståelse
Bra initiativ! Dock bör du skriva Microcontroller i ställer för Microprocessor.
Från Wikipedia:
Microcontrollers integrate a microprocessor with peripheral devices in embedded systems. These tend to have different tradeoffs compared to CPUs.
Mvh
Ingvar
Från Wikipedia:
Microcontrollers integrate a microprocessor with peripheral devices in embedded systems. These tend to have different tradeoffs compared to CPUs.
Mvh
Ingvar
Re: Mikroprocessor förståelse
Ett avsnitt om portar.
ie: Tanken har funnits men detta är för att överbrygga glappet mellan "blinka LED" och "Nu jäklar har jag koll på detta!" så exakt terminologi är inte helt väsentlig just nu.
Det kan vara att jag skriver ihop mer och med tiden inför rätt terminologi och samlar allt i ett dokument.
ie: Tanken har funnits men detta är för att överbrygga glappet mellan "blinka LED" och "Nu jäklar har jag koll på detta!" så exakt terminologi är inte helt väsentlig just nu.
Det kan vara att jag skriver ihop mer och med tiden inför rätt terminologi och samlar allt i ett dokument.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Mikroprocessor förståelse (del B)
Vilken terminologi man använder är jätteviktigt, annars kommer vi att få en massa nybörjare här på forumet som läst de där texterna och ställer frågor där de blandar ihop begreppen och ingen förstår nånting.
Re: Mikroprocessor förståelse (del B)
Just det. Därför bör all dokumentation och litteratur vara på engelska.Nerre skrev:Vilken terminologi man använder är jätteviktigt, annars kommer vi att få en massa nybörjare här på forumet som läst de där texterna och ställer frågor där de blandar ihop begreppen och ingen förstår nånting.