当前位置: 首页 > news >正文

硬件开篇——体系架构

1、驱动开发分类:

裸机驱动(无操作系统)——由寄存器控制;Linux驱动。

硬件:

计算机系统:

计算机架构:①冯诺依曼(指令、数据一起)②哈佛(指令、数据分开)

2、s3c2440

系列为ARM920T(32位),指令集为ARMV5TE。

ARM11后有3个系列{cortex - A(Application)、cortex -R(实时性)可用于飞行器等、cortex -M(MCU)单片机。

SOC处理器——8051、DSP、MIPS、PPC、ARM、RISCV。(CPU、MCU、MPU、GPU)

3、存储器分类:

易失性:RAM;非易失性:ROM。

nor flash 可寻址;nadd flash 不可寻址。

4、封装方式:

TSOP:可见引脚;BAG:一体成型;COB。

5、总线结构:

单总线结构;多总线结构。

(1)ARM 37个32-Bits长的寄存器.
 1 个用作PC( program counter)
 1个用作CPSR(current program status register)
 5个用作SPSR(saved program status registers)
 30 个通用寄存器

(2)Cortex体系结构下有40个32-Bits长的寄存器
 Cortex-A多出3个寄存器,Monitor 模式 r13_mon , r14_mon, spsr_mon
 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取:
 相应的r0-r12子集
 相应的 r13 (the stack pointer, sp) and r14 (the link register, lr)
 相应的 r15 ( the program counter, pc)
 相应的CPSR(current program status register, cpsr)
 特权模式 (除system模式) 还可以存取;
 相应的 spsr (saved program status register)

6、异常处理(初始化向量表)(低5位切换)

 当异常产生时, ARM core:
         拷贝 CPSR 到 SPSR_<mode>
        设置适当的 CPSR 位: 偏移量
        改变处理器状态进入 ARM 态
        改变处理器模式进入相应的异常模式
        设置中断禁止位禁止相应中断 (如果需要)
        保存返回地址到 LR_<mode>
        设置 PC 为相应的异常向量
 返回时, 异常处理需要:
        从 SPSR_<mode>恢复CPSR
        从LR_<mode>恢复PC
        Note:这些操作只能在 ARM 态执行.

注:有7种异常类型。

3级流水线:F取址、D解码、E执行。


http://www.mrgr.cn/news/29854.html

相关文章:

  • 车-路-站-网”信息耦合的汽车有序充电
  • The 3rd Universal CupStage 15: Chengdu, November 2-3, 2024(2024ICPC 成都)
  • 网站运营:如何从零开始做好网站内容建设?
  • vue2使用 <component> 标签动态渲染不同的表单组件
  • 基于ZYNQ7035的PS-linux实现FTP服务器移植
  • C语言数据结构与算法--简单实现队列的入队和出队
  • 408算法题leetcode--第八天
  • [Redis][Redis简介]详细讲解
  • 【无标题】Java_Se 数据变量与运算符
  • Linux C高级 day1
  • 7.7opencv中(基于C++) 翻转图像
  • Linux运维篇-服务器简介
  • 微博计算架构实战
  • Linux进阶 查看系统进程
  • 【漏洞复现】Nacos Derby SQL注入漏洞
  • Java中的语法糖:让编程更简洁的特性
  • 15. 三数之和(左右指针)
  • 【protobuf】ProtoBuf的学习与使用⸺C++
  • Springboot多种请求参数
  • 单细胞BCR的分析Dandelion重注释的安装以及用法----11111
  • java高频面试题(2024最新)
  • MySQL高阶1831-每天的最大交易
  • 视频转文字工具:开启视频内容深度挖掘的钥匙
  • Longman Dictionary of Contemporary English (朗文当代高级英语辞典)
  • [语言月赛 202408] 因友情而终结
  • linux网络编程2