Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory PIC微控制器内存分库的原因_Memory_Assembly_Microcontroller_Pic - Fatal编程技术网

Memory PIC微控制器内存分库的原因

Memory PIC微控制器内存分库的原因,memory,assembly,microcontroller,pic,Memory,Assembly,Microcontroller,Pic,我想知道为什么在PIC微控制器系列中,数据存储器被分成几组?我已经做了很多搜索,但我能找到的唯一一件事是它被分为4个库,每个库都有128字节长。我找不到背后的原因。我的意思是对内存进行分区肯定有一些好处。内存位置被编码到程序字中。这意味着您通常可以只使用一个程序字,而不是两个(一个用于指令,一个用于地址) 缺点是您需要将程序字延长2位以获得平坦的内存空间,或者将RAM拆分为4个存储组 如果您希望能够以RAM增长的2倍、4倍或8倍将成员添加到芯片系列中,则第一种选择尤其不切实际。更好的芯片技术允许

我想知道为什么在PIC微控制器系列中,数据存储器被分成几组?我已经做了很多搜索,但我能找到的唯一一件事是它被分为4个库,每个库都有128字节长。我找不到背后的原因。我的意思是对内存进行分区肯定有一些好处。

内存位置被编码到程序字中。这意味着您通常可以只使用一个程序字,而不是两个(一个用于指令,一个用于地址)

缺点是您需要将程序字延长2位以获得平坦的内存空间,或者将RAM拆分为4个存储组


如果您希望能够以RAM增长的2倍、4倍或8倍将成员添加到芯片系列中,则第一种选择尤其不切实际。更好的芯片技术允许添加更多寄存器。但是他们不能再改变指令格式了。它使用7位进行寄存器选择(因此为128字节),需要银行寻址更多。