作者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/cn.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