指令周期

长文分享丨TI AM5718的PRU开发详解

跟風遠走 提交于 2020-04-07 17:33:08
PRUSS简介 TI AM5 718 系列 OK571 8开发板 有两个PRU-ICSS(ProgrammableReal-Time Unit Subsystem and Industrial CommunicationSubsystem),可以独立编程实现一些实时性要求高的个性化需求,实现产品的差异化。 本文介绍PRU处理器架构,开发,调试方法。在系统架构上,PRUSS是连接L3_MAIN内部总线上的一个模块,与系统中其它主模块如ARM,DSP一样,可以访问芯片上的其它外设。 PRUSS包括两个PRU,通过自己的32-bitinterconnect总线与子系统的中断控制器、指令内存、数据内存、共享内存、外设模块相连。 PRU不是一个加速器,它是32-bitLoad/Store RISC架构小端处理器,每个PRU有32个通用寄存器R0~R31,12Kbyte指令RAM,8Kbyte数据RAM和32byte共享RAM。指令RAM是独立的,互相之间不能访问,但数据RAM可以通过映射地址互相访问;专用的21个输入引脚和21个输出引脚。 设备中的pru-icss1和pru-icss2集成功能: •PD_L4PER power domain instantiation • two master ports (PRU0and PRU1 core initiators) on the

组原——④存储器5

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-06 17:31:16
PART 2—主存储器 2.7 提高访存速度的措施 2.7.1 单体多字系统 原理:在一个存取周期内,从同一地址取出四条指令(之前是一次一个的),再将这四条指令按顺序送至CPU执行——速度提高了 前提:指令和数据连续 2.7.2 多体并行系统 2.7.3 高性能存储芯片 (1)SDRAM (2)RDRAM (3)带Cache的RDRAM PART 3—高速缓冲存储器 3.1 概述 3.1.1 问题的提出 ①CPU等待I/O设备,浪费时间→在CPU与主存之间加一级缓存 ②主存速度提高慢,跟不上CPU的速度了 ## 重大发现:由于指令和数据在主存里是 连续存放 的,一些子程序、循环程序和常数会多次调用→CPU访存有相对的局限性→将CPU近期要用到的数据提前送到cache,提高速度 3.1.2 Cache的工作原理 缓存里的块数远小于主存的,所以缓存里的块数是根据CPU的需要不断变化的。好是好,只是缓存里的每个块都要做一个标记,(啊~这次来我这里待的小可爱是你呀~~),标记就是主存里的块的编号。那当CPU读信息时,先将两者的块地址进行比较。 命中率与容量(越大越好)、块长(过小过大都不好)有关 3.1.3 Cache的基本结构 写操作 :使Cache与主存内容保持一致 法一:写直达法 写操作时,数据既写入Cache又写入主存→保证了数据一致,但增加了访存次数 法二:写回法 写操作时

单片机常用名词解释与常用逻辑电路

↘锁芯ラ 提交于 2020-04-06 16:52:45
MCS-51系列单片机 MCS-51系列单片机分为两大系列,即51子系列与52子系列。 51子系列:基本型,根据片内ROM的配置,对应的芯片为8031、8051、8751、8951 52子系列:增强型,根据片内ROM的配置,对应的芯片为8032、8052、8752、8952 这两大系列单片机的主要硬件特性如下表: 从上表中可以看到,8031、8031、8032、80C32片内是没有ROM的,对应着上表看,我们可以发现,51系列的单片机的RAM大小为128B,52系列的RAM大小为256B,51系列的计数器为两个16位的,52系列的计数器为三个16位计数器。51系列的中断源为5个,52系列的中断源为6个。 8051与80C51的区别: 80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。 8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。这两种单片机是完全可移植的。 既然这两种单片机外形及内部结构都一样,那它们之间的主要差别在哪里呢? 8051与80C51单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。

单片机的组成、工作原理、分类、特点以及发展趋势

