Vinnaren i pepparkakshustävlingen!
2016-08-14, 12:36
  #1
Medlem
Jag förstår inte hur svaret blir 59 cycler på den här frågan. Vore mycket tacksam och glad om någon kunde förklara varför det blir 59.

https://gyazo.com/f60e7b8a6968ac83515b701ab57985ed
Citera
2016-08-14, 16:33
  #2
Avstängd
* Instruktionerna före loopen tar 2 cycles.
* Loopen tar 3 cycles och körs 18 gånger = 54 cycles, minus en den sista gången då BNZ inte hoppar = 53 cycles.
* Instruktionerna efter loopen tar 4 cycles.

Summa: 59.
Citera
2016-10-26, 04:10
  #3
Medlem
Citat:
Ursprungligen postat av SuperSizeMe
* Instruktionerna före loopen tar 2 cycles.
* Loopen tar 3 cycles och körs 18 gånger = 54 cycles, minus en den sista gången då BNZ inte hoppar = 53 cycles.
* Instruktionerna efter loopen tar 4 cycles.

Summa: 59.

På en 10 MHz maskin så tar varje cycle 0,1 mikrosekunder , så 5,9 mikrosekunder totalt.
Dock om man tex har mycket utskrift emot skärmen så går det långsammare, skärmen tar väl en 5 ms (millisekunder) för uppdatering
Citera
2016-10-26, 11:45
  #4
Medlem
Citat:
Ursprungligen postat av DrSvenne
På en 10 MHz maskin så tar varje cycle 0,1 mikrosekunder , så 5,9 mikrosekunder totalt.
Dock om man tex har mycket utskrift emot skärmen så går det långsammare, skärmen tar väl en 5 ms (millisekunder) för uppdatering

På Microchips 8-bits mikrokontrollers så tar varje instruktionscykel fyra klockcykler, 400 ns per instruktionscykel för en 10 MHz klocka.

http://ww1.microchip.com/downloads/e...Doc/31004a.pdf
Citat:
The clock input (from OSC1) is internally divided by four to generate four non-overlapping
quadrature clocks, namely Q1, Q2, Q3, and Q4. Internally, the program counter (PC) is incre-
mented every Q1, and the instruction is fetched from the program memory and latched into the
instruction register in Q4. The instruction is decoded and executed during the following Q1
through Q4.
Citera
2016-10-26, 14:35
  #5
Medlem
Citat:
Ursprungligen postat av Taiyou
På Microchips 8-bits mikrokontrollers så tar varje instruktionscykel fyra klockcykler, 400 ns per instruktionscykel för en 10 MHz klocka.

http://ww1.microchip.com/downloads/e...Doc/31004a.pdf

Oj ja där ser man < jag tog på mig skämsdumstruten nu > --- --- längesedan jag tittade på sådant här, bra att ngn är uppmärksam. - så då blir svaret 59 x 400 ns = 23 600 ns, elr 23,6 mikrosekunder, 0,0000236 sek. Idag så måste man annars tänka på att ifall CPUn är multicored att det försvårar sådana beräkningar. Eftersom pipelinen av instruktioner kan splittas över flera cores. Det krävs ofta experiment för detta.

Tur att jag iallafall har klätt skämsstruten med bästa ugnsfolien ! Rätt svar ska tydligen vara 23,6 mikrosekunder.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback