Chapter 1 Basic Structure of Computers

1.1 计算机类型(Computer Types)


1. 计算机类型分类(Computer Types)

1. 嵌入式计算机(Embedded Computers)

  • 特性
    • 集成到更大的设备或系统中。
    • 自动监测并控制物理过程或环境。
    • 为特定用途设计。
  • 典型应用(Typical Applications)
    • 工业与家庭自动化(Industrial and home automation)。
    • 家电与电信产品(Appliances, telecommunication products)。
    • 车辆(Vehicles)。

2. 个人计算机(Personal Computers)

  • 特性
    • 主要供个人专用。
    • 支持多种应用程序。
  • 常见用途
    • 通用计算(General computation)。
    • 文档准备(Document preparation)。
    • 计算机辅助设计(Computer-aided design)。
    • 视听娱乐(Audiovisual entertainment)。
  • 种类
    • 台式电脑(Desktop computers)。
    • 工作站电脑(Workstation computers)。
    • 便携式电脑/笔记本电脑(Portable and notebook computers)。

3. 服务器与企业系统(Server & Enterprise Systems)

  • 特性
    • 大型计算机,支持大量用户通过公共或私有网络共享使用。
    • 包含大量数据库存储单元。
    • 能够处理大量访问数据的请求。
  • 典型用途
    • 中型到大型企业的业务数据处理(Business data processing in medium to large corporations)。
    • 政府机构的信息处理(Information processing for a government agency)。

4. 超级计算机与网格计算机(Supercomputers & Grid Computers)

  • 特性
    • 提供最高性能的计算能力。
  • 超级计算机(Supercomputers)
    • 用于要求极高计算能力的工作,例如:
      • 天气预报(Weather forecasting)。
      • 工程设计(Engineering design)。
      • 科学研究(Scientific work)。
  • 网格计算机(Grid Computers)
    • 将大量个人计算机和磁盘存储单元通过物理分布的高速网络连接起来。

5. 云计算(Cloud Computing)

  • 定义
    • 云计算是基于互联网的计算模式。
    • 提供按需分配的共享资源、软件和信息。
  • 特性
    • 动态按需资源分配(Dynamic on-demand resource allocation)。
    • 灵活性和可扩展性(Flexibility and scalability)。
  • 典型应用
    • 数据存储与共享(Data storage and sharing)。
    • 软件即服务(SaaS, Software as a Service)。
    • 在线协作工具(Online collaboration tools)。

总结表格

类别 英文定义 中文定义
嵌入式计算机 Integrated into larger systems, task-specific use. 集成于更大的系统中,执行特定任务。
个人计算机 Computers for individual use, supports general tasks. 面向个人用途的计算机,支持通用任务。
服务器与企业系统 Large systems for multi-user data processing and storage. 面向多用户数据处理和存储的大型系统。
超级计算机与网格计算机 High-performance computers for demanding computations or distributed network-based systems. 用于高性能计算或基于分布式网络的系统。
云计算 Internet-based computing for shared resources, software, and information on demand. 基于互联网的计算模式,提供共享资源、软件和信息的按需服务。

1.2 功能单元(Functional Units)


1. 计算机的基本功能(Basic Functions of a Computer)

  1. 数据处理(Data Processing)
    • 数据定义:任何数字化信息,包括:
      • 机器指令(Machine Instructions)。
      • 数字和字符(Numbers and Characters)。
  2. 数据存储(Data Storage)
    • 存储程序和数据以备后续处理。
  3. 数据传输(Data Movement)
    • 在输入、处理、存储和输出之间移动数据。
  4. 控制功能(Control)
    • 协调和控制其他功能单元的操作。

2. 计算机的基本功能单元(Basic Functional Units of a Computer)

  1. 输入单元(Input Unit)

    • 功能:使计算机能够接受编码信息。
    • 输入设备
      • 键盘(Keyboard)。
      • 图形输入设备:触控板(Touchpad)、鼠标(Mouse)、操纵杆(Joystick)和轨迹球(Trackball)。
      • 数码相机(Digital Camera)。
      • 麦克风(Microphone)。
      • 数字通信设备,例如互联网(Digital communication facilities, such as the Internet)。
  2. 输出单元(Output Unit)

    • 功能:将处理结果发送到外部世界。
    • 输出设备
      • 打印机(Printer)。
      • 图形显示器(Graphic Display)。
  3. 存储器(Memory)

    • 功能:存储程序和数据。
    • 存储分类
      1. 主存储器(Primary Storage)
        • 执行程序时存储程序。
        • 术语:
          • 字(Word):存储单位。
          • 字长(Word Length):通常为16、32或64位。
          • 地址(Address):存储位置的标识。
          • 随机访问存储器(RAM):临时存储。
          • 存储访问时间(Memory Access Time):存取速度。
      2. 高速缓存存储器(Cache Memory)
        • 更小更快的RAM单元。
        • 存储当前执行程序的部分内容以加快处理速度。
      3. 辅助存储器(Secondary Storage)
        • 存储大量程序和不常访问的数据。
        • 辅助存储设备:
          • 磁盘和磁带(Magnetic Disks and Tapes)。
          • 光盘(DVD 和 CD)。
          • 闪存设备(Flash Memory Devices)。
  4. 算术与逻辑单元(Arithmetic and Logic Unit, ALU)

    • 功能:执行算术或逻辑运算。
    • 操作流程
      • 将操作数从内存加载到处理器。
      • 在ALU中执行操作。
      • 将结果存回内存或保留在处理器中。
      • image-20241122101836165
  5. 控制单元(Control Unit)

    • 功能
      • 协调其他单元的操作。
      • 发送控制信号并感知其他单元的状态。
  6. 输入/输出单元(I/O Unit)

    • 功能:处理数据的输入和输出。
  7. 处理器(Processor)

    • 包含ALU和控制单元。

      image-20241122101927621

