首页 > 编程语言 >读程序是怎样跑起来的第十一章有感

读程序是怎样跑起来的第十一章有感

时间:2024-02-21 09:00:26浏览次数:36  
标签:有感 第十一章 程序 硬件 指令 内存 CPU

书中首先介绍了CPU的内部结构,如寄存器、程序计数器等,它们是CPU的核心部分,确保指令能够被正确执行。接着,详细解释了CPU如何与内存进行数据交换,这一过程看似简单,实则包含了大量的细节与原理。值得一提的是,书中对于硬件控制方法的讲解,特别是对输入输出指令IN和OUT的描述,让我感受到了软件是如何控制硬件的。IN指令从指定端口读取数据,而OUT指令则将数据输出到指定端口。这两个指令是汇编语言的助记符,它们揭示了软件与硬件之间的紧密联系。此外,书中还提到了中断请求(IRQ)的概念。这是一个重要的机制,它允许中断当前正在运行的程序,转而执行其他程序。而在数据传送方面,DMA(直接内存访问)技术也是一个亮点。它使得外围设备可以直接与主内存进行数据交换,无需CPU的干预,从而提高了数据传输的效率。总的来说,《程序是怎样跑起来的》第十一章为我打开了一个新的视角,让我对计算机的工作原理有了更为深入的了解。

标签:有感,第十一章,程序,硬件,指令,内存,CPU
From: https://www.cnblogs.com/lytt/p/18024428

相关文章

  • 程序的运行环境
       运行环境等于操作系统加硬件,也就是说操作系统和硬件决定了程序的运行环境。同一类型的硬件可以选择安装多种操作系统。若从程序的运行环境这一角度来考量硬件时,CPU的种类是特别重要的参数,由此我们可以知道CPU的种类有很多且只能解释其自身固有的机器语言,而且CPU负责解析并......
  • 《程序是怎样跑起来的》第六章读后感
    我深入阅读了《程序是怎样跑起来的》的第六章。这一章节为我揭示了程序运行过程中的重要环节和原理,让我对计算机程序的执行有了更深刻的理解。首先,本章强调了程序与数据结构的紧密联系。一个好的数据结构可以大大提高程序的运行效率,而一个糟糕的数据结构则可能导致程序运行缓慢甚......
  • 对于可执行文件的产生和运行过程的认知(《程序时怎样跑起来的》第8章)
    在阅读《程序时怎样跑起来的》第八章后,我认识到了源文件变为可执行文件的过程,包括必备的因素和运行的条件。源文件指的是程序员利用高级语言写的代码文件,而在第七章中提到,CPU能识别的是本地代码也叫机器语言,而源文件到本地代码的过程就叫做“编译”,通常利用对应语言的编译器进行编......
  • 《程序是怎样跑起来的》第四章读后感
    《程序是怎样跑起来的》第四章的内容主要讲的是熟悉使用有棱有角的内存。读了第四章内容,我学到了内存的物理机制是什么,内存的逻辑模型,数组等知识。内存实际上是一种名为内存IC的电子元件。虽然内存IC包括DRAM、SRAM、ROM”等多种形式,但从外部来看,其基本机制都是一样的。内存IC中......
  • 《程序是怎样跑起来的》第七章:程序在何种环境中运行
    这一章深入浅出地解析了操作系统、硬件、编译器等重要元素,以及它们如何协同工作以支持程序的运行。在程序运行的大环境中,操作系统无疑扮演着关键的角色。它不仅管理着硬件资源,如CPU、内存和存储,还负责提供一种机制使得多个程序能够安全、有效地共享这些资源。通过操作系统,程序可以......
  • 《程序是怎样跑起来的》第八章:从源文件到可执行文件
    在这一章中,作者详细地解释了如何将源代码转化为可执行文件,这个看似简单的讨程实际上包含了多个复杂的步骤。源代码,作为程序的起点,虽然已经包含了实现特定功能的代码,但它本身并不能直接运行。为了让它能在计算机上运行,需要经过一系列的编译和链接过程。这包括词法分析、语法分析、......
  • 程序是怎样跑起来的第八章读后感
    在阅读第八章后,我对程序的内存管理有了更深入的理解。这一章详细介绍了内存的分配和释放机制,以及如何避免内存泄漏和内存溢出等问题。我认识到了内存管理对于程序的重要性。不合理的内存使用可能导致程序性能下降、崩溃甚至出现安全漏洞。通过学习本章内容,我了解到了不同的内存分......
  • 读程序是怎样跑起来的第八章有感
    《程序是怎样跑起来的》第八章通过深入浅出的方式,解答了我对于现代编程语言特性的困惑。作者详细解释了现代编程语言背后的工作原理,以及为什么这些特性如此重要。我对第八章中关于“动态类型语言与静态类型语言”的论述印象深刻。我之前一直觉得这两者间的区别只是形式上的,但作者......
  • 【C++】判断回文字符串。回文指的是顺读和逆读都一样的字符串。例如,“tot”和“otto”
    //判断字符串是否是回文字符串(考虑大小写,空格和标点符号)boolpalindrome1(string&str){stringret;for(auto&c:str){if(isalpha(c)){if(isupper(c)){ret.push_back(tolower(c));}else{ret.push_back(c);}......
  • 《程序是怎样跑起来的》第八章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第八章的读后感,从源文件到可执行文件。Windows中的EXE文件的程序内容使用的就是本地代码。能够把C语言等高级编程语言编写的源代码转换成本地代码的程序称为编译器,将C语言编写的源代码换成本地代码的编译器称为C编译器。把多......