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

1.2 什么是计算机

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

  • 中央处理器(CPU)
  • 内存(主存储器)
  • 存储设备(例如:磁盘和光盘)
  • 输入设备(例如:鼠标和键盘)
  • 输出设备(例如:显示器和打印机)
  • 通信设备(例如:调制解调器和网络接口卡)

计算机的组件是通过一个被称作总线的子系统互联的。你可以认为总线是一套运行在计
算机组件之间的公路系统,数据和电信号沿着总线从计算机中的一个部分传送到另一个部分。在个人计算机中,总线被内嵌在计算机主板上,主板是将计算机的所有部件连接在一起的电路板,如图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芯片比较,内存芯片没那么复杂,更慢也没那么昂贵。

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(可重写)。

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

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

1.2.5 输入和输出设备
用户是通过输入和输出设备与计算机进行通信的。最常见的输入设备是键盘(keyboard)和鼠标(mouse)。最常见的输出设备是显示器(monitor)和打印机(printer)。

  1. 键盘
    计算机键盘是一个用于输入的设备,典型的键盘如图1-6所示。精简的键盘没有数字小键盘。

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亿比特的速率传送数据。

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 内存和存储设备最主要的区别是什么?

时间: 2024-10-14 10:17:43

《Python语言程序设计》——1.2 什么是计算机的相关文章

《Python语言程序设计》—— 导读

前 言 本书假设你是一位先前没有任何程序设计经验的程序员新手.那么,什么是程序设计呢?程序设计是指使用程序设计语言编写程序以解决问题.不论你使用的是哪种程序设计语言,解决问题和程序设计的根本都是一致的.你可以使用任何一种像Python.Java.C++或C#这样的高级程序设计语言来学习程序设计.一旦知道如何使用其中一门语言编写程序,那么如何使用其他语言编写程序就很容易,因为编写程序的基本技能都是一样的. 那么,使用Python学习程序设计的优势在哪里呢?Python易于学习,且编程有趣.Pyth

《Python语言程序设计》——1.3 程序设计语言

1.3 程序设计语言 关键点:计算机程序,又称为软件,是告诉计算机要做什么的指令集. 计算机并不理解人类的语言,所以程序必须用计算机使用的语言来书写.现在有几百种程序设计语言,开发它们对人们来说可以让程序设计过程更加简单.但是,所有的程序必须被转换成计算机能够理解的语言.1.3.1 机器语言 计算机自己的语言(会因计算机的种类不同而有所不同)是它的机器语言--一套内嵌在计算机内的原始指令集.这些指令以二进制代码的形式存在,所以如果给计算机一条用它自己的语言编写的程序,必须输入二进制码的指令.例如

《Python语言程序设计》——1.10 本章总结

1.10 本章总结 计算机是一个存储和处理数据的电子设备. 计算机包括硬件和软件. 硬件是计算机中可以碰触的物理部分. 计算机程序,也称为软件,是控制硬件并让硬件完成任务的不可见的指令集. 计算机程序设计是指编写让计算机来完成的指令(即代码). 中央处理器(CPU)是计算机的大脑.它从内存获取指令然后执行它们. 计算机使用0和1是因为数字设备有两个稳定的电子状态:关和开,习惯上将它们表示成0和1. 比特是二进制数0或1. 字节是8比特构成的序列. KB大约是1000字节,MB大约是100万字节,

《Python语言程序设计》——3.2 常见的Python函数

3.2 常见的Python函数 关键点:Python提供了许多有用的用于解决常见程序设计任务的函数. 函数是完成一个特殊任务的一组语句.Python语言和其他程序设计语言一样,都提供了一个函数库.你已经使用过eval.input.print和int函数.这些都是内置函数并且在Python解释器里均可用.所以使用这些函数你不用导入任何模块.除此之外,你还可以使用abs.max.min.pow和round等内置函数,如表3-1所示. 例如: 我们常常为解决数学问题创建一些程序.Python的math

《Python语言程序设计》——第一部分 程序设计基础 第1章计算机、程序和Python概述1.1 引言

第一部分 程序设计基础 第1章 计算机.程序和Python概述学习目标 演示对计算机硬件.程序和操作系统的基本理解(第1.2-1.4节). 描述Python的历史(第1.5节). 解释Python程序的基本语法(第1.6节). 编写和运行一个简单的Python程序(第1.6节). 解释恰当的程序设计风格和文档的重要性,并提供相应的实例(第1.7节). 解释语法错误.运行时错误和逻辑错误之间的区别(第1.8节). 使用Turtle创建一个基本的图形程序(第1.9节). 1.1 引言 关键点:本书的

《Python语言程序设计》——3.3 字符串和字符

3.3 字符串和字符 关键点:字符串(第1章讲过)是一连串的字符.Python处理字符和字符串的方式是一样的. 在Python里,你除了可以处理数值,还可以处理字符串.一个字符串就是一串包括文本和数字的字符.字符串必须被括在一对单引号( ' )或者双引号( " )里.Python没有字符数据类型.一个字符的字符串代表一个字符.例如: 第一条语句将只有字符A的字符串赋值给变量letter.第二条语句将只有数字字符4的字符串赋值给变量number.第三条语句将字符串"good mornin

《Python语言程序设计》——2.2 编写一个简单的程序

2.2 编写一个简单的程序 关键点:编写一个涉及设计解决问题的策略的程序,然后使用程序设计语言实现这些策略.首先,让我们来看一个计算圆面积的简单问题.我们该如何编写程序来解决这个问题呢?编写程序涉及如何设计算法以及如何将算法翻译成程序设计指令或代码.当你编写代码时--即你在编写程序时--你就将一个算法翻译成一段程序.算法描述的是如何通过列出要进行的动作和这些动作的执行顺序来解决一个问题.算法可以帮助程序员在使用程序设计语言编程之前做一个规划.算法可以用自然语言或伪代码(即自然语言与某些程序设计代

《Python语言程序设计》——2.8 数值数据类型和运算符

2.8 数值数据类型和运算符 关键点:Python中有两种数值类型(整数和浮点数)与+.-.././/.%和*一起工作. 储存在计算机中的信息通常被称为数据.这里有两种数值数据类型:整数和实数.整数类型Integer(简写作int)用于表示整数.实数型用于表示有小数部分的数字.在计算机中,这两种数据类型的存储方式不同.实数型表示为浮点数.我们怎样告知Python一个数字是整数还是浮点数呢?一个拥有小数点的数字即使小数部分为零也是浮点数.例如:1.0是浮点数,而1是整数.这两个数字在计算机里的存储

《Python语言程序设计》——2.13 软件开发流程

2.13 软件开发流程 关键点:程序开发周期是一个包括明确需求.分析.设计.实现.测试.部署和维护的多步骤过程. 开发软件是一个工程过程.软件产品,无论是大还是小,它们都有相同的周期:明确需求.系统分析.系统设计.实现.测试.部署和维护,如图2-2所示. 明确需求是寻求理解软件要解决的问题和建立关于软件系统需要完成任务的详细文档的一个正式流程.这个阶段需要用户和开发者之间的进行紧密的交互.本书中大多数例子都很简单,并且它们的需求陈述很明确.然而,在现实世界中,问题并不总是定义明确.开发者需要保持