Agus ARM (nó fiú x 86) MCU / CPU le struchtúr von Neumann, tá a spás seoltaí aontaithe agus leanúnach, tugtar aghaidh go haonfhoirmeach ar chuimhne cód / RAM / LAP, agus fiú cuimhne físe ríomhaire. Is é' s díreach go n-áitíonn cuimhne le feidhmeanna éagsúla bloic seoltaí éagsúla, agus déanann siad a gcuid rudaí féin.
Ceart go leor, lig do' s dul ar ais chuig MCS-51.
Maidir le cuimhne an chláir, tá dhá chuid ann: on-chip agus seach-sliseanna. Agus beag beann ar chuimhne an chláir sliseanna nó cuimhne an chláir sliseanna, roinntear a seoltaí. Má tá 4k ROM ar-sliseanna, is é an seoladh 0x0000-0x0FFF, agus is é 0x1000-0xFFFF spás seoltaí an ROM seachtrach. Cibé an n-úsáidtear an chuid 0x0000-0x0FFF den ROM seachtrach, braitheann sé ar luach leibhéal bioráin EA an mhicrea-rialaitheora. Nuair a úsáidtear EA=1, úsáidtear an chuid seo den ROM inmheánach, agus cuirtear an chuid seo den ROM seachtrach amú agus ní úsáidtear é; nuair a úsáidtear EA=0, úsáidtear an chuid seo den ROM seachtrach, agus cuirtear an ROM inmheánach amú agus ní úsáidtear é. Chun sonraí ón deighleog CÓD a léamh, bain úsáid as an treoir MOVC cóimeáilte. Cinnfidh an microcomputer aon-sliseanna go huathoibríoch cén chuimhne chun sonraí a fháil de réir threoir MOVC, stádas EA, agus an luach seolta atá le léamh
Maidir le cuimhne sonraí, tá sé roinnte ina dhá chuid: cuimhne inmheánach sonraí (IDATA / RAM) agus cuimhne sonraí seachtracha (XDATA), ach ní roinneann an dá chuimhne seo an spás seoltaí cosúil le cuimhne cód. Is é an sliseanna ginearálta 8051, an RAM inmheánach ach 128B, ó 0x00-0x7F, agus ó 0x80-0xFF tá réimse SFR (tá cláir oibre LAP agus cláir imeallacha éagsúla anseo). Maidir leis an 8052, tá 256B ag an RAM inmheánach, mar sin is é 0x80-0xFF an RAM ard 128B atá in úsáid. Ach nach bhfuil' t an chuid seo tiomnaithe do SFR? Tá sé' s tiomnaithe do SFR, ach tabhair faoi deara nach féidir le rochtain SFR ach" a úsáid; aghaidh a thabhairt go díreach ar" (curtha i bhfeidhm ag úsáid treoracha cóimeála ar leith), tá an difríocht anseo. Níl ach an seoladh a bhfuil rochtain dhíreach air trí SFR, ar shlí eile is gnáth-RAM é. Maidir leis an RAM sínte (XDATA), tá an seoladh ó 0x0000-0xFFFF, agus tá an 0x0000 anseo difriúil ón 0x00 den RAM inmheánach, agus tá siad go hiomlán neamhspleách ar dhá spás. Tá a gcuid modhanna rochtana difriúil freisin. Úsáideann MCS-51 treoir MOVX chun limistéar XDATA a léamh agus a scríobh. Thairis sin, teastaíonn cúnamh ón gclár DPTR chun rochtain a fháil ar limistéar XDATA. Toisc nach féidir ach le DPTR an chéad seoladh XDATA 16-giotán eile a shealbhú.
Mar sin, tá an luas léitheoireachta agus scríbhneoireachta is gasta ag limistéar IDATA agus na modhanna rochtana is mó ag MCS-51. Tá luas rochtana ar limistéar XDATA réasúnta mall. Ba cheart an chairn de MCS-51 a fhorbairt i limistéar IDATA ar dtús, agus is féidir an chruach a osclaíodh i limistéar IDATA a rialú ag an gclár pointeoir cruachta SP. Má tá an chruach ró-mhór i ndáiríre agus nach féidir í a oscailt ach i limistéar XDATA, ansin beidh sé deacair clár SP an LAP a fháil ar iasacht, agus ní féidir linn ach an struchtúr cruachta agus an pointeoir cruachta a thógáil linn féin. Ó tharla go bhfuil spás an chláir sheachtraigh agus an spás sonraí 0-64K (0x0000-0xFFFF) araon, ansin is féidir liom cláir athscríobh trioblóide / áisiúla agus cúiseanna eile a shábháil, is féidir leis an gCÓD seachtrach agus SONRAÍ cuimhne athscríofa a roinnt (mar shampla Cad is féidir le RAM a dhéanamh a scriosadh agus a scríobh). Mar shampla, tá MEABHRÁN seachtrach 64K ag an gcóras. Úsáidtear an 32K íochtarach chun an CÓD a shábháil, agus is féidir leis an micrea-rialaitheoir an clár a léamh agus a rith sa 32K seo, agus úsáidtear an 32K is airde mar an áit stórála le haghaidh sonraí úsáideora. Ach ag an am seo, an spás CÓD agus SONRAÍ a bhí go hiomlán neamhspleách ar dtús, toisc go roinntear MEMORY ar an sliseanna crua-earraí, d’fhéadfadh go mbeadh tionchar acu ar a chéile, agus is féidir leis an gclár an clár a athscríobh leis féin. Mar shampla, is treoir é 0x0020, agus athscríobh mé 0x0020 trí MOVX, ansin bain úsáid as MOVC chun 0x0020 a léamh amach, agus tá na sonraí difriúil ón mbunaidh.
Is é croílár na mearbhaill gur coincheap loighciúil é spás stórála an mhicrea-ríomhaire aon sliseanna, is é sin dhá spás ar leithligh atá roinnte go saorga. Is coincheap i ndáiríre an sliseanna MEMORY ar an gciorcad crua-earraí. Cuirfear spás stórála an mhicrea-ríomhaireachta aon-sliseanna i bhfeidhm sa deireadh ar an sliseanna ag leibhéal an chiorcaid, agus mar sin forluífidh an spás stórála loighciúil mar gheall ar an nasc ciorcad fisiceach. Ach ar an leibhéal loighciúil, tá an dá spás seo go hiomlán neamhspleách fós.
Ceangaltán: Sainmhíniú ar ainmneacha éagsúla spáis stórála:
Sonraí: féach go seasta ar na 128 RAM de 0x00-0x7f sa tosaigh, ar féidir le clár iad a léamh agus a scríobh go díreach, an cód is gasta agus an cód is lú a ghintear.
Idata: tagraíonn sé go seasta do na 256 RAM de 0x00-0xff sa tosaigh, a bhfuil an chéad 128 díreach mar an gcéanna leis an 128 sonraí, díreach mar gheall ar na modhanna rochtana éagsúla. Déantar idata a rochtain ag úsáid pointeoir cosúil le C. Is é an ráiteas sa chomhthionól: mov ACC, @ Rx. (ní forlíonadh tábhachtach é: tá éifeacht rochtana pointeoir maith ag idata in c) xdata: RAM leathnaithe seachtrach, tagraíonn sé go ginearálta don spás seachtrach 0x0000-0xffff, a bhfuil rochtain ag DPTR air. pdata: na 256 beart is ísle den RAM leathnaithe seachtrach, léigh agus scríobh nuair a bhíonn an seoladh le feiceáil ar A0-A7, bain úsáid as movx ACC, @Rx chun léamh agus scríobh. Tá sé seo speisialta go leor, agus is cosúil go bhfuil an fabht seo ag C51, moltar níos lú a úsáid. Ach tá a bhuntáistí ann freisin. Is fadhb idirmheánach í an úsáid shonrach, níl a fhios agam' t conas é a úsáid, mar sin bhuaigh mé' t é a lua anseo.








