本书是一本将理论与实践有机结合的计算机工作原理实践指南,包含41个实践项目,涵盖了从电路设计到代码编写的广泛主题。通过本书,读者将实践构建数字电路、设计一个猜谜游戏、将十进制数字转换为二进制、检查虚拟内存使用情况、运行自己的Web服务器等,从引人入胜的实践项目中学习如何像软件工程师一样思考、用数据描述真实世界的概念,使用欧姆定律和基尔霍夫定律分析电路的特性,以及如何像计算机一样思考、一步一步地在脑海中执行一个程序。
计算机软件界大的变迁是从串行编程转向并行编程。其中,CUDA取得了巨大的进展。本书特别针对CUDA学习者而写。在保证程序正确性前提下,侧重于程序性能的调优。对于没有CUDA或者并行编程的任何经验的读者随着本书的深入,将越来越可以胜任CUDA的编程工作,帮助你从不知晓并行编程的程序员成长为能够全方位发掘CUDA潜力的专家。对已经熟悉并行编程概念和CUDA的程序员,本书包含丰富的学习材料,专设章节详细讨论GPU的体系结构,包括新的费米和开普勒硬件,以及如何将它们的效能发挥到极致。任何可以编写C或C++的程序员都可以在经过几个小时的简单训练后编写CUDA程序。通过本书的完整学习,你将从仅能得到数倍程序加速的CUDA编程新手成长为数十倍加速的高手。
本书涵盖数电、体系结构、汇编语言、编译器、操作系统等计算机核心课程的基础内容,结合项目实践能够对整个计算机学科建立宏观的理解,并能完成制作一个基本计算机系统的任务。
本书是模拟CMOS集成电路设计方面的经典教材,介绍模拟CMOS集成电路的分析与设计,着重讲解该技术的最新进展和设计实例,从MOSFET器件的基本物理特性开始,逐章分析CMOS放大单元电路、差分放大
本书以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等成熟的消息中间件产品做对比的方式,有助于读者对相关知识触类旁通,举一反
了解计算机软硬件的工作原理可以为理解复杂代码打下坚实的基础,从而提升对代码的控制力。本书围绕如何将高级语言代码翻译成汇编语言、操作系统硬件资源管理、数据的编码、硬件的十进制数据处理、程序代码和机器代码等主题,解释了现代计算机的工作原理;从内存组织、二进制逻辑和数据类型等基本概念开始,逐步探讨它们在汇编语言层面的实现方式。全书共21章,涵盖了数据存储、逻辑门和晶体管、中央处理器、汇编和机器代码、数据结构、面向对象编程等内容。 本书适合作为高等院校计算机组成原理相关课程的参考教材,也适合有编程基础的人阅读。
本书介绍了一系列可用于构建可扩展系统的软件架构方法和分布式技术。本书内容分为四部分:第一部分是基础知识,包括实现可扩展系统的基本机制、分布式系统的基本特征以及并发编程的简介;第二部分重点介绍如何扩展处理请求的能力,涵盖通过诸多架构方法(更多的计算资源、负载均衡、分布式缓存、异步消息以及基于微服务的架构)来扩展系统;第三部分介绍扩展数据层的相关知识,这是分布式系统理论最突出的地方;第四部分介绍用于大规模处理流式事件的架构和技术。
继MIPS版和ARM版之后,本书与时俱进地推出了RISC-V版。全书从计算机体系结构的角度介绍数字逻辑设计的基础知识,从基本的二进制数开始,详细讨论RISC-V处理器的设计原则、技术与方法。本书首先介绍数字逻辑门,接着讲解组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计真实的处理器。书中包含大量示例,并分别用SystemVerilog和VHDL给出相应数字系统设计的实现。本书不仅反映了当前数字电路设计的主流方法,而且突出了计算机体系结构的工程特点,适合高等院校计算机相关专业的学生阅读,也适合从事处理器设计的技术人员参考。
μC/OS-III是源码公开的商用嵌入式实时操作系统内核,由著名的μC/OS-II发展而来。μC/OS-III针 对以ARM Cortex为代表的新一代CPtJ,面向带有可用于优先级查表的硬件指令(如,前导零计算指令)的 CPU的嵌入式应用。μC/OS-III允许利用这类高端CPU的特殊硬件指令来实现高效的任务调度算法,而无须 使用μC/OS-II的软件任务调度算法,而且μC/OS-II支持时间片轮转调度算法。从核心任务调度算法的改 变来看,μC/OS-III已经是一个全新的嵌入式RTOS内核。从μC/OS算起,该内核已有20余年应用史,在诸 多应用领域得到了广泛的认可。 JeanJ.Labrosse所著的《嵌入式实时操作系统μC/OS-Ⅲ》在保留对实时操作系统基本概念阐述的基础上,详细讲解μC/OS-III相比μC/OS -II所做的大量扩展与改进,如同时支持时间片轮转调度算法和基于优先级的可剥夺型任务 调度算法;用系统任务来
本书介绍Kafka的技术原理和应用技巧。内容包括如何安装和配置Kafka、如何使用Kafka API、Kafka的设计原则和可靠性保证,以及Kafka的一些架构细节,如复制协议、控制器和存储层。本书列举了一些 流行的Kafka应用场景,比如基于事件驱动的微服务系统的消息总线、流式处理应用程序和大规模数据管道。通过学习本书,你不仅能够深入理解这项大数据核心技术,还能够将所学知识付诸实践,在生产环境中 好地运行Kafka,并基于它构建稳健的高性能应用程序。
《原子教你玩 STM32 》有两个版本:库函数版本和寄存器版本。本书为寄存器版本,由浅入深,带领大家进入 STM32 的世界。本书总共分为 3 篇:①硬件篇,主要介绍本书的实验平台;②软件篇,主要介绍 STM32 开发软件的使用以及一些下载调试的技巧,并详细介绍几个常用的系统文件(程序);③实战篇,详细介绍 42 个实例,从简单的开始,循序渐进,带领大家慢慢掌握 STM32 。每个实例均配有软硬件设计,且附上实例代码以及详细注释,方便读者快速理解。本书是再版书,相比第 1 版,主要对硬件平台、开发环境、 SYSTEM 文件夹以及相关例程进行了更新。 本书配套资料可以供读者免费下载,包括详细原理图以及所有实例的完整代码。这些代码都有详细的注释,所有源码都经过严格测试;另外,源码有生成好的 .hex 文件,读者只需要通过串口下载到开发板即可看到实
本书采用结构化方法来介绍计算机系统,书的内容完全建立在“计算机是由层次结构组成的,每层完成规定的功能”这一概念之上。作者对本版进行了彻底的更新,以反映当今 重要的计算机技术以及计算机组成和体系结构方面的 新进展。书中详细讨论了数字逻辑层、微体系结构层、指令系统层、操作系统层和汇编语言层,并涵盖了并行体系结构的内容,而且每一章结尾都配有丰富的习题。本书适合作为计算机专业本科生计算机组成与结构课程的教材或参考书,也可供相关领域技术人员参考。
邴哲松、李萌、邢东洋编著的《ARMLinux嵌入式网络控制系统》以嵌入式网络控制系统为设计目标,使用目前嵌入式开发中使用频率较高的ARM9和ARM7作为硬件平台的CPU,在软件上使用了嵌入式Linux、μC/OSII操作系统,并在其基础上移植了BOA服务器、SQLite数据库等软件。网络控制系统采用了基于Web服务器的设计方法,利用HTML和JavaApplet实现网络监控界面。 《ARMLinux嵌入式网络控制系统》以产品开发为线索由浅入深地详细介绍了嵌入式网络控制系统的实现过程。除了上述的软硬件平台外还对于嵌入式Linux的开发方法和网络编程进行了系统地讲解,并介绍了Eclipse软件平台的编译和调试方法。全书的各个环节都通过示例代码进行讲解,以便加深读者对知识的理解并提高实际的应用能力,进而达到学有所用、用有所成的目的。此外,全书硬件的选型都采用工业级芯片,特别适合
处理器是IT、通信、电子产业的基石,没有处理器,信息产业大厦就如同建立在沙滩之上。本书是一本图文并茂、生动幽默的处理器科普读本,全书行文风趣幽默,用类比来解释晦涩的技术,用图画来代替枯燥的文字。本着科技以人为本的理念,本书除了技术外,还介绍了大量人物和公司的故事,供大家闲读。第1章漫游计算机世界,介绍了计算机的前世今生,以及计算机的五脏六腑、七经八脉。第2~5章从外到内,介绍了处理器的外表和内心结构,处理器的核心技术尽在于此。第6章向软件人员介绍了怎样编写高效代码,处理器的客户就是程序员,程序员在处理器上开发程序,不了解处理器怎么好意思,而对处理器了解得越深,编写出来的代码执行效率就越高。第7章介绍了一大堆的处理器公司,现在的人们攒电脑,以后的人们说不定就能攒处理器了。第8章走进处理器