描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787115338181丛书名: 图灵程序设计丛书
编辑推荐
★ 只需编程基础
从零开始设计和实现CPU
★ CPU、总线、内存、I/O
自己组合成一个简单的计算机系统
★超强实践性
从硬件到软件,统统自己动手
从零开始设计和实现CPU
★ CPU、总线、内存、I/O
自己组合成一个简单的计算机系统
★超强实践性
从硬件到软件,统统自己动手
一直以来CPU内部是绝大多数IT工程师难以触及的领域。纵使学习过计算机架构相关课程,自己动手实现CPU也始终遥不可及,因为这涉及计算机系统的*底层芯片设计。而近年来FPGA芯片产品的发展与普及打破了这一阻碍,利用内部电路可重编程的FPGA,我们几乎可以实现任何逻辑电路,自然也包括CPU。
CPU自制入门就是在这样一个背景下孕育而生的。本书利用FPGA,为读者开启了一个崭新的自制CPU的世界。全书分为3章,分别介绍计算机系统*底层的3个部分:CPU设计制作、电路板设计制造以及汇编编程。将如此广泛的技术内容以实践的方式融合成一册,该书可谓首屈一指。
本书可以帮助软件工程师深入了解硬件与底层,开发出高效代码。硬件工程师可以在本书基础上设计定制硬件,开发高速计算机系统。相信所有读者都可以在本书的阅读过程中,体会到自制计算机系统的乐趣与热情。
内容简介
《CPU自制入门》教读者制作原创的计算机系统。第1章以介绍CPU为主,同时介绍如何制作存储程序与数据的内存、输入与输出的I/O以及将这些模块连接起来的总线,这些模块可以组合成一个简单的计算机系统。为了让这个计算机系统运转起来,第2章介绍电路板的设计和制作。第3章为这个计算机系统编写程序,并上机测试。 《CPU自制入门》可以帮助软件工程师了解硬件与底层,开发出高效代码。硬件工程师可以在该书基础上设计定制硬件,开发高速计算机系统。相信读者可以在《CPU自制入门》的阅读过程中,体会到自制计算机系统的乐趣。
目 录
第1章 CPU的设计与实现
1.1 序
1.2 计算机系统
1.2.1 什么是计算机
1.2.2 什么是CPU
专栏 CPU的位宽
1.2.3 什么是内存
1.2.4 什么是I/O
专栏 字节序
1.2.5 什么是总线
专栏 总线的优缺点
1.2.6 小结
专栏 计算机相关书籍
1.3 数字电路基础
1.3.1 什么是数字电路
1.3.2 数值表达
1.3.3 有符号二进制数
专栏 比特和字节
专栏 1K字节有多大
1.3.4 MOSFET的结构
1.3.5 逻辑运算
1.3.6 CMOS基本逻辑门电路
1.3.7 存储元件
专栏 建立时间与保持时间
1.3.8 组合电路和时序电路
1.3.9 时钟同步设计
1.3.10 小结
专栏 数字电路相关书籍
1.4 Verilog HDL语言
1.4.1 什么是Verilog HDL
1.4.2 电路描述
专栏 默认网络类型
专栏 组合电路描述中锁存器的推定与Don’t care
专栏 正逻辑与负逻辑
1.4.3 电路仿真
专栏 同步电路中信号变化的时序
1.4.4 Verilog HDL的仿真环境
1.4.5 小结
专栏 Verilog HDL相关书籍
1.5 系统蓝图
1.5.1 目标系统整体介绍
1.5.2 关于本章中的代码
专栏 字编址与字节位移
1.6 总线的设计与实现
1.6.1 总线的设计
1.6.2 总线的实现
1.6.3 小结
1.7 存储器的设计与实现
1.7.1 FPGA的RAM区域
1.7.2 ROM的设计与实现
1.7.3 小结
专栏 存储器相关书籍
1.8 AZ Processor的设计与实现
1.8.1 关于CPU
专栏 CPI和MIPS值
1.8.2 AZ Processor的设计
专栏 指令集架构与微架构
1.8.3 AZ Processor的实现
1.8.4 小结
专栏 计算机架构相关书籍
1.9 I/O的设计与实现
1.9.1 定时器
1.9.2 UART
专栏 UART实例
1.9.3 GPIO
1.9.4 小结
专栏 I/O相关书籍
1.10 AZPR SoC整体连接
1.10.1 各模块的连接
1.10.2 时钟模块的实现
1.10.3 顶层模块的实现
1.10.4 小结
1.11 AZPR SoC的仿真
1.11.1 仿真模型的编写
1.11.2 Testbench的编写
1.11.3 执行仿真
1.11.4 小结
1.12 本章总结
第2章 电路板的设计与制作
2.1 序
2.2 电路板规格
2.2.1 电路板名称
2.2.2 电路板的构成
2.2.3 电路板尺寸
2.2.4 电路板层数
2.2.5 FPGA选型
2.2.6 外围电路的选定
专栏 关于FPGA
专栏 关于JTAG
2.3 元件选型
2.3.1 元件选型标准
2.3.2 元件选型
2.3.3 元件的选购
2.4 电路设计
2.4.1 下载规格书
2.4.2 配置电路
2.4.3 外围电路
2.4.4 电源电路
2.4.5 电路板设计环境
2.4.6 使用Eagle设计电路图
专栏 关于ULP
专栏 Eagle使用方法相关的书籍/说明书
2.4.7 完成的电路图
2.5 布局设计
2.5.1 电路板设计约束条件及布线策略
2.5.2 FPGA板的布局设计
2.5.3 电源板的布局设计
2.5.4 使用Eagle布局
2.5.5 完成的布局
2.6 制作元件库
2.6.1 制作Symbol
2.6.2 制作Package
2.6.3 制作Device
2.7 电路板3D模型
2.7.1 软件使用说明
2.7.2 准备3D模型库
专栏 关于3D模型库的管理
2.7.3 制作电路板模型
2.8 制作感光板电路板
2.8.1 整体流程
2.8.2 制作光罩
2.8.3 粘合光罩
2.8.4 曝光
2.8.5 显像
2.8.6 蚀刻
2.8.7 阻焊剂
2.8.8 开孔
2.8.9 在背面安装VPort接头时的处理
2.8.10 制作通孔
2.8.11 飞线
2.9 使用电路板制造服务
2.9.1 电路板制造服务
2.9.2 DRC
2.9.3 输出Gerber数据
2.9.4 检查Gerber数据
专栏 执行DFM检查的方法
专栏 阻焊层遮罩的印刷设置
2.9.5 向P板.com公司下单制板
专栏 拼板数据的准备
2.9.6 向OLIMEX公司下单制板
2.10 组装电路板
2.10.1 电源板
2.10.2 组装FPGA板
2.11 功能测试
2.11.1 识别FPGA
2.11.2 诊断程序
2.12 本章总结
第3章 编程
3.1 序
3.2 开发环境
3.2.1 准备工作
3.2.2 FPGA开发环境
3.2.3 ISE WebPACK
3.2.4 UrJTAG
专栏 cblsrv-0.1_ft2232
3.2.5 交叉汇编程序
3.2.6第一个程序
3.3 串口通信
3.3.1 安装Tera Term
3.3.2 编写程序
专栏 子程序
专栏 ASCII码
3.3.3 执行程序
3.4 程序加载器
3.4.1 XMODEM协议
3.4.2 编写程序
3.4.3 编写加载测试程序
3.4.4 执行程序
3.5 中断与异常
3.5.1 什么是中断
3.5.2 编写程序
3.5.3 执行程序
3.5.4 什么是异常
3.5.5 编写程序
3.5.6 执行程序
3.6 七段数码管
3.6.1 什么是七段数码管
3.6.2 七段数码管的控制
3.6.3 七段数码管计数器概要
3.6.4 编写程序
3.6.5 执行程序
3.7 制作一个实用程序
3.7.1 功能概要
3.7.2 制作程序
3.7.3 执行程序
3.8 结语
谢辞
后记
版权声明
1.1 序
1.2 计算机系统
1.2.1 什么是计算机
1.2.2 什么是CPU
专栏 CPU的位宽
1.2.3 什么是内存
1.2.4 什么是I/O
专栏 字节序
1.2.5 什么是总线
专栏 总线的优缺点
1.2.6 小结
专栏 计算机相关书籍
1.3 数字电路基础
1.3.1 什么是数字电路
1.3.2 数值表达
1.3.3 有符号二进制数
专栏 比特和字节
专栏 1K字节有多大
1.3.4 MOSFET的结构
1.3.5 逻辑运算
1.3.6 CMOS基本逻辑门电路
1.3.7 存储元件
专栏 建立时间与保持时间
1.3.8 组合电路和时序电路
1.3.9 时钟同步设计
1.3.10 小结
专栏 数字电路相关书籍
1.4 Verilog HDL语言
1.4.1 什么是Verilog HDL
1.4.2 电路描述
专栏 默认网络类型
专栏 组合电路描述中锁存器的推定与Don’t care
专栏 正逻辑与负逻辑
1.4.3 电路仿真
专栏 同步电路中信号变化的时序
1.4.4 Verilog HDL的仿真环境
1.4.5 小结
专栏 Verilog HDL相关书籍
1.5 系统蓝图
1.5.1 目标系统整体介绍
1.5.2 关于本章中的代码
专栏 字编址与字节位移
1.6 总线的设计与实现
1.6.1 总线的设计
1.6.2 总线的实现
1.6.3 小结
1.7 存储器的设计与实现
1.7.1 FPGA的RAM区域
1.7.2 ROM的设计与实现
1.7.3 小结
专栏 存储器相关书籍
1.8 AZ Processor的设计与实现
1.8.1 关于CPU
专栏 CPI和MIPS值
1.8.2 AZ Processor的设计
专栏 指令集架构与微架构
1.8.3 AZ Processor的实现
1.8.4 小结
专栏 计算机架构相关书籍
1.9 I/O的设计与实现
1.9.1 定时器
1.9.2 UART
专栏 UART实例
1.9.3 GPIO
1.9.4 小结
专栏 I/O相关书籍
1.10 AZPR SoC整体连接
1.10.1 各模块的连接
1.10.2 时钟模块的实现
1.10.3 顶层模块的实现
1.10.4 小结
1.11 AZPR SoC的仿真
1.11.1 仿真模型的编写
1.11.2 Testbench的编写
1.11.3 执行仿真
1.11.4 小结
1.12 本章总结
第2章 电路板的设计与制作
2.1 序
2.2 电路板规格
2.2.1 电路板名称
2.2.2 电路板的构成
2.2.3 电路板尺寸
2.2.4 电路板层数
2.2.5 FPGA选型
2.2.6 外围电路的选定
专栏 关于FPGA
专栏 关于JTAG
2.3 元件选型
2.3.1 元件选型标准
2.3.2 元件选型
2.3.3 元件的选购
2.4 电路设计
2.4.1 下载规格书
2.4.2 配置电路
2.4.3 外围电路
2.4.4 电源电路
2.4.5 电路板设计环境
2.4.6 使用Eagle设计电路图
专栏 关于ULP
专栏 Eagle使用方法相关的书籍/说明书
2.4.7 完成的电路图
2.5 布局设计
2.5.1 电路板设计约束条件及布线策略
2.5.2 FPGA板的布局设计
2.5.3 电源板的布局设计
2.5.4 使用Eagle布局
2.5.5 完成的布局
2.6 制作元件库
2.6.1 制作Symbol
2.6.2 制作Package
2.6.3 制作Device
2.7 电路板3D模型
2.7.1 软件使用说明
2.7.2 准备3D模型库
专栏 关于3D模型库的管理
2.7.3 制作电路板模型
2.8 制作感光板电路板
2.8.1 整体流程
2.8.2 制作光罩
2.8.3 粘合光罩
2.8.4 曝光
2.8.5 显像
2.8.6 蚀刻
2.8.7 阻焊剂
2.8.8 开孔
2.8.9 在背面安装VPort接头时的处理
2.8.10 制作通孔
2.8.11 飞线
2.9 使用电路板制造服务
2.9.1 电路板制造服务
2.9.2 DRC
2.9.3 输出Gerber数据
2.9.4 检查Gerber数据
专栏 执行DFM检查的方法
专栏 阻焊层遮罩的印刷设置
2.9.5 向P板.com公司下单制板
专栏 拼板数据的准备
2.9.6 向OLIMEX公司下单制板
2.10 组装电路板
2.10.1 电源板
2.10.2 组装FPGA板
2.11 功能测试
2.11.1 识别FPGA
2.11.2 诊断程序
2.12 本章总结
第3章 编程
3.1 序
3.2 开发环境
3.2.1 准备工作
3.2.2 FPGA开发环境
3.2.3 ISE WebPACK
3.2.4 UrJTAG
专栏 cblsrv-0.1_ft2232
3.2.5 交叉汇编程序
3.2.6第一个程序
3.3 串口通信
3.3.1 安装Tera Term
3.3.2 编写程序
专栏 子程序
专栏 ASCII码
3.3.3 执行程序
3.4 程序加载器
3.4.1 XMODEM协议
3.4.2 编写程序
3.4.3 编写加载测试程序
3.4.4 执行程序
3.5 中断与异常
3.5.1 什么是中断
3.5.2 编写程序
3.5.3 执行程序
3.5.4 什么是异常
3.5.5 编写程序
3.5.6 执行程序
3.6 七段数码管
3.6.1 什么是七段数码管
3.6.2 七段数码管的控制
3.6.3 七段数码管计数器概要
3.6.4 编写程序
3.6.5 执行程序
3.7 制作一个实用程序
3.7.1 功能概要
3.7.2 制作程序
3.7.3 执行程序
3.8 结语
谢辞
后记
版权声明
书摘插画
评论
还没有评论。