3. 计算机的操作流程(Operations of a Computer)

  1. 输入信息
    • 通过输入单元接收程序和数据,将其存储在存储器中。
  2. 处理信息
    • 根据程序控制,从存储器中提取信息,在算术与逻辑单元中处理。
  3. 输出信息
    • 将处理后的信息通过输出单元传递给外部世界。
  4. 活动协调
    • 所有活动由控制单元指挥和协调。

中英对照表

功能单元 英文定义 中文定义
输入单元 Accepts coded information into the computer. 接受编码信息进入计算机。
输出单元 Sends processed results to the outside world. 将处理结果发送到外部世界。
存储器 Stores programs and data. 存储程序和数据。
算术与逻辑单元(ALU) Performs arithmetic and logic operations. 执行算术和逻辑运算。
控制单元 Coordinates and controls operations of other units. 协调和控制其他功能单元的操作。
处理器 Consists of ALU and Control Unit. 包含ALU和控制单元。

1.3 基本操作概念(Basic Operational Concepts)


1. 程序执行(Program Execution)

1.1 程序执行的基本流程

  1. 功能:执行程序中指定的指令。
  2. 步骤
    • 指令提取(Fetch):处理器从内存中逐条读取指令。
    • 指令执行(Execute):处理器执行每条指令的操作。
  3. 重复执行循环
    • 程序执行由指令提取指令执行的循环过程组成。

2. 程序执行示例(Program Execution Example)

2.1 示例指令

  1. 加载指令 (Load R2, LOC):
    • 步骤
      1. 从内存中提取指令到处理器寄存器(IR)。
      2. 从内存地址 LOC 读取操作数,并将其加载到寄存器 R2
  2. 存储指令 (Store R4, LOC):
    • 步骤
      1. 将寄存器 R4 中的操作数复制到内存地址 LOC
  3. 加法指令 (Add R4, R2, R3):
    • 步骤
      1. 将寄存器 R2R3 的内容相加。
      2. 将结果存放在寄存器 R4 中。
image-20241122102348567
image-20241122102415230

3. 重要寄存器(Important Registers)

  1. 程序计数器(Program Counter, PC)
    • 功能:指向即将执行的下一条指令的内存地址。
    • 每次指令提取后,PC 自动递增,以指向下一条指令。
  2. 指令寄存器(Instruction Register, IR)
    • 功能:保存当前正在执行的指令内容。

4. 中断(Interrupt)

4.1 什么是中断

  • 中断是由I/O设备发出的请求,要求处理器提供服务。
  • 中断的作用是打断当前程序的执行,优先处理紧急任务或事件。

4.2 中断的处理流程

  1. 检查中断请求:程序执行时,处理器定期检查是否有中断请求。
  2. 保存当前状态:保存当前指令的执行状态和数据,确保处理完成后可以恢复。
  3. 处理中断:跳转到中断服务程序(Interrupt Service Routine, ISR)。
  4. 恢复状态:完成中断任务后,恢复先前保存的状态并继续执行原程序。
image-20241122102443494

5. 指令周期(Instruction Cycle)

程序的执行由以下三个周期组成:

  1. 提取周期(Fetch Cycle)
    • 处理器从存储器读取下一条指令到指令寄存器(IR)。
  2. 执行周期(Execute Cycle)
    • 执行指令寄存器中指定的操作。
  3. 中断周期(Interrupt Cycle)
    • 检查是否有中断请求,并处理中断任务。

流程图

1
2
3
4
5
6
7
8
9
10
11
开始(Start)

提取下一条指令(Fetch Next Instruction)

执行指令(Execute Instruction)

检查中断请求(Check for Interrupt)

如果有中断 → 处理中断(Process Interrupt)

完成后 → 停止或继续(Halt/Continue)

