当前位置: 首页 > 编程 > 正文

一.计算机发展史 1.1 IT届祖师爷 阿达(阿达·奥古斯塔),一位明明可以靠颜值吃饭的美妹子,却成了IT届的 […]

一.计算机发展史

1.1 IT届祖师爷

  • 阿达(阿达·奥古斯塔),一位明明可以靠颜值吃饭的美妹子,却成了IT届的祖师爷.

  • 师从著名的数理逻辑学家德·摩根.穿孔机程序的创始人,建立了循环和子程序的概念.

  • 为计算机程序拟定”算法”,写作的第一份”程序设计流程图”,被珍视为”第一个给计算机写程序的人”.

1.2 二进制与N进制

  • 计算机之所以用二进制表示,是因为二进制可以用高低电平来实现,三进制和N进制不好实现,有磁性,无磁性,磁性不是很强(不好检测)…当然,也可以用颜色来表示,但成本很高.

1.3 量子计算机

  • 量子计算机可以摆脱二进制的限制,一个位可以同时表示1和0.适合做阶乘运算,因式分解. 如今的加密体系是基于二进制计算机不好运算除法, 所以量子计算机比较适合密码穷举. 所以暂时不会取代二进制计算机.

1.4 机器语言

  • 机器语言是机器指令的集合(一台机器可以正确执行的命令).电子计算机的机器指令是一列二进制数.计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算.

  • 如今的PC机靠CPU(一种微处理器)和其他受CPU直接或间接控制的芯片,器件,设备组成的计算机系统.

  • 每一种微处理器,由于硬件设计和内部结构的不同,就需要不同的电平脉冲来控制,使它工作.所以每一种微处理器都又自己的机器指令集,也就是机器语言.

  • 早期的程序设计均使用机器语言,程序员将0,1数字编成的程序带啊名打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片输入计算机,进行运算.如果打错孔,只能丢弃重打.

    1.5 汇编语言的产生

    • 早期的程序员发现了机器语言带来的麻烦,于是汇编语言应运而生.

    • 汇编语言的主体是汇编指令.汇编指令和机器指令的差别在于指令的表示方法上.汇编指令是机器指令便于记忆的书写格式.

    • 计算机只能读懂机器指令,所以首次提出了编译器的概念,将汇编指令转换成机器指令.程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码.由机器最终执行.

    • 编译器相当于现实中的翻译,比如翻译一篇文章,只要翻译一次就好,这是编译型语言.也有随身带着一翻译妹妹随时干活,叫解释型语言.

    • 编译器是由世界顶尖的数学家参与的,如果只是简单的替换,不需要数学家,但后面发展的中,代码中有循环分支嵌套,所以需要数学家来优化.

  • 汇编程序之所以没被淘汰,是因为能写出更高效的程序(程序水平 ==> 硬件理解水平)

    • 如今仍然可以使用机器语言写程序,只是我们站在更高的层面去看待问题,忘记了历史.

二.微机系统组成

2.1 CPU如何识别不同的设备?

  • 其实当初内存条和显卡等这些插槽都是一样的,但随着计算机硬件的发展插接口产生了变化,为了识别它,发明了芯片(南桥芯片,北桥芯片).等价于买房子找中介.

  • 所有硬件都有共同点,就是1.打开 2.关闭 3.读 4.写 5.控制.

2.2 中央处理器CPU

  • 8086 80386 80486 …一般统称X86.而8086CPU一般指16位CPU.

2.3 指令集

  • 精简指令集 – 定长 – 8位表示一条指令 – Arm(手机用得比较多)

  • 复杂指令集 – 变成 – 指令长度不固定 – Intel: X86指令集

2.4 CPU读取数据

  • 硬盘 -> 内存 -> CPU缓存 -> 寄存器

2.5 键盘中的寄存器

  • 键盘中其实也有寄存器.用来暂存按键.

  • 往键盘中寄存器写入,可模拟按键.

2.6 通用寄存器

数据寄存器
AX – 累加器
CX – 计数器
BX – 基址寄存器
DX – 数据寄存器

变址寄存器
SI – 源变址寄存器
DI – 目的变址寄存器

指针寄存器
SP – 堆栈指针寄存器,栈顶
BP – 基址指针寄存器,桟底

本文固定链接: https://blog.050k.com/?p=157 | LseKit's Blog
标签:,

01_16汇编_概论:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter