且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Python语言程序设计》——1.2 什么是计算机

更新时间:2022-10-04 23:15:35

本节书摘来自华章计算机《Python语言程序设计》一书中的第1章,第1.2节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 什么是计算机

关键点:计算机是存储和处理数据的电子设备。
计算机包括软件和硬件。通常,硬件包括计算机上能看到的物理元素,而软件提供控制硬件并让硬件执行特定任务的不可见的指令。学习一种程序设计语言并不一定需要知道计算机的硬件知识,但是它可以帮助你更好地理解程序的指令在计算机和它的组件上所起的效果。本节介绍计算机硬件组件以及它们的功能。
一台计算机包括下面的主要硬件组件(如图1-1所示)。


《Python语言程序设计》——1.2 什么是计算机
  • 中间处理器(CPU)
  • 内存(主存储器)
  • 存储设备(例如:磁盘和光盘)
  • 输入设备(例如:鼠标和键盘)
  • 输出设备(例如:显示器和打印机)
  • 通信设备(例如:调制解调器和网络接口卡)

计算机的组件是通过一个被称作总线的子系统互联的。你可以认为总线是一套运行在计
算机组件之间的公路系统,数据和电信号沿着总线从计算机中的一个部分传送到另一个部分。在个人计算机中,总线被内嵌在计算机主板上,主板是将计算机的所有部件连接在一起的电路板,如图1-2所示。


《Python语言程序设计》——1.2 什么是计算机

1.2.1 中间处理器
中间处理器(Central Processing Unit,CPU)是计算机的大脑。它从内存中获取指令然后执行这些指令。CPU通常由两个组件组成:控制单元(control unit)和算术逻辑单元(arithmetic/logic unit)。控制单元用来控制和协调除CPU之外其他组件的动作。算术逻辑单元用来完成数值运算(加法、减法、乘法、除法)以及逻辑运算(比较)。
现在的CPU都是内嵌在一块小小的硅半导体芯片上,这块芯片上有数百万个被称作晶体管的小电子开关来处理信息。
每台计算机都有一个内部时钟,该时钟会以一个稳定的速度发射电子脉冲。这些脉冲用于控制和同步各种操作的步调。时钟速度越快,给定时间段内执行的指令就越多。时钟速度的计量单位是赫兹(hertz,Hz),1赫兹相当于每秒1个脉冲。20世纪90年代计算机的时钟速度是以兆赫(MHz)来表示的(1兆赫兹就是100万赫兹),但是随着CPU速度的不断提高,现在计算机的时钟速度通常是以千兆赫(gigaherts,GHz)来表示的。Intel公司最新的处理器运行速度是3千兆赫(GHz)左右。
CPU最初被开发出来时只有一个核。核(core)是处理器中完成读取指令和执行指令的部分。为了提高CPU的处理能力,芯片制造商现在生产出来的CPU都有多个核。多核CPU是一个单独的组件,它具有两个或多个独立的处理器。现在消费者的计算机通常都有两个、三个甚至四个独立的核。相信不久后,市场上就会提供有几十个甚至几百个核的CPU。
1.2.2 比特和字节
在讨论内存之前,让我们先看看在计算机中是如何存储信息(数据和程序)的。
实际上,一台计算机除了一系列开关以外什么都没有。每个开关都以两种状态存在:开或关。在计算机中存储信息其实就是简单地将一系列开关设置为开或关。如果这个开关是打开状态,那它的值就是1。如果这个开关是关闭状态,那它的值就是0。这些0和1都被解释为二进制数系统中的数字,并称为比特(二进制数)。
计算机中最小的存储单元是字节。一个字节包含8个比特。一个像3这样的小数字可以被存储为一个单一的字节。为了存储在单个字节中放不下的某个字节,计算机会使用多个字节存储。
各种各样的数据,例如:数字和字符,都被编码成一个字节序列。作为一个程序员,你无需担心数据的编码和解码过程,它们都是由计算机系统基于编码表来自动完成的。编码表是一套规则,这些规则用于控制计算机如何将字符、数字和符号翻译成计算机真正能够使用的数据。大多数规则会将每个字符翻译成一个预定义的数值字符串。例如:在流行的ASCII码中,字符C被表示为一个字节01000011。
计算机的存储容量是以字节为单位的,如下所示:
  • 千字节(kilobyte,KB)大约是1000字节。
  • 兆字节(megabyte,MB)大约是100万字节。
  • 千兆字节或吉字节(gigabyte,GB)大约是10亿字节。
  • 太字节(百万兆字节)(terabyte,TB)大约是万亿字节。