中英对照表

功能 英文 中文
程序计数器(PC) Program Counter 指向下一条指令的内存地址。
指令寄存器(IR) Instruction Register 保存当前正在执行的指令内容。
提取指令周期 Fetch Cycle 读取下一条指令到指令寄存器。
执行指令周期 Execute Cycle 执行指令寄存器中指定的操作。
中断处理 Interrupt Processing 优先处理紧急任务或事件。
加载指令 Load Instruction 将数据从内存加载到寄存器。
存储指令 Store Instruction 将寄存器中的数据存储到内存中。
中断请求 Interrupt Request I/O设备要求处理器提供服务。
中断服务程序(ISR) Interrupt Service Routine 专门处理中断的程序。

1.6 性能(Performance)


1. 性能的定义与重要性

  • 性能的衡量标准
    计算机性能最重要的指标是其执行程序的速度。性能越高,计算机完成任务的时间越短。

  • 性能的影响因素
    性能受以下因素影响:

    1. 指令集设计(Instruction Set Design):指令集的复杂度和优化程度直接影响执行效率。
    2. 硬件设计(Hardware Design):硬件结构和实现方式决定了计算能力。
    3. 软件优化(Software Optimization):软件代码的编写和编译优化也会影响性能。

2. 提升性能的关键技术

2.1 VLSI 技术(Very Large Scale Integration)

  • 定义
    • 超大规模集成电路技术,通过在单个芯片上集成更多晶体管。
  • 优点
    1. 更小的晶体管:晶体管越小,开关切换速度越快,处理速度越高。
    2. 能耗降低:小型化晶体管的功耗更低,提高了计算效率。

2.2 并行化技术(Parallelism)

  1. 并行执行(Parallel Execution)
    • 并行化技术允许多个操作同时进行,显著提高处理速度。
    • 应用场景:图像处理、科学计算等需要高吞吐量的任务。
  2. 指令级并行(Instruction-Level Parallelism, ILP)
    • 定义:通过流水线(Pipelining)技术实现指令的并行执行。
    • 工作原理
      • 将一条指令的执行拆分为多个阶段(如取指、解码、执行、写回)。
      • 多条指令同时在不同阶段运行,从而提高指令执行的吞吐量。

2.3 多核处理器(Multicore Processors)

  • 定义
    在一个物理芯片上集成多个处理核心(Cores),每个核心独立处理任务。
  • 优点
    1. 并行执行任务:多个核心可以同时运行不同的线程,提高程序的整体执行效率。
    2. 节能高效:相比单核高频率运行,多核设计在性能提升的同时降低功耗。

2.4 多处理器系统(Multiprocessors)

  • 定义
    多个物理处理器通过共享内存或消息传递共同完成计算任务。
  • 特性
    1. 适合高性能计算(High Performance Computing)。
    2. 提供良好的扩展性,可增加处理器数量以提升性能。

2.5 多计算机系统(Multicomputers)

  • 定义
    多台独立计算机通过高速网络协作处理任务。
  • 特点
    1. 每台计算机拥有自己的内存和处理器,分布式系统特性明显。
    2. 适合处理大规模分布式计算任务,如大数据分析。

中英对照

术语 英文 中文
性能 Performance 衡量计算机执行任务的效率。
指令集设计 Instruction Set Design 指令集的设计和优化。
超大规模集成电路(VLSI) Very Large Scale Integration 将大量晶体管集成到单一芯片上。
并行执行 Parallel Execution 同时执行多个操作以提高效率。
指令级并行 Instruction-Level Parallelism 通过流水线技术实现指令的并行处理。
流水线 Pipelining 将指令的执行分解为多个阶段,并行运行。
多核处理器 Multicore Processors 单个芯片包含多个独立处理核心。
多处理器系统 Multiprocessors 多个处理器通过共享资源共同工作。
多计算机系统 Multicomputers 通过高速网络协作的独立计算机系统。

1.7 历史视角(Historical Perspective)


1. 计算机的发展历程

1.1 零代:机械计算机(1642-1945)

  • 特点:基于机械原理完成基本运算,未使用电子元件。
  • 重要里程碑
    • 1642年,Blaise Pascal:发明了第一台可执行加减运算的机械计算器。
    • 1672年,Leibniz:设计了可以进行乘除运算的计算机。
    • 1834年,Charles Babbage:设计了差分机(Difference Engine)分析机(Analytical Engine),被称为“现代计算机之父”。
    • 1930年代后期,Konrad Zuse:发明了Z1,是第一台工作中的电磁继电计算机。