白昼怎懂夜的黑 提交于 2020-04-05 16:18:13
芯片在没有开发前,单片机只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微型计算机控制系统,它与个人电脑(PC机)有着本质的区别,单片机的应用属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使该芯片具备特定的功能。 不同的单片机有着不同的硬件特征和软件特征,即它们的技术特征均不尽相同,硬件特征取决于单片机芯片的内部结构,用户要使用某种单片机,必须了解该型产品是否满足需要的功能和应用系统所要求的特性指标。这里的技术特征包括功能特性、控制特性和电气特性等等,这些信息需要从生产厂商的技术手册中得到。软件特征是指指令系统特性和开发支持环境,指令特性即我们熟悉的单片机的寻址方式,数据处理和逻辑处理方式,输入输出特性及对电源的要求等等。开发支持的环境包括指令的兼容及可移植性,支持软件(包含可支持开发应用程序的软件资源)及硬件资源。要利用某型号单片机开发自己的应用系统,掌握其结构特征和技术特征是必须的。 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。诚然

计算机组成与设计(十)—— 流水线的冒险

混江龙づ霸主 提交于 2020-04-03 04:35:15
冒险 流水线技术之所以能提高性能 究其本质是利用了时间上的并行性, 那它让原本应该先后执行的指令 在时间上一定程度的并行起来,然而这也会带来一些冲突和矛盾, 进而可能引发错误。 冒险( Hazard ) :在流水线中我们希望当前每个时钟周期都有一条指令进入流水线可以执行。但 在某些情况下,下一条指令无法按照预期开始执行,这种情况就被称为冒险 。 冒险分为三种: 结构冒险:如果一条指令需要的硬件部件还在为之前的指令工作,而无法为这条指令提供服务,那就导致了结构冒险。(这里结构是指硬件当中的某个部件) 数据冒险:如果一条指令需要某数据而该数据正在被之前的指令操作,那这条指令就无法执行,就导致了数据冒险 控制冒险:如果现在要执行哪条指令,是由之前指令的运行结果决定,而现在那条之前指令的结果还没产生,就导致了控制冒险。 结构冒险 示例一:如果指令和数据放在同一个存储器中,则不能同时读存储器 解决方案一:我们有一个方便又简便的方法,即流水线停顿( stall ),产生空泡( bubble )。 虽然流水线停顿能用来解决各种冒险,但它的效率低下,应尽量避免。 解决方案二:在存储器中设置单独的指令高速缓存和数据高速缓存。(要强调的在计算机中主存储器也就是内存是统一存放指令和数据的, 这也是冯诺依曼结构的要求,只是在CPU当中 的一级高速缓存会采用指令和数据分别存放的方式) 示例二

[51单片机学习笔记ONE]-----LED灯的多种使用方法

≯℡__Kan透↙ 提交于 2020-03-30 01:54:39
一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间间隔1s 3 实验时间: 2014年12月2日 4 ******************************************************/ 5 6 #include <reg51.h> 7 8 void delay(unsigned char a); 9 10 void main() 11 { 12 while(1) 13 { 14 /*根据原理图,P0置高电平灯亮*/ 15 P0 = 0x00; 16 delay(45); 17 18 /*根据原理图,P0置低电平灯灭*/ 19 P0 = 0xFF; 20 delay(45); 21 } 22 } 23 24 /*延时1s,有误差。计算公式大约可以用((((c*2)+3)*b+3)*a)*/ 25 void delay(unsigned char a) 26 { 27 unsigned char b,c; 28 for(;a>0;a--) 29 for(b=152;b>0;b--) 30 for(c=70;c>0;c--); 31 32 } 实验的代码很简单。但是实际操作过程中还是遇到了以下问题:

PLC:学习笔记(西门子)2

