通用寄存器

长文分享丨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

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

↘锁芯ラ 提交于 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-06 05:52:24
单片机是控制电子产品的大脑 现如今,我们生活中的许多电器都使用了单片机。例如:手机、电视机、冰箱、洗衣机、以及按下开关,LED就闪烁的儿童玩具。那么,单片机在这些电器中究竟做了些什么呢? 单片机是这些电器动作的关键,是指挥硬件运行的。例如:接收按钮或按键的输入信号,按照事先编好的程序,指挥马达和LCD的外围功能电路动作。 那么,单片机是如何构成的呢?如图1所示。 单片机是由CPU、内存、外围功能等部分组成的。如果将单片机比作人,那么CPU是负责思考的,内存是负责记忆的,外围功能相当于视觉的感官系统及控制手脚动作的神经系统。 图1:单片机的构成要素 尽管我们说CPU相当于人的大脑,但是它却不能像人的大脑一样,能有意识的、自发的思考。CPU只能依次读取并执行事先存储在内存中的指令组合(程序)。当然CPU执行的指令并不是“走路”、“讲话”等高难度命令,而是一些非常简单的指令,象从内存的某个地方“读取数据”或把某个数据“写入”内存的某个地方,或做加法、乘法和逻辑运算等等。然而这些简单指令的组合,却能实现许多复杂的功能。 会思考的CPU 让我们从CPU的构成来了解它的作用吧,如图2所示。 图2:CPU的作用 ◇程序计数器CPU读取指令时需要知道要执行的指令保存在内存的什么位置,这个位置信息称为地址(相当于家庭住址)。程序计数器(PC)就是存储地址的寄存器。通常,PC是按1递增设计的,也就是说

计算机基础

亡梦爱人 提交于 2020-04-06 00:32:10
一、为何要学习计算机基础?       Python是一门编程语言,即通俗一点说就是语言。     程序用编程语言来写程序,最终开发的结果就是一个软件。 操作系统 是出现在硬件之上的,是用来 控制硬件的。 所以,我们开发时只需要 调用操作系统为我们提供的简单的接口 就可以了。    如上图所示,我把计算机的系统分为了上面三大块。 硬件,操作系统,应用程序 。 二、计算机硬件介绍 1. 硬件 的目的:为了运行软件给它的一些指令。我们可以优先从硬件中提取出这三个主要的东西,分别是: CPU,内存,硬盘 在计算机中,用来计算的是什么呢?当然是 CPU 了。多数CPU都有两种模式,即内核态与用户态。这里的即内核态与用户态将会在下面的内容中讲到。     CPU是人的大脑,负责运算        内存是人的记忆,负责临时存储        硬盘是人的笔记本,负责永久存储        输入设备是人的耳朵或眼睛,负责接受外部的信息传给CPU        以上所有的设备都通过总线连接,总线相当于人的神经 总线示意图 三、处理器(寄存器及内核态与用户态切换)     1.计算机的大脑是CPU,它从内存中取指令-▶解码-▶执行,然后在取指令,解码,执行,周而复始,直至整个程序被执行完成。    2. 寄存器是一个存储设备, 最快的一种存储设备 就是寄存器。 3.寄存器的分类      

Tiny4412裸机程序之操作ICache

帅比萌擦擦* 提交于 2020-03-25 08:55:32
3 月,跳不动了?>>> 一、首先普及一下什么是Cache 基于程序访问的局限性,在主存和CPU通用寄存器之前设置了一类高速的、容量较小的存储器,把正在执行的指令地址附件的一部分指令或数据从主存调入这类存储器,供CPU在一段时间内使用,这对提高程序的运行速度有很大的作用。这类介于主存和CPU之间的高速小容量存储器称作高速cache。比较常见的cache包括icache和dcache。 icache的使用比较简单,系统刚上电时,icache中的内容是无效的,并且icache的功能是关闭的,往CP15协处理器中的寄存器1的bit[12]写1可以启动icache,写0可以停止icache。icache关闭时,CPU每次取指都要读主存,性能非常低。因为icache可随时启动,越早开icache越好。与icache相似,系统刚上电时, dcache中的内容是无效的,并且dcache的功能是关闭的,往CP15协处理器中的寄存器1的bit[2]写1可以启动dcache,写0可以停止dcache。因为 dcache必须在启动mmu后才能被启动,而对于裸机而言,没必要开mmu,所以本教程的程序将不会启动dcache。 二、再介绍一下ARM协处理器CP15及MCR和MRC指令 在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0