1.2 第一代:真空管计算机(1945-1955)

  • 特点:使用真空管作为电子元件,体积大、能耗高。
  • 代表性成就
    • ENIAC(电子数值积分计算机):世界上第一台通用电子数字计算机。
      • 由宾夕法尼亚大学的Moore学校开发。
      • 包含18,000个真空管1,500个继电器
    • 存储程序概念(Stored-program concept)
      • 提出者:John von Neumann
      • 数据和指令存储在单一的读写内存中,通过地址访问,无需考虑数据类型。
      • 执行按顺序进行,除非显式修改。
    • 技术特性
      • 使用汇编语言(Assembly Language)编程。
      • 初期使用汞延迟线存储器,后来发展为磁芯存储器和磁鼓存储设备。
      • I/O设备类似打字机。

1.3 第二代:晶体管计算机(1955-1965)

  • 特点:使用晶体管代替真空管,体积更小、功耗更低、速度更快。
  • 重要里程碑
    • 晶体管由AT&T贝尔实验室在1940年代末发明。
    • 使用磁芯存储器和磁鼓存储设备,磁盘存储设备得以开发。
    • 开发了早期高级编程语言,如Fortran
    • 编译器开始使用,简化了编程流程。
    • IBM在这一时期成为主要的计算机制造商。

1.4 第三代:集成电路计算机(1965-1975)

  • 特点:使用集成电路(IC)技术,将多个晶体管集成在单一硅芯片上。
  • 技术创新
    • 集成电路技术:由德州仪器(Texas Instruments)仙童半导体(Fairchild Semiconductor)开发。
    • 集成电路存储器取代磁芯存储器。
    • 引入微程序设计并行化流水线等概念。
    • 开发了高速缓存虚拟存储器技术。
  • 代表性计算机:IBM360系列计算机,PDP-11等。

1.5 第四代:LSI & VLSI(1975-至今)

  • 特点:超大规模集成电路(VLSI)技术可以在单个芯片上实现完整的处理器和大容量主存储器。
  • 发展方向
    • 开发了个人电脑(PC)、嵌入式计算机、笔记本电脑和多功能移动电话等设备。
    • 代表产品:Intel 8088
    • 特殊VLSI技术:现场可编程门阵列(FPGA)
  • 组织结构创新:并行计算、分层存储器体系等概念的演进。

2. 性能的演变

2.1 技术改进的速度

  • 真空管:性能提升约100到1000倍
  • 晶体管:性能提升约1000倍
  • LSI和VLSI:性能提升约1000倍

2.2 体系结构创新

  • 使用技术如高速缓存(Cache)、流水线(Pipelining)等进一步提升计算机性能。

中英对照

术语 英文 中文
机械计算机 Mechanical Computers 零代计算机,基于机械原理。
真空管 Vacuum Tubes 第一代计算机使用的电子元件。
ENIAC Electronic Numerical Integrator And Computer 世界上第一台通用电子数字计算机。
存储程序概念 Stored-program Concept 数据和指令存储在单一内存中。
晶体管 Transistors 第二代计算机使用的电子元件。
集成电路 Integrated Circuits 第三代计算机的核心技术。
超大规模集成电路 Very Large Scale Integration (VLSI) 第四代计算机的核心技术。
现场可编程门阵列 Field Programmable Gate Array (FPGA) 特殊形式的VLSI技术。
高速缓存 Cache 提高数据访问速度的小型存储器。
流水线 Pipelining 提高指令执行效率的技术。

测验


1. 示例题:输入和输出设备

Question: Which of the following is an example of both input and output device? 选项:

  • A. Touchpad
  • B. Display
  • C. Printer
  • D. Keyboard

首先分析每个选项: - A. Touchpad(触摸板): - 触摸板主要用于输入信息,用户通过在触摸板上的手势操作(如移动光标、点击等)向计算机输入指令,它本身不是用于输出信息给用户的设备。 - B. Display(显示器): - 显示器是典型的输出设备,它将计算机处理后的信息(如文字、图像、视频等)以可视化的方式呈现给用户,它没有输入功能。 - C. Printer(打印机): - 打印机也是输出设备,它将计算机中的文档、图像等内容打印到纸张等介质上,没有用于接收用户输入的功能。 - D. Keyboard(键盘): - 键盘主要用于输入信息,用户通过按键向计算机输入字符、命令等数据,它不是输出设备。 然后看既可以输入又可以输出的设备: - 有一些设备可以同时具备输入和输出功能。例如,触摸屏(Touch - screen),它既可以接收用户的触摸输入(类似于触摸板的输入功能),又可以显示信息(类似于显示器的输出功能)。 - 但是在给定的选项中没有触摸屏这样的设备。严格来说,在这四个选项中没有符合既是输入又是输出设备的选项。


2. 计算机的五大功能单元

Question: List the names of five functional units of a computer. 列出计算机的五大功能单元:

  1. Arithmetic and Logic Unit(ALU) - 算术逻辑单元
  2. Control Unit - 控制单元
  3. Memory - 存储单元
  4. Input Unit - 输入单元
  5. Output Unit - 输出单元