嵌入式学习之旅:stm32f103 第一篇(微型计算机的相关概念)

使用板子:正点原子STM32f103ZET6精英板

板子资料:

精英板资料:
http://www.openedv.com/docs/boards/stm32/zdyz_stm32f103_jingyingV2.html
开发板资料A盘: https://pan.baidu.com/s/1iebOVd87jBVtoudMijboIg
提取码:1ypa

一、ASCII码表

二、微型计算机的两种体系结构

(所有计算机都是这两种结构)

1、冯·诺依曼结构

结构图 :在这里插入图片描述
特点:
(1)、计算机处理的数据和指令一律用二进制数表示,并储存在同一个地方。
(2)、计算机顺序执行程序,即要把执行的程序和处理器的数据首先存储入主存储器,执行程序时,自动的并按顺序的从主存储器中取出指令一条一条执行。
(3)、计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
​​

2、哈佛结构

结构图:
在这里插入图片描述
1、哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,与两个存储器相对应的是系统的4条总线:程序的数据总线与地址总线、数据的数据总线与地址总线。
2、与冯·诺依曼结构相比,有两个明显的特点:一是使用两个独立的存储器模块,每个存储模块都不允许指令和数据并存;二是使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,这两条总线毫无关联
(CM3处理器使用的就是哈佛结构)

三、CISC和RISC的概念

1、CISC是指复杂指令系统计算机(Complex Instruction Set Computer); RISC是指精简指令系统计算机(Reduced Instruction Set Computer)。
……CICS基本上是一个功能对应一条指令,它的特点是指令系统庞大,指令功能复杂,指令格式、寻址方式多;绝大多数指令需要多个机器周期完成;各种指令都可以访问存储器,采用微程序控制;专用寄存器少。
……RISC技术的基本思想就是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把复杂的功能用一段子程序来实现。RISC技术的精华就是通过简化计算机指令功能,使指令的平均执行周期减少,从而提高计算机的工作频率,同时大量使用通用寄存器来提高子程序的执行速度。

四、微型计算机系统组成

……微型计算机系统由硬件系统和软件系统两部分组成。硬件系统构成微型计算机的物理设备,软件系统则是在硬件系统中运行的各类程序。

1、硬件系统的组成

请添加图片描述
……如图,硬件系统主要由CPU、主存储器、输入/输出接口及设备等电路组成,它们以微处理器为核心,通过地址总线(Address Bus AB)、数据总线(Data Bus DB)和控制总线(Control Bus CB)三总线连接起来。
……总线结构的优点是会使整个系统结构非常清晰,简化了系统结构和硬件设计,便于采用模块化结构设计方法。同一个总线标准下,系统的扩充性好,同时便于故障的诊断与维修。
……其缺点是利用总线传送具有分时性,当有多个主机同时申请总线的使用时必须进行总线的仲裁。

(1)微处理器(CPU):

CPU是硬件系统的核心部件。

(2)主存储器:

……主存储器是计算机程序代码和数据存放的地方,是计算机具有记忆能力的物质基础。主存储器是以存储单元进行管理的,一个存储器单元由8位二进制数构成(1byte = 8bit 对与STM32,是32位操作系统所以一个地址对应的是4*8=32 即4个字节)
……每一个存储单元都有一个地址编码,在存储数据时需要CPU产生相应存储单元的地址编码,通过地址总线传送到存储器电路。经过地址译码选择需要操作的存储单元,从而完成对指定存储单元的读/写操作。(码与数不同,数是用来运算的,而码只是用来表达的,如1+1=2和手机号相比前者是数,后者为码,所以对于码来说意义变得非常重要,同一种数字组合在不同的编码方式下有着不同的含义,如BCD码与ASCII码,所以必须要有编码与译码的过程)。

(3)I/O接口及设备(Input/Output)

……I/O接口是CPU与外部设备之间的桥梁,所有输入/输出设备都必须通过I/O接口才能与CPU连接。输入/输出设备是实现人机交互的部件,常用的输入设备有键盘、鼠标、扫描仪等,常见的输出设备有显示器、打印机等。(一个CPU的功能强大与否与取决于它的I/O口数量,STM32F103系列的引脚数有144个其中I/O口的数量为112个,除了I/O口之外的为VCC与GND)

