存储器

NandFlash和NorFlash的异同

℡╲_俬逩灬. 提交于 2019-11-27 11:21:18
一. NAND和NOR的比较 NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。相"flash存储器"经常可以与相"NOR存储器"互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。 二.性能比较 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下

单片机内存及运行原理

旧城冷巷雨未停 提交于 2019-11-27 10:51:41
一、单片机构成: 二、CPU的作用 三、内存管理 首先单片机的内存可以大小分为ram和rom,这里就不再解释ram和rom的区别了,我们可以将其等效为flash和sram,其中根据flash和sram的定义可得,flash里面的数据掉电可保存,sram中的并不可以,但是sram的执行速度要快于flash,可以将单片机的程序分为code(代码存储区)、RO-data(只读数据存储区)、RW-data(读写数据存储区)和ZI-data(零初始化数据区)。在MDK编译器下可以观察到在代码中这4个量的值。 其中code和RO-data存储在flash中,所以两者之和为单片机中flash需要分配给它们的空间大小(并且等于代码所生成的.bin文件大小),另外RW-data和ZI-data存储在sram中,同样两者之和为单片机中sram需要分配给它们的空间大小。 另外,我们必然会想到栈区(stack)、堆区(heap)、全局区(静态区)(staTIc)、文字常量区和程序代码区和上面所介绍的code、RO-data等的关系。 1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 这些值是可读写的,那么stack应该被包含在RW-data(读写数据存储区),也就是单片机的sram中。 2、堆区(heap):一般由程序员分配释放,

POWER

你说的曾经没有我的故事 提交于 2019-11-27 00:08:18
源程序名 输入文件名 输出文件名 时间限制 内存限制 power. pas /power. cpp power.in power.out 1s 128M FJ 的奶牛想要快速计算整数 P 的幂 (1 <= P <=20,000),它们需要你的帮助。因为计算 极大数的幂,所以它们同一时间仅能使用 2 个存储器,每个存储器可记录某个结果值。 第一件工作是初始化存储器内的值一个为底数 x, 另一个为 1。 奶牛可以相乘或相除 2 个存储器中的值,并把结果存在其中某个存储器内,但所有存储的结果必须是整数。 例如, 如果他们想计算 x^31, 一种计算方法是: WV1 WV2 开始: x 1 存储器 1 和存储器 1 相乘,结果存于存储器 2: x x^2 存储器 2 和存储器 2 相乘,结果存于存储器 2: x x^4 存储器 2 和存储器 2 相乘,结果存于存储器 2: x x^8 存储器 2 和存储器 2 相乘,结果存于存储器 2: x x^16 存储器 2 和存储器 2 相乘,结果存于存储器 2: x x^32 存储器 2 和存储器 1 相除,结果存于存储器 2: x x^31 因此, x^31 可以通过 6 次计算得出。给出要计算的幂次,要求求出最少需要几次计算。 输入 仅一个整数: P。 输出 仅一个整数:最少计算次数。 样例 power.in 31 power.in 6 A

RAM & ROM

廉价感情. 提交于 2019-11-26 20:02:44
记录几种 RAM 和 ROM 的区别: 先说RAM吧!! 由字面意思就可以理解,SDRAM SRAM DRAM都可以统称RAM,random access memory的缩写,只是前面加了几个修饰词而已。 SRAM:   静态随机存储器,就是它不需要刷新电路,不像动态随机存储器那样,每隔一段时间就要刷新一次数据。但是他集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的ARM9处理器里面就有4K的SRAM用来做CPU启动时用的。 SDRAM:   同步动态随机存储器,像电脑的内存就是用的这种RAM叫DDR SDRAM。其集成度非常高,因为是动态的,所以必须有刷新电路,每隔一段时间必须得刷新数据。其存储单元不是按线性排列的,是分页的。一般的嵌入式产品里面的内存都是用的SDRAM。 DRAM:   动态随机存储器,SDRAM只是其中的一种吧,没用过,不怎么清楚。 ROM :只读存储器的总称。 PROM:   可编程只读存储器,只能写一次,写错了就得报废,现在用得很少了,好像那些成本比较低的OPT单片机里面用的就是这种存储器吧。 EPROM:   可擦除可编程存储器,这东西也比较古老了,是EEPROM的前身,在芯片的上面有个窗口,通过紫外线的照射来擦除数据。非常之麻烦。 EEPROM: 电可擦除可编程只读存储器,比之EPROM就先进点了

RAM

