存储器

静态随机存储SRAM工艺

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-04 19:14:51
基于传统六晶体管(6T)存储单元的静态RAM存储器块一直是许多嵌入式设计中使用ASIC/SoC实现的开发人员所采用的利器,因为这种存储器结构非常适合主流的CMOS工艺流程,不需要增添任何额外的工艺步骤。 如图1a中所示的那样,基本交织耦合锁存器和有源负载单元组成了6T存储单元,这种单元可以用于容量从数位到几兆位的存储器阵列。 经过精心设计的这种存储器阵列可以满足许多不同的性能要求,具体要求取决于设计师是否选用针对高性能或低功率优化过的CMOS工艺。高性能工艺生产的 SRAM 块的存取时间在130nm工艺时可以轻松低于5ns,而低功率工艺生产的存储器块的存取时间一-般要大于10ns。 存储单元的静态特性使所需的辅助电路很少,只需要地址译码和使能信号就可以设计出解码器、检测电路和时序电路。 随着一代代更先进工艺节点的发展,器件的特征尺寸越来越小,使用传统六晶体管存储单元制造的静态RAM可以提供越来越短的存取时间和越来越小的单元尺寸,但漏电流和对软故障的敏感性却呈上升趋势,设计师必须增加额外电路来减小漏电流,并提供故障检测和纠正机制来“擦除”存储器的软故障。 图1a:典型的六晶体管静态RAM存储单元。图1b:典型的单晶体管/单电容动态存储器存储单元。 当前6TSoCRAM单元的局限性 然而,用来组成锁存器和高性能负载的六晶体管导致6T单元尺寸很大

《网络攻防》- 学习心得

巧了我就是萌 提交于 2020-03-04 12:47:07
目录 冯诺依曼体系结构理解 设计思路 图灵机的理解 图灵的生平 人工智能 程序=指令+数据 组成 运行机制 图灵完备 冯诺依曼体系结构理解 当前计算机主要是基于冯诺依曼体系结构设计的,下面就简单分析一下冯诺依曼体系结构的计算机是如何工作的,首先下面的图就是冯诺依曼体系结构图。 主要由五大部件组成 1.存储器用来存放数据和程序 2.运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中 3.控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果 4.输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等 5.输出设备可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等 冯诺依曼体系结构的指令和数据均采用二进制码表示;指令和数据以同等地位存放于存储器中,均可按地址寻访;指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;指令在存储器中按顺序存放,通常指令是按顺序执行的,特定条件下,可以根据运算结果或者设定的条件改变执行顺序;机器以运算器为中心,输入输出设备和存储器的数据传送通过运算器。 然而现在的计算机基本以存储器作为中心 但是由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,通常将它们合起来统称为中央处理器,简称CPU,把输入输出设备简称为I/O设备

ARM处理器差异浅析

一笑奈何 提交于 2020-03-02 15:26:00
1、ARM处理器解析   ARM9、ARM11是哈佛结构,5级流水线结构,所以性能要高一点。ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。我们惯称的 ARM9系列中又存在ARM9与ARM9E两个系列,其中ARM9 属于ARM v4T架构,典型处理器如ARM9TDMI和ARM922T;而ARM9E属于ARM v5TE架构,典型处理器如ARM926EJ和ARM946E。因为后者的芯片数量和应用更为广泛,所以我们提到ARM9的时候更多地是特指ARM9E系列处理器(主要就是ARM926EJ和ARM946E这两款处理器)。下面关于ARM9的介绍也是更多地集中于ARM9E。 2、流水线差异   对嵌入式系统设计者来说,硬件通常是第一考虑的因素。针对处理器来说,流水线则是硬件差别的最明显标志,不同的流水线设计会产生一系列硬件差异。让我们来比较一下ARM7和ARM9E的流水线,ARM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。比如原来 ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。这就使得处理器的主频可以大幅度地提高

S3C2440存储器SDRAM控制笔记

