计算基础知识点合集来啦!!! 更多知识请关注我!!!
近期内容:
目录
第一胎电子数字计算机 ENIAC 1946
发展阶段:
电子管计算机时代
晶体管计算机时代
集成电路计算机时代
大规模集成电路计算机时代

计算机硬件:指组成一台计算机的各种物理装置,硬件系统也被称为裸机,只能识别0-1代码,
系统软件: 是指控制和协调计算机及外部设备,支持应用软件开发和运行的软件
CPU包括两个部分:
控制器和运算器(逻辑算术单元)。都包含有寄存器或高速存储区域,用总线(一种电子线路连接)
通常运算器和控制器被合成在一块集成电路的芯片上,被称作CPU芯片
(1)控制器
操作:获取指令、分析指令、执行指令、存储结果
(2)运算器
执行算术运算和逻辑运算,并控制速度
(3)寄存器
提高计算机性能,是高速存储区域,可以在处理过程中临时存储数据
CPU中寄存器的数量和每个寄存器的大小(位数)没确定CPU的性能和速度
e.g.32位CPU指,寄存器是32位的,可以处理32位的数据
类型:指令寄存器、地址寄存器、存储寄存器、累加寄存器
(4)总线 (见1.2.5节
总线是CPU内部及在CPU和主板间传输信息的电子数据线路。
可以通过总线访问各种输入输出设备
计算机指令 = 操作码+操作数(地址码)
计算机指令是能够被计算机识别的二进制代码
计算机操作码所占二进制位数为k,则最多有
2
k
2^k
2k条指令,
若有n条指令,则至少有操作码
[
l
o
g
1
(
n
−
1
)
]
+
1
[log_1(n-1)]+1
[log1(n−1)]+1 个二进制位
地址码用来描述该指令的操作对象,或直接给出操作数,或之处操作数的存储器地址或寄存器地址(即,寄存器名)
若计算机指令共占n个字节,则称该指令为n字节指令
有效地址 : 指令中操作数的真实地址
由寻址方式和形式地址共同来决定
寻址方式:
确定本条指令的数据地址以及下一条将要执行的指令的地址,与硬件结构密切相关
分为两类:
(1)指令寻址
分为两类:
(2)数据寻址
分为:
定义: 计算机的所有指令的集合
功能分类:
(1)数据传送指令
(2)程序控制指令
(3)数据处理指令
(4)输入/输出指令
(5)其他指令
步骤:
机器周期 内存中读取一个指令字的最短时间
每个机器周期至少完成一个基本操作
指令周期 计算机完成一条指令所花费的时间
作用分类 :主存(通常采用半导体存储器,容量小 读写速度快、价格高 )、辅存、缓存、闪存 等
(1)静态存储单元(static RAM, SRAM)
保存信息稳定、信息非破坏性读出
结构简单、可靠性强、速度较快
所用原件较多、占硅片面积大、功耗大、集成度不高
(2)动态存储单元(dynamic RAM, DRAM)
分类:三管式、单管式
靠电容存储电荷的原理来寄存信息
电荷自动消失,在2ms之内对存储单元进行再生或刷新
集成度更高、功耗更低
(3)闪速存储器
电可擦除非易失器件
抗震、节能、体积小、容量大、便宜
(4)高速缓冲存储器Cache
用速度高的SRAM元件组成
快表+快速存储器
指标: 速度、容量、每位价格
- + - 容量越大,速度越慢,价格越低
基数(radix) :拥有的数字个数
权 : 每位数字的值
分类:无符号数、带符号数,其表示范围与机器位数相关
(1)无符号数
非负整数,机器的字长的全部位数均用来表示数值大小
(2)带符号数
符号位(机器数): 0为正 1为负
根据符号位和数值位的编码方法分:
原码
符号位+绝对值
反码
正数:反码=原码
负数:反码=符号位+绝对值各位取反
补码
正数:补码=原码
负数:补码=反码+1
反码的反码 == 原码
补码的补码 ==原码
两数的补码之和==两数和的补码
偏移码
补码的符号位取反
运算:
(1)加减运算
(2)算数移位运算
带符号数一位,保持操作数符号不变
(3)逻辑移位运算
无符号数移位
(1)浮点数的表示范围
指小数点的位置可浮动的数据
N
=
M
⋅
R
E
N=M\cdotp R^E
N=M⋅RE
N为浮点数,M为尾数,E为阶码 R为阶的基数(底)
在一台计算机中所有数据的R都是相同的
浮点数的机内表示:
M s + E + M Ms+E+M Ms+E+M
其中:
Ms是尾数的符号位1位 0正1负
E为阶码有n+1位有一位符号位表示正阶或负阶
M为尾数,有m位,
Ms和M组成一个定点小数
(2)IEEE 754 标准
单精度浮点数 (32位),E8位,M24位(内含符号数一位)
双精度浮点数 (64位),E11位,M53位(内含符号数一位)
(1)总线的基本概念
总线 是连接计算机中各个部件的信息传输线,是各个部件共享的传输介质
按信息传送方式: 串行传输、并行传输
按功能和实现方式分类:
(2)总线的组成及性能指标
结构分类:
单总线结构、多总线结构(将I/O设备分离出来)
性能指标
总线宽度(数据总线的根数)、总线带宽(数据传输效率)、钟同步/异步 等
(3)总线仲裁
工作包括: 判优控制、通信控制
逻辑分为: 集中式、分布式
(4)总线操作
(5)总线标准
系统与各模块、模块与模块之间的一个互连的标准界面
(1) 外部设备的分类
按作用分:
(2)硬盘存储器
分类:固定磁头磁盘存储器、移动磁头磁盘存储器
性能指标:存储密度(道密度:半径方向磁道数,位密度:磁道单位长度能记录的二进制代码)、存储容量、存取时间、数据传输率(单位时间向主机传送的数据字节数)
(3)I/O接口
连接总线和设备
基本功能:
(4)I/O方式
计算机资源: 计算机系统中所有的硬件和软件
主要作用 :
(1)管理系统资源
(2)为用户提供资源共享的条件和环境,并对资源的使用进行合理调度
(3)提供输入/输出的方便环境,简化用户的输入/输出工作,提供良好的用户界面
(4)规定用户的接口,发现、处理或报告计算机操作过程中出现的各种错误
概括的说:操作系统是用以控制和管理系统资源、方便用户使用计算机的程序集合
功能与主要任务:
(1)处理机管理
(2)存储机管理
(3)设备管理
(4)文件管理
(5)用户接口
(1)手工操作
(2)批处理系统
(3)多道程序系统
(4)分时系统
(5)个人计算机操作系统
(1)多道批处理操作系统
多道:计算机内存中存入多个用户
批处理:外存内存入大量作业,作业的运行完全由系统控制
(2)分时操作系统
允许多个联机用户同时使用一台计算机系统进行计算
将时间划分成时间片,分给各个用户
多路性、交互性、独立性、及时性
(3)实时操作系统
系统能够接收数据并以足够快的速度予以处理和响应
可以控制所有任务协调一致进行
eg.三种典型:
过程控制系统、事务处理系统、信息查询系统
(4)网络操作系统
将计算机加入网络中
网络通信、资源管理、网络管理、网络服务、通信透明性
(5)分布式操作系统
由多台分散的计算机经网络互连而成的系统
(6)嵌入式操作系统
运行于嵌入式系统上的操作系统
并发程序的特点 :
(1)无封闭性
并发式程序的输出结果受各程序的相对速度有关(结果的不确定性)
(2)程序与执行过程不是一一对应的关系
共享的程序对应多个执行过程
(3)程序并发执行可以相互制约
不但可能有因果制约,也可能因为有某些资源共享从而间接制约
程序本身是一个静态的概念,不能刻画多道程序并发执行时的动态特性和并行特性。
进程:
(1)是程序的执行过程
(2)包括程序和数据
(3)可能对应多个程序
(4)程序可能对应多个进程
运行、就绪、等待、创建、终止
PCB(process control block)是进程存在的标志
(1)进程名
(2)特征信息
(3)执行状态信息
(4)通信信息(该进程与其他进程之间的关系
(5)调度优先数
(6)现场信息
(7)系统栈
(8)进程映像信息
(9)资源占有信息
(10)族关系
可抢占资源、不可抢占资源
调度算法:
先来先服务、时间片轮转、优先级调度
(1)存储管理的功能:
(2)地址重定位:
重定位寄存器(relocation register)加入起始地址,将取出逻辑地址加上重定位寄存器(其内容是程序装入内存的起始地址)形成物理地址。
动态地址重定位:
不要求程序全部装入固定的内存空间,在内存中允许程序再次移动位置、而且可以部分地装入程序运行、便于多个程序运行同一副本。
存储器管理技术:
基址寄存器BR 限长寄存器LR
实际内存地址D=BR + 指令中的有效地址
如果:BR≤D<BR+LR 则按地址D进行访问
如果 D<BR 或 D>=BR+LR 则地址越界
1.固定区分配
2.可变区分配
建立程序逻辑页与内存的存储块之间的对应关系,借助动态地址重定位。
(1)分页式存储管理的地址重定位
页表:页面映像
PCB中存储起始地址与长度
(2)分页式存储保护
<优点
有效解决碎片问题、内存利用率高、内存回收与分配算法简单
<缺点
采用动态地址变换增加了硬件成本、降低了处理机速度
分段式存储及段页式存储
(1)分段式:
每段分配连续的存储空间
短号+段内位移
<解决了程序与数据共享以及程序动态链接等问题
段页式:
段号+段内页号+页内位移
只让当前用到的信息进入内存、其他尚且用到的信息留在外存
用于支持虚拟存储器的外存称为后备存储器
(1)请求页式存储管理:
作业表JT、页表PMT、存储分块表MBT
(2)请求段式存储管理:
最优算法
先进先出算法
最近最久未用算法
文件:一组带标识(标识即为文件名)的、逻辑上有完整意义的信息项的序列。
文件系统:负责存取和管理文件信息的软件机构
文件的类型:
用途(系统文件、库文件、用户文件
性质(普通文件、特殊文件、目录文件
保护级别(只读、读写、可执行、流文件
文件数据类型(源文件、目标文件、可执行文件
文件系统模型:层次模型
(1) 文件的逻辑结构
记录式文件 在逻辑上被看作是一组顺序记录的集合,一种有结构的流式文件组织,并且根据记录文件长度可分为定长文件和变长文件。
流式文件 又称无结构文件,是由一组相关信息组合成的有序字符流,直接按字节计算。
(2) 文件的物理结构
文件在外部存储介质上的存放形式,也叫文件的存储结构
分类:顺序结构、链接结构、索引结构
(1) 文件目录概念
文件名与文件在外存空间中的物理地址的对应
目录:用于管理文件
文件控制块FCB :文件的文件目录项
包括: 文件存取控制、结构、使用、管理的信息
(2) 文件目录结构
【1】 单级目录
【2】 二级目录
【3】 多层次目录
(3) 文件空闲区的组织
【1】 空闲文件项和空闲区表
【2】 空闲块链
【3】 位示图
用若干字节构成一张表,表中每一个二进制位对应一个物理块
1–物理块已分配、 0 --物理块空闲
【4】 空闲块成组链接法
1.输入/输出软件中的层次结构
2.中断处理过程
3.设备驱动程序
4.与设备无关的I/O软件
5.用户层的I/O软件
6.设备的分配与回收
都看到这里啦,不点个赞嘛~
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in