你。 提交于 2019-11-26 20:02:02
1. 前记 我们知道,不同的计算机结构对RAM 的使用方式是有区别的,典型的计算机结构有两个,冯诺依曼结构和哈佛结构,而两大阵营的领军人物就是传说中的Intel X86系列的8086和51单片机系列的8051。请先对号入座,不理解的跳过去,继续往下看。 2. What? 长啥样? 内存条,RAM中的一种,常见的应该是DDR SDRAM。相信各位都触摸过它,冷冰,无情,当然,你上电后它就变了样,暖暖的,无怨无悔的为我们干活。 嘿!别唬我,这个俺知道,51单片机。没错,51单片机里面也内置了RAM ,叫片内RAM。 这个就是一般嵌入式板卡上的RAM, 为了加以区分,就叫片外RAM。 广义上讲,CPU内部的寄存器也算是RAM的一种。 在哪里? PC主板图片 嵌入式板卡图片 找一找你系统上的内存吧,再看看CPU datasheet 上有没有提到内置RAM。 特点是啥? RAM(Random Access Memory),随机存储器。特点如下: 如其名,可随时读写 快,读写速度杠杠的,CPU最喜欢和它一起“玩”了 掉电后,数据全部丢失,因此,别指望RAM中的数据长期存储,那么,我想要长期存储公司所有员工的数据怎么办?用FLASH吧。 请参考: RAM、ROM、Flash的分类、性能比较 RAM,ROM,FLASH存储器区别 与CPU的连接方式 RAM是用来存储CPU计算所需的数据的

深入浅出计算机组成原理学习笔记:存储器层次结构全景-数据存储的大金字塔长什么样?(第35讲)

夙愿已清 提交于 2019-11-26 19:06:14
一、理解存储器的层次结构 1、和阅读书籍做个对照 1、CPU比喻成计算机的“大脑”我们思考的东西、就好比CPU中的 寄存器 2、而我们大脑中的记忆,就好比 CPU Cache 2、SRAM 1、SRAM为什么被称为静态存储器 2、SRAM的存储密度不高 3、不过,因为SRAM的电路简单,所以访问速度非常快 3、CPU的三级缓存 1、L1 2、L2 3、L3 4、和阅读对比 4、DRAM 1、和SRAM对比 2、存储器类型 3、存储容量更大 4、如何保持数据不丢失 二、存储器的层次结构 1、本质 2、大脑(CPU)中的记忆(L1 Cache) 3、我们自己的书房和书桌大脑 4、CPU并不是直接和每一种存储器设备打交道 三、现在主流的笔记本电脑分析 使用存储器的时候,该如何权衡价格和性能? 存储器在不同层级之间的性能差异和价格差异,都至少在一个数量级以上。L1 Cache的访问延时是1纳秒(ns),而内存就已经是100纳秒了。在价格上,这两者也差出了400倍。 我这里放了一张各种存储器成本的对比表格,你可以看看。你也可以在点击这个链接,通过拖拉,查看1990~2020年随着硬件设备的进展,访问延时的变化。 因为这个价格和性能的差异,你会看到,我们实际在进行电脑硬件配置的时候,会去组合配置各种存储设备。 我们可以找一台现在主流的笔记本电脑来看看,比如,一款入门级的惠普战66的笔记本电脑

深入浅出计算机组成原理学习笔记:局部性原理-数据库性能跟不上,加个缓存就好了(第36讲)

半腔热情 提交于 2019-11-26 19:06:09
平时进行服务端软件开发的时候,我们通常会把数据存储在数据库里。而服务端系统遇到的第一个性能瓶颈,往往就发生在访问数据库的时候。 这个时候,大部分工程师和架构师会拿出一种叫作“缓存”的武器,通过使用Redis或者Memcache这样的开源软件,在数据库前面提供一层缓存的数据, 来缓解数据库面临的压力,提升服务端的程序性能。                            在数据库前添加数据缓存是常见的性能优化方式 那么,不知道你有没有想过,这种添加缓存的策略一定是有效的吗?或者说,这种策略在什么情况下是有效的呢?如果从理论角度去分析, 添加缓存一定是我们的最佳策略么?进一步地,如果我们对于访问性能的要求非常高,希望数据在1毫秒,乃至100微妙内完成处理,我们还能用这个添加缓存的策略么? 一、局部性原理 可以看到,不同的存储器设备之间,访问速度、价格和容量都有几十乃至上千倍的差异。 1、时间局部性 同一份数据在短时间内会反复多次被访问 2、空间局部性 相邻的数据会被连续访问 3、局部性和空间局部性实际在存储中的应用 二、具体案例分析过程 1、案例需求描述 2、把数据放在内存 3、在内存里放前1%的热门商品 4、以上案例就利用了局部性原理 三、如何花最少的钱,装下亚马逊的所有商品? 1、痛点 2、内存的随机访问请求需要100ns 3、估算每天的活跃用户为1亿 4、缓存没有命中 当然

