《程序是怎样跑起来的》笔记

备注:本文是《程序是怎样跑起来的》--矢泽久雄 读书笔记

章节摘要备注总结
对程序员来说 CPU 是什么CPU 内部由寄存器,控制器,运算器和时钟四个部分组成有些 CPU时钟部分在外部
程序启动后,控制器从内存读取指令和数据
程序存储在内存中,CPU来执行
对程序员来说 CPU 是什么CPU是寄存器的集合体程序是把CPU作为寄存器来描述的机器语言要靠操作寄存器实现功能
对程序员来说 CPU 是什么机器语言指令的主要类型和功能数据转送指令
运算指令
跳转指令
call/return指令
无论多复杂的程序,最终都要靠
这几类简单的指令来实现效果
数据是用二进制表示的所有位都是1的二进制数,十进制就是 -1知识点
数据是用二进制表示的字节是基本单位,位是最小单位八位一个字节
数据是用二进制表示的将二进制数的值取反后加1的结果,和原来的值相加等于01 =  0000 0001
-1 = 1111 1111   二者相加为0
补数 = 取反加1
计算机进行小数运算时出错的原因二进制0.1表示十进制的0.5小数点后一位的位权是 2-1 = 0.5
计算机进行小数运算时出错的原因浮点数是用符号,尾数,基数,指数四部分表示小数的double 双精度, float 单精度
熟练使用有棱有角的内存内存的物理机制很简单:电源,地址信号,数据信号,控制信号
熟练使用有棱有角的内存数据类型表示存储的是何种类型的数据存内存角度:数据类型就是占用的内存大小相同的内存数据 eg 00110011
具体表示的数据不一定相同
熟练使用有棱有角的内存数组是使用内存的基本因为数组和内存的物理结构是一样的栈,队列均是通过数组实现
熟练使用有棱有角的内存链表可以方便追加和删除元素
熟练使用有棱有角的内存二叉查找树是由链表构造发展而来的一个节点有两个指向即可
内存和磁盘的亲密关系内存:利用电流实现存储
磁盘:利用磁效应实现存储
内存高速高价,磁盘低速廉价磁盘分为两类,
一类是硬盘,一类是软盘。
内存和磁盘的亲密关系磁盘缓存时指把磁盘中读取的数据存储到内存空间中的方式实际上占用的是内存空间
内存和磁盘的亲密关系虚拟内存是把此磁盘的一部分当做内存使用实际上是磁盘
内存和磁盘的亲密关系DLL(Dynamic Link Library)文件实现函数共有可以提高内存效率
内存和磁盘的亲密关系Windows一个扇区是512字节,簇是扇区的整数倍不同的文件不能存储在同一簇中
文件不管多小,都会占用一簇的空间
亲自尝试压缩数据ELE(Run Length Encoding) 数据*重复次数 的压缩方法缺点是不适于重复度小的数据类型,例如文本
亲自尝试压缩数据哈弗曼算法能够大幅提升压缩比率
程序是在何种环境中运行的运行环境 = 操作系统 + 硬件
程序是在何种环境中运行的机器语言的程序成为本地代码
程序是在何种环境中运行的Windows克服了除 CPU 之外的硬件差异1 Windows 可以统一管理输入,输出,内从等
2 Windows 是有对应特定 CPU 要求的
程序是在何种环境中运行的应用程序向操作系统传递指令的途径成为API
从源文件到可执行文件把源代码转换为本地代码的程序称作编译器
从源文件到可执行文件编译器不仅和编程语言有关,和 CPU 的类型也是相关的
操作系统和应用的关系具有加载和运行功能的监控程序是操作系统的原型
操作系统和应用的关系最初的操作系统 = 监控程序 + 基本的输入输出程序
操作系统和应用的关系开发时类似 printf() 这些函数的运行结果,都不是
面向硬件而是面向操作系统的.
应用程序通过 OS 间接地控制硬件
操作系统和应用的关系文件是操作系统对磁盘媒介的抽象化
操作系统和应用的关系Windows 通过时钟分割技术来实现多任务
通过汇编语言了解程序的实际构成汇编的语法结构是 操作码 + 操作数
通过汇编语言了解程序的实际构成在汇编语言中,函数名表示的是函数所在的内存地址
通过汇编语言了解程序的实际构成函数的参数是通过栈来传递,返回值是通过寄存器来返回的局部变量也会利用空闲的寄存器
硬件控制方法以端口为桥梁来实现 CPU 和外围设备之间的数据传递
硬件控制方法DMA(Direct Memory Access),是指在不通过CPU的情况下
外围设备直接和主内存进行数据传送
硬件控制方法I/O端口号 IRQ  DMA 通道可以说是识别外围设备的3组合
让计算机"思考"
【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值