存储器

计算机基础

与世无争的帅哥 提交于 2019-11-28 05:33:01
目录 一、计算机基础之编程 1.1 什么是编程? 1.2 什么是编程语言 1.3 为什么要编程? 二、计算机组成部分 2.1 cpu(大脑) 控制器 运算器 2.2 存储器 主存 外存 2.3 I/O设备 输入设备(input) 输出设备(output) 2.4 多核cpu 2.5 32位核64位 2.6 硬盘 2.6.1 固态硬盘 2.6.2 机械硬盘 2.7 操作系统 什么是操作系统? 什么是文件? 什么是应用程序? 2.8 计算机的三大组成(有了操作系统) 2.9 应用程序启动 3.0 操作系统启动 3.0.1 临时操作系统(ROM存储) 3.0.2 临时存储系统(CMOS存储) 三、编程语言 3.1 机器语言 3.2 汇编语言 3.3 高级语言 3.3.1 解释型语言 3.3.2 编译型语言 四、网络的瓶颈效应 一、计算机基础之编程 1.1 什么是编程? 写一堆.py/.css文件,让计算机帮我们实现我们想做的事情。 1.2 什么是编程语言 语言分为汉语、英语、日语 编程语言即写一些计算机能够看懂的语言帮助我们实现一些想法,是计算机用来交流的一种介质。 1.3 为什么要编程? 替代劳动力,让计算机帮助我们做一些想要的事情。 二、计算机组成部分 2.1 cpu(大脑) ​ cpu分为: 控制器 控制硬件做事情 运算器 算术运算 2.2 存储器 存储器分为: 主存 比如内存

容斋随笔只有五笔

馋奶兔 提交于 2019-11-28 05:22:19
1.首先我们学习了什么是编程,在学习正片以前需要大家学习基础 什么是编程语言 1.什么是语言:中文,英语,日语,语言是拿来沟通的 2.编程语言:和计算机交流的狱中戒指 什么是编程 表达自己的想法(实现一些东西) 编程:通过编程语言做一些事情,写一队.py/.obj/.css文件 为什么要编程 编程的目的:替代劳动力,然后才帮人来完成一些具体的事情 2.然后老师带我们了解了 计算机的组成 也就是拿电脑和人类进行对比 CPU(大脑) 电脑创立初:控制器和运算器是分开的 控制器(控制) # 一 控制硬件(运算器,存储器,输入设备,输出设备) 运算器(运算) #二 算术运算(1+1=2)+逻辑运算(今天下雨我就带伞) 存储器(记忆)#三 主存(脑子) 内存(内存4GB--》8GB)最好换一下 有点:运算速度快 内存越大可运行的程序就越多 缺点:容量小,断电即消失 外存(记笔记) 机械硬盘--》128GB固态硬盘 这个也最好换一下 优点:容量大,永久存储 缺点:速度慢 I/O设备(Input/Output设备) 输入设备(眼睛)#四 输入信息,键盘/鼠标/麦克风/U盘 输出设备(决策)#五 输出信息,显示屏/打印机/U盘 冯*诺伊曼机-计算机 这些是要默写的 并对我们的计算机组成进行了补充 讲了CPU、32位电脑和64位电脑的区别、机械硬盘的组成原理还有固态硬盘相较于机械硬盘的优势

【转】DDR3和eMMC区别

偶尔善良 提交于 2019-11-28 05:13:14
转自:https://www.cnblogs.com/debruyne/p/9186619.html DDR3内存条和eMMC存储器区别: 1. 存储性质不同; 2. 存储容量不同; 3. 运行速度不同; 4. 用途不同。 具体区别如下: 1、存储性质不同:eMMC是非易失性存储器,不论在通电或断电状态下,数据都是可以存储的,而DDR3内存是易失性存储器,断电同时,数据即丢失。 2、存储容量不同:eMMC的存储容量要比DDR3内存大3-4倍,常见有32G,而DDR3内存容量相对较小,常见有2-8G。 3、运行速度不同:DDR3内存运行速度要比eMMC快得多。 4、用途不同:eMMC主要用于数据存储,而DDR3内存主要用于数据运算。eMMC 主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。用来提供标准接口并管理闪存。在手机或平板电脑中,DDR3内存可称之为运行内存,而eMMC可称之为存储内存。 ADD eMMC: eMMC(Embedded Multi Media Card)也是一种使用兼容MMC协议的芯片,和MMC的区别如其名,eMMC经常被用于嵌入式环境中,而MMC一般用作外接设备的标准。eMMC = NAND flash + 控制器 + 标准封装接口。 很多卡内部的存储设备用的都是NAND flash, 单纯nand flash和这些卡的区别,就是nand