计算机组成原理 - 一些简单题和设计分析题

此生再无相见时 提交于 2019-11-26 12:34:03
为了前几天的计算机组成原理的复习,从google上搜索的一些烟台大学历年考试试题进行的一些总结,现在分享给需要的朋友。 简答题 1. CPU中包括哪几种寄存器?分别说明其作用。 答:CPU有以下寄存器: (1)指令寄存器(IR):用来保存当前正在执行的一条指令。 (2)程序计数器(PC):用来确定下一条指令的地址。 (3)地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。 (4)缓冲寄存器(DR):<1>作为CPU和内存、外部设备之间信息传送的中转站。 <2>补偿CPU和内存、外围设备之间在操作速度上的差别。 <3>在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。 (5)通用寄存器(AC):当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。 (6)状态条件寄存器:保存由算术指令和逻辑指令运行或测试的结果建立的各种条 件码内容。除此之外,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。 2.根据操作数所在位置,指出其寻址方式(填空)。 (1)、操作数在寄存器中,为____ 寄存器 ____寻址方式。 (2)、操作数地址在寄存器中,为_ 寄存器间接 _寻址方式。 (3)、操作数地址(主存)在指令中,为___ 直接 ___寻址方式。 (4)、操作数在指令中,为__ 立即 ____寻址方式。

考研复习:计算机组成原理(一)

和自甴很熟 提交于 2019-11-26 12:33:48
1.1计算机的分类和其特性 计算机通常分为三类:个人计算机 服务器 嵌入式计算机 个人计算机:给单个用户提供服务 服务器:给多个用户运行大型程序提供服务 嵌入式计算机:嵌入到其它设备中的计算机 执行已经预定的一个或者一组程序 1.2后PC时代 个人移动设备PMD : 智能手机 平板电脑等 1.3 在20世界六七十年代 限制计算机性能的主要是内存 多核微处理器:在一个集成电路上面有多个核的微处理器 一个程序的性能主要取决于:1.算法 2.编译程序 3.计算机执行的机器指令的有效性 2 计算机系统结构的八个伟大思想 2.1 面向摩尔定律的设计 摩尔定律 每隔18-24个月 集成电路上的芯片数目将翻一番 2.2 使用抽象化设计 上层只能看到下层的抽象模型 而看不到细节 2.3 并行 计算机并行操作 2.4 流水线 并行的一种特例 2.5 预测 在预测错误的情况下代价不大且预测准确率较高的情况下采用预测 2.6 存储器层次 小而快的再上 大而慢的在下 2.7 使用冗余 添加冗余部件 提高系统的可靠性 2.8 加速大概率事件 加速大概率事件远比优化小概率事件效果大 3 程序概念入门 应用软件 系统软件 硬件 系统软件最重要的是:操作系统 和 编译程序 操作系统:用户软件和硬件之间的接口 为用户提供各种服务和监控功能 操作系统的主要作用:处理简单的输入和输出 分配内存和外存

计算机组成原理复习题二

时光毁灭记忆、已成空白 提交于 2019-11-26 12:33:28
原文地址: https://wenku.baidu.com/view/935be3d1c1c708a1284a4446 一、选择题 1、在间址周期中,_C_____。 A.所有指令的间址操作都是相同的; B.凡是存储器间接寻址的指令,它们的操作都是相同的; C.对于存储器间接寻址或寄存器间接寻址的指令,它们的操作是不同的; D.以上都不对。 2、将有关数据加以分类、统计、分析,以取得有利用价值的信息,我们称其为_C_____。 A. 数值计算 B. 辅助设计 C. 数据处理 D. 实时控制 3、定点16位字长的字,采用2的补码形式表示时,一个字所能表示的整数范围是____A_。 A.-215 ~ +(215 -1) B.-(215 –1)~ +(215 –1) C.-(215 + 1)~ +215 D.-215 ~ +215 4、根据传送信息的种类不同,系统总线分为___B___。 A. 地址线和数据线 B. 地址线、数据线和控制线 C. 地址线、数据线和响应线 D. 数据线和控制线 5、外存储器与内存储器相比,外存储器__B____。 A.速度快,容量大,成本高 B.速度慢,容量大,成本低 C.速度快,容量小,成本高 D.速度慢,容量大,成本高 一个256K×8的存储器,其地址线和数据线总和为___C___。 注解:256=2的8次方,所以地址线为8,256K*8