作者zzss2003 (brotherD)
看板ASM
標題[問題] 8051-請問有關這段文字的意思
時間Mon Jan 21 14:03:25 2019
網址:
https://reurl.cc/2mxVn
這段文章主要在介紹如何減少ISR的overhead,在CPU selection的第二段講到8051的架構
使得它的ISR可以寫得非常簡短,原因是:
8051 allows one to allocate a register bank to a particular block of
code--such as an ISR--and thus drastically reduce the number of registers
that need to be stacked
因為小弟我碰過的架構不多,不太懂"allocate a register bank to a particular block
of code"這段意思,想麻煩各位大大幫小弟解惑一下。
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.216.18
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1548050613.A.2BD.html
1F:推 TWkobe: isr中斷到回復需要保存很多東西 用regiser保存會更快 01/21 16:47
2F:→ TWkobe: 而8051可以指定register bank 01/21 16:48
5F:→ TWkobe: 忘了說 多個banks為什麼會快的另一個原因 例如你指定bank0 01/21 17:04
6F:→ TWkobe: 給isr0 ,bank 1給isr1 所以越多的bank給予指定function 01/21 17:05
7F:→ TWkobe: 你當然比只有單一個bank給多個isr競爭共用好 01/21 17:06
8F:→ TWkobe: 不然每次都要重新copy或回復isr需要的code或data 01/21 17:07
9F:→ dsplab: 因為8051內定堆疊的SP值為07h,如果沒有更改SP值的話, 01/22 08:15
10F:→ dsplab: 在每次的Push或呼叫副程式時,SP值會增加,就會破壞Bank1~ 01/22 08:17
11F:→ dsplab: Bank3的R0~R7的值,所以一般SP值會設定在67h或E7h 01/22 08:19
12F:→ zzss2003: 謝謝兩位大大精闢ㄉ解說 01/30 09:43