打印

学习贴:什么是哈佛结构?

[复制链接]
1471|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
haotian08|  楼主 | 2012-5-28 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码後得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
  哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。
  目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11。
  哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈.
  例如最常见的卷积运算中, 一条指令同时取两个操作数, 在流水线处理时, 同时还有一个取指操作, 如果程序和数据通过一条总线访问, 取指和取数必会产生冲突, 而这对大运算量的循环的执行效率是很不利的.
  哈佛结构能基本上解决取指和取数的冲突问题.
  而对另一个操作数的访问, 就只能采用Enhanced 哈佛结构了, 例如像TI那样,数据区再split, 并多一组总线. 或向AD 那样, 采用指令cache, 指令区可存放一部分数据.

相关帖子

沙发
abcsmile| | 2012-5-28 09:55 | 只看该作者
挺好的,学习了哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

80

帖子

1

粉丝