冯诺依曼体系
冯诺依曼体系是约翰·冯·诺依曼与戈德斯坦、勃克斯等人在发表的101页报告中提出的计算机的体系架构,后来与他被成为计算机之父,,他设计的计算机系统结构,称为“冯诺依曼体系结构”。
计算机体系架构核心思想:
- 采用二进制为计算机数值作为计算的基础,二进制更方便计算机的计算,更容易计算机的数值计算。
- 程序和指令的执行顺序,先编好程序,然后交给计算机 按照预先定义的顺序来进行计算机数值运算。
功能:
- 能够把数据和程序传送给计算机
- 计算机必须具有长时间记忆 程序,数据中间结果和最终结果的能力。
- 计算机能够完成各种逻辑和算数运算等数据加工的能力。
五大组件: - 运算器:能够完成各种各种逻辑和算数运算等数据加工。
- 控制器:控制程序的执行顺序,和各种指令的执行顺序。
- 存储器:用于存储程序和数据和中间结果和最终结果
- 其次是输出输入设备负责数据和结果的输出和输入。
计算机的cpu由控制器和存储器组成。
控制器来控制指令的执行顺序。
运算器把运算将结果存储在存储器中。
计算机总线
计算机总线负责计算机各个部件之间地1数据交换,信息传递。就像部件之间的桥梁。计算机总线可以分为地址总线、数据总线和控制总线,分别用来控制传输数据,数据地址和控制信号的传输。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。
在计算机中计算机的五大部件通过计算机总线进行数据交互,传递信息计算机信息表示与存储,计算机五大部件之间通过计算机总线连接起来形成1了计算机硬件系统。
分类:
- 地址总线:用来指定在Ram之中 存储的地址
- 数据总线:负责在cpu和存储器之间的数据交换和信息传递
- 控制总线:负责将微控制器中的指令传输到周边部件
- 扩展总线:负责计算机和外部设备连接
- 局部总线:取代更高速数据传输的扩展总线
常见的是:地址总线,地址总线,控制总线。
计算机信息表示与存储
字符编码
ASCll介绍
ASCII 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符
在计算机进行数值运算都是采用二进制的并且存储数据都是采用二进制,但是,计算机程序中存在者大量的字符,就必须把这些字符转换成对应的二进制数值,在这种情况下ASCll就诞生了,ASCll制定了常见的128个字符的二进制转换。
GB2312/GBK介绍:
计算机中不仅存在字符也要存在汉字,在这种情况下就需要一套编码标准目前采用的编码标准有ASCl,lGB2312、GBK、Unicode。
其中IGB2312是由中国国家标准总局制定的是针对在汉字在计算机使用的标准此编码通行与中国大陆
GBK分区表示:
- GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表-示方式也称为区位码。
- 01-09区为特殊符号。
- 16-55区为一级汉字,按拼音排序。
- 56-87区为二级汉字,按部首/笔画排序。
- 10-15区及88-94区则未有编码。
举例来说,“啊”字是GB2312之中的第一个汉字,它的区位码就是1601。
GBK是由中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订。
GBK同样是针对汉字在计算机中使用的指定的使用标准,它向下兼容GB2312
Unicode/UTF-8介绍:
Unicode翻译过来为统一码,Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
世界上语言种类很多但是Unicode可以为每一种语言提供一种二进制统一编码能够在计算机中使用。
UTF-8:
Uniocde是一种固定的字符编码它可以表示Uniocde编码的任何字符,他的第一字节和ASCLL相容。
UTF-8是以字节为单位对Uniocde进行的编码,UTF-8是对Uniocde的可变长度字符编码,UTF-8的特点是对不同范围的字符使用不同长度的编码
UTF-16:
UTF-16编码以16位无符号整数为单位。我们把Unicode编码记作U。
cpu与指令集
x86与clsc:
x86架构是针对微处理机执行的计算机语言指令集,x86架构是重要的可变指令集地CLSC,长度地存储器访问允许不对齐存储器地址,字组是以地位字节在前存储在存储器中。
arm与risc
arm与risc这里不做过多介绍,详细请参考这里
程序基础(程序编译顺序)
一个完整地程序编译过程包括预编译->编译->汇编->链接
1 预编译
- 首先先读取源程序代码将文件夹展开:
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!