只谈情不闲聊 提交于 2020-03-01 01:23:51
最近一年多的时间一直在从事任意轮系机器人运动控制及惯性导航的研究实践,买的开发板闲置了一年多了,决定继续 延续一年多前的学习,继续做笔记。 SDRAM 读写操作流程 Cpu发出nGCS6信号,选中bank7,对应开发板nSCS引脚,引脚标号19 SDRAM芯片行地址使用13根地址线,列地址复用行地址9根地址线,同时还有两根地址线用于芯片内部逻辑块选择,每个芯片输出16bit数据,由两个芯片并联输出32位到cpu数据总线上,所以内存大小为2^(13+9+2)*4 = 64Mbyte 由于cpu始终以32位的宽度读取SDRAM,所以cpu读SDRAM地址低2位始终为0,所以原理图cpu的地址线addr0和addr1并未接到SDRAM上。 Cpu发出逻辑块选择信号,选择SDARM内存逻辑块,使用cpu地址线addr24和addr25 行地址选通,列地址选通,选定内存单元,内存和cpu通过数据总线交互数据 SDRAM 管理配置流程 数据掩码引脚配置、等待信号配置、数据位宽度配置 外接设备类型配置、行、列地址发送间隔时间配置、列地址宽度配置 刷新模式配置、刷新时钟配置 内存容量及传输方式配置 来源: CSDN 作者: 科教兴国 链接: https://blog.csdn.net/u010422438/article/details/104581974

【计算机组成原理】第一章、计算机系统概述

流过昼夜 提交于 2020-02-29 22:22:27
计算机性能指标 吞吐量 :表征一台计算机在某一时间间隔内能够处理的信 息量,单位是字节/秒(B/S)。 响应时间 :表征从输入有效到系统产生响应之间的时间度 量,用时间单位来度量,例如微秒(10-6S)、纳秒(10-9S)。 利用率 :表示在给定的时间间隔内,系统被实际使用的时 间所占的比率,一般用百分比表示。 处理机字长 :指处理机运算器中一次能够完成二进制数运 算的位数。当前处理机的字长有8位、16位、32位、64位。  字长越长,表示计算的精度越高。 总线宽度 :一般指CPU中运算器与存储器之间进行互连的内 部总线二进制位数。 存储器容量 :存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。其中: K = 2 1 0 , M = 2 2 0 , G = 2 3 0 , T = 2 4 0 , B = 8 位 ( 1 个 字 节 ) K=2^10,M=2^20,G=2^30,T=2^40,B=8位(1个字节) K = 2 1 0 , M = 2 2 0 , G = 2 3 0 , T = 2 4 0 , B = 8 位 ( 1 个 字 节 ) 存储器容量越大,记忆的二进制数越多。 存储器带宽 :存储器的速度指标,单位时间内从存储器读出的 二进制数信息量,一般用字节数/秒表示。 主频/时钟周期 :CPU的工作节拍受主时钟控制,主时钟不断 产生固定频率的时钟

存储程序原理

守給你的承諾、 提交于 2020-02-29 21:09:47
存储思想原理 1945年冯诺依曼提出存储思想原理。奠定了计算机自动化计算的基础。kongzhiq 冯诺依曼框架 特点 1.采用二进制表示计算机指令和数据 (why二进制: 计算机使用大量电气元件,电气原件中两种状态容易实现, 电路通断,电位高低; 与逻辑运算相对应,不仅执行算术运算,而且执行罗计算器;) 2.由五大部分组成。输入设备、存储设备、运算器、控制器、输出设备。通过控制器协调各个资源(现代计算机已经不再以运算器为核心,而是以存储设备为核心) 3.程序和数据预先存放在存储器中,按地址访问; 4.,由 输入设备 输入数据和指令,操作时按照地址访问存储器的指令顺序执行,从 存储器 中取出指令和数据。由 控制器 解释执行, 运算器 完成运算,由 输出设备 解释运算结果。 非冯诺伊曼模型 1.神经网络、基因算法、量子计算。 计算机概述 处理器(CPU) 功能:执行程序 组成:控制单元+数据通路 控制单元:对执行进行 来源: CSDN 作者: 原来名字可以起这么长啊 链接: https://blog.csdn.net/qq_28155765/article/details/104575384

存储器管理——分配

别等时光非礼了梦想. 提交于 2020-02-29 09:05:49
连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。 (1)单一连续存储管理 在这种管理方式中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可使用用户区全部空间。其特点是,最简单,适用于单用户、单任务的操作系统。CP/M和DOS 2.0以下就是采用此种方式。这种方式的最大优点就是易于管理。但也存在着一些问题和不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的内存。 (2)分区式存储管理 为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。 分区式存储管理引人了两个新的问题:内碎片和外碎片。前者是占用分区内未被利用的空间,后者是占用分区之间难以利用的空闲分区(通常是小空闲分区)。为实现分区式存储管理,操作系统应维护的数据结构为分区表或分区链表。表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。 分区式存储管理常采用的一项技术就是内存紧缩(compaction):将各个占用分区向内存一端移动,然后将各个空闲分区合并成为一个空闲分区

