自我介绍与学习心得

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2023learning
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/2023learning/homework/12898
这个作业的目标 <提升自己>

自我介绍

基本信息

姓名:毛曼茜 性别:女 来自:河南驻马店

性格:开朗,有趣,待人坦诚,责任心强,对新奇事物有好奇心,喜欢和朋友一起游山玩水。对不熟的人,容易让别人产生距离感(我并不想)。

在大学的第一个学期,你有哪些做的好的不好的地方

在原班级担任副班长一职,同时也加入了学生会的校友联络部,工作认真负责,进行顺利。通过自己的努力,成为入党积极分子,且在第一学期的党课培训中成为“优秀学员”。在大学第一学期,我认识了来自五湖四海的同学,在学习上,我迅速察觉到自己与其他同学的各方面的基础差距何在,是我应提高自己的地方。在生活中,更应该锻炼自己的能力。主动、勤奋地去学习、总结。

目前学习过的计算机知识

在陈老师的带领下,学习了python的一些基本语句,以及寒假班所学的计算机导论课程。

寒假及下学期的安排

在好好学好学校课程的同时,了解计算机行业的有关信息,自学关于计算机的知识,积极向老师和学长请教,利用课余时间赶上步伐。

为什么转入计算机专业

1.我认为原专业并不是我所长,亦不是我所好。
2.当今计算机应用广泛,前景可观,兴趣导师。

谈谈你对未来的就业选择的一些想法

提高自己能力,考证,进入国企或口碑较好的互联网公司

学习内容的系列记录

知识要点

电子计算机
第一代机电计算机由继电器组成
热电子管 热电子发射 二极管 三级真空管 晶体管 gate门

布尔逻辑与逻辑门gate
二进制 1 and 0 true and false

布尔代数
and
and gate 串联两个晶体管,必须两个晶体管都通电,即都表现为true

or
or gate 并联两个晶体管,且两个晶体管都有输入端

not
真值表 not gate 晶体管output端一端接地,当输入为false时,接地端不接地,output电流通过表现为true

not gate 三角形前面一个圆点
and gate D形状
or gate 鱼状

xor
一个and gate串联一个not gate 并联一个or gate 串联一个and gate 两者相异为true,反之为false if input true and true

通过and gate get true
++ 通过not gate get false
+++ true and true 通过or gate gat true
++++ false and true通过and gate get false
xor gate 鱼形左侧加曲线

二进制
1为true 0为flase

单位
bit 最小单位“位” 8bits = 1bytes 8位 = 1字节
1 KB = 1000 B = 8000 bits 1千字节 = 1000字节(二进制内,1KB = 1024 B)

正负
1表示- 0表示+
位址 浮点数
ASCII 8位 Unicode 16位

数制
用一组固定的数字和一套统一的规则来表示数目的方法

基数 R 位权 RN
16进制基数 1—9 and A—F(10—15)
H代表16进制 R进制 R,Rn-1,Rn-2,……R1,R0,R-1,R-2,……

数制转换
二进制数转换为十进制数 按权展开求和
十进制数转换为二进制数 除以2取余直到商为0,从下往上读数,小数部分乘二取整,从前向后读数
二进制和八进制的转换 二到八,3位归并;反之1位分3位
二进制和十六进制的转换 二到十六,4位归并;反之1位分4位

数字的储存
符号位 1表负 0表正
反码 正数相同,负数数值部分取反
补码 正数相同,负数反码+1
整数在计算机中以补码形式存储

算术逻辑单元ALU
表示和存储是计算机的重要功能
ALU提供计算功能,是负责运算的组件
ALU有2个单元,1个算术单元和1个逻辑单元

算术单元
负责计算机里的数字操作 输入A、B,输出都是单个bit(0或1) 注:1为true,0为flase

半加器 Half adder
XOR gate和AND gate并联,XOR gate判定两个输入是否需要进位,当输入都为true(1)时,XOR gate输出false(0),AND gate输出true(1)即表示进位

全加器 Full adder
两个或多个半加器连接 提供三个输出A、B、C,A、B先通过半加器相加输出进位,然后C输入到第二个半加器输出进位,两个进位再通过OR gate检查是否为true(即两个进位中是否有一位为1)(因为三个输入最大为1+1+1,进位仅存在一位为true)(若OR gate检查为flase,则两个进位均为0,输出为false) 8位行波进位加法器 由一个半加器和七个全加器组成

如果第9位(最后一个全加器)有进位(输出),则代表2个数字的和太大了,超过了8位,称为溢出
现代计算机“超前进位加法器”
逻辑单元
逻辑单元执行逻辑操作
ALU 箭符
ALU有不同的标志(flag),常用标志:

溢出标志