第二章 寄存器基础概念

喜你入骨 提交于 2020-03-24 02:28:53
第二章 寄存器 1. 一个典型的 CPU 由运算器,控制器,寄存器等器件组成。 内部总线实现 CPU 内部各个器件之间的联系。 外部总线实现 CPU 和主板上其它器件的联系。 2.8086 是 Intel 系列中 16 位微处理器,地址总线 20 位。 8086 有 14 个 16 位寄存器: AX , BX , CX , DX ,是通用寄存器 SI , DI , BP , SP ,是基址和变址寄存器 CS , SS , DS , ES ,是段寄存器 IP , FLAGS 是指令指针和标志寄存器。 3. 通用寄存器:一个 CPU 有多个寄存器,用来存放十六位一般性数据 下面以 AX 为例 4. 汇编指令 1.move xx , num   将 num 送入寄存器 xx ; 2.add xx , num   将寄存器 xx 的数值加上 num ; 3.move xx , yy   将寄存器 yy 的数值送入寄存器 xx ; 4.add xx , yy   将寄存器 xx , yy 的值相加并存在 xx 中; 5.所有的内存单元构成的存储空间是一个一维的线性空间。每一个内存单元在这个空间中都有唯一的地址,这个唯一的地址称为物理地址。8086CPU给出物理地址的方法 , CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;

汇编语言 第二章

…衆ロ難τιáo~ 提交于 2020-03-24 02:28:32
1.寄存器 寄存器是CPU中的重要部分,书上学习的8086CPU 的寄存器都为16位的一共有14个。 其中:AX,BX,CX,DX(通用寄存器)为了保持兼容,以上每个寄存器都可以分为两个独立使用的8位寄存器。例如:AX分为AH和AL。 2.字的存储 8086CPU可以一次性处理两种尺寸的数据。(1)字节byte,1字节为8个bit位。(2)字word,由两个字节组成(分为高位和低位字节)。 关于进制:16进制后面是H,二进制后面是B,十进制后面无字母 3.汇编指令mov,add 汇编指令中不区分大小写,使用时应该注意操作对象的大小即数据存储位数是否一致,否则会报错。 4.CPU地址 物理地址:每个内存单元在空间中的唯一地址。 16位结构的CPU:(8086)一次能处理、传输、存储的地址大小为16位。 为了解决8086有20位地址总线但是8086是16位结构,即内部一次性处理、传输、存储的地址只有16位。8086CPU采用内部用两个16位地址来合成一个20位的物理地址。其中两个16位地址分别称为段地址和偏移地址。它们用过内部总线送到地址加法器。物理地址=段地址x16+偏移地址。段地址x16相当于在段地址后面多家一个0(因为是16位的)。段地址存放在段寄存器里,8086有4个段寄存器:CS、DS、SS、ES。其中CS为代码段寄存器。 注:一个地址可以有多种表示方法。 5.CS、IP

[汇编语言学习笔记][第二章寄存器]

