搜索
bottom↓
回复: 9

AVR单片机嵌入式系统原理与应用实践(第2版)勘误

[复制链接]

出0入0汤圆

发表于 2011-11-14 18:29:13 | 显示全部楼层 |阅读模式
P24 第1行,PWD改成PWM
p31 第15行,采用这种结构,减少了取指令的次数,我觉得次数不对,次数没有减少,只是在执行指令的时候同时就下一条指令进行取操作,是这样节省的,减少了单独取指令的时间

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2011-11-14 20:15:09 | 显示全部楼层
谢谢楼主的问题指出。
第1个是我的笔误了,我看了一下,第1版也是错的,这个部分第2版没有变化,所以这个笔误延续到第2版。

第2个问题与AVR的硬件结构相关,归纳关键就是16位指令(和指令总线)宽度+RISC指令结构。一般的学习者和应用工程师体会不到的,应这样理解:

AVR内部有两条数据总线,一个是大家容易理解的8位数据总线,与外设单元、RAM交换数据,而另一条是16位的数据总线,与FLASH交换数据(主要是取指令),这也就是真正的AVR指令空间是以字为单元的原因。如果一条指令的宽度为16的话,那么一次取指令的把操作就把整个指令取到了。由于AVR还有少数2个字长的指令,所以AVR官方也只能给出接近1MPS的指标。

而尽管MSC-51内部也两条数据总线,但其与FLASH(程序空间)的总线为8位宽度,如果一个指令为8位的话,一次取操作就完成,16位的指令就需要取2次。

另外,51的指令系统是采用SISC结构的,不定长的,有1、2、3、4个字节不同的长度。如果当前指令执行需要1个CLK,但下面是个4字节的指令,那么在执行当前指令的同时,是不能把下一个指令全部取到的,就需要等待了。

出0入0汤圆

发表于 2011-11-15 05:46:51 | 显示全部楼层
楼上,以下网上的转摘提供参考。

基本定义:

冯诺依曼架构: 把代码当作一种特殊的数据 来操作;指令总线和数据总线及其存储区域是统一的;

哈佛结构:指令总线和数据总线及其存储区域是分开的,独立的;

------------------------------------------------------------------
关于51的讨论:

关于这个问题,有人说51地址数据口线复用,就是冯诺依曼结构。
很多入门的书上基本上都说:由运算器、控制器、存储器、输入设备、输出设备组成的系统都叫冯氏结构。
也有的说:“程序存储器的数据线地址线”与“数据存储器的数据线地址线”共用的话,就是冯氏结构,所以51是该结构。
  
其实,冯氏结构与哈佛结构的区别应该在存储器的空间分别上,哈佛结构的数据区和代码区是分开的,它们即使地址相同,但空间也是不同的,主要表现在数据不能够当作代码来运行。
  
把口线复用,就将它认为成冯氏结构,这样不足取,应该是按照空间是否完全重合来辨别。比如PC机的代码空间和数据空间是同一空间,所以是冯氏结构;51由于地址IO口不够,采用复用,但代码空间和数据空间是分开的,所以还是哈佛结构。
  
  
另外,还有的把CISC、RISC和地址是否复用等,来判断是哪种结构,把这3者混到一起。其实这三者没有必然的关系。只不过RISC因为精简了指令集,没有了执行复杂功能的指令,为了提高性能,常采用哈佛结构,并且不复用地址线。

---------------------------------------------------------------------------
    有本书:嵌入式微处理器系统设计实例,英文版 embedded microprocessor systems:real world design third edition 上有这样一个提法 :   大多数采用哈佛结构的微处理器实际上使用的是一种经过改进的哈佛结构体系,在改进结构下,虽然代码和数据还是分开的,但该体系支持从代码区载入有限的数据,并可在运行时使用这些数据。   
  
摘抄一段:
  
    哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。  
  
     哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构  
  
     冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
  
     目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。
  
在DSP算法中,最大量的工作之一是与存储器交换信息,这其中包括作为输入信号的采样数据、滤波器系数和程序指令。冯?诺依曼结构中,只有一个存储器,通过一条总线来传送数据。乘两个数至少需要3个指令周期,即通过总线将这3个数从存储器中送到CPU。所以这种结构在面对高速、实时处理时,不可避免地造成总线拥挤。为此,哈佛大学提出了与冯.诺依曼结构完全不同的另一种计算机结构,人们习惯称之为哈佛结构。它根据数据和数据指令将存储器和总线分开。因此,总线操作是独立的,能同时取指令和数据,提高了速度。目前DSP内部一般采用的是哈佛结构,它在片内至少有4套总线:程序的数据总线,程序的地址总线,数据的数据总线和数据的地址总线。这种分离的程序总线和数据总线,可允许同时获取指令字(来自程序存储器)和操作数(来自数据存储器),而互不干扰。这意味着在一个机器周期内可以同时准备好指令和操作数。超级哈佛结构(super Harvard architecture,缩写为SHARC)如图(c)所示,它在哈佛结构上增加了指令cache(缓存)和专用的I/O控制器。

出0入0汤圆

发表于 2011-11-15 06:13:07 | 显示全部楼层
关于cisc\risc和哈佛结构\冯·诺伊曼各有自己的特点,现在的东西也多为改进或改良的,使几个方面结合,获得比较好的处理效率和速度。

     但在我的教程中重点不是讨论结构的问题,只是介绍AVR所采用的结构,以及这种结构的主要特点:

1.采用哈佛结构+流水线技术,在执行指令的时候同时实现对下一条指令进行取操作;
2.大部分指令宽度为16,指令总线宽度为16,因此一次取指令操作就可以把整个指令取出;

文中提到的“减少了取指令的次数”是与CISC比较的。或者说与传统的标准mcs-51比较。

出0入0汤圆

 楼主| 发表于 2011-11-15 07:40:02 | 显示全部楼层
这样就清楚了,原以为跟自身比的

出0入0汤圆

发表于 2011-11-15 12:59:16 | 显示全部楼层
回复【7楼】renpeng009 老醯儿
回复【4楼】machao  
-----------------------------------------------------------------------
跟我质疑的完全两个方向。msc-51明显只有一条总线。
-----------------------------------------------------------------------

理解方式不同。msc-51可以说只有一条总线,但它是复用的,实际上起到(或者说完成)两条总线的功能。因为51的数据空间和指令空间是2个不同的空间。

1. 物理上一条总线,但是复用,因此逻辑上形成2条总线。
2. 物理上2条总线,不用复用,物理和逻辑上都是2条总线。

复用总线的缺点,就是形成瓶颈,影响效率和速度。优点是结构相对简单

出0入0汤圆

发表于 2012-8-20 21:46:44 | 显示全部楼层

老师好好,请教一下:
第二版 P196
void HC164_send_byte(char byte)
{
     char i;
     for(i=0;i<=7;i++)
     {
           HC164_data = byte & 1<<i;
           HC164_clk = 1;
           HC164_clk = 0;
     }
}
不是上升沿才送数据吗?如果是的话,那HC164_clk是不是先0后1呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 18:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表