一页Word文档通常会占20KB,所以1MB可以存储50页的文档而1GB可以存储
50 000页文档。一部两小时的高分辨率电影通常会占8GB,所以存储20部电影需要160GB。
1.2.3 内存
计算机的内存由多个有序的字节序列构成,这些字节序列用来存储程序以及这个程序要处理的数据。你可以将内存看作是计算机执行程序的工作区。程序和数据必须在被CPU执行之前放在计算机的内存中。
内存中的每个字节都有一个唯一的地址,如图1-3所示。地址用来定位存储和获取数据的字节。因为可以以任意顺序访问内存中的字节,所以内存又被称为随机访问内存(RAM)。
现在的个人计算机通常都有至少1GB的RAM,但是安装时它们通常多达2到4GB。一般来讲,一台计算机拥有的RAM越多,它的运行速度越快,但是对这个简单的经验法则是有限制的。
内存字节永远非空,但是它的原始内容可能对程序毫无意义。一旦有新的内容放入内存,那么内存当前的内容就会丢失。
像CPU一样,内存是内置在硅半导体芯片上的,这些芯片的表面上嵌有数百万个静态管。和CPU芯片比较,内存芯片没那么复杂,更慢也没那么昂贵。


《Python语言程序设计》——1.2 什么是计算机https://yqfile.alicdn.com/ec51ae58ed0cb5d96f3b78d328e9da710d0b8d2f.png
" >

1.2.4 存储设备
计算机的内存存储数据并不稳定:一旦断开系统电源,所有存储(也可以称为保存)在内存中的信息都会丢失。程序和数据被永久地保存在存储设备上,当计算机真的要用到它们的时候再被移到内存中,内存的执行速度还是比永久存储设备快得多。
存储设备主要有三种类型:
  • 磁盘驱动器
  • 光盘驱动器(CD和DVD)
  • USB闪存

驱动器是操作像磁盘和CD这些介质的设备。存储介质就是存储数据或程序指令的地方。驱动器从这些介质读取数据并且向这些介质写入数据。

  1. 磁盘
    一台计算机通常至少会有一个硬盘驱动器(如图1-4所示)。硬盘驱动器用来永久地存储数据和程序。比较新的计算机会有能存储200GB到800GB数据的硬盘。硬盘驱动器通常安装在计算机内部,当然也可以使用移动硬盘。
  2. CD和DVD
    CD的全称是致密的盘片。光盘驱动器的类型有两种:只读光盘(CD-R)和可擦写光盘(CD-RW)。只读光盘只能用于存储那些永久只读的信息:内容一旦被记录到光盘上,用户是不能修改它们的。可擦写光盘可以像硬盘一样使用,也就是说,可以向这类光盘写入数据,还可以用新数据覆盖这些数据。一张光盘的容量可以达到700MB。大多数新型的个人电脑都安装了可擦写光驱,它既支持只读光盘也支持可擦写光盘。

DVD的全称是数字化多功能碟片或者数字化视频磁盘。DVD和CD看起来很像,可以使用它们来存储数据。一张DVD上可以保存的信息要比一张CD 保存的信息多,一张标准DVD的存储容量是4.7GB。像CD一样,DVD也有两种类型:DVD-R(只读)和DVD-RW(可重写)。


《Python语言程序设计》——1.2 什么是计算机
  1. USB闪存驱动器
    通用串行总线(USB)连接器允许用户将多种外部设备连接到计算机。可以使用USB来将打印机、数字照相机、外接硬盘驱动器,以及其他设备连接到计算机上。

