计算机体系结构的发展及技术问题探讨
2009-07-23
作者:肖朝晖
摘 要:回顾了计算机体系的发展历程,并分析了计算机体系的发展和技术研究的关键: Cell和多核等新型处理结构和可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算" title="可重构计算">可重构计算技术。提出了新的计算机体系结构,为计算机研究和应用提供参考。
关键词:计算机体系;可重构;多核
现代计算机的发展历程可以分为2个时代:串行计算时代和并行计算时代。并行计算是在串行计算的基础上,由一组处理单元组成,处理单元彼此通过相互之间的通信与协作,共同高速完成一项大规模的计算任务。而每一个计算时代都是从体系结构的发展开始,然后才是基于该结构的系统软件(特别是编译器与操作系统)、应用软件的发展,最后随着问题求解和发展而达到顶峰。
1 计算机体系的发展历程
随着计算技术的发展,计算机体系也在不断发展变化。20世纪60年代初期,随着晶体管和磁芯存储器的出现,处理单元和存储器实现小型化,并行计算机开始出现。到了20世纪60年代末期,单一处理器中可以集成多个功能单元,产生了流水线技术。该技术与单纯提高CPU时钟频率相比,大大提高了并行计算机系统的性能。
当时,伊利诺依大学和Burroughs公司开始着手实施Illiac Ⅳ计划,研制1台64颗CPU的SIMD主机系统,涉及到相关硬件技术、体系结构、I/O设备、操作系统、程序设计语言,以及包括应用程序在内的众多研究课题。1975年,随着一台规模大大缩小的原型系统(仅使用了16颗CPU)的面世,新的计算技术也得到了发展。
首先是存储系统的概念,提出了虚拟存储和缓存的思想,大大提高了计算机的整体性能。其次是半导体存储器开始代替磁芯存储器,大大缩小了存储器的体积并提高了访存速度。集成电路技术也被广泛而迅速地应用到计算机技术中。
1976年Cray-1问世,向量计算技术被应用到高性能计算机中。Cray-1对所使用的逻辑电路是经过精心设计的,采用RISC精简指令集,引入向量寄存器,完成向量运算。
20世纪80年代开始,微处理器技术高速发展。此时,微处理器随着机器的字长从4位、8位、16位一直增加到32位、64位,其性能也随之显著提高。卡内基·梅隆大学提出共享存储多处理器体系结构,并在当时流行的DEC PDP-11小型计算机的基础上研制出1台由16台PDP-11/40处理机通过交叉开关与16个共享存储器模块相连接而成的共享存储多处理器系统C.mmp。伯克利加州大学对基于SMP方式的总线协议进行扩展,提出了Cache一致性问题的处理方案。从此,C.mmp开创出的共享存储多处理器体系结构便成为服务器和桌面工作站的主流。
20世纪80年代中期,基于消息传递机制的并行计算机开始出现,加州理工学院将64个i8086/i8087处理器通过超立方体互连结构连接起来。此后,便先后出现了Intel iPSC系列、INMOS Transputer系列、Intel Paragon,以及IBM SP的前身Vulcan等基于消息传递机制的并行计算机。
20世纪80年代末到20世纪90年代初,共享存储器方式的大规模并行计算机又获得了新的发展。IBM将大量早期的RISC微处理器通过蝶形互联网络连接起来。斯坦福大学提出DASH计划,通过维护1个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性技术,IEEE在此基础上提出了缓存一致性协议的标准。从20世纪90年代末开始,以前发展的主要几种体系逐步走向融合,同时随着新技术的出现又为新的架构带来了新的革命。
2 Cell和多核等新型处理器结构带来新的方向
随着人们对计算机CPU速度的不断追求和微电子技术的发展及限制,一种新的处理器结构开始出现,它就是Cell和多核架构技术的实现。
Cell架构是1个单芯片多核处理单元,处理单元之间共享存储器资源。与多核处理器不同,Cell主要采用协处理器方式,然后依靠多个处理器并行技术来实现运算速度的提高。尽管存在应用程序难以充分利用的弊病,但是其综合效率以及功耗控制都非常理想,开创了完全可扩展的架构模式。从而为大型机、服务器、以至包括手机在内的所有消费类电子产品提供1个统一的架构平台。只需要改变频率、内核数量等相关参数,即可保证在1个机器上开发、在所有机器上运行,大大节省了软件移植所带来的费用。因此,使用Cell的手机完全可以与相应的服务器进行直接沟通和资源共享,从而把这些小资源集合成为一个庞大的计算资源,构成一个真正的信息化时代。在这个资源体系中,每个资源节点可能是微不足道的,但是每个节点的运算都可能被整个资源库无穷放大,从而构成一个完整的Cell网络,为消费类电子的信息网络化带来真正的革命。
多核处理器的出现则是一场新的计算方式的革命[1,2]。2006 年,处理器开始从单核向多核处理器发展,多核处理器已不再局限于高端服务器,开始向 PC机普及,多核处理器使 PC 机变成并行式计算机。在多核处理器逐渐成为市场主导后,怎样利用多核的优势来优化并行程序设计成为一个需要研究和解决的问题。多核设计的出现为摩尔定律转向基辛格规则带来了生命力。英特尔推出了双核、四核至强和双核安腾处理器,AMD也推出了双核、四核皓龙芯片,IBM的Power5+芯片也是双核设计,针对HPC和图形运算的Cell芯片更是拥有1+8个核,SUN公司的Ultrasparc T1拥有8个核,Clearspeed(96核)、思科NPU(192核)、RIKEN(512核)更是推出了拥有数十个甚至数百个核的芯片,预计到2020年,千核CPU也会诞生。同时,多核技术在高性能计算中也已获得了广泛应用。
3可重构计算技术带来新的亮点
以前的计算机硬件技术都是固件化的,无法随着环境的改变而改变,产生大量的电子垃圾,不利于环保经济的发展,而可重构计算技术的出现则为我们带来了曙光。可重构计算就是通过实现硬件的可编程技术来满足不同计算任务的需求,从而达到最佳性能,且要求这种硬件结构的变化能实时地适应计算任务要求的变化。这种体系结构可变的特点,可以满足实际应用中的多元化需求。实现可重构计算的底层技术有FPGA(现场可编程门阵列)和CPLD编程技术。
在处理器芯片体系结构设计中采用可重构计算技术的基本思想是通过动态配置片上大量的处理单元、存储单元和互连单元,来支持各种不同类型并行性的计算模型,从而能在一个很宽的应用范围内达到高性能,提高片上硬件资源的利用率。基于可重构计算技术实现的多型微处理芯片体系结构能够很好地利用半导体技术发展提供的能力,在解决应用的多样性问题的同时,还可解决片上资源利用率、设计复杂性、系统可靠性以及降低成本和功耗等多方面的问题。可重构计算技术在处理器芯片设计中的应用改变了传统的指令集体系结构、微体系结构设计和实现技术。
可重构计算技术[3-5]使计算机硬件的设计不再复杂,硬件不再只是“硬”,也具备“软”的特性,即硬件可“编程”。在可编程的介质中提供强大的计算能力和密度,使得在单片系统上以低硬件复杂度开发出各种类型的应用, 同时能够针对应用中固有的并行性特征动态配置多个微体系结构模型,从而大幅度提高计算系统性能、降低功耗和设计的复杂性。
在设计中通常采用“自顶向下”的方法,即把系统分为若干模块。原则是使得每个模块有较独立的功能,模块之间的耦合尽可能小(通常表现为相互通信尽量简单)。划分之后,再分别实现每个模块,最后把模块像搭积木似地组装起来。其中某些模块可以做成现成的,可供设计时使用,即IP核心,它可以重复使用,从而提高了设计效率。再配合成熟的EDA工具作为设计流程的工具链,这样设计就显得相对容易。当然相对使用高级语言的软件编程,仍然是难于设计和缺乏灵活性的,其实IP的思想与软件的静态链接库很相似。可以把IP核心封装成软件可调用的库的形式。库分为静态库和动态库,动态库允许在程序执行时按需加载和卸载。这相当于硬件在设计运行时,IP核心可以动态地载入和卸出,当然前提是并不破坏原有程序和数据。把IP核心封装成动态库,将是可重构计算平台最为核心的思想。
随着芯片设计技术的SoC化,如何在1个芯片中集成很多现有的IP核,快速设计系统成为未来研究发展的重点。这时,IP核的可重用性和可更改性就成了最关键的技术,而开放源码的IP核将提供方向。中国有案可查的开放源码硬件项目是2001年3月启动的OpenARM项目,在“中国芯”盛行的那几年里,不少学校和研究单位参考开放源码的处理器设计了自己的微处理器。这个时期,中国利用开放源码硬件的资源进行IC设计的方法开始悄然流行。中国工程院院士许居衍的论文《半导体特征循环与可重构芯片》中基于此技术的发展提出 “许氏循环”[3],半导体产品的主要特征将沿着“通用”与“专用”循环波动,每10年1次,从2018年~2028年,将会重新走向通用。“许氏循环”发展图如图2所示。
许居衍的依据是,因为“可重构计算是1个难度颇大、涉及面甚广的课题,尽管当前很多人在研究,但是无论在器件结构、系统结构还是在设计方法学方面,均存在不少问题,仍有很长的路要走。可重构计算技术的发展,最终将推动主流应用进入U-SoC通用波动。只通过对‘毛坯芯片’(Raw Chip)的配置编程就可以得到用户自定义的功能电路,从而引导半导体产业结构演变,最终促进芯片应用创新Designless 模式的兴起”。所谓的Designless,就是无需设计、自动生成集成电路,工程师只需要关注应用和功能层面即可。但实现Disignless的前提是必须软硬件都开放。因为如果只开放软件,不知硬件细节,还是无法生成一个完整设计。因此,一个逻辑的发展应是“硬”、“软”均可编程,即算法可编程、可重构器件也可编程的U-SoC。
4 可重构技术与多核技术的融合
自从计算机发明以来,冯·诺依曼体系结构一直占据计算机体系结构的统治地位,科学家和工程师们在此基础上不断研究硬件和软件,使CPU和存储器技术得到了飞速的发展,也为信息化、网络化奠定了基础。随着人们对信息化的要求越来越高,冯·诺依曼体系结构已经无法满足人们的技术需求和发展要求,对计算机的要求不再仅仅是高速计算,同时更应具备信息处理和智能升级能力。可重构技术与多核技术的出现为此提供了基础。笔者认为新的计算机体系结构将是:(1)CPU将不再由1个核组成,而是由多个核组成的Cell;(2)存储器将不是中心,取而代之的将是信息通路;(3)计算机不再是五大部件,而是由多个信息处理节点构成,每个节点的智能化[5]和集成化越来越高;(4)程序设计将包括软件和硬件设计,生产商们提供的产品将是一个个封装好的中间件,作为应用者将勿需关心程序设计,只需要关注专业设计,对于应用者将会更加友好。新的计算机体系结构如图3所示。
全文回顾了计算机体系的发展历程和新技术,并分析了目前计算机体系的发展和技术研究的关键: Cell和多核等新型处理结构和可重构计算技术,提出了新的计算机体系结构,为计算机研究和应用提供了参考。
参考文献
[1] 许居衍,尹勇生.半导体特征循环与可重构芯片[J].嵌入式系统与应用,2005,(2-3):2-4,(4):2-5.
[2] 薛小菁,余立民.可重构和多核技术对嵌入式系统设计的影响 计算机工程[J].2008,34(B09):19-21.
[3] CHAKRABARTY.K. SoC (System-on-a-Chip)testing for plug and play test automation[M]. New York : Springer Verlag, 2002.
[4] LIU Li Min. A prototyping IP hardware for SOPC with single instruction driving[C]. 2006 International Conference on Communications, Circuits and Systems Proceedings, IEEE Press, 2006, 559-562.
[5] 姚爱红,张国印,关琳.基于动态可重构FPGA的自演化硬件概述[J].智能系统学报,2008,3 (5): 437-441.