CPU源代码分析与芯片设计及Linux移植
基本信息
编辑推荐
畅销书作者倪继利最新力作
CPU核心技术的深入剖析,国内第一本介绍实用32位CPU逻辑实现及将CPU设计成芯片版图方法的著作!...
推荐阅读
内容简介回到顶部↑
本书全面系统地讲解了cpu的芯片设计技术。书中详细分析了开放源代码32位risc cpu(or1200)的源代码、编译器的移植、linux操作系统的移植,介绍了cpu源代码在fpga上的实现方法,说明了cpu芯片的全定制设计方法。
作者不仅分析了源代码,而且进行了芯片设计实现,并详细讲述了设计方法。本书的内容全面、深入、系统,融入了作者长期的芯片设计经验,这使本书对开发人员更有实际的指导意义。
本书主要针对从事芯片设计的中高级读者及芯片设计工程师,也适合作为大学教材和参考书。
作者不仅分析了源代码,而且进行了芯片设计实现,并详细讲述了设计方法。本书的内容全面、深入、系统,融入了作者长期的芯片设计经验,这使本书对开发人员更有实际的指导意义。
本书主要针对从事芯片设计的中高级读者及芯片设计工程师,也适合作为大学教材和参考书。
作译者回到顶部↑
本书提供作译者介绍
倪继利,毕业于清华大学电子工程系,获通信与电子系统专业硕士学位,在国际知名大公司多年从事Linux开发工作,已出版与Linux相关专著有《Linux内核分析及编程》和《Qt及Linux操作系统窗口设计》。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第1章 cpu构架概述
1.1 计算机体系结构概述
1.2 标量流水线技术
1.3 超标量构架
1.4 超长指令构架
1.5 处理器介绍
第2章 or1200构架
2.1 openrisc概述
2.2 or1200构架
2.3 or1200核心寄存器
2.4 or1200的io接口说明
2.5 or1200核心硬件配置
第3章 wishbone片上总线
3.1 概述
3.2 基本特点
3.3 接口信号定义
3.4 wishbone支持的互联类型
3.5 wishbone总线周期
3.6 wishbone寄存反馈总线周期
3.7 wishbone规范对ip文档的要求
1.1 计算机体系结构概述
1.2 标量流水线技术
1.3 超标量构架
1.4 超长指令构架
1.5 处理器介绍
第2章 or1200构架
2.1 openrisc概述
2.2 or1200构架
2.3 or1200核心寄存器
2.4 or1200的io接口说明
2.5 or1200核心硬件配置
第3章 wishbone片上总线
3.1 概述
3.2 基本特点
3.3 接口信号定义
3.4 wishbone支持的互联类型
3.5 wishbone总线周期
3.6 wishbone寄存反馈总线周期
3.7 wishbone规范对ip文档的要求
前言回到顶部↑
CPU和操作系统是现代计算机系统的两大基石,CPU的设计技术及加工工艺是集成电路技术发展的标志之一。随着集成电路工艺的不断进步,计算机系统集成到单芯片上,形成片上系统(System on Chip,SoC),并且SoC系统越来越复杂,需要投入大量的人力才能完成。在这种情况下,一个稳定的开放源代码的公共软件和硬件开发平台是技术发展的需要。这种需要推动了开放源代码操作系统Linux的快速发展,也必将推动开放源代码集成电路技术的快速发展。.
OpenRISC1200处理器
目前,x86系列及ARM系列的CPU分别是桌面系统和嵌入式设备的最常用的商业化处理器。但其IP核价格昂贵,技术保密。
OpenRISC1200处理器,简称OR1200,是OpenCores组织提供的基于GPL协议的开放源代码处理器,它技术成熟、性能良好,一般认为其性能在ARM7到ARM9之间,适合于嵌入式设备。同时,OpenCores组织还提供了与之相适应的大量开放源代码IP核。
OR1200典型的应用情况是:在使用0.18μm及6层金属工艺时,OR1200的主频运行在300MHz,可以提供300Dhrystone,2.1MIPS和300次的32×32 DSP乘加操作。OR1200默认配置时有100万个晶体管。
OR1200是属于OpenRISC 1000序列中的32位标量RISC处理器,它具有哈佛结构、5级整数流水线,支持虚拟内存(MMU)和Cache,带有基本的DSP功能。外部数据和地址总线接口符合Wishbone片上总线标准。
CPU设计包括CPU的指令集设计、架构设计、芯片的前端设计和后端设计、编译器和操作系统的移植等。另外,SoC建立CPU运行环境还需要很多IP核,如:显示模块、键盘输入模块等。因此,CPU的设计是复杂的系统工程。
由于片上系统功能庞大,设计复杂,工作量已经不是少数人或是小公司能完成的。像Linux一样的开放源代码是SoC设计的必由之路。
为什么写作本书
CPU是片上系统的核心,也是最复杂的模块之一,几乎所有专业的学生都会学到x86 CPU的结构及汇编语言,软件编程围绕着CPU的指令集进行,芯片的逻辑设计需要熟知CPU的总线接口及CPU的行为。深入理解CPU的行为对软件和硬件工程师来说是必要的。
由于CPU设计技术的复杂性及高度保密性,目前几乎没有公开出版的书籍对一款实用的CPU的逻辑实现进行详细介绍。
由于EDA工具软件非常昂贵,芯片设计方法课程的培训费用很高,目前很少有书对芯片的设计过程进行详细介绍。
我们在清华大学和香港中文大学接受过芯片设计方面的严格专业训练,作者陈曦和李挥长期从事于芯片设计方面的研究和开发。我们认为:CPU的逻辑行为及芯片实现的方法对于软件和硬件工程师都有实际指导意义。
虽然在国外CPU技术已经发展多年并形成了完整的产业体系。但就国内而言,目前做得比较好的仍然只有中科院计算所龙芯、北大众志、方舟、苏州国芯。CPU广泛应用于集成电路,几乎每一个数字集成电路设计公司都需要至少一款CPU/DSP。我们希望这本书有助于OR1200 CPU在国内的推广和使用,从而降低国内集成电路设计公司的设计成本和技术门槛,这是我们的心愿。
为了验证OR1200 CPU的实现,我们还开发了FPGA开发板,并让Linux操作系统在开发板上运行起来,该开发版具有主流智能设备典型外设,包括音频、图像采集、无线链路、有源RFID、ADC、TFT LCD、大容量SDRAM和NandFlash等。我们还用EDA工具将OR1200 CPU进行了芯片后端设计,设计出可以生产出芯片的版图,并用EDA工具进行了验证。如果对FPGA开发板感兴趣,可以查看网站http://www.openrisc.cn或http://www.hightidelg.com。
由于OpenCores组织的OR1200 CPU是开放源代码,并且技术主流,我们选择了OpenCores组织的OR1200 CPU、Ethernet MAC和USB 2.0 Function源代码,结合自己的工作经验,查阅了大量相关资料,费时1年,写成这本书。
本书总结了CPU逻辑实现的技术,详细讲述了32位RISC CPU的逻辑结构,分析了CPU的源代码实现、编译器的移植、Linux操作系统的移植,介绍了FPGA设计和CPU验证方法,说明了CPU芯片的全定制设计方法,以及用EDA工具设计实现的详细步骤,还给出了芯片版图。本书还分析了Ethernet MAC和USB 2.0 Function模块,它们是通信的典型接口。本书介绍的源代码可以在http://www.openrisc.org下载。
在本书中,我们结合自己的工作经验,重点分析了逻辑设计所用到的方法,详细介绍了用EDA工具进行芯片设计的方法,这些对集成电路设计工程师来说有指导价值。我们还对Linux操作系统CPU平台移植方法作了充分的论述。软件工程师了解CPU的逻辑行为及平台移植方法,调试程序会有更清晰的思路。..
关于本书作者
作者倪继利毕业于清华大学电子工程系,获通信与电子系统专业硕士学位,在国际知名大公司多年从事Linux开发工作,已出版与Linux相关专著有《Linux内核分析及编程》和《Qt及Linux操作系统窗口设计》。
OpenRISC1200处理器
目前,x86系列及ARM系列的CPU分别是桌面系统和嵌入式设备的最常用的商业化处理器。但其IP核价格昂贵,技术保密。
OpenRISC1200处理器,简称OR1200,是OpenCores组织提供的基于GPL协议的开放源代码处理器,它技术成熟、性能良好,一般认为其性能在ARM7到ARM9之间,适合于嵌入式设备。同时,OpenCores组织还提供了与之相适应的大量开放源代码IP核。
OR1200典型的应用情况是:在使用0.18μm及6层金属工艺时,OR1200的主频运行在300MHz,可以提供300Dhrystone,2.1MIPS和300次的32×32 DSP乘加操作。OR1200默认配置时有100万个晶体管。
OR1200是属于OpenRISC 1000序列中的32位标量RISC处理器,它具有哈佛结构、5级整数流水线,支持虚拟内存(MMU)和Cache,带有基本的DSP功能。外部数据和地址总线接口符合Wishbone片上总线标准。
CPU设计包括CPU的指令集设计、架构设计、芯片的前端设计和后端设计、编译器和操作系统的移植等。另外,SoC建立CPU运行环境还需要很多IP核,如:显示模块、键盘输入模块等。因此,CPU的设计是复杂的系统工程。
由于片上系统功能庞大,设计复杂,工作量已经不是少数人或是小公司能完成的。像Linux一样的开放源代码是SoC设计的必由之路。
为什么写作本书
CPU是片上系统的核心,也是最复杂的模块之一,几乎所有专业的学生都会学到x86 CPU的结构及汇编语言,软件编程围绕着CPU的指令集进行,芯片的逻辑设计需要熟知CPU的总线接口及CPU的行为。深入理解CPU的行为对软件和硬件工程师来说是必要的。
由于CPU设计技术的复杂性及高度保密性,目前几乎没有公开出版的书籍对一款实用的CPU的逻辑实现进行详细介绍。
由于EDA工具软件非常昂贵,芯片设计方法课程的培训费用很高,目前很少有书对芯片的设计过程进行详细介绍。
我们在清华大学和香港中文大学接受过芯片设计方面的严格专业训练,作者陈曦和李挥长期从事于芯片设计方面的研究和开发。我们认为:CPU的逻辑行为及芯片实现的方法对于软件和硬件工程师都有实际指导意义。
虽然在国外CPU技术已经发展多年并形成了完整的产业体系。但就国内而言,目前做得比较好的仍然只有中科院计算所龙芯、北大众志、方舟、苏州国芯。CPU广泛应用于集成电路,几乎每一个数字集成电路设计公司都需要至少一款CPU/DSP。我们希望这本书有助于OR1200 CPU在国内的推广和使用,从而降低国内集成电路设计公司的设计成本和技术门槛,这是我们的心愿。
为了验证OR1200 CPU的实现,我们还开发了FPGA开发板,并让Linux操作系统在开发板上运行起来,该开发版具有主流智能设备典型外设,包括音频、图像采集、无线链路、有源RFID、ADC、TFT LCD、大容量SDRAM和NandFlash等。我们还用EDA工具将OR1200 CPU进行了芯片后端设计,设计出可以生产出芯片的版图,并用EDA工具进行了验证。如果对FPGA开发板感兴趣,可以查看网站http://www.openrisc.cn或http://www.hightidelg.com。
由于OpenCores组织的OR1200 CPU是开放源代码,并且技术主流,我们选择了OpenCores组织的OR1200 CPU、Ethernet MAC和USB 2.0 Function源代码,结合自己的工作经验,查阅了大量相关资料,费时1年,写成这本书。
本书总结了CPU逻辑实现的技术,详细讲述了32位RISC CPU的逻辑结构,分析了CPU的源代码实现、编译器的移植、Linux操作系统的移植,介绍了FPGA设计和CPU验证方法,说明了CPU芯片的全定制设计方法,以及用EDA工具设计实现的详细步骤,还给出了芯片版图。本书还分析了Ethernet MAC和USB 2.0 Function模块,它们是通信的典型接口。本书介绍的源代码可以在http://www.openrisc.org下载。
在本书中,我们结合自己的工作经验,重点分析了逻辑设计所用到的方法,详细介绍了用EDA工具进行芯片设计的方法,这些对集成电路设计工程师来说有指导价值。我们还对Linux操作系统CPU平台移植方法作了充分的论述。软件工程师了解CPU的逻辑行为及平台移植方法,调试程序会有更清晰的思路。..
关于本书作者
作者倪继利毕业于清华大学电子工程系,获通信与电子系统专业硕士学位,在国际知名大公司多年从事Linux开发工作,已出版与Linux相关专著有《Linux内核分析及编程》和《Qt及Linux操作系统窗口设计》。


点击看大图






加载中...
