• 西门子5SL6610-7CC
  • 西门子5SL6610-7CC
  • 西门子5SL6610-7CC

产品描述

产品规格模块式包装说明全新品牌西门值+ 包装说明 全新 - 产品规格子

5SL6610-7CC


CPU 的运行永无休止,它不断从存储器获取并执行指令。这个周期的核心是PC 寄存器,PC (program counter)是“程序计数器”的简称。PC 是一种特殊的寄存器,用于保存下一条待执行指令的存储地址。CPU 的工作流程如下:

(1) 从PC *的存储地址获取指令;

(2) PC 自增;

(3) 执行指令;

(4) 返回步骤1。

PC 在CPU 上电时复位为默认值,它是计算机中**条待执行指令的地址。这条指令通常是一种不可变的内置程序,用于加载计算机的基本功能。

在许多个人计算机中,这种程序称为BIOS(基本输入输出系统)。

CPU 上电后将继续执行这种“获取- 执行”周期直至关机。然而,如果CPU 只能遵循有序、顺序的操作列表,那么它与一个花哨的计算器并**致。CPU 的神奇之处在于可以指示它向PC 中写入新值,从而实现执行过程的分支,或“跳转”到存储器的其他位置。这种分支可以是有条件的。以下面这条CPU 指令为例:“如果寄存器1 等于0,将PC设置为地址200”。该指令相当于:

if x = 0

compute_this()

else

compute_that()

**而已。无论是打开网站、玩计算机游戏抑或编辑电子表格,所涉及的计算并无区别,都是一系列只能对存储器中的数据求和、比较或移动的简单操作。

大量简单的操作组合在一起,就能表达复杂的过程。以经典的《太空侵略者》游戏为例,其代码包括大约3000 条机器指令。

CPU 时钟 早在20 世纪80 年代,《太空侵略者》就已风靡一时。这个游戏在配备2 MHz CPU 的街机上运行。“2 MHz”表示CPU 的时钟,即CPU 每秒可以执行的基本操作数。时钟频率为200 万赫兹(2 MHz)的CPU 每秒大约可以执行200 万次基本操作。完成一条机器指令需要5到10 次基本操作,因此老式街机每秒能运行数十万条机器指令。

随着现代科技的进步,普通的台式计算机与智能手机通常配备2 GHzCPU,每秒可以执行数亿条机器指令。时至今日,多核CPU 已投入大规模应用,如四核2 GHz CPU 每秒能执行近10 亿条机器指令。展望未来,CPU 配备的核心数量或许会越来越多。

CPU 体系结构读者是否思考过,PlayStation 的游戏CD 为何无法在台式计算机中运行? iPhone 应用为何无法在Mac 中运行?原因很简单,因为它们的CPU 体系结构不同。

x86 体系结构如今已成为行业标准,因此相同的代码可以在大部分个人计算机中执行。但考虑到节电的要求,手机采用的CPU 体系结构有所不同。不同的CPU 体系结构意味着不同的CPU 指令集,也意味着将指令编码为数字的方式各不相同。台式计算机CPU 的指令并非手机CPU的有效指令,反之亦然。

32 位与64 位体系结构**种CPU 是Intel 4004,它采用4 位体系架构。换言之,这种CPU 在一条机器指令中可以对较多4 位二进制数执行求和、比较与移动操作。Intel 4004 的数据总线与地址总线均只有4 条。

不久之后,8 位CPU 开始广为流行,这种CPU 用于运行DOS 的早期个人计算机。20 世纪八九十年代,*的便携式Game Boy 就采用8 位处理器。这种CPU 可以在一条指令中对8 位二进制数进行操作。

技术的快速发展使16 位以及之后的32 位体系结构成为主导。CPU 寄存器随之增大,以容纳32 位数字。更大的寄存器自然催生出更大的数据总线与地址总线:具有32 条信号线的地址总线可以对232 字节(4 GB)的内存进行寻址。

人们对计算能力的渴求**停止。计算机程序越来越复杂,消耗的内存越来越多,4 GB 内存已无法满足需要。使用适合32 位寄存器的数字地址对**过4 GB 内存进行寻址颇为棘手,这成为64 位体系结构兴起的动因,这种体系结构如今占据主导地位。64 位CPU 可以在一条指令中对较大的数字进行操作,而64 位寄存器将地址存储在海量的存储空间中:264 字节相当于**过170 亿吉字节(GB)。

