单片机8位、16位、32位和64位系统在内存上的区别
总线、内存和变量的相关知识
前言
本篇文章主要介绍单片机内部的总线和内存的一些关系及知识点,
一、32位系统和64位系统的区别
1. 8位、16位、32位和64位CPU的含义
如标题所述,不同位数的单片机的主要区别在于能处理多长的数据。如经典的8位单片机80C51,其一次性能处理8bit的数据,其寄存器的长度也是8位;TI的16位单片机能处理16bit的数据,寄存器为16位;STM32能处理32bit的数据,寄存器为32位。需注意的是8位单片机不带表其地址总线是8位。8位的51单片机,其数据总线是8位的,但其地址总线是16位,即其最大寻址空间为64KB。以Cortex-M3为内核的32位单片机,其地址总线是32位,其寻址空间为2^32(4GB)。最后,可以总结为能处理多少位的数据就是多少位的单片机。
2.变量所占内存的区别
不同位数的CPU(单片机)的变量所占的内存也不尽相同,具体如下表所示。
8位 | 16位 | 32位 | 64位 | |
---|---|---|---|---|
char | 1 Byte | 1 Byte | 1 Byte | 1 Byte |
short int | 2 Byte | 2 Byte | 2 Byte | 2 Byte |
int | 2 Byte | 2 Byte | 4 Byte | 4 Byte |
long int | 4 Byte | 4 Byte | 4 Byte | 8 Byte |
long long | 8 Byte | 8 Byte | 8 Byte | 8 Byte |
float | 4 Byte | 4 Byte | 4 Byte | 4 Byte |
double | 8 Byte | 8 Byte | 8 Byte | 8 Byte |
指针 | 1 Byte | 2 Byte | 4 Byte | 8 Byte |
注:
1)上述表格适用于KEIL C51 和 KEIL MDK两个版本中,不一定适用于其它编辑器,具体内容,请查看KEIL软件手册。
2)CPU的位数不能决定int占几个字节,int是一个关键字,只能本编译器识别,CPU不能识别int。对于C语言,同一32位系统PC机上,TC2.0编译器给int分配2个字节,VC6.0给int分配4个字节。
单片机8位、16位、32位和64位系统在内存上的区别相关推荐
- 64位计算机比32快多少,64位系统和32位系统哪个速度快
在配置较高的电脑64位会更快一些.若是配置较低运行内存小于4G的电脑,若是装了64位系统则有可能会卡频. 64位的优缺点(以win7为例): 优点:win7 64位系统最大的优点体现在内存上.它可以使 ...
- 内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理
内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理 一丶熟悉WinDbg的常见命令. dd 虚拟地址 显示内存. !dd 加上!, ! dd 物理地 ...
- 计算机32位可以安装的游戏,【64位系统能装32位的软件吗】64位系统安装32位软件_64位系统能玩32位游戏吗-系统城...
2017-11-25 18:15:36 浏览量:1840 能用普通U盘来装系统吗?我们知道光盘是安装系统最传统的工具,普通U盘和光盘一样都是存储工具,那么能将普通U盘制作成装系统的U盘,然后用U盘装系 ...
- 32位 shell.efi x86_通过grub,让32位的efi也能运行64位的Linux发行版
GRUB是什么 是一个来自GNU项目的启动引导程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的 ...
- Wow64(32位进程)注入DLL到64位进程
http://blog.poxiao.me/p/wow64-process-inject-dll-into-x64-process/#Wow64环境下32位进程注入64位进程 DLL注入 向其他进程注 ...
- python 32位 64位 同时_windows系统python 32位与python 64位共存的方式
最近想学习通过python和大漠插件相结合的方式写游戏脚本,但是在实现的过程中发现大漠插件只支持32位的python,对64位python不支持,而我又不想放弃我windows 10 上面已有的64位 ...
- 华为matebooke不能下python_为什么华为matebookE明明是64位配置装Pr之类的64位软件却显示32位无法安装64位?...
为什么华为matebookE明明是64位配置装Pr之类的64位软件却显示32位无法安装64位? 按照图上来说你已经是64位系统了,装不了或者不能用的并不因为你升级成专业版就可以用,还是一样的情况.至于 ...
- 如何把32位的注册表文件转换为64位的?
问题:比如 我的系统是64位的WIN7,但下载的极品飞车14的注册表导入文件却是32位的,于是不能用,还好网上有人做了64位的导入文件.我想知道那些达人是怎么把32位的改成64位的? 把32位的注册表 ...
- 预装64位Win8/8.1电脑安装64位Win7详细过程(单/双系统)
http://www.iruanmi.com/install-64bit-windows-7-on-a-pre-installed-win8-pc/ 很多人买了预装64位Win8/8.1的电脑后想重装 ...
最新文章
- 使用MarkDown编辑器做出有意思的柱状图(完整代码)
- S9306开启web功能!
- mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)
- 十年编程经验输给新晋AI工程师,6个月我们带你绝地反击
- C 线程的使用~(下)
- 数据结构实验六 综合数据处理
- 云原生与数据中台,企业数字化转型的“正确打开方式”
- H264之sps解析分辨率
- IDEA中添加Tomcat配置,Run/Debug Configurations中没有Tomcat选项
- React中函数式声明组件
- 【Webcam设计】USB摄像头图片采集+QT显示
- Vue实现左右菜单联动实现(更新)
- linux系统移植到arm芯片难吗,Linux操作系统怎么移植到ARM平台?
- 【车载】FMEA、FTA、FMEDA
- 四大金融资产管理公司的起起伏伏
- 盗版windows7危害大
- win7、win10系统双屏显示任务栏
- 华为使用计算机投屏要打开什么,华为Mate20手机怎么投屏到电脑上呢
- 利用简单的爬虫获取CV顶会论文
- #积分制管理感言#河北沧州盛世今典广告传媒赵胜