发明名称 具有精简指令集运算结构之八位元微控制器
摘要 一种依据微控制器之八位元RISC(图1),包括一八位元暂存器档案(20),除了一通用八位元ALU(22)外,有一专用算术逻辑单元(ALU2)。暂存器档案另包括装置,供将一对暂存器合并(16),以提供一供间接定址之逻辑十六位元暂存器。专用ALU为一十六位元ALU,其提供某些供暂存器对之算术功能,因此减轻否则将会加于通用八位元ALU之计算负担。本发明之另一特色为包括一分页暂存器(RAMPx,y,z),其与逻辑十六位元暂存器之内容(141)合并,以提供甚至更大定址范围。本发明之八位元微控制器,其又一特色为供在暂存器档案以内,藉一单一指令装置(134),直接读取及写入至任何位元之位置。这避免必须进行先前技艺微控制器所需要之各种不同负载,移位及/或掩蔽操作。
申请公布号 TW367439 申请公布日期 1999.08.21
申请号 TW087104543 申请日期 1998.03.26
申请人 艾特梅尔公司 发明人 阿尔夫–埃吉尔.博根;约翰.D.布赖恩特;高特.迈克莱巴斯特;维加德.沃勒恩
分类号 G06F12/00 主分类号 G06F12/00
代理机构 代理人 赖经臣 台北巿南京东路三段三四六号白宫企业大楼一一一二室
主权项 1.一种微控制器包含:一指令组;一程式记忆体,供储存自指令组所选择之指令;一指令执行单元,有许多控制线路,供响应执行一指令而提供控制信号;取用装置,供自程式记忆体获得一指令,并将所获得之指令载入指令执行单元;一程式滙流排,将取用装置耦合至指令执行单元;一数据记忆体,与程式记忆体分开,该数据记忆体有一位址空间;一八位元数据滙流排,与程式滙流排分开,数据滙流排予以耦合至数据记忆体;一暂存器档案,耦合至数据滙流排,暂存器档案有许多八位元暂存器,暂存器档案另有合并装置,供存取二八位元暂存器作为一单一逻辑十六位元暂存器,暂存器档案另有一专用ALU耦合至合并装置,以在一经由合并装置所存取之逻辑十六位元暂存器进行算术功能;一通用ALU,有第一及第二输入耦合至暂存器档案,以接收二八位元暂存器之内容,通用ALU有一第三输入以接收一固定値数据,通用ALU有装置供在第一,第二,及第三输入选择性操作,以在一时钟循环产生一输出,通用ALU有一输出耦合至数据滙流排;一状态暂存器耦合至数据滙流排及耦合至通用ALU,状态暂存器有旗标包括一中断启动旗标,一位元转移旗标,一半进位旗标,一二的补码溢流旗标,一负旗标,一符号位元,一零旗标及一进位位元,状态暂存器另有一位元测试装置,供存取及测试旗标之一;一直接位址滙流排,将指令执行单元耦合为在程式执行时直接存取数据记忆体或暂存器档案;以及一间接位址滙流排,在程式执行时,提供暂存器档案,有间接数据存取至数据记忆体,间接位址滙流排有位址接收装置供自合并装置接收一十六位元値,以用作一十六位元位址;暂存器档案之八位元暂存器有位址界定在数据记忆体之位址空间内,从而为可存取作为暂存器及作为记忆体位置。2.如申请专利范围第1项之微控制器,另包括一分页暂存器,及一位址形成装置,自分页暂存器之内容及合并装置所提供之十六位元数据供形成一位址。3.如申请专利范围第2项之微控制器,其中该分页暂存器为一八位元暂存器,该分页暂存器予以耦合至八位元数据滙流排,从而将一値各载入该分页暂存器指定64K位元组之256页之一。4.如申请专利范围第1项之微控制器,另包括BST及BLD指令,各有一机器操作码,其指定暂存器及一位元识别符,指令执行单元有效供响应执行BST及BLD指令而产生位元操控控制信号,位元操控控制信号有效供(i)操作暂存器档案,以藉位元识别符所识别之存取暂存器及位元位置,及(ii)将一存取位元位置之内容转移至在状态暂存器之位元转移旗标,或将位元转移旗标之内容转移至存取位元位置。5.如申请专利范围第4项之微控制器,另包括第一许多指令,各有一机器操作码,其指定一目的暂存器及一源暂存器对,指令执行单元有效供响应执行第一指令之一而产生第一控制信号,第一控制信号有效供(i)操作暂存器档案之合并装置,以提供源暂存器对之内容作为间接位址,(ii)操作数据记忆体,以存取一由间接位址所指定之记忆体位置之内容,及(iii)操作暂存器档案,以储存记忆体位置之内容至目的暂存器,第一指令包括LD,LD+,LD-,及LDD。6.如申请专利范围第5项之微控制器另包括第二许多指令,各有一机器操作码,其指定一目的暂存器对及一源暂存器,指令执行单元有效供响应执行第二指令之一而产生第二控制信号,第二控制信号有效供(i)操作暂存器档案,以存取源暂存器之内容,(ii)操作暂存器档案之合并装置,以提供目的暂存器对之内容作为间接位址,(iii)操作数据记忆体,以储存源暂存器之内容至一由间接位址所指定记忆体位置,第二指令包括ST,ST+,ST-,及STD。7.如申请专利范围第6项之微控制器,其中指令执行单元另有效供响应执行LD+及ST+指令而产生控制信号,其操作暂存器档案之专用ALU,以使暂存器对之内容增量。8.如申请专利范围第6项之微控制器,其中指令执行单元另有效供响应执行LD-及ST_指令而产生控制信号,其操作暂存器档案之专用ALU,以使暂存器对之内容减量。9.如申请专利范围第6项之微控制器,其中LDD之机器操作码及STD指令另包括一位移値,指令执行单元另有效供响应执行LDD及STD指令而产生控制信号,其操作档案暂存器之专用ALU,以将位移値加至合并装置所提供之间接位址。10.如申请专利范围第6项之微控制器,另包括一乘指令有一机器操作码,其指定一乘数暂存器及一被乘数暂存器,乘指令具有关联之高位元组及低位元组目的暂存器,指令执行单元有效供响应执行乘指令而产生乘控制信号,乘控制信号有效供(i)操作暂存器档案,以提供乘数及被乘数暂存器所识别之暂存器之内容,作为至通用ALU之输入,(ii)操作通用ALU,以进行乘法操作,及(iii)操作暂存器档案,将乘法操作之输出储存至高位元组及低位元组目的暂存器所识别之暂存器。11.如申请专利范围第10项之微控制器,另包括第三许多指令,各有一机器操作码,其指定一第一暂存器及一第二暂存器,指令执行单元有效供响应执行第三指令之一而产生第三控制信号,第三控制信号有效供(i)操作暂存器档案,以提供第一及第二暂存器之内容作为至通用ALU之输入,(ii)操作通用ALU,以进行在操作码所指定之ALU操作,及(iii)操作暂存器档案,以将ALU操作之输出储存至第一暂存器,第三指令包括ADD,ADC,SUB,SBC,AND,OR,及EOR。12.如申请专利范围第11项之微控制器,另包括第四许多指令,各有一机器操作码,其指定暂存器及一固定値,指令执行单元有效供响应执行第四指令之一而产生第四控制信号,第四控制信号有效供(i)操作暂存器档案,以提供暂存器之内容作为一至通用ALU之第一输入,(ii)提供固定値作为一至通用ALU之第四输入,(iii)操作通用ALU,以进行一在操作码所指定之ALU操作,及(iv)操作暂存器档案,以将ALU操作之输出储存至暂存器,第四指令包括SUBI,SBCI,ANDI,ORI,SBR,及CBR。13.如申请专利范围第12项之微控制器,另包括第五许多指令,各有一机器操作码,其指定暂存器,指令执行单元有效供响应执行第五指令之一而产生第五控制信号,第五控制信号有效供(i)操作暂存器档案,以提供暂存器之内容作为一至通用ALU之输入,(ii)操作通用ALU,以进行一在操作码所指定之ALU操作,及(iii)操作暂存器档案,以将ALU操作之输出储存至暂存器,第五指令包括COM,NEG,INC,DEC,TST,CLR,及SER。14.如申请专利范围第13项之微控制器,另包括第六许多指令,各有一机器操作码,其指定一状态位元及一位移値,指令执行单元有效供响应执行第六指令之一而产生第六控制信号,第六控制信号有效供(i)操作位元测试装置,以测试状态位元及(ii)依据测试状态位元之结果,任选操作取用装置,致使载入次一指令供自一在程式记忆体自目前指令之位置位移一量等于位移値之位置所获得之执行,第六指令包括BREQ,BRNE,BRCS,BRCC,BRSH,BRLO,BRMI,BRPL,BRHS,BRHC,BRTS,BRTC,BRVS,BRVC,BRID,BRIE,BRBC,BRBS,BRGE,及BRLT。15.如申请专利范围第14项之微控制器,另包括第七许多指令,各有一机器操作码,其指定暂存器对及一固定値,该指令执行单元有效供响应执行第七指令之一而产生第七控制信号,第七控制信号有效供(i)操作暂存器档案之合并装置,以提供暂存器对之内容作为一至专用ALU之输入,(ii)提供固定値作为另一至专用ALU之输入,(iii)操作ALU,以进行加法或减法,及(iv)操作暂存器档案,以将操作之结果储存至暂存器对,第七指令包括ADIW及SBIW。16.如申请专利范围第15项之微控制器,另包括第八许多指令,各有一机器操作码,其指定暂存器及一位元识别符,指令执行单元有效供响应执行第八指令之一而产生第八控制信号,第八控制信号有效供(i)操作暂存器档案,以存取暂存器及测试一由位元识别符所指定之位元,及(ii)依据所测试位元之结果,任选操作取用装置,以跳过次一指令,第八指令包括SBRC及SBRS。17.如申请专利范围第16项之微控制器,另包括一CPI指令,有一机器操作码指定一暂存器及一固定値,指令执行单元有效供响应执行CPI指令而产生CPI控制信号,CPI控制信号有效供(i)操作暂存器档案,以提供暂存器之内容作为一至专用ALU之第一输入,(ii)提供固定値作为一至专用ALU之第二输入,及(iii)操作专用ALU,以自第一输入减第二输入。18.如申请专利范围第17项之微控制器,另包括一CPC指令,有一机器操作码指定第一及第二暂存器,指令执行单元有效供响应执行CPC指令而产生CPC控制信号,CPC控制信号有效供(i)操作暂存器档案,以提供第一及第二暂存器之内容作为至专用ALU之输入,及(ii)操作专用ALU,以发出Rf-Rs-C,其中Rf为第一暂存器,Rs为第二暂存器,及C为进位位元。19.如申请专利范围第18项之微控制器,另包括一CP指令,有一机器操作码指定第一及第二暂存器,指令执行单元有效供响应执行CP指令而产生CP控制信号,CP控制信号有效供(i)操作暂存器档案,以提供第一及第二暂存器之内容分别作为至专用ALU之第一及第二输入,及(ii)操作专用ALU以自第一输入减第二输入。20.如申请专利范围第19项之微控制器,另包括一CPSE指令,有一机器操作码指定第一及第二暂存器,指令执行单元有效供响应执行CPSE指令而产生CPSE控制信号,CPSE控制信号有效供(i)操作暂存器档案,以提供第一及第二暂存器所识别之暂存器之内容分别作为至通用ALU之第一及第二输入,(ii)操作通用ALU,以比较第一及第二输入,及(iii)依据比较之结果,任选操作取用装置,以跳过次一指令。21.如申请专利范围第20项之微控制器,另包括第九许多指令,各有一机器操作码,其指定一位移値,指令执行单元有效供响应执行第九指令之一而产生第九控制信号,第九控制信号有效供操作取用装置,致使截入次一指令供自一在程式记忆体自目前指令之位置位移一量等于位移値之位置所获得之执行,第九指令包括RJMP及JMP。22.如申请专利范围第21项之微控制器,另包括一IJMP指令,该指令执行单元有效供响应执行IJMP指令而产生IJMP控制信号,IJMP控制信号有效供(i)操作暂存器档案之合并装置,以提供二暂存器之内容作为一单一位移値及(ii)操作取用装置,以载入次一指令,供自一在程式记忆体自目前指令之位置位移一量等于单一位移値之位置所获得之执行。23.如申请专利范围第22项之微控制器,另包括第十许多指令,各有一机器操作码,其指定一位移値,该指令执行单元有效供响应执行第十指令之一而产生第十控制信号,第十控制信号有效供(i)将在予以执行之次一指令之程式记忆体之位置推至叠层,及(ii)操作取用装置,以载入次一指令供自一在程式记忆体自目前指令之位置位移一量等于位移値之位置所获得之执行,第十指令包括RCALL及CALL。24.如申请专利范围第23项之微控制器,另包括一ICALL指令,该指令执行单元有效供响应执行ICALL指令而产生ICALL控制信号,ICALL控制信号有效供(i)操作暂存器档案之合并装置,以提供二暂存器之内容作为一单一位移値,(ii)将在予以执行之次一指令之程式记忆体之位置推至叠层,及(iii)操作取用装置,以载入次一指令,供自一在程式记忆体自目前指令之位置位移一量等于单一位移値之位置所获得之执行。25.如申请专利范围第24项之微控制器,另包括第十一许多指令,各有一机器操作码,其指定一位移値,该指令执行单元有效供响应执行第十一指令之一而产生第十一控制信号,第十一控制信号有效供(i)推托叠层以获得一在程式记忆体之位置,及(ii)操作取用装置致使载入次一指令,供依据在自叠层所获得程式记忆体之位置之执行,第十一指令包括RET及BETI。26.如申请专利范围第25项之微控制器,其中该指令执行单元另响应执行RETI指令而产生控制信号,其操作状态暂存器,以设定全局中断旗标。27.如申请专利范围第26项之微控制器,另包括第十二许多指令,各有一机器操作码,其指定一目的暂存器及一数据源,该指令执行单元有效供响应执行第十二指令之一而产生第十二控制信号,第十二控制信号有效供(i)操作暂存器档案,如果数据源为暂存器,则存取暂存器之内容,及(ii)操作暂存器档案,如果数据源为暂存器,将所存取之暂存器内容或如果数据源为一固定値,则将数据源本身储存至目的暂存器,第十二指令包括MOV及LDI。28.如申请专利范围第27项之微控制器,另包括一指定一暂存器之PUSH指令,该指令执行单位有效供响应执行PUSH指令而产生PUSH控制信号,PUSH控制信号有效供(i)更新一在叠层之次一位置及(ii)操作叠层,以接收暂存器之内容。29.如申请专利范围第28项之微控制器,另包括一指定一暂存器之POP指令,该指令执行单元有效供响应执行POP指令而产生POP控制信号,POP控制信号有效供(i)操作叠层以储存其内容至暂存器,及(ii)更新叠层指标,以指向至一在该叠层之先前位置。30.如申请专利范围第29项之微控制器,另包括IN及OUT指令各有一机器操作码指定一埠及暂存器,该指令执行单元有效供响应执行IN及OUT指令之一而产生埠控制信号,埠控制信号有效供(i)操作暂存器档案,以存取暂存器及(ii)将内容自存取暂存器转移至埠,或将埠之内容转移至所存取之暂存器。31.如申请专利范围第30项之微控制器,另包括一LPM指令,该指令执行单元有效供响应执行LPM指令而产生LPM控制信号,LPM控制信号有效供(i)操作暂存器档案之合并装置,以提供二暂存器之内容作为一程式位址,(ii)在一由程式位址所指定之程式记忆体之记忆体位置存取数据,及(iii)操作暂存器档案,以将所存取之数据储存在暂存器。32.如申请专利范围第31项之微控制器,另包括第十三许多指令,该指令执行单元有效供响应执行第十三指令之一而产生第十三控制信号,第十三控制信号有效供(i)操作状态暂存器,以在其中存取一位元及(ii)设定或清除所存取之位元,第十三指令包括SEC,CLC,SEN,CLN,SEZ,CLZ,SEI,CLI,SES,CLS,SEV,CLV,SET,CLT,SEH,CLH,BSET,及BCLR。33.如申请专利范围第32项之微控制器,另包括一指定暂存器之LSL指令,该指令执行单元有效供响应执行LSL指令而产生第一移位控制信号,第一移位控制信号有效供(i)操作暂存器档案,以存取暂存器,(ii)使所存取暂存器之最高有效位元移位至进位位元,(iii)使该位元向左移位一位置,及(iv)清除最低有效位元。34.如申请专利范围第33项之微控制器,另包括一LSR指令指定暂存器,该指令执行单元有效供响应执行LSR指令而产生第二移位控制信号,第二移位控制信号有效供(i)操作暂存器档案,以存取暂存器,(ii)使所存取暂存器之最高有效位元移位至进位位元,(iii)使该位元向右移位一位置,及(iv)清除最高有效位元。35.如申请专利范围第34项之微控制器,另包括一ROL指令指定暂存器,该指令执行单元有效供响应执行ROL指令而产生第三移位控制信号,第三移位控制信号有效供(i)操作暂存器档案以存取暂存器,(ii)使诸位元向左移位一位置,(iii)使进位位元移位至最低有效位元,及(iv)使最高有效位元移位至进位位元。36.如申请专利范围第35项之微控制器,另包括一ROR指令指定暂存器,该指令执行单元有效供响应执行ROR指令而产生第四移位控制信号,第四移位控制信号有效供(i)操作暂存器档案以存取暂存器,(ii)使诸位元向右移位一位置,(iii)使进位位元移位至最高有效位元,及(iv)使最低有效位元移位至进位位元。37.如申请专利范围第36项之微控制器,另包括一指定暂存器之ASR指令,该指令执行单元有效供响应执行ASR指令而产生第五移位控制信号,第五移位控制信号有效供(i)操作暂存器档案以存取暂存器,(ii)使诸位元向右移位一位置,及(iii)使最低有效位元移位至进位位元。38.如申请专利范围第37项之微控制器,另包括一指定暂存器之SWAP指令,该指令执行单元有效供响应执行调动指令而产生调动控制信号,调动控制信号有效供(i)操作暂存器档案以存取暂存器及(ii)调动所存取暂存器之高及低四位组。39.如申请专利范围第38项之微控制器,另包括一睡眠指令,该指令执行单元有效供响应执行睡眠指令而产生睡眠控制信号,睡眠控制信号有效供将微控制器置于于睡眠模式。40.如申请专利范围第39项之微控制器,另包括一监视计时器,有一监视重设线路,一MCU重设线路,及一延迟装置,供在延迟一段时间后在MCU重设线路认定一信号;MCU重设线路耦合为导使在藉延迟装置认定一信号时,重设微控制器;监视重设线路耦合至延迟装置,以开始一延迟周期;微控制器另包括一WDR指令,该指令执行单元响应执行WDR指令,有效供在监视重设线路认定一信号,从而开始一延迟周期。图式简单说明:第一图示本发明之微控制器之示意配置。第二图示第一图之暂存器档案识别之内部图示。第三图例示在第二图中所示暂存器档案之暂存器之构造。第四图详示第三图中所示之暂存器写入启动电路。第五图A及第五图B示第四图中所使用之OR闸构造。第六图示第一图中所示状态暂存器之内部结构。第七图示第一图中所示通用ALU之内部结构。第八图A及第八图B示第七图之通用ALU中所含之二ALU子单元。第九图示程式计数器。第十图例示使用根据本发明之分页暂存器形成一24位元逻辑位址。第十一图示监视计时器电路。第十二图为第一图之微控制器,包括有第十图中所示分页暂存器之图。第十三图示一N-输入启动AND闸。
地址 美国