当前位置: 首页 > 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执行。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Rust GUI框架Tauri V1 入门
  • 拓扑排序基础
  • 2024 ccpc 网络赛题解
  • Linux标准IO-系统调用详解
  • 产业创新不息,产业运营中心如何成为你的创意孵化器?
  • JAVA字符串操作汇总
  • 门禁系统现场接线图
  • 基于ESP32的管道检修机器人:MQTT协议、SLAM技术栈设计流程
  • 关系数据库设计之Armstrong公理详解
  • PyQt5-QCheckBox-开关按钮
  • 【七篇文章从零速通transformer】01 从零开始解密神经网络:深度学习基础全解析
  • 酒店布草洗涤-酒店分层管理编程实现--———未来之窗行业应用跨平台架构
  • 低代码技术:简化应用开发的未来
  • 基于python+django+vue的医院预约挂号系统
  • HTTP常见状态码 HTTP的逐步发展(通熟易懂版)
  • 【node学习】协程
  • 08.Android之View事件问题
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • CentOS从零开始部署Nodejs项目
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MySQL几个简单SQL的优化
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • React Native移动开发实战-3-实现页面间的数据传递
  • React+TypeScript入门
  • Spring Cloud中负载均衡器概览
  • vue.js框架原理浅析
  • Webpack 4 学习01(基础配置)
  • webpack+react项目初体验——记录我的webpack环境配置
  • 解决iview多表头动态更改列元素发生的错误
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 那些被忽略的 JavaScript 数组方法细节
  • 双管齐下,VMware的容器新战略
  • 通信类
  • 学习笔记:对象,原型和继承(1)
  • 用Python写一份独特的元宵节祝福
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​2020 年大前端技术趋势解读
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $$$$GB2312-80区位编码表$$$$
  • (2)nginx 安装、启停
  • (7)STL算法之交换赋值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二十三)Flask之高频面试点
  • (规划)24届春招和25届暑假实习路线准备规划
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)JPA - JQPL 实现增删改查
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • .“空心村”成因分析及解决对策122344
  • .form文件_一篇文章学会文件上传
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .Net6 Api Swagger配置