存储器

计算机存储器

≯℡__Kan透↙ 提交于 2020-01-17 05:14:29
一、什么是计算机存储器? 计算机存储器(英语:Computer memory)是一种利用半导体、磁性介质等技术制成的存储数据的电子设备。其电子电路中的数据以二进制方式存储,不同存储器产品中基本单元的名称也不一样。 二、计算机存储器的分类 1、按在计算机系统中的作用分: 计算机存储器可分为内部存储器(简称内存或主存)、CPU缓存和外部存储器(辅助存储器)。 其中内存是CPU能直接寻址的存储空间,由半导体器件制成。计算机内存的特点是访问速率快,容量小,价格高。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的,数据产生后不断地由内存向外存进行刷写。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。 外部存储器是指处理内存和CPU以外的存储器。这种存储器的最大特点就是断电后仍能保存数据。除此之外还具有访问速率慢,容量大,价格相对较低的特点。常见的外存设备有:硬盘、软盘、光盘、U盘等。 CPU高速缓存(英语:CPU Cache,简称缓存

嵌入式面试题

让人想犯罪 __ 提交于 2020-01-17 03:31:27
参考链接: 看你会多少 记一次嵌入式底层面试 Linux面试基础题3道 一、请问uboot启动过程都做了些什么? 1、cpu刚开始初始化的时候,还未设置栈,所以先使用汇编代码,构建异常项链表,然后设置cpu为svc(特权)模式,同时关闭FIQ和IRQ(防止突发中断程序跑飞了) 注:在跳转到内核之前,要满足CPU出在SVC模式下。 2、对cp15协处理器进行设置,这里主要是关闭MMU和cache 3、进入到板级初始化阶段,这里会进行时钟、内存、串口的初始化。最后还要关闭看门狗。 4、接下来就是设置栈,为c语言准备运行环境,调用board_init_f,填充gd结构体。 5、对代码重定位,搬运到内存中去,搬运之后,跳转到内存中去执行board_init_r,这里就可以开启cache了,当然也可以不开启。然后初始化其他设备。比如flash、网卡、emmc等。初始化完之后,在执行main_loop 二、为什么uboot要关掉cache? uboot要关掉cache 根据cache的定位可以看出来,它是用来加快cpu从内存中取出指令的速度,但我们都知道,在设备上电之初,我们的内存初始化比较慢一拍,当cpu初始化了,但内存还没准备好之后,就对内存进行数据读,那么势必会造成了指令取址异常,系统就会挂了。所以,在u-boot的上电之初,就得关闭掉数据cache

系统结构 学习笔记

北慕城南 提交于 2020-01-16 19:52:12
系统结构: 研究的是 有吧?几位的 组成:研究的是怎么做 存取指令 实现:研究的是 具体做的实现了 计算机的存储程序工作原理和硬件系统    冯·诺依曼结构   计算机系统由硬件系统和软件系统两大部分组成。美藉匈牙利科学家冯·诺依曼结构(John von Neumann)奠定了现代计算机的基本结构,其特点是:   1)使用单一的处理部件来完成计算、存储以及通信的工作。   2)存储单元是定长的线性组织。   3)存储空间的单元是直接寻址的。   4)使用低级机器语言,指令通过操作码来完成简单的操作。   5)对计算进行集中的顺序控制。   6)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备五大部件组成并规定了它们的基本功能。   7)彩二进制形式表示数据和指令。   8)在执行程序和处理数据时必须将程序和数据道德从外存储器装入主存储器中,然后才能使计算机在工作时能够自动调整地从存储器中取出指令并加以执行。   这就是存储程序概念的基本原理。    计算机指令   计算机根据人们预定的安排,自动地进行数据的快速计算和加工处理。人们预定的安排是通过一连串指令(操作者的命令)来表达的,这个指令序列就称为程序。一个指令规定计算机执行一个基本操作。一个程序规定计算机完成一个完整的任务。一种计算机所能识别的一组不同指令的集合,管为该种计算机的指令集合或指令系统。在微机的指令系统中

Linux服务器性能评估