大端序与小端序 一些计算机设计师认为,应按从左至右的顺序在RAM 与CPU 中存储数字,这种模式称为小端序。另一些计算机设计师则倾向于按从右至左的顺序在存储器中写入数据,这种模式称为大端序。因此,根据“字节序”的不同,二进制序列1-0-0-0-0-0-1-1 表示的数字也有所不同。

◎ 大端序:27 + 21 + 20 = 131

◎ 小端序:20 + 26 + 27 = 193

目前的大部分CPU 采用小端序模式,但同样存在许多采用大端序模式的计算机。如果大端序CPU 需要解释由小端序CPU 产生的数据,则必须采取措施以免出现字节序不匹配。程序员直接对二进制数进行操作,在解析来自网络交换机的数据时尤其需要注意这个问题。虽然目前多数计算机采用小端序模式,但由于大部分早期的网络路由器使用大端序CPU,所以因特网流量仍然以大端序为基础进行标准化。以小端序模式读取大端序数据时将出现乱码,反之亦然。

模拟器 某些情况下,需要在计算机上运行某些为不同CPU 设计的代码,以便在没有iPhone 的情况下测试iPhone 应用,或玩脍炙人口的老式**级任天堂游戏。这是通过称为模拟器的软件来实现的。

模拟器用于模仿目标机器,它假定与其拥有相同的CPU、RAM 以及其他硬件。模拟器程序对指令进行解码,并在模拟机器中执行。可以想见,如果两台机器的体系结构不同,那么在一台机器内部模拟另一台机器绝非易事。好在现代计算机的速度远远**过之前的机器,因此模拟并非无法实现。我们可以利用Game Boy 模拟器在计算机中创建一个虚拟的Game Boy,然后就能像使用实际的Game Boy 那样玩游戏。

编译器

通过对计算机进行编程,可以完成核磁共振成像、声音识别、行星探索以及其他许多复杂的任务。值得注意的是,计算机执行的所有操作较终都要通过简单的CPU 指令完成,即归结为对数字的求和与比较。而Web 浏览器等复杂的计算机程序需要数百万乃至数十亿条这样的机器指令。

但我们很少会直接使用CPU 指令来编写程序,也无法采用这种方式开发一个逼真的三维计算机游戏。为了以一种更“自然”且更紧凑的方式表达命令,人们创造了编程语言。我们使用这些语言编写代码,然后通过一种称为编译器的程序将命令转换为CPU 可以执行的机器指令。

我们用一个简单的数学类比来解释编译器的用途。假设我们向某人提问,要求他计算5 的阶乘。

5! = ?

但如果回答者不了解什么是阶乘,则这样提问并无意义。我们必须采用更简单的操作来重新表述问题。

5×4×3×2×1 = ?

不过,如果回答者只会做加法怎么办?我们必须进一步简化问题的表述。

5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 +5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 = ?

可以看到,表达计算的形式越简单,所需的操作数量越多。计算机代码同样如此。编译器将编程语言中的复杂指令转换为等效的CPU 指令。结合功能强大的外部库,就能通过相对较少的几行代码表示包含数十亿条CPU 指令的复杂程序,而这些代码易于理解和修改。

计算机之父艾伦• 图灵发现,简单的机器有能力计算任何可计算的事物。如果机器具有通用的计算能力,那么它必须能遵循包含指令的程序,以便:

◎ 对存储器中的数据进行读写;

◎ 执行条件分支:如果存储地址具有给定的值,则跳转到程序的另一个点。

我们称具有这种通用计算能力的机器是图灵完备的。无论计算的复杂性或难度如何,都可以采用简单的读取/ 写入/ 分支指令来表达。只要分配足够的时间与存储空间,这些指令就能计算任何事物。

202202231632210850864.jpg20220223163220786484.jpg202202231632207636284.jpg


1.连续执行与脉冲执行

功能指令有连续执行和脉冲执行两种类型。如图1所示,指令助记符MOV后面有“P”表示脉冲执行,即该指令仅在X1接通(由OFF到ON)时执行(将D10中的数据送到D12中)一次;如果没有“P”则表示连续执行,即该在X1接通(ON)的每一个扫描周期指令都要被执行。


图1  功能指令的执行方式与数据长度的表示

2.数据长度

功能指令可处理16位数据或32位数据。处理32位数据的指令是在助记符前加“D”标志,无此标志即为处理16位数据的指令。注意32位计数器(C200~C255)的一个软元件为32位,不可作为处理16位数据指令的操作数使用。如图3-27所示,若MOV指令带“D”,则当X1接通时,执行D11D10→D13D12(32位)。在使用32位数据时建议使用首编号为偶数的操作数,不容易出错。




http://zhangqueena.b2b168.com

产品推荐