存储器

计算机组成原理复习(2)

放肆的年华 提交于 2019-12-05 02:54:22
中央处理器由运算器和控制器两大部分组成。 运算器接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理。 运算器主要由算术逻辑单元(ALU)、暂存寄存器、累加寄存器、程序状态字寄存器(PSW)、通用寄存器组、计数器(CT)、移位器组成。 程序状态字寄存器用于保存系统的运行状态。条件转移指令执行时,需对标志寄存器的内容进行测试,判断是否满足转移条件。 程序状态字寄存器用于存放程序状态字,而程序状态字的各位表征程序和机器运行状态,如:含有进位标志C、结果为零标志Z等。 通用寄存器用于存放操作数和各种地址信息等,其位数与机器字长相等,这样便于操作控制。 控制器的基本功能就是执行指令,每条指令的执行是由控制器发出的一组微操作实现的。 控制器的功能是取指令、分析指令和执行指令,并产生有关操作控制信号。 控制器由硬布线控制器和微程序控制器两种类型。 控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器、存储器地址寄存器(MAR)、存储器数据寄存器(MDR)、时序系统和微操作信号发生器等组成。 控制器的工作原理是根据指令操作码、指令的执行步骤(微命令序列)和条件信号来形成当前计算机个部件要用到的控制信号。计算机整机各硬件系统在这些控制信号的控制下协同运行,产生预期的执行结果。 程序计数器用于存放下一条指令在主存中的地址,具有自增功能。 程序计数器的内容为下一条指令在主存中的地址

程序为什么加载到内存中

拜拜、爱过 提交于 2019-12-05 00:25:20
程序为什么加载到内存中 1.把代码从存储器拷贝到RAM中,变成了bootloader的工作之一。 2.一般的,嵌入式系统的存储器以Flash应用最广,Flash分为两种:norFlash和nandFlash,打个不恰当的比方,norFlash相当于ROM,程序可以直接在其上运行,nandFlash相当于硬盘,只负责存储程序。 3.一般的bootloader代码都存储在norFlash中,上电后芯片可直接读取其上的代码来运行。 4.硬盘、光驱、软盘等外存设备,由于接口的不同,CPU是不能直接访问的,而CPU 能访问的只有和它共享地址、数据总线的内存因此,程序无法在硬盘、光驱、软盘等外存设备上直接运行,必须读入内存运行,这就是程序加载的原因。也是BOOTLOAD 存在的原因。 BIOS等都是norFlash,程序可以直接在上面运行。 5.内存与外存的区别 ROM 、 norflash 、nandflash 的区别主要是接口、存储器单元组织的不同: 程序ROM、norflash 是 总线型可以随机按字节读取,容量小;nandflash 是特殊接口,只能页读,容量大 程序ROM 是字节读写单位;norflash 、nandflash 是FLASH 有页、块的概念特别是擦除,必须块擦除。 6.硬盘更是有扇区、簇的概念,便于文件管理,但是也必须有专门的控制器管理 这就是为什么程序都是由 硬盘

amo上转载关于dsp烧写和外扩RAM

懵懂的女人 提交于 2019-12-04 22:48:55
1.DSP程序的串口下载方式。 这种方式可以省了买仿真器的一笔很大的花费,这个电路上有什么特别之处么?跟一般的串口通讯电路有何不同? 是不是一片Max232加几个电容,然后接到芯片上的相应引脚就行了? 相比JTAG来说,串口是只能下载不能在线仿真么? 2.外扩存储器问题。 看了好多网上卖的开发板,发现都有扩展的RAM和ROM,弱弱的问一句,难道是因为DSP本身的存储器不够大么? 我看2812的存储器挺大的,为啥非得外扩呢?不外扩有什么缺点呢? 对于我这样刚入手的来说,画板子的时候要不要加外扩存储器呢? 第一个问题,建议你还是用jtag方式下载,毕竟现在主流的方式是这样的,出现问题可以交流的人会比较多。 第二个问题,存储器没有嫌大的,因此如果程序小,不外扩没有问题,如果程序大或者里面有大量的字库等等肯定需要外扩了。 1.DSP程序的串口下载方式。 -- 建议使用jtag调试。相比以前来讲,ti已经放出xds100v2仿真器,而且ccs4.x以上版本支持很好。重点是价格便宜,呵呵,相比以前买的合仿真器(1700大洋)。 -- 2812支持sci下载代码,支持scia。这点很方便现场工程师更新代码。 -- max232这个芯片不大合适。因为这个芯片要求5V电源的,2812接口电压是3.3V。 2.外扩存储器问题。 -- 这个问题,应该是自己来决定的问题。即做出来这个板子到底做什么? --