计算机组成原理之计算机的简化结构

不羁的心 提交于 2019-11-28 04:15:46
首先,我们开门见山 先来了解模型机的概念 模型机:计算机结构的简化模型。(这样有利于计算机结构的理解) 如图,我们可以知道:计算机主要由两个部件和系统总线拼成 [系统总线:如图] CPU和存储器之间: 1.访问 -- 内存 -- 地址总线 -- 地址总线决定了CPU可以访问的物理地址空间(cpu到底使用多大容量的内存) cpu发来的地址存放的位置在MAR -—— 存储器地址寄存器 顾名思义,存放的是cpu正在读或写的存储单元 对应的数据存放的位置在MDR —— 接受来自cpu的读写信号 或者向cpu反馈传输已经完成的信号 2.传送 -- 数据 -- 数据总线 -- 存放cpu正在读或者即将写入的数据 左半部分存储器: 存储器是由一个个存储单元组成的。 计算机的编制方式: 如果按字节编址,那么一个单元分配8个位. 右半部CPU: cpu内部需要执行指令,翻译地址,执行控制 计算机中的指令不不能直接执行,需要通过指令译码确定是哪一条指令,后发送给控制单元进行操作 cpu内部需要执行指令,翻译地址,执行控制 计算机中的指令不不能直接执行,需要通过指令译码确定是哪一条指令,后发送给控制单元进行操作 1.需要存放当前指令 -- IR -- 指令寄存器 -- 2.需要存放下一条指令 -- PC --程序计数器 -- 3.指令的翻译,确定指令的操作 -- 指令译码 -- 4.控制电路 --

汇编——基础知识

我是研究僧i 提交于 2019-11-27 23:47:08
存储器(内存) CPU 是计算机的核心部件.它控制整个计算机的运作并进行运算,要想让一个CPU 工作,就必须向它提供指令和数据。 在一台PC机中内存的作用仅次于CPU。 离开了内存,性能再好的CPU也无法工作。磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU 使用。 存储单元 存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号; 例如:一个存储器有128个存储单元(每个存储单元占1B),编号从0~127。 一个CPU的寻址能力指的就是它能找到的存储单元最多有多少(32位CPU最多能找到2^32=4G的存储单元(内存空间),so他的寻址能力就是4G) 对于大容量的存储器一般还用 以下单位 (磁盘的容量单位同内存的一样): 1B=8位(bit) 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB CPU对存储器的读写 CPU要想进行数据的读写,必须和外部器件(主板,显卡内些...)进行 三类信息 的交互: 存储单元的地址(地址信息) 器件的选择,读或写命令(控制信息) 读或写的数据(数据信息) 在计算机中专门有连接CPU和其他芯片的导线,通常称为外部总线。(内部总线看下一篇博客) 外部总线——CPU与外部连接的导线,内部总线——连接CPU内部的运算器、控制器、寄存器等器件的导线 在 物理上 他们就是一根根导线的集合; 逻辑上

03-计算机组成原理

こ雲淡風輕ζ 提交于 2019-11-27 21:56:12
目录 计算机组成原理 一.控制器 二.运算器 三.控制器+运算器(计算机的中央处理器) 四.存储器 4.1 主存 4.2 外存 五.CPU+ 外存+内存(计算机的三大核心组件) 六.输入设备 七.输出设备 八.计算机五大组成部分补充 8.1 cpu相关 8.2 存储器相关 8.3总线 8.4 启动计算机的流程 8.5 硬盘工作原理 8.6 机械硬盘 8.7 固态硬盘 计算机组成原理 计算机分成五大组成部分,分别是:控制器,运算器,存储器,输入设备和输出设备。 其中控制器+运算器是计算机的中央处理器(cpu),相当于人类的大脑。 一.控制器 计算机的指挥系统。大脑指挥全身的器官运作,但是大脑不会随意指挥身体运作,只有在收到指令后才会控制身体行动。 二.运算器 运算器是计算机的运算系统。大脑除了指挥,无时无刻都在运算。即实现算数运算和逻辑运算。 算术运算:1+1=2 逻辑运算:在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻代数式,逻辑图,卡诺图等。 https://baike.sogou.com/v7818085.htm?fromTitle=%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97 三.控制器+运算器(计算机的中央处理器) 吃饭流程示例: 1.当你吃饭的时候,大脑会受到吃饭的指令,之后把指令翻译成你身体需要进行的动作