戏子无情 提交于 2020-03-28 13:26:26
传统的工业控制系统:继电器-接触器 PLC(programmable logic controller) PLC特点: 1、plc可靠性高(软件代替复杂线路、抗干扰的CPU、电源采用多级滤波并用集成稳压块稳压、IO采用光电隔离技术) 2、丰富IO口(交流、直流、开关量、模拟量、电压、电流、脉冲、电位、强电、弱电都有相应的IO模块和工业现场的设备) 3、模块化结构(plc辅助触点不受次数的限制,只需考虑输入、输出点个数即可) 4、编程简单(梯形图)、安装简单、设计施工周期短 PLC工作方式:采用循环扫描的工作方式其输入/输出存在响应滞后 PLC基本组成:中央处理单元(大型的多采用冗余系统或三CPU表决式系统)、存储器、输入/输出接口(现场常用输入接口:按钮开关、行程开关、接触器的触点、传感器输出的开关量或模拟量(DAC后输入进plc)输入一般接光电耦合电路和微电脑输入接口电路(输入数据寄存器、选通电路、中断请求电路) 现场常用输出:电磁阀、接触器、继电器、信号灯、电动机等 其电路组成和输入相近:输出接口电路和功率驱动电路(继电器方式输出、晶闸管方式输出、晶体管方式输出)) 4、电源 5、底板和机架 6、PLC的外部设备(编程设备(RS232、RS422)、监控设备、存储设备、输入/输出设备) 7、PLC的通信网络(各厂家均在向标准通信协议靠拢) PLC编程语言:因为厂家和机型不同

【华为云技术分享】如何将90%的代码自动迁移到鲲鹏平台上

荒凉一梦 提交于 2020-03-19 13:25:05
主讲人:华为云云享专家 张老师 大家好,今天要讲的主题是关于软件迁移,这是一个久远的话题,因为但凡牵扯到切换平台、CPU架构的变化,甚至一些语言版本的升级,都可能会面临到软件迁移的问题。今天我们就探讨一下软件移植过程的原理,以及如何进行软件迁移。 在软件移植的过程当中,如何帮助开发者提升效率,如何把华为沉淀下来的软件开发以及移植的经验反馈给开发者,帮助开发者加速软件开发的进度,降低成本,这是我们一直关注的问题,为此,我们还推出了鲲鹏的开发套件,帮助用户做软件的移植,以及做基于鲲鹏平台的性能加速。 其实一提到软件移植,如果是做了比较底层软件的话,大家可能会用到一些 汇编这样的底层语言 。 它和机器的硬件架构强相关 ,当你在从一个平台切换到另外一个平台的时候,这些强相关的语言势必要 进行一次代码移植, 跟我们所采用的编程语言以及移植的平台环境强相关。当我们用汇编代码或者是用这种编译型语言的时候,就会面临着一些移植的问题和挑战,有些问题通过编译器能解决, 有些问题特别是一些低阶的代码或者比较底层的代码, 就要手工去查手册 , 然后去把它相应的转换成新平台所使用的机器码。 上图列出了鲲鹏处理器和x86处理器的指令差异,列了一个简单的两个数相加,两个int型相加的这样一个简单程序。通过GCC编译完之后,通过OMGD,就能看到指令的具体的格式形式以及相应的对应的汇编代码。可以看出

计算机系统基础知识01

南楼画角 提交于 2020-03-12 04:43:00
计算机组成   1.硬件系统      主机:          中央处理器(运算器、控制器):         内部存储器(随机存储器,只读存储器):          I/O设备接口:       外部设备:           外部存储器(磁盘、光盘):          输入设备(键盘、鼠标、扫描仪):   2.软件系统      系统软件(操作系统、语言处理程序、网络通讯管理程序等)      应用软件(office办公软件、游戏软件等) 功能介绍   CPU的功能      1.程序控制功能。CPU通过执行指令来控制程序的执行顺序          这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机工作的正确性       2.操作控制          一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。       3.时间控制          时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地自动工作。       4.数据处理。CPU的最根本任务          即对数据进行算术运算和逻辑运算

redis主从复制

▼魔方 西西 提交于 2020-03-11 01:51:41
主从复制简介:   互联网“三高”架构:     高并发     高性能     高可用   单机redis的风险与问题:     问题1.机器故障       现象:硬盘故障、系统崩溃       本质:数据丢失,很可能对业务造成灾难性打击       结论:基本上会放弃使用redis.     问题2.容量瓶颈       现象:内存不足,从16G升级到64G,从64G升级到128G,无限升级内存       本质:穷,硬件条件跟不上       结论:放弃使用redis     结论:       为了避免单点Redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。       即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。   多台服务器连接方案:        主从复制:     主从复制即将master中的数据即时、有效的复制到slave中     特征:一个master可以拥有多个slave,一个slave只对应一个master     职责:       master:         写数据         执行写操作时,将出现变化的数据自动同步到slave         读数据(可忽略)       slave:         读数据