我认为计算机地址的概念可以分为两个层次,一个是计算机系统内部的地址;另一个是外部的,这个计算机系统在网络上的地址。
计算机的内部地址,根据不同的处理器架构,使用不同位宽的地址总线,如8位、16位、32位到64位或128位。内部CPU核可以管理的内部地址空不同,32位CPU最大4G字节地址空为(2 ^ 32)。用于处理器芯片中的其他IP,如SRAM、定时器等。,芯片设计者给他们分配了一个固定的地址(物理地址)。就像每栋房子都有门牌号一样,处理器核通过这个物理地址访问指定的资源。至于DDR、FLASH或者其他外接芯片,在设计处理器芯片的时候,不会为它们预留足够的物理地址空,这些物理地址往往远远小于外接芯片的实际地址空。这时候就会引入虚拟地址的概念,比较复杂,这里就不详细解释了。处理器芯片的特定部分会完成虚拟地址到物理地址的转换,这样处理器内核就可以像一个access。
计算机系统的外部地址通常是MAC地址或IP地址,这就像邮政编码一样,信件的传递依赖于邮政编码。MAC地址对于每个网卡都是唯一的,也可以表示计算机在网络上是唯一的,而IP地址是由不同的运营商分配的。同一台电脑访问不同的网络会有不同的ip地址,需要建立IP地址和MAC地址的映射关系,这就是TCP/IP协议。