文件管理

耗尽温柔 提交于 2019-12-04 20:50:26
通过CLI登录进行文件管理 1、目录操作 pwd#打印工作目录 cd <directory>#改变工作目录 dir [/all][<directory>]#查看目录内容,/all包括隐藏文件 mkdir <directory>#创建目录 rmdir <directory>#删除空目录 2、文件操作 more <filename> [<offset>]#查看文件内容,offset指定起始位置 {copy|move|rename} <source> <destination> #复制、移动、重命名文件 {zip|unzip} <source> <destionation>#压缩、解压文件 {delete|undelete} <filename> #删除、恢复文件 reset recycle-bin #清空回收站 3、存储器操作 fixdisk <drive> #修复存储器 format <drive>#格式化存储器 来源: https://my.oschina.net/u/4272947/blog/3130885

计算机中的周期

筅森魡賤 提交于 2019-12-04 19:17:19
1、机器周期 机器完成一个基本操作所需要的时间。 在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、 存储器 读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。 来源: https://www.cnblogs.com/qaswzh/p/11879669.html

[转]嵌入式系统

自作多情 提交于 2019-12-04 08:45:55
来源自 《嵌入式系统组成结构简介》 ,稍作整理和摘取。 嵌入式系统的组成结构 嵌入式系统由:嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选)以及应用软件系统等四个部分组成。 软件是计算机系统中与硬件相互依存的另一部分,包括 程序 、相关 数据 及其 说明文档 。 程序是按照事先设计的功能和性能要求执行的指令序列,数据是程序能正常操纵信息的数据结构,文档是与程序开发维护和使用有关的各种图文资料。 嵌入式系统的硬件组成 最小硬件系统 MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。 在最普通的情况下,嵌入式微处理器包括: 片内存储器:部分嵌入式微处理器 外部存储器的控制器,外设结构(串口、并口) LCD控制器:面向终端类应用的嵌入式微处理器 中断控制器,DMA控制器,协处理器 定时器,A/D、D/A转换器 多媒体加速器:当高级图形功能需要时 总线 其他标准接口或外设 嵌入式处理器可分为: 嵌入式微控制器(MCU) 嵌入式DSP处理器(DSP) 嵌入式微处理器(MPU) 嵌入式片上系统(SoC) 从计算机角度看,单片机功能太简单,性能太差;DSP太专用,可以看成一个外设; 通用处理器 和 SoC

指令(1)基本格式

烈酒焚心 提交于 2019-12-04 06:37:05
指令基本格式 指令简单说来就是机器语言的语句。 指令由操作码(OP)和地址码(A)两方面构成。 地址码的作用:   指出操作数的地址   给出结果存放的地址   指出下一条指令的地址   (以上地址可以是主存地址、寄存器地址、I/O地址) 地址码可以是操作数本身、操作数地址或者操作数地址的计算方法。 每一条指令都包含操作码(每一条指令都必须告诉CPU该指令做什么操作)。 地址码 四地址指令 OP A1 A2 A3 A4 OP:操作码;A1、A2:第一操作数和第二操作数;A3:存放运算结果的地址;A4:下一条指令的地址。 执行四地址指令需要访问4次存储器(取指令一次,取操作数两次,存放结果一次) 缺点:占用存储空间 设指令字长为32位,操作码占8位,4个地址字段各占6位,则指令操作数的直接寻址范围为2 6 =64 三地址指令 OP A1 A2 A3 去掉A4: 程序计数器PC既能存放当前欲执行指令的地址,又有计数功能,可自动形成下一条指令的地址码。 OP:操作码;A1、A2:第一操作数和第二操作数的地址;A3:存放运算结果的地址; 执行四地址指令需要访问4次存储器(取指令一次,取操作数两次,存放结果一次) 缺点:占用存储空间 设指令字长为32位,操作码占8位,3个地址字段各占8位,则指令操作数的直接寻址范围为2 8 =256 二地址指令 OP A1 A2

2.5-MIPS体系结构