别等时光非礼了梦想. 提交于 2020-01-14 09:52:32
导语 总结有关服务器的各项性能指标,以及如何判断服务器的性能状况出现问题,性能指标代表的含义。同时也总结Linux服务器上有关工具的各项参数含义,以及日常需要注意的参数信息。 CPU使用率和负载 首先需要分清楚 CPU使用率和机器负载 不是相同的概念,如果 CPU使用率 ,但是不一定代表机器负载同样也高。所以关于 CPU使用率和负载 的区别: CPU使用率:显示的是程序在运行期间占用的CPU百分比; CPU负载:显示的是一段时间内正在使用和等待使用的CPU平均任务数; 查看CPU使用率和负载 对于查看负载可以使用uptime,w命令,同时top,vmstat工具也可以同时观察CPU使用率和负载情况。 查看CPU核数: grep "model name" /proc/cpuinfo | wc -l uptime命令: 命令返回信息中的load average就是关于系统的平均负载,里面的三个数字分别代表着1分钟、5分钟、15分钟内的系统平均负载。 top工具 (如果是多核CPU,1查看各个CPU详细信息) top工具的第一行后面的三个值,分别也是代表之前的 1、5、15 分钟内的平均负载; 第三行关于CPU使用率各项参数的含义: (us)user:CPU在低nice值(高优先级)用户态所占用的时间;(大部分CPU时间都在执行此类程序) (sy)sytem:CPU处于内核所占用的时间

并发编程学习记录

a 夏天 提交于 2020-01-14 02:44:20
重要知识点 现代系统基本的构造并发程序的方法 进程 :用这个方法,每个逻辑流都是一个进程,由内核来调度和维护。因为进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用某种显式的 进程间通信机制 。 I/O多路复用 :在这种形式的并发编程中,应用程序在一个进程的上下文中显示地调度它们自己的逻辑流。逻辑流被模型化为状态机,数据到达文件描述符后,主程序显示地从一个状态转化到另一个状态。因为程序是一个单独的进程,所以所用流共享同一个地址空间。 线程 :线程是运行在一个单一进程上下文中的逻辑流,由内核进行调度。由内核进行调度,共享同一个虚拟地址空间。 基于进程的并发编程的优缺点 优点: 进程不可能不小心覆盖另一个进程的虚拟存储器。 缺点: 独立的地址空间使得进程共享状态信息变得更加困难。为了共享信息,它们必须使用显示的IPC(进程间通信)机制,而进程控制和IPC的开销很高,因此会比较慢。 基于I/O多路复用技术的并发编程的优缺点 优点: 它比基于进程的设计给了程序员更多的对程序行为的控制。 每个逻辑流都能访问该进程的全部地址空间,这使得流之间共享数据变得容易。 缺点: 编码复杂。 线程与线程池 线程不是按照严格的父子层次来组织的。和一个线程相关的线程组成一个对等(线程)池独立于其他线程创建的线程。 主线程和其他线程的区别仅在于它总是进程中第一个运行的线程。在对等线程池中

移动终端处理器构成和基带芯片概述

醉酒当歌 提交于 2020-01-13 20:59:15
(一)移动终端发展 一部手机要实现最主要的功能—打电话发短信,这个手机就要包含下面几个部分:射频部分、基带部分、电源管理、外设、软件等。回想一下移动手机的发展史: 1,功能手机(Feature Phone):仅仅用基带芯片。仅仅能用来打电话、发短信。 2,多媒体手机:使用基带芯片+协处理器加速单元。在功能机的基础上,添加了多媒体功能(如视频、音乐)。MTK就是在多媒体手机时代崛起的。当然要归功于广大”山寨机“。MTK基带芯片中除了CPU以外,还集成了非常多外设控制器。Feature Phone的功能,基本上取决于基带芯片所支持的外设功能。 3。智能手机:採用应用处理器AP+基带处理器CP。AP可看做传统计算机。CP可看做无线modem。 AP、CP间的接口技术有SPI、UART、USB、SDIO、shareMemory等等。AP、CP间的通信可通过传统AT命令、MBIM等进行,完毕通话、短消息、移动上网等功能。 功能手机和智能手机的差别在于:功能机相当于不断添加应用功能的无线通信终端。无操作系统;而智能机相当于添加了无线通信功能的掌上电脑,其软件体系类似于PC软件体系--操作系统+应用软件的组合。智能手机的两大最广的操作系统是Android和IOS系统。 智能机中还会有专门用于图像处理的GPU。且GPU功能会越来越发达,如此我们才干在智能机上看高清电影、玩高画质游戏。

第一章——计算机系统漫游