十年热恋 提交于 2020-03-24 02:28:16
第二章 寄存器 8086有14个寄存器,分别为AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW。 2.1 通用寄存器 8086CPU的所有寄存器都是16位,可以存放两个字节。 AX , BX , CX , DX 这四个寄存器通常用来存放一般性数据,被称为 通用寄存器 为了兼容之前的8位通用寄存器,将这4个寄存器拆开为8个8位寄存器分别为 H的含义High,高位,L的含义Low,低位 AX=AH+AL BX=BH+BL CX=CH+CL DX=DH+DL 2.2 字在寄存器的存储 因为..x8086架构的原因,未来的字长都指的的是16位(8086机器的一个寄存器大小) 2.3 几条汇编指令 mov ax,18 mov ah,78 add ax,8 mov ax,bx add ax,bx 寄存器的名称不区分大小写 若AX=00C5H,执行add al,93H 后等于多少呢 我原来以为可以变成0158H,看答案才知道因为只是al相见,所以进位必须舍去 答案为0058H 2.5 16位结构CPU 为什么叫16位呢? 运算器一次最多处理16位的数据 寄存器的最大宽度为16位 寄存器和运算器之间的通路为16为 2.6 8086CPU给出物理地址的方法 问题:8086有20位数据总线(1MB寻址能力),但是它是16位CPU内部总线(64K),只能送出16位地址

第二章总结

余生长醉 提交于 2020-03-24 02:27:59
第二章总结 1 、 8086CPU 概述 8086 是 Intel 系列中 16 位微处理器,地址总线 20 位。 8086 有 14 个 16 位寄存器: AX, BX, CX, DX( 通用寄存器) SI, DI, BP, SP (基址和变址寄存器) CS, SS, DS, ES (段寄存器) IP,PSW (指令指针和标志寄存器) ( 汇编语言中不区分大小写 ) 2 、通用寄存器(用于存放一般性数据,每个寄存器均为 16 位) 通用寄存器 AX,BX,CX,DX 均可拆成两个 8 位寄存器(以 AX 为例,低 8 位寄存器为 AL ,高 8 位为 AH )单独使用。 3 、字在寄存器中的存放 字节:内存划分的基本单位( Byte ),一个字节由 8 个 bit 位组成。 字 : 两个字节组成,分别为字的高位字节和低位字节 任何数据到了计算机里都是由二进制数存放的。以 AX 为例可以存 16 位二进制数,每四位二进制数对应一个十六位进制数 十进制数据: 20000 → AX 对应的二进制: 100 1110 0010 0000 B 对应的十六进制: 4E20 H (其中 AL=4EH,AL=20H) 4 、汇编指令 Mov 指令中有两个操作数,作用是将后面的操作数赋给前面的操作数。 Add 指令中有两个操作数,作用是将前后的操作数相加,赋给前面的操作数。 ** 注:( 1 )在

汇编语言第二章

。_饼干妹妹 提交于 2020-03-24 02:27:40
基本框架: 寄存器: 寄存器是cpu的主要部件,是程序员可以用指令读写的部件。 8086cpu有14个寄存器:AX,BX,CX,DX(通用寄存器)SI,DI,SP,BP(基址和变址寄存器)IP,(指令指针和标志寄存器)CS,SS,ES,DS(段寄存器) 通用寄存器:AX,BX,CX,DX。这4个寄存器可以分为两个可独立使用的8位寄存器(最大可以存放值为255的数据)来使用。其中0~7位为低位字节(L),8~15位为高位字节(H),如AH、AL。 一般用16进制来表示一个数据。 字在寄存器中的存储:8086cpu可以一次性处理字节和字两种尺寸的数据 字节:内存划分的基本单位:由8个bit位组成,可以放在8位寄存器中。 字:由两个字节组成,可以放在16位寄存器中。 双字:四个字节。 四字:八个字节。 汇编指令:mov、add: 进位导致的最高位的丢失。(这里的丢失不是cpu真的丢弃这个进位制,存放在别的地方,后面会学) 低位与高位寄存器是两个不同的寄存器,相互是独立的。 在进行数据传送或运算时要注意指令的两个操作对象的位数是一致的。 8086cpu给出物理地址(所有内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间都有唯一的地址)的方法:8086cpu有20位地址总线,但其又是16位结构。所以解决方案:物理地址=段地址*16+偏移地址。 段地址*16:左移4位(2进制