RISC和CISC的区别

CISC(complex instruction-set computer)复杂指令集
特点:
指令较多,较丰富,CISC的CPU 较难设计,Intel是典型的CISC体系CPU。

RISC(reduce instruction-set computer) 精简指令集
特点:
指令较少,只提供最基本的指令集,其他功能指令都由程序员根据这些基本指令组合编写完成,指令集中并不提供。RISC指令集较为灵活,RISC指令集的CPU一般都是低功耗CPU。ARM是典型的RISC体系CPU

CPU的发展方向,RISC和CISC 结合,互相取长补短。

统一编址和独立编址

CPU访问内存的方式:直接访问(CPU总线)
CPU访问外设的方式有两种
一种是,把外设的寄存器当作是一个内存地址,直接像访问内存那样访问外设。(I/O与内存统一编址)
一种是,使用专用的CPU指令来访问某种特定外设。(I/O与内存独立编址)

冯诺依曼结构和哈佛结构

冯诺依曼结构:程序和数据都放在内存中,彼此不分离。
优点:CPU处理起来比较简单,取到指令的同时也取到了数据。
缺点:指令在内存中,不是只读的,可能会意外修改指令,造成程序稳定性和安全性(内存病毒)问题。
桌面计算机,服务器等多是冯诺依曼结构

哈佛结构:程序一般放在ROM,FLASH中,数据放在RAM中。
程序和数据都要通过总线读取,且程序段只读。
单片机,嵌入式处理器多是哈佛结构。

软件编程控制硬件的关键—寄存器

寄存器就是一些有特殊功能的内存位。
特殊功能指,更改这些位的数值可以改变外设的工作状态(引脚电平等等)。

SOC中的两类寄存器
一类是通用寄存器,存在于CPU内部。
一类是特殊功能寄存器(SFR(special function register)),这类寄存器,往往扮演CPU操作外设的接口的角色。

ARM体系结构要点总结

ARM处理器多是哈佛结构(ARM7除外),RISC指令集架构,低功耗CPU,非常适用于单片机,嵌入式领域;
常用的指令只有二三十条;
ARM是统一编址的,32位ARM CPU支持的内存往往少于4个G(I/O和外设占用一部分地址空间)。

哈佛结构决定了ARM裸机程序的链接比较麻烦,必须使用复杂的链接脚本告诉链接器如何组织程序。

总结

此部分主要讲解计算机CPU的一些基础知识。

朱老师ARM裸机学习笔记(一):计算机基础知识相关推荐

  1. 朱老师ARM裸机学习笔记(四):S5PV210启动过程详解

    常用器件特性 内存: SRAM 静态内存 特点就是容量小.价格高,优点是不需要软件初始化直接上电就能用 DRAM 动态内存 特点就是容量大.价格低,缺点就是上电后不能直接使用,需要软件初始化后才可以使 ...

  2. 嵌入式知识-ARM裸机-学习笔记(2):利用GPIO来控制LED(附mkv210_image.c文件解析)

    嵌入式知识-ARM裸机-学习笔记(2):利用GPIO来控制LED(附mkv210_image.c文件解析) 首先声明该博客是针对朱有鹏老师的嵌入式课程进行笔记的总结. 一.通过GPIO控制点亮LED( ...

  3. 嵌入式知识-ARM裸机-学习笔记(12):ADC模数转换器

    嵌入式知识-ARM裸机-学习笔记(12):ADC模数转换器 一.ADC 1. 什么是ADC ADC(analog digital converter):模数转换(也就是模拟量转换为数字量).由于CPU ...

  4. 嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210)

    嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210) 一.SD卡介绍 1. SD卡背景知识和特点 SD卡.MMC卡.MicroSD.TF卡:这些卡其实内部就是Flash存储颗粒,比 ...

  5. 嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT)

    嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT) 一.定时器 1. 定时器简介 定时器是SoC中最常见的外设 (1)定时器与计数器.计数器是用来计数的(每隔一个固定时间会计一个数 ...

  6. 《Java并发编程实践》学习笔记之一:基础知识

    <Java并发编程实践>学习笔记之一:基础知识 1.程序与进程 1.1 程序与进程的概念 (1)程序:一组有序的静态指令,是一种静态概念:  (2)进程:是一种活动,它是由一个动作序列组成 ...

  7. 前端学习笔记(js基础知识)

    前端学习笔记(js基础知识) JavaScript 输出 JavaScript 数据类型 常见的HTML事件 DOM 冒泡与捕获 流程控制语句 for..in 计时器 let,var,const的区别 ...

  8. JAVA学习笔记(1)【基础知识】

    JAVA学习笔记DAY_1 提示:关于java系列的内容只是本人在老师的指导下和自学过程中的一些学习笔记,如果存在错误敬请批评指正! 文章目录 JAVA学习笔记DAY_1 前言 一.Java语言未来的 ...

  9. Python基础笔记_Day01_计算机基础知识和Python开发环境搭建

    Day01_计算机基础知识和Python开发环境搭建 目录 01.01_计算机基础知识(计算机概述)(了解) 01.02_计算机基础知识(软件开发和计算机语言概述)(了解) 01.03_计算机基础知识 ...

最新文章

  1. mysql简易oa系统_基于mybatis设计简单OA系统问题2
  2. Android之ListActivity(一):布局与数据绑定
  3. 凌亮:动手学数据分析笔记
  4. java 程序分析题_java程序入门50题分析:002
  5. 我儿子现在读一年级,到现在读了3个月,这个是今天老婆叫我给他打印的英语卡片,晕啊...
  6. 关于TensorFlow开发者证书,你想要的资源都在这里!
  7. ui自动化测试框架_浅谈前端(UI)自动化测试
  8. nginx+memcache实现页面缓存应用
  9. imos style android,自定义的第一个view
  10. STM32 IIC详解
  11. RabbitMQ 线上事故!慌的一批,脑袋一片空白……
  12. AK的故事之英语学习篇(mistake)
  13. 图书馆占座系统-产品需求规格说明书
  14. java常用设计模式详解及应用
  15. “我们”是量子计算业内人士,“我们”在炒作
  16. Emmagee 不支持android7.0以上,社区努力中~
  17. IndentationError: expected an indented block解决方案
  18. 美团跑腿地址选择器流程图[小程序]
  19. Oracle数据优化,超级全
  20. java将链接生成二维码工具类

热门文章

  1. 加州自驾游交规停车等注意事项
  2. java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?...
  3. 身高条件影响大,八成女性不嫁比自己矮的男生
  4. jquery validate highlight unhighlight,errorPlacement 合理使用
  5. 批量将CAD转PDF用什么软件方便
  6. python葡萄酒品质分析
  7. linux、C++、Java、HTML 语言学习资料总结
  8. 云课堂缺勤补签软件_在线课堂回顾 | 一小时玩转高通量虚拟筛选
  9. 李宏毅学习笔记38.GAN.09.Improving Sequence Generation by GAN
  10. 【愚公系列】2022年04月 微信小程序-项目篇(公交查询)-03周边站点-获取周边站址