狂风中的少年 提交于 2020-01-13 19:37:27
1.1 信息就是位+上下文 程序员通过编辑器创建并保存的文本文件hello.c是以字节序列的方式储存在文件中(源文件也叫源程序),大部分现代计算机系统都使用ASCII标准来表示文本字符,像hello.c这样只由ASCII字符构成的文件称为 文本文件 ,所有其他文件都称为 二进制文件 , ASCII表 https://baike.baidu.com/item/ASCII/309296?fr=aladdin unicode,utf-16,utf-8概念区分 http://blog.sina.com.cn/s/blog_a475ac530102wl4g.html 系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及 网络上传送的数据 ,都是由一段比特表示的。区分不同数据对象的唯一方法是读到这些数据对象时的上下文。 1.2 程序被其他程序翻译成不同的格式 在Unix系统中,从源文件到可执行目标文件的转化是由编译器驱动程序GCC完成的, linux> gcc -o hello.c 这个翻译过程分为四个阶段,执行这四个阶段的程序(预处理器、编译器、汇编器和链接器)一起构成了 编译系统 。 1.3 了解编译系统如何工作是大有益处的 优化程序性能 理解链接时出现的错误 避免安全漏洞 1.4 处理器读并解释储存在内存中的指令 现在,hello

深入理解计算机系统第一章,计算机系统漫游

天涯浪子 提交于 2020-01-13 18:38:45
1、信息就是位+上下文 系统中所有的信息都是由一串比特表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。同样的比特信息在不同的上下文中所代表的意思是不同的。 2、系统的硬件组成 总线、I/O设备、主存、处理器 3、存储器层次结构 4、计算机系统中的抽象 文件是对I/O设备的抽象。 虚拟内存是对程序存储器的抽象。进程是对一个正在运行的程序的抽象。 在处理器里,指令集架构提供了对实际处理器硬件的抽象。 虚拟机,提供对整个计算机的抽象,包括操作系统、处理器和程序。 5、运行hello程序 shell程序执行指令,将字符逐一读入寄存器,再把它存放到内存中。然后shell执行一系列指令来加载可执行的hello文件,将hello中的代码和数据从磁盘复制到主存。 利用直接存储器存取(DMA)技术,数据可以不通过处理器而直接从磁盘到达主存。 一旦目标文件hello中的代码和数据被加载到主存,处理器就开始执行hello程序的main程序中的机器语言指令。这些指令将“hello, world\n”字符串中的字节从主存复制到寄存器文件,再从寄存器文件中复制到显示设备,最终显示在屏幕上。 来源: https://www.cnblogs.com/zhishuiyushi/p/11437356.html

心形灯的设计

允我心安 提交于 2020-01-13 07:50:35
设计一个心形灯,包含以下功能: 1、由32个LED灯组成心形流水灯,外接了4个按键,并且两个按键(开始和暂停)接在两个外部中断引脚上; 2、上电后心形灯先全亮5秒,后亮灭闪烁5秒,可以测试灯状态的好坏; 3、之后处于全灭等待状态,当按下开始按键后心形灯按照一定规律显示,规律自定义,创意越好分数越高; 4、当在任意状态下按下暂停键后心形灯停留在当前状态不再改变,再一次按下暂停键后则继续显示; 5、另外一个键为模式切换键,每按一次切换键则切换一次显示模式,切换键在灯运行状态和暂停状态均可切换; 6、第四个键为速度键,可以改变心形灯的亮灭切换速度,通过速度键可以切换不同的切换速度。 关键词: 心形流水灯,AT89C51,复位电路,时钟电路,电路仿真 绪论 一、随着现代科学技术的持续进步和发展以及人们生活水平的不断提高,以大规模、超大规模集成电路为首的电子工艺技术的使用也越来越广泛,结合单片机技术设计的电子电路也层出不穷。 LED彩灯由于其丰富的灯光色彩、低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电。 彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK包房,从节日的祝贺到日常生活中的点缀,这些不仅说明了我们对生活的要求有了质的飞跃

区分单片机RAM、ROM、Flash

≡放荡痞女 提交于 2020-01-13 07:17:56
最近搞毕设,又一次接触到51单片机系列了,但是由于之前学习单片机的时间过去的有点久,我对单片机的有些硬件知识记得有点模糊了,现在重新翻旧账出来复习复习。 单片机的RAM,学名叫随机存储器,就是一个可读可写而且速度还比较快的存储器,缺点是断电数据会丢失,在单片机中用作程序运行时所产生的中间变量的数据存储器。 ROM,只读存储器,从名字就可以看出ROM生产完成后就不能再写数据,只能读取数据。后来技术发展,出现了EPROM,EEPROM等可擦除重写的存储器,但是成本高,而且寿命限制大,所以一般用作存储不会频繁改动的程序指令和数据。 Flash,又称Flash EEPROM、Flash Memory,是一种新的存储结构,成本低、寿命大。 以下内容转载自 https://www.cnblogs.com/renchong/p/6594229.html 传送门: 为什么单片机中既有Flash又有EEPROM 单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM 或FLASHROM 等存储器来实现。 插播一段:ROM最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了PROM,可以自己写入一次,要是写错了,只能换一片。随着不断改进,终于出现了可多次擦除写入的EPROM