回顾冯·诺依曼模型(von Neumann Model),这是现代计算机体系结构的基础。以下是该模型的关键概念:
1.通用计算机:
• 冯·诺依曼提出的计算机是通用机器(general- purpose),可以通过可执行的程序进行控制。(这意味着一台计算机可以通过不同的程序来执行各种任务,而不需要更换硬件。)
2.程序(Program):
• 程序是指令的列表(a list of instruction),用来指导计算机完成特定的任务。
3.存储器中的程序与数据:
• 程序和数据都存储在计算机的内存中,并以二进制代码的形式表示。
- 处理器(Processor):
• 处理器是计算机中执行程序指令的核心部件。它负责从内存中读取指令并执行它们,将任务分解为可以在硬件上执行的操作。
总结:
冯·诺依曼模型强调了计算机作为通用机器的特点,通过可存储的程序和数据实现了灵活的任务处理。这种模型定义了现代计算机的基本结构:处理器、存储器和可执行程序。
一. Principal components of a computer
计算机的主要组成部分
这三个组成部分是构成任何数字计算机 (digital computer)的最小必要组件 (minimum set of components)。虽然现代PC的主板通常会显得更加复杂,但这些基本组件是每台计算机正常工作的核心。CPU处理数据执行指令,主存储器提供数据和指令存储,I/O单元负责设备的输入和输出
计算机系统中的三个主要子系统(subsystem):
中央处理器(CPU)
主存储器(main memory)
输入输出单元(input-output units)
每个子系统通常由许多组件构成,并且它们之间需要进行数据交换(通过主板上的总线系统)
以下是主板上各个关键组件的详细解释:
-
CPU插槽(Socket 7):
• 这是中央处理器(CPU)所在的位置。(CPU通过这个插槽与主板连接,并通过主板与其他组件通信)。在图中还展示了连接的风扇(CPU Fan Connector)用于冷却CPU。
-
内存插槽(Slots for Memory Modules):
• 这些插槽用于插入内存模块(通常为RAM)。内存是临时存储器。主板上通常有多个内存插槽,以支持扩展。
-
芯片组(Chipset):
• 负责管理数据在不同硬件组件之间的流动。(它通常由两个芯片组成:北桥(Northbridge)和南桥(Southbridge),分别负责与内存、CPU和其他I/O设备的通信。)
-
扩展插槽(Slots for IO Expansion Cards):
• 这些插槽允许用户扩展主板的功能,插入其他硬件,如显卡、声卡或网络卡。(ISA和PCI插槽是常见的扩展插槽类型,其中PCI是较新的标准,传输速度更快。)
-
硬盘IDE连接器(Hard Disk IDE Connector):
• IDE连接器用于将硬盘驱动器连接到主板。(IDE是一种旧式的接口类型,用于连接存储设备)。
-
电源连接器(Power Connector):
• 电源连接器为主板提供电力,使得所有组件可以正常运行。
-
输入输出接口(I/O Connectors):
• 主板上有多种I/O接口,用于连接外部设备。例如:
• 键盘连接器(Keyboard Connector):用于连接键盘。
• 鼠标连接器(Mouse Connector):用于连接鼠标。
• 打印机连接器(Printer Connector):用于连接打印机。
• VGA接口(VGA Connector):用于连接显示器。
-
BIOS芯片和锂电池(BIOS and Lithium Battery):
• BIOS是基本输入输出系统,负责启动计算机并加载操作系统。锂电池用于保存BIOS设置和系统时间,即使断电也能维持这些信息。
-
ISA和PCI插槽:
• ISA插槽:较旧的扩展卡插槽,用于连接低速设备。
• PCI插槽:一种用于连接高性能扩展卡的插槽,通常用于显卡或其他高速设备。
-
声音卡和I/O控制器(Sound and I/O Controller):
• 声卡(Sound)处理音频信号,用于声音的输入输出。
• I/O控制器(IO)管理输入输出设备的连接和通信。
-
水晶振荡器(Crystal):
• 这是时钟信号的源头,提供CPU和其他组件运行所需的稳定时钟信号。
总结:
这张图展示了主板上各种连接器和插槽的位置与功能。通过这些接口,用户可以连接各种外部设备(如鼠标、键盘、显示器等),并插入扩展卡以增加计算机的功能。主板是计算机的核心硬件组件,负责连接和管理所有其他硬件设备。
处理器和寄存器(Processor and Registers)
- 处理器(CPU)内部包含算术逻辑单元 (ALU)和控制单元
1.算术逻辑单元负责执行算术运算和逻辑判断(arithmetic /logic unit)
2.控制单元(control unit)则负责整个机器的指令周期(machine cycle),包括四个步骤:取指令(fetch)、解码(decode)、执行(execute)和存储(store)。
- 处理器还包含一些用于存储指令和地址的寄存器
例如程序计数器(PC)和指令寄存器(IR)。
1.指令指针(IP)/程序计数器(Program counter):是处理器中的一个寄存器,用来存储下一条 将要执行的指令的内存地址 。
-
指令寄存器(Istruction register):是控制单元的一部分,用来存储当前正在执行的指令 。
-
累加器(AX, EAX):累加器是一种通用的数据寄存器 ,用于存储指令执行中的操作数和结果。在不同的CPU架构中,累加器的名称和大小可能有所不同,例如在Pentium架构中,累加器被称为EAX。
-
内存地址寄存器(MAR, Memory Address Register) 和 内存缓冲寄存器(MBR, Memory Buffer Register):在执行指令时,这些寄存器分别用于存储内存位置的地址和数据。
• 处理器是计算机的"大脑",执行所有指令。寄存器是处理器中的小块高速存储器(small block of fast memory),用于暂存数据和指令。
协处理器(Coprocessors:Assistants to the CPU)
协处理器是一种微处理器(microprocessors),它执行一些CPU无法执行或者执行得不够好、不够快的专门功能。协处理器可以处理数学运算和图形处理等任务。
Boards and Chips
电路板和芯片的构造和材料。以下是详细的解释:
1.电路板(Circuit Boards)
电路板是计算机系统中重要的组成部分,它们用于将各种组件(如CPU、内存、输入输出设备)连接在一起,并允许它们之间进行通信。
2.使用铝或铜导电传输电子信号(ues aluminum or copper to conduct electronic messages)
3.硅芯片(Chips of Silicon):
• 计算机中的CPU、GPU以及其他芯片,都是由硅制成的(芯片上集成了数十亿个晶体管,用于执行各种计算任务)。
4.半导体(Semiconductor):
• 半导体是介于导体和绝缘体之间的材料,硅是最常用的半导体材料。
总线(Buses)
1.总线的定义:
• 在主板上,所有组件通过总线("信号高速公路")互连(interconnected)。
• 总线是一束导体、导线或轨道(a bundle of conductors, wires, or tracks)
• 总线将CPU、内存和输入输出设备连接在一起,使得它们能够交换信息。
2.总线的种类:
• 通常,总线可以分为以下三种:
1. 地址总线(Address Bus):用于传输内存或设备的地址,指示数据应当存储或读取的位置。
2. 数据总线(Data Bus):用于在CPU、内存和其他设备之间传输实际的数据。
3. 控制总线(Control Bus):用于传输控制信号,指示读写操作等其他指令。
-
不同处理器的总线示例:
• Intel 8086:8086处理器具有20根共享的地址/数据线,另外还有17根控制线。这意味着它使用相同的线路来传输地址和数据。
• Intel Pentium:相比之下,Pentium处理器的设计更先进,使用了64根数据线和32根地址线,允许更高的传输速度和更大的地址空间。
总结:
主板上的所有组件通过总线来进行数据交换。地址总线、数据总线和控制总线分别负责不同类型的信息传输。随着处理器的发展,现代处理器使用更多的总线线数,以提高数据传输速度和系统性能。
每个设备通过总线与CPU相连,以接收来自CPU的地址和控制信号,并传输数据
- 硬件系统的设计方式,其中每个硬件单元都连接到所有的总线上。
- 这种方式简单地构建了复杂的系统,使得每个单元之间可以进行通信。
- 当新单元被接入(plugging in)或旧(failed)单元被替换(swapping out)时,系统的干扰很小。
总线架构(Bus Architecture)
这张图片展示了计算机系统中**系统互连(System Interconnections)**的基本架构
-
系统时钟(System Clock):
• 系统时钟负责为整个系统提供同步信号,它决定了所有组件(如CPU、内存、I/O设备)工作时的同步速率。时钟脉冲确保计算机中的所有操作都在统一的时间框架内进行。
-
中央处理器(CPU):
• CPU 是处理计算任务的核心。它通过**系统总线(System Bus)**与其他组件(如内存和I/O子系统)进行通信。
• 在图中,CPU与系统时钟相连,并且可以接收来自设备的中断请求(Interrupt Request)。中断请求用于通知CPU某个设备需要它的处理
-
系统总线(System Bus):
• 系统总线连接CPU、内存和输入输出设备,它提供了共享的通道用于在各组件之间传输数据、地址和控制信号。
-
主存储器(Main Memory):
• 主存储器是用于存储程序和数据的临时工作空间(通常为RAM)。CPU通过系统总线读取和写入内存中的数据。内存中存储的内容在CPU执行程序时被不断访问。
-
输入输出子系统(I/O Subsystem):
• I/O子系统包括各种输入输出设备(如键盘、鼠标、硬盘、显示器等)。这些设备通过总线与CPU和内存连接,并传输输入数据或接收输出结果。
• I/O子系统通过中断机制与CPU进行交互,设备可以通过中断请求来获取CPU的注意,确保及时处理设备需求。
-
中断请求(Interrupt Request):
• 中断请求用于在设备需要CPU处理时通知CPU。它可以提高系统效率,因为CPU不需要轮询所有设备,而是根据需要在设备发出请求时进行处理。
总结:
该图解释了计算机系统内各个主要组件(如CPU、内存、I/O设备)通过系统总线进行互连的工作原理。系统时钟提供同步信号,中断请求则帮助设备高效与CPU交互。总线架构使得数据、地址和控制信号可以在不同设备之间高效传递。
• 总线瓶颈(Bus Bottleneck) :总线只能同时传输一个数据项,这会导致系统性能的瓶颈。随着处理器速度的提高,总线瓶颈问题变得更加严重,限制了整体性能的提升。
• 点对点连接(Point-to-Point Connection) :这是总线的替代方案,但需要大量的线路连接每一对设备,因而并不常用。
• 点对点连接是指每一对设备之间都有独立的连接通道。
• 如果有 n 个设备,那么所需的连接路径数量为 n(n-1)/2 ,即每对设备之间都需要一条独立的路径。随着设备数量的增加,路径数量会迅速增加。
Q&A
Q1: General-purpose machine(通用计算机)与Special-purpose machine(专用计算机)之间的区别:
• General-purpose machine(通用计算机):
• 这是指像CPU(中央处理器)这样的组件。它是可以执行多种任务的通用计算设备,能够处理多种不同类型的计算任务。CPU是可以通过软件指令来执行各种任务的核心计算单元。
• Special-purpose machine(专用计算机):
• 这是指协处理器(Coprocessor),它通常用于执行特定类型的任务,例如图形处理、浮点运算等。协处理器并不能独立完成所有计算任务,而是专门优化某些任务,协助CPU进行特定类型的计算。
Q2: 点对点连接下6个设备所需的线数计算:
• 题目假设有6个设备,并通过8条数据线和2条控制线连接。
• 点对点连接需要计算每一对设备之间的连接路径,路径数量计算公式是n(n-1)/2 。
• 对于6个设备,路径数为6(6-1)/2 。
• 每条路径需要8条数据线和2条控制线,因此每条路径需要 10条线。
• 总共所需的线数为15* 10 =150条。
因此,在点对点连接下,6个设备的总连接线数为150条。
Instruction Set
机器语言指令集(machine language iinstructions)是指一组特定处理器能够理解的机器语言指令。
这些指令是为特定的中央处理器(CPU)设计的
可以直接被计算机执行,无需翻译
机器语言指令集也被称为机器码(machine code)
这些指令包括加法(ADD)、减法(SUB)、自增(INC)、自减(DEC)等操作。
How instruction are executed
取指令-执行周期(fetch-execute cycle)或机器周期(machine cycle),是计算机执行程序指令的顺序过程。
这个过程包括三个步骤:首先从内存中读取 指令,然后对指令进行解码 ,最后执行指令。
• 机器周期(Machine Cycle):每条指令的执行过程可以分为四个阶段:
-
取指(Fetch):从内存中获取指令。
-
解码(Decode):将获取的指令转换为处理器可以理解的操作。
-
执行(Execute):处理器执行指令,完成计算或数据传输等操作。
-
存储(Store):将结果存储到指定的内存位置或寄存器中。
• 步骤解析:
这几张图片展示了指令周期中的**取指阶段(Fetch Phase)和执行阶段(Execution Phase)**的流程,具体描述了CPU如何通过寄存器和总线系统执行一条指令。以下是详细解析:
-
取指阶段(Fetch Phase):
• 步骤 1:IP寄存器中的地址通过地址总线传送到**MAR(内存地址寄存器)中。IP中的地址表示要取回的指令所在的内存位置。
• 步骤 2:IP寄存器递增,为下一次指令的获取做好准备。这使得IP指向程序内存中的下一个位置。
• 步骤 3:内存选择相应位置并将内容(即指令)复制到数据总线(data bus)上。
• 步骤 4:CPU通过数据总线将指令代码复制到 IR(指令寄存器)**中。• 步骤 5:CPU开始解码指令。
在展示的例子中,Pentium指令是10111000 00000000 00000001,汇编代码为MOV AX, 0x100,这意味着从内存地址0x100读取数据并将其移动到累加器寄存器AX中。
-
执行阶段(Execution Phase):
• 步骤 1:IP寄存器的值通过地址总线传送到内存,以选择要操作的数据地址。
• 步骤 2:IP寄存器递增(incremented),指向下一条指令。
• 步骤 3:从内存中选择的值通过数据总线复制到CPU中。
• 步骤 4:CPU将通过数据总线传输的数据存储到AX寄存器中。
以执行指令MOV AX, 256为例:
• IP中的地址被复制到地址总线并锁存(latched into)到内存中。
• 内存中所选的数据(256)通过数据总线传输到CPU,CPU将其存储到AX寄存器中。
Q&A
在每次指令执行过程中,IP(指令指针) 和 IR(指令寄存器) 是总是被使用的两个寄存器。
- IP(Instruction Pointer,指令指针):
• IP寄存器保存下一条即将执行的指令地址。每次取指时,IP会被使用来确定从内存中获取的指令位置,之后IP会递增以准备下一条指令。 - IR(Instruction Register,指令寄存器):
• IR寄存器存储从内存中取回的当前指令。每当CPU从内存中读取指令后,这条指令会被加载到IR寄存器中进行解码和执行。
这两个寄存器是每条指令执行过程中不可或缺的。
复杂指令集计算(CISC)和精简指令集计算(RISC)
是两种不同的处理器架构:
-
CISC:
• 特点:指令集复杂,每条指令可能执行多个操作,需要多次取指。
• 应用:常用于大型计算机(mainframes)和PC,减少高级语言到机器语言的翻译工作。
-
RISC:
• 特点:指令集简化,每条指令执行单一操作,速度更快。
• 优势:更便宜、更快,设计简化,易于优化,程序运行效率更高。
-
对比:
• CISC:指令复杂,取指次数多,执行慢。
• RISC:指令简单,取指次数少,执行快。
-
RISC更快的原因:
• 简化指令集,腾出芯片空间(vacated area of the chip)优化常用指令。
• 设计更容易优化(optimize),程序执行更高效。
RISC通过简化指令集提升了速度,而CISC则适合复杂操作的场景。
输入输出设备(I/O Devices)
• 硬拷贝输出设备(Hardcopy output):如打印机、绘图仪等,用于生成物理输出。
• 软拷贝输出设备(Softcopy output):如显示器和音响设备,用于生成电子格式的输出(如视频video和音频audio)。
显示器分辨率(Screen Clarity)
• 文档列出了标准的屏幕分辨率,如640x480、1024x768等。屏幕分辨率决定了显示器上显示的像素(pixels)数量,从而影响图像的清晰度。
How many pixels are rendered with 1024 x768 screen resolution?
1024 x 768 屏幕分辨率下渲染了多少个像素?
1024 * 768 = 786,432 像素
Communications Hardware
通信硬件
• 促进网络连接(facilitate networks)
• 调制解调器(modems)
• 集线器(hubs)和其他网络组件
"Modems"是调制解调器,它是一种设备,可以将计算机的数字信号转换为可以通过电话线传输的模拟信号,反之亦然。
"Hubs"是集线器,它是一种简单的网络设备,用于连接多台计算机,使得它们可以相互通信
并行端口和串行端口
connecting peripherals to the computers
• 并行端口(Parallel Port):曾经广泛用于连接打印机等设备,现在逐渐被USB所取代。
• 串行端口(Serial Port):用于连接调制解调器、鼠标(mice)等设备,也逐渐被USB取代。
USB(Universal Serial Bus通用串行总线)
Power supply
电源:
• 通过电涌保护器(power surge protector)进行保护
• 或者使用不间断电源装置(UPS)进行保护
Q&A
- 列出两种由协处理器运行的典型应用程序:
你可以想到的两种常见的协处理器任务,比如图形处理和数学计算。
2. 列出计算机系统中的三种不同类型的总线:
常见的总线类型包括数据总线、地址总线和控制总线。
3. 列出导致总线瓶颈的两个原因:
总线瓶颈可能由于多设备共享相同的数据路径以及数据传输速度限制等因素导致。
4. 指出CPU的两个主要组件:
CPU的主要组件通常是控制单元和算术逻辑单元(ALU)。
5. 列出在一个机器周期内执行的任务:
机器周期包括取指令、解码和执行等步骤。
6. 计算机和打印机通常通过什么类型的端口连接?
常见的连接类型包括USB端口和并行端口。
7. RISC指的是:
选项b. 支持比CISC芯片更少指令的处理器,这个解释是最准确的。
8. 计算机的主要处理器通过指令操作数据将其转换为信息,这被称为什么?
正确答案是b. CPU,因为这是中央处理器的职责。
9. 这种类型的硬件由能够将数据翻译成计算机可以处理形式的设备组成,它是?
正确答案是b. 输入设备。
10. 列出每次指令执行过程中总是使用的四个寄存器:
这些寄存器可能包括程序计数器(PC),指令寄存器(IR),地址寄存器(AR)和数据寄存器(DR)。