本书是一本将理论与实践有机结合的计算机工作原理实践指南,包含41个实践项目,涵盖了从电路设计到代码编写的广泛主题。通过本书,读者将实践构建数字电路、设计一个猜谜游戏、将十进制数字转换为二进制、检查虚拟内存使用情况、运行自己的Web服务器等,从引人入胜的实践项目中学习如何像软件工程师一样思考、用数据描述真实世界的概念,使用欧姆定律和基尔霍夫定律分析电路的特性,以及如何像计算机一样思考、一步一步地在脑海中执行一个程序。
计算机软件界大的变迁是从串行编程转向并行编程。其中,CUDA取得了巨大的进展。本书特别针对CUDA学习者而写。在保证程序正确性前提下,侧重于程序性能的调优。对于没有CUDA或者并行编程的任何经验的读者随着本书的深入,将越来越可以胜任CUDA的编程工作,帮助你从不知晓并行编程的程序员成长为能够全方位发掘CUDA潜力的专家。对已经熟悉并行编程概念和CUDA的程序员,本书包含丰富的学习材料,专设章节详细讨论GPU的体系结构,包括新的费米和开普勒硬件,以及如何将它们的效能发挥到极致。任何可以编写C或C++的程序员都可以在经过几个小时的简单训练后编写CUDA程序。通过本书的完整学习,你将从仅能得到数倍程序加速的CUDA编程新手成长为数十倍加速的高手。
本书涵盖数电、体系结构、汇编语言、编译器、操作系统等计算机核心课程的基础内容,结合项目实践能够对整个计算机学科建立宏观的理解,并能完成制作一个基本计算机系统的任务。
了解计算机软硬件的工作原理可以为理解复杂代码打下坚实的基础,从而提升对代码的控制力。本书围绕如何将高级语言代码翻译成汇编语言、操作系统硬件资源管理、数据的编码、硬件的十进制数据处理、程序代码和机器代码等主题,解释了现代计算机的工作原理;从内存组织、二进制逻辑和数据类型等基本概念开始,逐步探讨它们在汇编语言层面的实现方式。全书共21章,涵盖了数据存储、逻辑门和晶体管、中央处理器、汇编和机器代码、数据结构、面向对象编程等内容。 本书适合作为高等院校计算机组成原理相关课程的参考教材,也适合有编程基础的人阅读。
本书以Apache RocketMQ 4.9.5(编写本书时最新的4.x版本)为基础,从Apache RocketMQ 的实际使用、原理剖析,大规模消息集群下企业级落地的实践以及所面临的挑战,逐一由浅入深地进行讲解。 全书分3篇,共16章。基础篇包含第1~4章,主要讲解Apache RocketMQ 入门以及如何掌握Apache RocketMQ 的基础使用。原理篇包含第5~12章,主要讲解了消费原理、负载均衡原理、顺序消息原理等核心的RocketMQ部分。进阶篇包含第13~16章,主要讲解消息幂等、双活设计等进阶为架构师必须掌握的内容。讲解过程中抛弃了传统的源码解析这种较枯燥的手段,而是更多地利用以下方式帮助读者更快、更轻松地接受Apache RocketMQ的原理:通过近百张原创的手绘图,形象地描述Apache RocketMQ 的运作过程、原理;通过与Kafka、RabbitMQ等成熟的消息中间件产品做对比的方式,有助于读者对相关知识触类旁通,举一反
本书提供了关于适应度函数、自动化架构治理和演进式数据的技术、知识和技巧。本书分为三个部分:第一部分包括定义演进式架构机制的章节 介绍团队如何使用技术和工具来构建适应度函数、部署管道以及其他管理和演进软件项目的机制;第二部分包括围绕耦合、复用和其他相关结构考虑因素的架构风格和设计原则,以帮助读者实现清晰的长期演进;第三部分探讨了第一部分中介绍的工程实践与第二部分中的结构考虑因素的交叉点。
继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版。全书从计算机体系结构的角度介绍数字逻辑设计的基础知识,从基本的二进制数开始,详细讨论RISC-V处理器的设计原则、技术与方法。本书首先介绍数字逻辑门,接着讲解组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计真实的处理器。书中包含大量示例,并分别用SystemVerilog和VHDL给出相应数字系统设计的实现。本书不仅反映了当前数字电路设计的主流方法,而且突出了计算机体系结构的工程特点,适合高等院校计算机相关专业的学生阅读,也适合从事处理器设计的技术人员参考。
邴哲松、李萌、邢东洋编著的《ARMLinux嵌入式网络控制系统》以嵌入式网络控制系统为设计目标,使用目前嵌入式开发中使用频率较高的ARM9和ARM7作为硬件平台的CPU,在软件上使用了嵌入式Linux、μC/OSII操作系统,并在其基础上移植了BOA服务器、SQLite数据库等软件。网络控制系统采用了基于Web服务器的设计方法,利用HTML和JavaApplet实现网络监控界面。 《ARMLinux嵌入式网络控制系统》以产品开发为线索由浅入深地详细介绍了嵌入式网络控制系统的实现过程。除了上述的软硬件平台外还对于嵌入式Linux的开发方法和网络编程进行了系统地讲解,并介绍了Eclipse软件平台的编译和调试方法。全书的各个环节都通过示例代码进行讲解,以便加深读者对知识的理解并提高实际的应用能力,进而达到学有所用、用有所成的目的。此外,全书硬件的选型都采用工业级芯片,特别适合
《原子教你玩 STM32 》有两个版本:库函数版本和寄存器版本。本书为寄存器版本,由浅入深,带领大家进入 STM32 的世界。本书总共分为 3 篇:①硬件篇,主要介绍本书的实验平台;②软件篇,主要介绍 STM32 开发软件的使用以及一些下载调试的技巧,并详细介绍几个常用的系统文件(程序);③实战篇,详细介绍 42 个实例,从简单的开始,循序渐进,带领大家慢慢掌握 STM32 。每个实例均配有软硬件设计,且附上实例代码以及详细注释,方便读者快速理解。本书是再版书,相比第 1 版,主要对硬件平台、开发环境、 SYSTEM 文件夹以及相关例程进行了更新。 本书配套资料可以供读者免费下载,包括详细原理图以及所有实例的完整代码。这些代码都有详细的注释,所有源码都经过严格测试;另外,源码有生成好的 .hex 文件,读者只需要通过串口下载到开发板即可看到实
本书介绍了一系列可用于构建可扩展系统的软件架构方法和分布式技术。本书内容分为四部分:第一部分是基础知识,包括实现可扩展系统的基本机制、分布式系统的基本特征以及并发编程的简介;第二部分重点介绍如何扩展处理请求的能力,涵盖通过诸多架构方法(更多的计算资源、负载均衡、分布式缓存、异步消息以及基于微服务的架构)来扩展系统;第三部分介绍扩展数据层的相关知识,这是分布式系统理论最突出的地方;第四部分介绍用于大规模处理流式事件的架构和技术。
本书采用结构化方法来介绍计算机系统,书的内容完全建立在“计算机是由层次结构组成的,每层完成规定的功能”这一概念之上。作者对本版进行了彻底的更新,以反映当今 重要的计算机技术以及计算机组成和体系结构方面的 新进展。书中详细讨论了数字逻辑层、微体系结构层、指令系统层、操作系统层和汇编语言层,并涵盖了并行体系结构的内容,而且每一章结尾都配有丰富的习题。本书适合作为计算机专业本科生计算机组成与结构课程的教材或参考书,也可供相关领域技术人员参考。
《AVR单片机实用程序设计》对AVR中档单片机升级换代产品ATmega16、ATmega8535的系统结构、特点、运行原理和指令系统等做了详细介绍,在此基础上给出众多具代表性的实用程序的设计及其使用方法,并提供详细程序清单。内容包括ATmega16/8535单片机硬件结构,升级后的功能特点以及运行原理;AVR单片机指令系统;软件DAA、定点运算以及数制转换子程序设计方法,并设计了使用乘法指令设计快速多字节乘法以及数制转换程序;各类实用程序(查表、线性插值、外设管理、通信、A/D转换、定时/计数器应用、可靠性设计、数/码制转换、串行器件多点测温、触摸屏、高性能液晶显示模块、红外通讯技术、带定时告警功能的串行实时钟芯片等)的设计使用方法,并对嵌入式系统程序设计及优化方法进行总结;AVR浮点程序库设计及使用;AVR单片机的编程功能以及由AVRJTAG接