微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(基础篇)(教材图书)
微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(基础篇)(教材图书)
定 价:¥99.00
ISBN: | 9787121435409 | 出版时间: | 2022-06-01 | 包装: | 平装 |
开本: | 16开 | 页数: | 400 | 字数: |
内容简介
全书共11章,主要内容包括:微型计算机系统导论,数值的表示和运算,存储器的分类和原理,软件开发工具的下载、安装和应用,指令集架构,中央处理单元的架构,协处理器的架构,汇编语言的程序设计和实现,中断与异常的原理和实现,C语言的程序设计和分析,以及异步串口原理和通信的实现。本书侧重于对构成微型计算机系统的硬件和软件要素原理的介绍,目的是使读者掌握设计与分析计算机系统硬件和软件要素的一般方法,这些分析方法对于基于其他架构的计算机系统或嵌入式系统同样适用。通过对C语言、汇编语言和机器指令三者之间关系的深度分析,使读者能够将计算机系统的“软件”和“硬件”进行系统化深度融合。
作者简介
何宾 知名的嵌入式和EDA技术专家,长期从事计算机和嵌入式系统方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商密切合作。已经出版电子信息方面的著作共70余部,内容涵盖电路仿真、电路设计、FPGA、数字信号处理、单片机、嵌入式系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌入式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用》等。
图书目录
目录
第1章微型计算机系统导论
1.1微型计算机的概念
1.2主流的处理器架构
1.2.1LoongArch架构
1.2.2×86架构
1.2.3PowerPC架构
1.2.4Arm架构
1.2.5MIPS架构
1.2.6RISC-V架构
1.3龙芯处理器基础知识
1.3.1龙芯处理器发展历程
1.3.2龙芯处理器核的种类和性能
1.3.3龙芯产品分类
1.4龙芯1B处理器的构成要素
1.4.1计算机系统的构成要素
1.4.2龙芯1B处理器架构
1.4.3龙芯1B处理器的时钟系统
1.5计算机系统评价指标和方法
1.5.1计算机系统评价的背景
1.5.2计算机宏观评价指标
1.5.3处理器的评价指标
第2章数值的表示和运算
2.1数的十进制表示方法
2.1.1十进制整数的表示方法
2.1.2十进制纯小数的表示方法
2.1.3十进制小数的表示方法
2.2整数的二进制表示方法
2.2.1使用二进制数表示正整数
2.2.2使用二进制数表示负整数
2.2.3二进制整数的加法运算规则
2.2.4二进制整数的减法运算规则
2.2.5二进制整数的乘法运算规则
2.2.6二进制整数的除法运算规则
2.3小数的二进制表示方法
2.3.1定点二进制数格式
2.3.2定点二进制小数的运算
2.3.3浮点二进制数格
2.4十六进制数的表示方法
2.5八进制数的表示方法
第3章存储器的分类和原理
3.1存储器的分类
3.1.1易失性存储器
3.1.2非易失性存储器
3.2SRAM存储器原理
3.2.1SRAM存储器结构
3.2.2SRAM访问时序
3.2.3SRAM的扩展实例
3.3DRAM存储器原理
3.3.1基本感应放大器的电路结构和原理
3.3.2SDRAM的控制信号
3.3.3SDR SDRAM实例
3.3.4DDR SDRAM实例
3.3.5DDR2 SDRAM实例
3.3.6SDRAM的扩展
3.4Flash存储器原理
3.4.1浮栅MOSFET的原理
3.4.2NOR闪存
3.4.3NAND闪存
第4章软件开发工具的下载、安装和应用
4.1软件开发工具的下载和安装
4.1.1MSYS工具的下载和安装
4.1.2龙芯集成开发环境的下载和安装
4.1.3驱动程序的重新安装
4.1.4GNU工具链的下载和安装
4.2龙芯集成开发环境基本设计流程
4.2.1启动集成开发环境
4.2.2配置开发环境参数
4.2.3GNU工具链原理及配置
4.2.4建立新的设计工程
4.2.5修改C语言源文件
4.2.6编译设计和编译设置
4.2.7调试设计
4.3小结
第5章指令集架构
5.1字节顺序和端
5.1.1大端顺序
5.1.2小端顺序
5.2指令集架构的概念
5.3指令的基本概念
5.3.1指令通道的概念
5.3.2指令的内容
5.3.3指令长度
5.3.4代码密度
5.4MIPS指令架构的发展和特征
5.4.1指令架构的发展
5.4.2加载和存储架构
5.5MIPS寄存器集
5.5.1CPU通用寄存器
5.5.2CPU特殊寄存器
5.6MIPS指令类型
5.6.1R型指令
5.6.2I型指令
5.6.3J型指令
5.7MIPS指令寻址方式
5.7.1寄存器寻址
5.7.2立即数寻址
5.7.3基地址寻址
5.7.4PC相对寻址
5.7.5伪直接寻址
5.8MIPS32指令集
5.8.1算术类指令
5.8.2移位指令
5.8.3逻辑指令
5.8.4移动指令
5.8.5加载和保存指令
5.8.6插入和提取指令
5.8.7指令控制指令
5.8.8分支和跳转指令
5.8.9陷阱指令
第6章中央处理单元的架构
6.1冯??诺依曼结构和哈佛结构
6.1.1冯??诺依曼结构
6.1.2哈佛结构
6.2存储器系统的分层结构和访问类型
6.2.1存储器系统的分层结构
6.2.2存储器系统的访问类型
6.3龙芯处理器高速缓存的映射及管理
6.3.1高速缓存的背景
6.3.2高速缓存的优势和问题
6.3.3高速缓存的结构与操作
6.3.4指令高速缓存
6.3.5数据高速缓存
6.3.6缓存算法和缓存一致性属性
6.3.7缓存的维护
6.4存储器管理单元的结构和管理
6.4.1处理器模式
6.4.2基本概念
6.4.3物理结构
6.4.4虚拟地址到物理地址的转换
6.4.5TLB操作指令
6.4.6命中、未命中和多次匹配
6.4.7固定映射MMU
6.5GS232处理器内核原理和关键技术
6.5.1算术逻辑单元
6.5.2流水线的原理
6.5.3分支预测机制
6.5.4静态分支预测
6.5.5动态分支预测
6.5.6流水线的实现
6.6处理器系统的地址分配和映射
6.6.1一级AXI交叉开关上模块的地址空间
6.6.2AXI MUX下各个模块的地址空间
6.6.3APB各个模块的地址空间分配
第7章协处理器的架构
7.1协处理器0的功能
7.2协处理器0中的寄存器
7.3协处理器0指令格式及功能
7.4协处理器0操作实例
第8章汇编语言的程序设计和实现
8.1汇编语言程序框架
8.1.1汇编语言中的段
8.1.2汇编语言中的伪指令
8.2汇编语言语法格式
8.2.1空白
8.2.2注释
8.2.3标识符
8.2.4常数
8.2.5段和重定位
8.2.6符号
8.2.7表达式
8.2.8汇编器命令
8.2.9公共宏
8.3汇编器支持的伪指令格式和功能
8.4MIPS相关特性
8.5链接脚本文件
8.6汇编语言实例一:冒泡排序算法的实现和分析
8.7汇编语言实例二:通用输入和输出端口的驱动
8.7.1引脚复用的原理
8.7.2GPIO寄存器功能
8.7.3MUX寄存器功能
8.7.4GPIO驱动和控制的硬件设计
8.7.5GPIO驱动和输入的程序设计
8.8汇编语言实例三:看门狗定时器的应用
8.8.1看门狗定时器的原理
8.8.2看门狗定时器的寄存器功能
8.8.3看门狗机制的应用
第9章中断与异常的原理和实现
9.1基本概念
9.1.1事件的定义
9.1.2异常和中断的优势
9.1.3MIPS支持的中断模式
9.1.4中断向量的概念
9.2中断原理
9.2.1处理器采纳中断的条件
9.2.2向量中断模式
9.2.3为向量中断生成异常向量偏移
9.2.4龙芯1B处理器的中断控制器
9.3异常原理
9.3.1异常向量的位置
9.3.2通用异常处理
9.3.3异常处理过程
9.4中断触发和处理的实现
9.4.1异常/中断入口的定位
9.4.2中断的初始化
9.4.3中断句柄的功能
9.5定时器原理和中断的实现
9.5.1定时器中断的原理
9.5.2定时器中断的初始化
9.5.3定时器中断句柄的功能
第10章C语言的程序设计和分析
10.1基本数据类型的表示
10.2基本数据类型的扩展
10.2.1bool数据类型
10.2.2定宽整数类型
10.3复杂数据类型的表示
10.3.1数组数据类型
10.3.2指针数据类型
10.3.3结构数据类型
10.3.4联合数据类型
10.3.5枚举数据类型
10.4描述语句
10.4.1条件指令
10.4.2开关语句
10.4.3循环语句
10.5函数调用和返回
10.5.1寄存器的使用规则
10.5.2堆栈帧
10.6内嵌汇编
第11章异步串口原理和通信的实现
11.1RS-232协议规范
11.1.1RS-232传输特点
11.1.2RS-232数据传输格式
11.1.3RS-232电气标准
11.1.4RS-232参数设置
11.1.5RS-232连接器
11.2龙芯1B处理器中UART模块原理
11.2.1UART寄存器组的基地址
11.2.2UART寄存器组的功能
11.3PuTTY工具的下载和安装
11.4异步串口通信的设计和实现
11.4.1串口通信的汇编语言设计和实现
11.4.2串口通信的C语言设计和实现
11.4.3总结