计算机基础博客,计算机组成原理,存储器的设计,局部性原理,地址映射,CPU处理器用途,指令架构,CPU性能,缓存一致性,Cache,MESI协议,伪共享,CPU三级缓存设计思想,输入和输出,总线系统设计,指令编程,程序如何运行,内存存储设计,物理内存和虚拟内存,共享内存设计,计算机二进制的由来,异常处理,IO流操作
- 01.计算机组成原理和结构
- 02.计算器存储器的原理
- 03.计算机基础CPU设计
- 04.系统CPU缓存设计思想
- 05.计算机输入和输出设备
- 06.计算机总线系统设计
- 07.计算机指令编程的原理
- 08.计算机程序如何执行
- 09.计算机内存设计和原理
- 10.计算机二进制和字节设计
- 11.计算机异常处理的机制
- 12.计算机IO的操作和原理
1.1 指令编程的历史,一个古老的案例
我们使用的现代个人计算机,仍然只能处理所谓的“机器码”,也就是一连串的“0”和“1”这样的数字。古老的物理设备,叫作“打孔卡(Punched Card)”。人们在特定的位置上打洞或者不打洞,来代表“0”或者“1”,之后再交给当时的计算机去处理。
1.2 什么是高级语言和机器码
计算机指令,就好比一门 CPU 能够听得懂的语言,我们也可以把它叫作机器语言。高级语言是一种人类可读写的编程语言,它使用更接近自然语言的语法和结构,使程序员能够以更高层次的抽象来编写代码。
1.3 高级语言和机器码之间存在一个编译或解释的过程
高级语言的代码需要通过编译器或解释器将其转换为机器码,以便计算机可以执行。
3.1 思考一个代码问题
一行代码是怎么变成计算机指令的?
3.2 CPU如何执行指令
CPU在软件层面做了封装,写好代码编程指令后,Cpu按照一条条顺序执行就可以。
64位寄存器是怎么来的?N 个触发器或者锁存器,就可以组成一个 N 位(Bit)的寄存器,能够保存 N 位的数据。这个N是64的时候,就是64位寄存器。
一个 CPU 里面会有很多种不同功能的寄存器。pc寄存器,指令寄存器,条件码寄存器。每一种都有自己的功能。
模块 | 描述 | 备注 |
---|---|---|
GitHub | 多个YC系列开源项目,包含Android组件库,以及多个案例 | GitHub |
博客汇总 | 汇聚Java,Android,C/C++,网络协议,算法,编程总结等 | YCBlogs |
设计模式 | 六大设计原则,23种设计模式,设计模式案例,面向对象思想 | 设计模式 |
Java进阶 | 数据设计和原理,面向对象核心思想,IO,异常,线程和并发,JVM | Java高级 |
网络协议 | 网络实际案例,网络原理和分层,Https,网络请求,故障排查 | 网络协议 |
计算机原理 | 计算机组成结构,框架,存储器,CPU设计,内存设计,指令编程原理,异常处理机制,IO操作和原理 | 计算机基础 |
学习C编程 | C语言入门级别系统全面的学习教程,学习三到四个综合案例 | C编程 |
C++编程 | C++语言入门级别系统全面的教学教程,并发编程,核心原理 | C++编程 |
算法实践 | 专栏,数组,链表,栈,队列,树,哈希,递归,查找,排序等 | Leetcode |
Android | 基础入门,开源库解读,性能优化,Framework,方案设计 | Android |