USB闪存驱动器(flash drive)是用于存储和传输数据的设备。闪存驱动器很小——大约就是一包口香糖的大小,如图1-5所示。它就像移动硬盘一样,可以插入计算机的USB端口。USB闪存驱动器目前可用的最大存储容量能够达到256GB。


《Python语言程序设计》——1.2 什么是计算机

1.2.5 输入和输出设备
用户是通过输入和输出设备与计算机进行通信的。最常见的输入设备是键盘(keyboard)和鼠标(mouse)。最常见的输出设备是显示器(monitor)和打印机(printer)。
  1. 键盘
    计算机键盘是一个用于输入的设备,典型的键盘如图1-6所示。精简的键盘没有数字小键盘。


《Python语言程序设计》——1.2 什么是计算机https://yqfile.alicdn.com/7134a764fe2755f6b62b9c00360c8b0159f70d99.png" >

功能键(function key)位于键盘的最上边一排,而且都是以F为前缀顺序排列的数字。它们的功能取决于当前使用的软件。
修饰符键(modifier key)是特殊键(例如:Shift、Alt和Ctrl键),当它和另一个键组合在一起同时按下时,就会改变另一个键的常用功能。
数字小键盘(numeric keypad)位于大多数键盘的右边,是为了快速输入数字的一套独立按键集合,形式上很像一个计算器。
方向键(arrow key)位于主键盘和数字小键盘之间,在很多程序中用于上下左右地移动光标。
插入键(Insert)、删除键(Delete)、向上翻页键(Page Up)和向下翻页键(Page Down)都用在字处理和其他程序中,用来在字处理过程中实现插入文本和对象、删除文本和对象以及向上翻页和向下翻页的功能。

  1. 鼠标
    鼠标(mouse)是定点设备,用来在屏幕上移动被称作光标的图形指针(通常是一个箭头的形状),或者用于单击屏幕上的对象(例如:按钮)来触发它以完成这个动作。
  2. 显示器
    显示器(monitor)显示信息(文本和图形)。屏幕分辨率和点距决定显示器的质量。

屏幕分辨率(screen resolution)指定显示器设备水平尺寸和垂直尺寸上像素的个数。像素(“图像元素”的简称)就是在屏幕上构成图像的小点。对于一个17英寸的屏幕,分辨率一般为1024像素宽768像素高。分辨率可以手工设置。分辨率越高,图像就越锐化和清晰。
点距(dot pitch)是指像素之间以毫米为单位的距离。点距越小,显示越清晰。
1.2.6 通信设备
计算机可以通过像拨号调制解调器(调制器/解调器)、DSL或光缆调制解调器、有线网络接口卡或无线适配器等这样的通信设备来连接网络。

  • 拨号调制解调器使用电话线并且以高达56 000bps(每秒比特)的速度传送数据。
  • 数字用户线(DSL)也是使用标准电话线来进行连接,但是它可以以比标准拨号调制解调器快20倍的速度传送数据。
  • 光缆调制解调器使用由光缆公司维护的有线电视线,而且它通常比DSL快。
  • 网络接口卡(NIC)是一个将计算机连接到局域网(LAN)的设备,如图1-7所示。LAN通常用在大学、企业和***部门。一个高速的NIC被称作1000BaseT,它可以以每秒10亿比特的速率传送数据。


《Python语言程序设计》——1.2 什么是计算机https://yqfile.alicdn.com/0dd726d571b65e101952bede5a374dca39f6363d.png" >

无线网络现在在家庭、企业和学校异常流行。现在出售的每一台笔记本电脑都安装有无线适配器,它可以将计算机连接到局域网络或互联网。
注意:检查点问题的答案在配套网站上。
检查点
1.1 什么是硬件?什么是软件?
1.2 罗列出计算机的五个主要硬件组件。
1.3 缩写“CPU”表示什么?
1.4 CPU的速度使用什么单位表示?
1.5 比特是什么?字节是什么?
1.6 内存是干什么的?RAM表示什么?为什么内存被称为RAM?
1.7 用于表示内存大小的单位是什么?
1.8 用于表示磁盘大小的单位是什么?
1.9 内存和存储设备最主要的区别是什么?