zoukankan      html  css  js  c++  java
  • 《深入理解计算机系统》第一章学习笔记

    信息就是位+上下文

    源程序:就是一个由0和1组合的位(bit)序列,8位组成一字(byte),每个字节表示某个文本字符。

    系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串位表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。

    C语言的起源:
    由Dennis Ritchie在1969年~1973年创建的。
    美国国家标准学会(American National Standards Institute,ANSI)在1989年颁布了ANSI C标准,后来由国际标准化组织(International Standards Organization,ISO)负责C语言的标准化工作。
    Kernaghan和Ritchie合著的经典书被程序“K&R”。

    程序被其他程序翻译成不同格式

    为了在系统上运行hello.c程序,每条C语句都被编译器转化成一系列的低级机器语言指令。然后这些指令按照一种称为可执行目标程序的格式打好包,并以二进制磁盘文件的形式存放起来。目标程序也称为可执行目标文件。

    代码-hello.c文件:

    #include <stdio.h>
    
    int main()
    {
        printf("hello world
    ");
    }
    

    在Unix系统上,从源文件到目标文件的转化是由GCC编译器驱动程序完成的:

    unix> gcc -o hello hello.c
    

    系统的硬件组成

    总线
    贯穿整个系统的是一组电子管道 , 称做总线, 它携带信息字节并负责在各个部件间传递 。
    传送定长的字节块 , 也就是字 ( word )。
    现在的大多数机器字长有的是 4 个字节 ( 32 位 ), 有的是 8 个字节 ( 64 位 )。
    假设字长为 4 个字节 , 并且总线每次只传送 1 个字。

    I/O设备
    每个 I/O 设备都通过一个控制器或适配器与 I/O 总线相连 。
    控制器和适配器之间的区别主要在于它们的封装方式 。
    控制器:置于 I/O 设备本身的或者系统的主印制电路板 ( 通常称为主板 ) 上的芯片组 ;
    适配器:则是一块插在主板插槽上的卡。

    主存
    主存是一个临时存储设备 , 在处理器执行程序时 , 用来存放程序和程序处理的数据。
    物理上,是一组动态随机存取存储器 ( DRAM )芯片。
    逻辑上 , 是一个线性的字节数组 , 每个字节都有其唯一的地址 ( 即数组索引 ), 这些地址是从零开始的。

    例如 , 在运行 Linux 的 IA32 机器上 , short 类型的数据需要 2 个字节 , int 、 float 和 long 类型需要 4 个字节 , 而 double 类型需要 8 个字节 。

    处理器
    中央处理单元 ( CPU ), 简称处理器 , 是解释 ( 或执行 ) 存储在主存中指令的引擎 。
    处理器的核心是一个字长的存储设备 (或寄存器), 称为程序计数器( PC )。在任何时刻 , PC都指向主存中的某条机器语言指令 (即含有该条指令的地址)。

    CPU 在指令的要求下可能会执行以下操作 :

    加载:把一个字节或者一个字从主存复制到寄存器 , 以覆盖寄存器原来的内容。
    存储:把一个字节或者一个字从寄存器复制到主存的某个位置 , 以覆盖这个位置上原来的内容 。
    操作: 把两个寄存器的内容复制到ALU, ALU 对这两个字做算术操作, 并将结果存放到 一个寄存器中 , 以覆盖该寄存器中原来的内容 。
    跳转:从指令本身中抽取一个字, 并将这个字复制到程序计数器(PC) 中 , 以覆盖 PC中原来的值。

    存储设备形成层次结构

    存储器层次结构的主要思想:一层上的存储器作为低一层的存储器的高速缓存。

  • 相关阅读:
    POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
    POJ 3083 Children of the Candy Corn bfs和dfs
    POJ 2049 Finding Nemo bfs 建图很难。。
    POJ 2513 Colored Sticks 字典树、并查集、欧拉通路
    POJ 1013 Counterfeit Dollar 集合上的位运算
    POJ 2965 The Pilots Brothers' refrigerator 位运算枚举
    无聊拿socket写的100以内的加法考试。。。
    POJ 1753 Flip Game
    初学socket,c语言写的简单局域网聊天
    汇编语言 复习 第十一章 标志寄存器
  • 原文地址:https://www.cnblogs.com/9223lx/p/7900890.html
Copyright © 2011-2022 走看看