零测试标志(测试数字是否相同

负标志

寄存器&内存
RAM 随机存取存储器,只在有电状态下存储
持久存储

回向电路
AND-OR 锁存器 设置输入和复位输入两个输入分别通过or gate,not gate输入and gate,在and gate输出处设置回流电路返回通过设置输入的or gate (当设置输入1,复为输入0时,输出和回流都为1,电路持续保持输出为1实现锁存) 放入数据为写入 拿出数据为读取 通过改变允许写入线的值来控制门锁,从而实现存储内容的修改和保存

寄存器
寄存器能存储一个数字,数字的位数为位宽
写入寄存器需要启动里面的所有锁存器
矩阵当行列线都为1,单独启动一个指定的寄存器
地址用二进制表示位置,如12行8列为11001000
多路复用器将地址转换为行列,通过多个多路复用器分别处理行列

内存
多个寄存器组成内存
RAM 随机存取储存器

SRAM 静态随机存取存储器

闪存 在EEPROM基础上发明的E电、EP可擦除可编程的ROM

NVRAM 只读储存器,基本元件是浮栅晶体管

中央处理器(CPU)
计算机的心脏 中央处理单元,简称CPU
CPU负责执行任务,程序由一个个指令组成,指令指示计算机要做什么
微体系架构抽象多组件的连接的高层次视角
数据以二进制值存在内存中

CPU
CPU可编程,是一块硬件,可被软件控制
CPU由寄存器、时钟组成,其中寄存器用来临时存数据和操作数据,CPU和RAM通过地址线、数据线和允许读/写线进行通信
将CPU支持的所有指令分配对应的ID,设置操作代码(操作码)和代表数据来源的寄存器或内存地址

指令地址寄存器 追踪程序运行进度,存当前指令的内存地址
指令寄存器当启动计算机时,所有寄存器从0开始,运行程序中,CPU的第一个阶段叫取指令阶段,负责拿到指令;
取指令阶段,将指令地址寄存器连接到RAM,寄存器值为0,RAM返回地址0的值,复制指令到指令寄存器中
解码阶段,解读指令提取操作码和寄存器或内存地址,再由控制单元(由逻辑门组成,识别操作码)解码
执行阶段,根据指示打开RAM的允许读取线进行操作,通过RMA连接的对应的寄存器(行列线皆打开)进行存储,完成指令后关闭所有线路,把指令地址寄存器+1,实现执行阶段时钟以精准的间隔触发电信号,控制单元利用电信号,推进CPU的内部操作,CPU“取指令——解码——执行”的速度称为时钟速度,单位为赫兹(Hz,表示频率)动态调整频率 超频、降频
指令和程序
ADD指令前后顺序很重要,结果会存储在最后一个寄存器
指令执行需通过ALU判断标志是否为True才能执行 指令和数据都是存在同一个内存里,都用二进制数表示
HALT能区分指令和数据 地址中代表操作码的位数为指令长度,增加指令类型有两种方法

增长指令长度 32位、64位
可变指令长度 特别指令有不同的解码读取操作码,指令可以是任意长度如JUMP需要读取位置值,位置值位置在JUMP后面,称为立即值
高级CPU设计
早期计算机的提速方式是减少晶体管的切换时间
现代CPU直接在硬件层面设计了除法可以直接给ALU除法指令;现代处理器有专门电路来处理图形操作、解码压缩视频、加密文档等

缓存
缓存 解决传输处理延迟的方法,给CPU加RAM,CPU从RAM拿数据时RAM可以批量传输,也可当临时空间存储中间值,适合长/复杂的运算
缓存命中为想要的数据已经在缓存,反之为缓存未命中
脏位 缓存内每块空间有一个特殊标记,当反向缓存传输回RAM时,用于记录缓存与原RAM不一致的内容,以便同步

指令流水线
并行处理

指令之间的依赖关系 动态排序 乱序执行
条件转换 推测执行 分支预测 超标量处理器
多核处理器
多个计算单元 超级计算机

早期编程方式
插线板 存储程序计算机 冯诺依曼结构处理器(有算术逻辑单元)、数据寄存器、指令寄存器、指令地址寄存器、内存(存数据和指令)
面板编程

编程语言
机器语言、机器码(早期)
伪代码(对程序的高层次描述)
助记符(后紧跟数据)
汇编器(读取汇编语言转成机器码)
算术语言版本0(A—0)
变量
公式翻译Fortran
数据系统语言委员会
普通面向商业语言Cobol ALGOL,LISP,BASIC,Pascal,C,Smalltalk,C++,Objective-C,Perl,Python,Ruby,Java,Swift,C#,Go

编程原理
语句、语法
赋值语句、控制流语句(if语句)/条件语句、循环语句
条件循环(while循环、for循环)
函数(方法/子程序)
函数库

算法入门
算法 解决问题的具体步骤
排序 选择排序、归并排序

数组(列表/向量)
O(n2) 算法的复杂度,算法的输入大小和运行步骤之间的关系,表示运行速度的量级O(n* log n)
归并排序的算法复杂度,n为比较+合并的次数,和数组大小成正比;log n为合并步骤的次数,和数量成对数关系
数据结构
下标 【】表示访问数组
字符串 矩阵
结构体 多个变量打包在一起

节点 存有一个变量和一个指针(特殊变量,指向一个内存地址),用节点可以做链表
链表 一种灵活数据结构,能存储很多个节点,链表的灵活性是通过每个节点指向下一个节点实现的
循环列表/非循环列表,null代表链表尽头
队列 先进先出FIFO
栈 后进先出LIFO,入栈和出栈
树 最高节点为根节点,根节点下的所有节点为子节点,任何子节点的直属上层节点为母节点
红黑树、堆
图灵
可判定性问题 图灵机 图灵完备 停机问题
丘奇-图灵论题
图灵测试

软件工程
面向对象编程 打包函数成层级,将相关代码集中打包为对象来减少代码;核心是隐藏复杂度,选择性的公布功能(C++、C#、Objective-C)
程序编程接口(API) 帮助不同程序员合作
文档 帮忙理解代码;一般放在README文件里;也可直接写成注释放在源代码内
集成开发环境(IDE) 帮助开发者整理和看代码,很多还可以直接编译和运行代码、定位出错代码、提供信息(调试)
源代码管理(版本控制) 可跟踪所有代码变化,回滚到原始稳定版;同时记录了修改者
代码仓库
质量保证测试(QA) 测试软件,模拟各种情况寻找bug
bate版 未完全测试版本

学习心得

对计算机有个基础了解,为系统地学习计算机知识奠定了基础。配合pta发现自己不足,再去查寻、学习不足之处。

视频评论区阅读心得

汲取他们的学习经验并分享自己的学习体会。

posted @ 2023-02-09 14:15  毛曼茜  阅读(83)  评论(1编辑  收藏  举报