Head First C学习日志,第二章 用指针输入数据

隐身守侯 提交于 2020-02-29 01:27:06
1.scanf scanf的调用格式为: scanf("< 格式说明字符串 >",< 变量地址 >); 第2个参数一定是一个地址。 1.1输入字符串: char name[40]; printf("Enter your name:\n"); scanf("%39s",name); 格式字符串%39s表示:最大接受39个字符(+’\0’),第2个参数name,是数组名作为指针使用,把地址传进了函数,scanf()便可以更新变量的内容。 1.2输入数字 int age; printf("Enter your age:"); scanf("%d",&age); printf("age:%d\n",age); 格式字符串为%d,则接受的第二个参数为一个int*指针。 数组越界问题:如果忘记限制读取字符串的长度,用户就可以输入远远超出程序空间的数据,多余的数据会写到计算机还没有分配好的存储器中。缓冲区溢出很有可能会导致程序出错。 2.使用fgets输入 fgets和scanf一样,接受char指针,不同的是,你必须给它最大长度: char food[5]; printf("Enter favorite food:"); fgets(food,sizeof(food),stdin); 第1个参数为,接受指向缓冲区的指针,第2个参数为,接收字符串的最大长度(包含’\0’),第3个参数为输入

01.计算机体系结构概述.md

自作多情 提交于 2020-02-28 22:12:45
文章目录 1. 计算机的基本构成 1.1 cpu概览 2. 指令的执行过程 2.1 指令周期 2.2 指令分类 2.3 指令的格式 2.4 参考其他周期 3. 中断 3.1 中断的分类 3.2 中断和指令周期 3.3 中断响应的一般过程 3.4 多个中断 4. 缓存 5. 直接内存存取DMA技术 6. 计算机的并行处理手段 6.1. 对称多处理器SMP: 6.1.1 SMP的架构 6.1.2 SMP的优点 6.1.3 SMP各自拥有独立的缓存导致的数据一致性问题: 6.2. 多核计算机 6.2.1 多核和smp之间的区别 1. 计算机的基本构成 处理器:控制计算机操作,执行数据处理等功能。 内存:存储数据和程序,是易丢失的。 输入/输出模块(I/O): 在计算机和外部环境之间移动数据。外部环境有各种外部辅助设备,比如硬盘,显示器,鼠标。 系统总线:在处理器,内存,输入输出设备之间提供通信的设施。 1.1 cpu概览 cpu处理器的 一种 功能是和存储器交换数据,因此他通常使用两个内部寄存器: 1.存储器地址寄存器(Memory Address Register):用于确定下一次读写的存储器地址。 2.存储器缓冲寄存器(Memory Buffer Register): 存放从存储器读进来的数据或者是要写入到寄存器中的数据。 同样,还有一组寄存器用来和输入和输出设备 1

20145209 《信息安全系统设计基础》第9周学习总结

混江龙づ霸主 提交于 2020-02-28 12:06:59
20145209 《信息安全系统设计基础》第9周学习总结 教材学习内容总结 系统级I/O 输入/输出是在主存和外部设备之间拷贝数据的过程,输入操作是从I/O设备拷贝数据到主存,输出操作是从主存拷贝数据到I/O设备。 Unix I/O Unix文件:m个字节的序列 I/O设备:网络、磁盘和终端 Unix I/O :将设备映射为文件的方式,允许Unix内核引出一个简单、低级的应用接口。 描述符:打开文件时,内核返回一个小的非负整数。 Unix外壳创建的每个进程开始时都有三个打开的文件:标准输入(描述符为0)、标准输出(描述符为1)、标准错误(描述符为2)。 改变当前的文件位置:文件位置为k,初始为0。 seek操作:显式地设置文件的当前位置为k。 EOF:是一个条件,而不是一个符号。 关闭文件:内核释放文件打开时创建的数据结构,并将这个描述符恢复到可用的描述符池中。无论一个进程因为何种原因终止时,内核都会关闭所有打开的文件并释放它们的存储器资源。 打开和关闭文件 打开文件 include <sys/types.h> include <sys/stat.h> include <fcntl.h> include <unistd.h> int open(char *filename,int flags,mod_it mode); 若成功,返回值为新文件描述符 若出错,返回值为-1