(4)总线

……总线是微型计算机各个部位连接的纽带,是各个功能部件之间进行信息交换的公共通道。
……各个部件连接在总线上必须经过三态门,当功能部件需要与CPU进行交换信息时,相应的三态门打开;不交换信息时相应的三态门处于高阻状态。
……地址总线:地址总线是CPU向外输出的单向三态总线,用于传输CPU发出的地址编码信息,以便选中操作的存储单元或I/O端口。地址总线的数目越多,表明计算机的寻址空间越大。如果一个CPU具有32条地址总线,则用A0~A31表示,其寻址空间为 2 32 = 4 G B 2^{32}=4GB 232=4GB
……数据总线:双向总线,用于CPU与主存之间或CPU与I/O口之间传输数据。数据总线宽度越宽,表明一次传输的信息量越大,如果一个计算机的数据总线是8位则用D0 ~ D7表示,一次传输1字节;32位数据总线一次可传输4字节。
……控制总线:双向总线,用来传送控制信号,以保证计算机各部件协调工作。有些控制信号是由CPU发给其他部件的,如读/写信号;有些则是其他部件发送给CPU的如中断请求信号。控制信号一般不经过三态门。
……三态门:
TTL三态门电路
在这里插入图片描述
如图是TTL三态门电路图及工作原理。总之三态门是具有三个状态的门电路(低电平、高电平、高阻态),其状态由控制信号EN来决定。对于总线来说当某一部件完成了仲裁发送出低电平信号使三态门打开,而其他部件为高电平信号三态门关闭(如地铁的上下站一样),这就保证了信号传输的准确。

2、软件系统组成

……微型计算机软件系统包括系统软件和应用软件两类
系统软件主要包括:
(1)、各种程序设计语言的汇编、解释、编译等程序;
(2)、各种监控管理程序、调试程序、故障检查程序、诊断程序等;
(3)、操作系统,比如Windows、UNIX等;
(4)、各种编程软件,如Visual C++等

微型计算机的工作过程

(STM32F103采用的是哈佛结构、三级流水线的工作模式)
……微型计算机必须在硬件和软件的密切配合下才能正常工作。在工作之前,必须将程序存放在主存储器内,每一条指令都有唯一的操作码,它代表了操作的性质。绝大多数指令还有操作数,它是操作的对象。计算机的工作过程就是按照程序安排指令顺序和逻辑一条一条的执行,具体步骤如下:
(1)程序的起始地址存放在程序指针PCProgram Counter)中,将PC中的地址信息发送到地址总线上,经过地址译码找到相应的存储单元,将指令代码取出,并将取出的代码送到指令寄存器IR中。
(2)将指令代码发送到指令译码器ID进行译码,得到各种控制信号,指挥CPU各部件协调工作。
(3)算数逻辑单元ALU对操作数进行运算,并存放运算结果,更新标志寄存器FR内容
(4)程序指针PC的值自动加1,指向下一个存储单元,开启新的指令代码
综上所述其工作过程简化后如下图:
在这里插入图片描述
……上述过程中,取指令、译码指令、执行指令三个过程不能同时进行,总有两个出入空闲状态,如果能使它们同时工作,则CPU的工作效率将大幅提高,指令执行速度将成倍增加
……指令流水线就是针对这一问题而提出的,它把取值、译码、执行这三个阶段并行运行。三级流水线过程如图:
在这里插入图片描述
……由于每一条指令的执行时间不同,并且取指、译码和执行这三个阶段所需要的时间也不同,因此三级流水线也不能完全充分发挥每一个功能部件的效能。同时当执行转移或调用子程序等改变程序直线执行方向的指令时,指令流水线上的指令将全部作废。为了进一步提高效率,可将执行过程分的更细,增加流水线级数,比如将执行过程分为取指、译码、操作数地址计算、取操作数和写操作数6个步骤,就形成了6级指令流水线。
……现在的CPU都采用了多级指令流水线技术。越是复杂的指令集,所需要的流水线级数就越多,当然不是越多越好,要按照处理器的需求来定。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值