左心房为你撑大大i 提交于 2019-12-03 11:53:27
  MIPS是精简指令系统的代表,采用了与X86相反的设计理念,并引领了精简指令系统的潮流, 那就让我们一起来看一看这究竟是怎么一回事。R ISC是精简指令系统计算机的简称,与之相对,之前的计算机上的指令系统就被称为 复杂指令系统,X86就是其中的代表。 现在MIPS处理器已经不再应用在计算机产品中了, 但是在广义的计算设备包括数字电视,游戏机,网络设备 等领域仍然有广泛的应用。   第一代的MIPS是32位的,在1985年推出了对应的处理器,R2000,90年, R3000处理器对应着第二代的MIPS,92年,MIPS扩展到了64位,94年,64位的MIPS又 进一步升级,96年的MIPS5并没有对应的处理器, 然后在99年,MIPS指令系统进行了较大的调整,形成了MIPS32,到了99年,以MIPS5为基础, 推出了MIPS64指令系统,MIPS的设计指导思想非常的简单, 从它的名字就可以看出来。MIPS全称的含义是一个流水线不会互锁的微处理器,流水线是 现代微处理器为提高性能而采用的一项技术,而流水线中的互锁 则是导致流水线性能降低的一个非常重要的因素。从这个名称也可以看出,MIPS的 指导思想是希望其指令的设计能让微处理器运行的更快,性能更好。 所以它主要的关注点是减少指令的类型,并且降低指令的复杂度,所以在MIPS指令系统当中, 指令的总数是很少的。

2.4-复杂的x86指令举例

天大地大妈咪最大 提交于 2019-12-03 11:51:57
  x86作为复杂指令系统的代表,自然会有不少相当复杂的指令。 在这一节我们将会看到其中有代表性的一些例子。   串操作指令是将存储器中的数据串进行每次一个元素的操作。 所谓一个元素可以是字节或者是字。 这个串可以很长,能够达到64KB,x86提供了5种不同的串操作指令, 并且还有3种重复前缀,可以与串操作指令配合使用。 这张表就展示了这5种串操作指令和3种重复前缀。 我们来选择其中一组进行介绍。这个指令的格式非常简单,没有任何的操作数, 它的功能就是在存储器中将指定位置的一个字节单元传送到存储器的另一个指定的位置。 与它配合的经常是这个重复前缀REP, x86的体系结构中有很多种的前缀,这个前缀的 涵义是当CX寄存器的值不等于0时,就重复执行这个串操作指令。 那么很奇怪的是这个指令没有任何操作数。其实大家要注意x86当中有很多 这样的没有操作数的指令,但这并不意味着它们比那些有操作数的指令要简单。 因为它们不写操作数,不是因为没有操作数,很可能是因为操作数太多了,实在在指令中写不下, 因此它们实际上是有一些隐含的操作数。 对于这这条串传送指令,它要传送的数据串称为源串。 源串的地址默认放在DS:SI这组寄存器指向的位置。 而要传送的目的,我们称为目的串地址,默认放在 ES:DI这组寄存器指向的位置, 而要传送的串的长度则放在CX寄存器当中。 我们可以看到,虽然没有写操作数

2.3-X86指令简介

痴心易碎 提交于 2019-12-03 11:50:06
  x86指令种类繁多,数量庞大, 在这一节我们将会学习x86指令的分类,并分析其中最为基础的一部分指令。 通常一个指令系统主要包括这几类指令。 运算指令,比如加、减、乘、除这样的算术运算,以及与、或、非这样的逻辑运算。 还有传送类指令,比如把数据从存储器送到通用寄存器,或者从通用寄存器送到I/O接口等等。 有了这两类指令,计算机就可以从外界获取数据, 并在内部完成运算,最后将结果输出到外界。但是如果你想编制比较复杂的程序,例如像高级语言当中if e lse这样的语句,或者是for while这样的循环语句, 那就需要用到转移类指令,另外还需要有一些对CPU进行控制的指令。 那无论是哪一类指令,我们首先要关心的就是它究竟改变了什么。 例如一条加法指令,它会改变通用寄存器的内容, 或者有可能改变标志位,再有是改变存储器单元的内容,或者改变外设端口的内容, 还有可能改变指令指针以及其他的情况。 那我们在学习到新的指令的时候,一定要认真地想清楚这条指令 究竟改变了哪些地方,又对后续的指令会产生什么样的影响。   现在我们就通过一个示例程序来讲解几个常用的指令。 这个程序的目的是进行两个数的求和运算, 这两个数比较大,可能有很多个字节,第一个数存放在2000H开始的 存储器空间中,第二个数存放在3000H开始的存储器空间中。 而且我们希望这个程序有一定的灵活性,可以适应不同长度的数。