1.2-冯·诺依曼结构的要点

给你一囗甜甜゛ 提交于 2019-11-27 18:25:06
  现在的计算机形态各异,但是究其本质,几乎全部采用了冯诺依曼结构,要了解计算机,首先要知道什么是冯诺依曼结构。当然,冯诺依曼结构的内涵是非常丰富的。在这一节,我们先来探究其中的一些要点。   要说冯诺依曼结构,我们就要从《EDVAC的报告草案》中说起。在冯诺依曼署名编写的这份报告中详细描述了EDVAC这台计算机的设计方案。从那之后一直到现在,绝大多数计算机都基于这个结构进行设计。这样的结构就被称为冯诺依曼计算机结构,简称冯诺依曼结构。这份报告主要论述了两个重要的思想:   第一,控制计算机的程序应该存放在存储器中,而不是有开关连线来实现。开关连线会大大降低计算机的运行效率;   第二,计算机应该采用二进制,而不是十进制。十进制的的方式会导致计算机的内部结构变得异常的复杂。 这份报告还明确了计算机的内部结构应该有五个部分组成。包括运算器、控制器、存储器、输入设备和输出设备。我们想要了解这五个部分的含义,不妨先来看一个小例子。让我们跨越到70年代。在1971年,诞生了世界上第一个商业微处理器。Intel4004,它的面积很小。采用了10微米的制造工艺。内部晶体管2250个,主频最高740KHz,字长是4位。那么跟今天相比,它的各项指标都显得非常落后了。现在的微处理器制造工艺已经达到了10纳米这个量级,晶体管数量甚至可以达到数十亿。而主频也提高了几千倍。字长现在常用的是64位或者32位

缓冲区溢出以及缓冲区溢出攻击

拜拜、爱过 提交于 2019-11-27 16:38:51
缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。 操作系统所使用的缓冲区又被称为堆栈,在各个操作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出。 当一个超长的数据进入到缓冲区时,超出部分就会被写入其他缓冲区,其他缓冲区存放的可能是数据、下一条指令的指针,或者是其他程序的输出内容,这些内容都被覆盖或者破坏掉。可见一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。 #include <stdio.h> #include <string.h> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char buf[10]; strcpy(buf, argv[1]); cout<<buf; return 0; } 连续输入20个字符就产生了溢出。 C语言常用的strcpy、sprintf、strcat 等函数都非常容易导致缓冲区溢出问题。 程序运行时,其内存里面一般都包含这些部分: (1)程序参数和程序环境; (2) 程序堆栈( 堆栈则比较特殊

虚拟内存

扶醉桌前 提交于 2019-11-27 16:08:28
首先先了解下计算机的存储结构: 虚拟内存是借助二级存储空间来扩大一级存储空间的机制。 DRAM是VM系统(虚拟存储器系统)在主存中的缓存,他在主存中用在缓存虚拟页。 SRAM是CPU和主存之间的高速缓冲,CPU从主存中取指。 CPU先在SRAM中查找,如果不命中,则在DRAM中查找,如果再次查找失败,则通过页面置换,从磁盘中读取数据。由于IO操作开销很大,所以DRAM命中失败的开销更大。当CPU需要从磁盘中查找DRAM未命中的数据时,需要借助MMU(内存管理单元)来获取数据在磁盘中的位置,MMU完成物理地址到虚拟地址的转换,数据在磁盘中的地址就是虚拟地址。 数据一般按页存储,一个页面一般是4~8KB。 虚拟地址(VA),假设其范围是[0,1,2......N-1],N=2^n,N的单位为字节,那么这个虚拟地址就叫做一个n位地址空间。32/64位操作系统具有的虚拟内存空间大小分别是2^32和2^64。 虚拟存储器(VM)就是一个存储在磁盘上的N个连续字节大小的单元。每个字节都是一个唯一的虚拟内存地址。操作系统将VM分割成虚拟页大小的块。 物理存储器被分割成物理页(PP),大小也为字节。 虚拟页(VP)有三种状态: 1)未分配虚拟页:在页表中不存在对该虚拟页的记录; 2)已缓存虚拟页:在页表中有记录,且在物理存储器中已经分配了页面; 3)未缓存虚拟页:在页表中有记录