第零章_计算机导论

0.1 计算机:辅助人脑的好工具

        所谓的计算机就是一种计算器,而计算器其实是:『接受用户输入指令与数据,经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息』。因此,只要有输入设备(不管是键盘还是触摸屏)及输出设备(例如计算机屏幕或直接由打印机打印出来),让你可以输入数据使该机器产生信息的,那就是一部计算器了。

        计算机可以协助人们进行大量的运算!以前如果要计算化学反应式都得要算个老半天,有了计算机仿真软件后,就有不一样的情况发生了!以下图为例,在工作中,有一项是需要将人们排放的空气污染物带入计算机模式进行仿真后,计算出可能产生的空气污染并得到空气质量状态,最后经过分析软件得到各式各样的图表。经过这些图表的解析,就可以让人们知道什么样的污染排放来源可能会产生什么样的空气质量变化啰。

0.1.1 计算机硬件的五大单元

        关于计算机的硬件组成部分,其实你可以观察你的桌面计算机来分析一下,依外观来说这家伙主要可分为三部分,分别是:

  • 输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等等一堆;
  • 主机部分:这个就是系统单元,被主机机壳保护住了,里面含有一堆板子、CPU 与主存储器等;
  • 输出单元:例如屏幕、打印机等等

        我们主要透过输入设备如鼠标与键盘来将一些数据输入到主机里面,然后再由主机的功能处理成为图表或文章等信息后,将结果传输到输出设备,如屏幕或打印机上面。那主机里面含有什么组件呢?如果你曾经拆开过计算机主机机壳(包括拆开你的智能型手机也一样喔!),会发现其实主机里面最重要的就是一片主板,上面安插了中央处理器(CPU)以及主存储器、硬盘(或记忆卡)还有一些适配卡装置而已。当然大部分智能型手机是将这些组件直接焊接在主板上面而不是插卡啦!

        整部主机的重点在于中央处理器(Central Processing Unit, CPU),CPU为一个具有特定功能的芯片,里头含有微指令集,如果你想要让主机进行什么特异的功能,就得要参考这颗CPU是否有相关内建的微指令集才可以。由于CPU 的工作主要在于管理与运算,因此在CPU内又可分为两个主要的单元,分别是:算数逻辑单元与控制单元。(注3)其中算数逻辑单元主要负责程序运算与逻辑判断,控制单元则主要在协调各周边组件与各单元间的工作。

        既然CPU的重点是在进行运算与判断,那么要被运算与判断的数据是从哪里来的?CPU 读取的数据都是从主存储器来的!主存储器内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须要先写回主存储器中,最后数据才从主存储器传输到输出单元。

        为什么我们都会说,要加快系统效能,通常将内存容量加大就可以获得相当好的成效?如同下图以及上面的说明,因为所有的数据都要经过主存储器的传输,所以内存的容量如果太小,数据快取就不足~影响效能相当大啊!尤其针对Linux 作为服务器的环境下!这点要特别记忆喔!

        综合上面所说的,我们会知道其实计算机是由几个单元所组成的,包括输入单元、输出单元、CPU内部的控制单元、算数逻辑单元与主存储器五大部分。这几个东西的相关性如下所示:

图0.1.2、计算机的五大单元

        上面图标中的『系统单元』其实指的就是计算机机壳内的主要组件,而重点在于CPU 与主存储器。特别要看的是实线部分的传输方向,基本上数据都是流经过主存储器再转出去的!至于数据会流进/流出内存则是CPU所发布的控制命令!而CPU实际要处理的资料则完全来自于主存储器(不管是程序还是一般文件数据)!这是个很重要的概念喔!这也是为什么当你的内存不足时,系统的效能就很糟糕!也是为什么现在人们买智能型手机时,对于可用内存的要求都很高的原因!

        而由上面的图示我们也能知道,所有的单元都是由CPU内部的控制单元来负责协调的,因此CPU是整个计算机系统的最重要部分!那么目前世界上有哪些主流的CPU 呢?是否刚刚我们谈到的硬件内全部都是相同的CPU 架构呢?底下我们就来谈一谈。

0.1.2 一切设计的起点:CPU的架构

        如前面说过的,CPU其实内部已经含有一些微指令,我们所使用的软件都要经过CPU内部的微指令集来达成才行。那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要CPU 架构,分别是:精简指令集(RISC)与复杂指令集(CISC)系统。底下我们就来谈谈这两种不同CPU 架构的差异啰!

  • 精简指令集(Reduced Instruction Set Computer, RISC)

       这种CPU的设计中,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。常见的RISC微指令集 CPU主要例如甲骨文(Oracle)公司的SPARC系列、IBM公司的Power Architecture(包括PowerPC)系列、与安谋公司(ARM Holdings)的ARM CPU系列等。

       在应用方面,SPARC CPU的计算机常用于学术领域的大型工作站中,包括银行金融体系的主服务器也都有这类的计算机架构;至于PowerPC架构的应用上,例如新力(Sony)公司出产的Play Station 3(PS3)就是使用PowerPC架构的Cell处理器;那安谋的_ARM 呢?你常使用的各)牌于机、PDA、导航系统、网络设备(交换器、路由器等)等,几乎都是使用ARM 架构的CPU 喔!老实说,目前世界上使用范围最广的CPU可能就是ARM 这种架构的呢!(注6)

  • 复杂指令集(Complex Instruction Set Computer, CISC):

        与RISC不同的,CISC在微指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。

       由于AMD、Intel、VIA 所开发出来的x86架构CPU被大量使用于个人计算机(Personal computcr)用途上面,因此,个人计算机常被称为x86架构的计算机!那为何称为x86架构(注8)呢?这是因为最早的那颗Intel发展出来的CPU代号称为8086,后来依此架构又开发出80286,80386..,因此这种架构的CPU就被称为x86架构了。

       在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位,为了区别两者的差异,因此64位的个人计算机CPU又被统称为x86_64的架构喔!

        所谓的位指的是CPU一次数据读取的最大量!64位CPU代表CPU一次可以读写64bits这么多的数据,32位CPU则是CPU一次只能读取32位的意思。因为CPU读取数据量有限制,因此能够从内存中读写的数据也就有所限制。所以,一般32位的CPU所能读写的最大数据量,大概就是4GB左右。

        那么不同的x86架构的CPU有什么差异呢?除了CPU的整体结构(如第二层快取、每次运作可执行的指令数等)之外,主要是在于微指令集的不同。新的x86的CPU大多含有很先进的微指令集,这些微指令集可以加速多媒体程序的运作,也能够加强虚拟化的效能,而且某些微指令集更能够增加能源效率,让CPU耗电量降低呢!由于电费越来越高,购买计算机时,除了整体的效能之外,节能省电的CPU 特色也可以考虑喔!

例题:
最新的Intel/AMD的x86架构中,请查询出多媒体、虚拟化、省电功能各有哪些重要的微指令集?
(仅供参考)
答:
1、多媒体微指令集: MMX,SSE, SSE2,SSE3,SSE4,AMD-3DNow!
2、虚拟化微指令集: Intel-VT,AMD-SVM
3、省电功能: Intel-SpeedStep,AMD-PowerNow!
4、64/32位兼容技术: AMD-AMD64, Intel-EM64T

0.1.3 其他单元的设备

        五大单元中最重要的控制、算术逻辑被整合到CPU的封装中,但系统当然不可能只有CPU 啊!那其他三个重要计算机单元的设备还有哪些呢?其实在主机机壳内的设备大多是透过主板(main board)连接在一块,主板上面有个连结沟通所有设备的芯片组,这个芯片组可以将所有单元的设备链接起来,好让CPU可以对这些设备下达命令。其他单元的重要设备主要有:

  • 系统单元:如图 0.1.2所示,系统单元包括CPU与内存及主板相关组件。而主板上头其实还有很多的连接界面与相关的适配卡,包括鸟哥近期常使用的 PCI-E 10G网络卡、磁盘阵列卡、还有显示适配器等等。尤其是显示适配器,这东西对于玩3D游戏来说是非常重要的一环,他与显示的精致度、色彩与分辨率都有关系。
  • 记忆单元:包括主存储器(main memory, RAM)与辅助内存,其中辅助内存其实就是大家常听到的『储存装置』啰!包括硬盘、软盘、光盘、磁带等等的。
  • 输入、输出单元:同时涵盖输入输出的设备最常见的大概就是触摸屏了。至于单纯的输入设备包括前面提到的键盘鼠标之外,目前的体感装置也是重要的输入设备喔!至于输出设备方面,除了屏幕外,打印机、音效喇叭、HDMI电视、投影机、蓝芽耳机等等,都算喔!

        更详细的各项主机与周边装置我们将在下个小节进行介绍!在这里我们先来了解一下各组件的关系啰!那就是,计算机是如何运作的呢?

0.1.4 运作流程

        如果不是很了解计算机的运作流程的话,鸟哥拿个简单的想法来思考好了~假设计算机是一个人体,那么每个组件对应到那个地方呢?可以这样思考:

图0.1.3、各组件运作

  • CPU=脑袋瓜子:每个人会作的事情都不一样(微指令集的差异),但主要都是透过脑袋瓜子来进行判断与控制身体各部分的活动;
  • 主存储器=脑袋中放置正在被思考的数据的区块:在实际活动过程中,我们的脑袋瓜子需要有外界刺激的数据(例如光线、环境、语言等)来分析,那这些互动数据暂时存放的地方就是主存储器,主要是用来提供给脑袋瓜子判断用的信息。
  • 硬盘=脑袋中放置回忆的记忆区块:跟刚刚的主存储器不同,主存储器是提供脑袋目前要思考与处理的信息,但是有些生活琐事或其他没有要立刻处理的事情,就当成回忆先放置到脑袋的记忆深处吧!那就是硬盘!主要目的是将重要的数据记录起来,以便未来将这些重要的经验再次的使用。
  • 主板=神经系统:好像人类的神经一样,将所有重要的组件连接起来,包括手脚的活动都是脑袋瓜子发布命令后,透过神经(主板)传导给手脚来进行活动啊!
  • 各项接口设备=人体与外界沟通的手、脚、皮肤、眼睛等:就好像手脚一般,是人体与外界互动的重要关键!
  • 显示适配器=脑袋中的影像:将来自眼睛的刺激转成影像后在脑袋中呈现,所以显示适配器所产生的数据源也是CPU控制的。
  • 电源供应器(Power)=心脏:所有的组件要能运作得要有足够的电力供给才行!这电力供给就好像心脏一样,如果心脏不够力,那么全身也就无法动弹的!心脏不稳定呢﹖那你的身体当然可能断断续续的~不稳定!

        由这样的关系图当中,我们知道整个活动中最重要的就是脑袋瓜子!而脑袋瓜子当中与现在正在进行的工作有关的就是CPU与主存储器!任何外界的接触都必须要由脑袋瓜子中的主存储器记录下来,然后给脑袋中的CPU依据这些数据进行判断后,再发布命令给各个接口设备!如果需要用到过去的经验,就得由过去的经验(硬盘)当中读取啰!

        也就是说,整个人体最重要的地方就是脑袋瓜子,同样的,整部主机当中最重要的就是CPU与主存储器,而CPU的数据源通通来自于主存储器,如果要由过去的经验来判断事情时,也要将经验(硬盘)挪到目前的记忆(主存储器)当中,再交由CPU来判断喔!这点得要再次的强调啊!下个章节当中,我们就对目前常见的个人计算机各个组件来进行说明啰!

0.1.5 计算机用途的分类

        知道了计算机的基本组成与周边装置,也知道其实计算机的CPU种类非常的多,再来我们想要了解的是,计算机如何分类?计算机的分类非常多种,如果以计算机的复杂度与运算能力进仃分尖的话,主要可以分为这几类:

  • 超级计算机(Supercomputer):超级计算机是运作速度最快的计算机,但是他的维护、操作费用也最高!主要是用于需要有高速计算的计划中。例如:国防军事、气象预测、太空科技,用在模拟的领域较多。详情也可以参考:国家高速网络与计算中心http:/wwwnchc.org.tw的介绍!至于全世界最快速的前500大超级计算机,则请参考:http;://www.top500.org。
  • 大型计算机(Mainframe Computer):大型计算机通常也具有数个高速的CPU,功能上虽不及超级计算机,但也可用来处理大量资料与复杂的运算。例如大型企业的主机、全国性的证券交易所等每天需要处理数百万笔数据的企业机构,或者是大型企业的数据库服务器等等。
  • 迷你计算机(Minicomputer):迷你计算机仍保有大型计算机同时支持多用户的特性,但是主机可以放在一般作业场所,不必像前两个大型计算机需要特殊的空调场所。通常用来作为科学研究、工程分析与工厂的流程管理等。
  • 工作站(Workstation):工作站的价格又比迷你计算机便宜许多,是针对特殊用途而设计的计算机。在个人计算机的效能还没有提升到目前的状况之前,工作站计算机的性能/价格比是所有计算机当中较佳的,因此在学术研究与工程分析方面相当常见。
  • 微电脑(Microcomputer):个人计算机就属于这部份的计算机分类,也是我们本章主要探讨的目标!体积最小,价格最低,但功能还是五脏俱全的!大致又可分为桌上型、笔记型等等。

        若光以效能来说,目前的个人计算机效能已经够快了,甚至已经比工作站等级以上的计算机指令周期还要快!但是工作站计算机强调的是稳定不当机,并且运算过程要完全正确,因此工作站以上等级的计算机在设计时的考虑与个人计算机并不相同啦!这也是为啥工作站等级以上的计算机售价较贵的原因。

0.1.6 计算机上面常用的计算单位(容量、速度等)

0.1.6.1 容量单位:

        计算机对数据的判断主要依据有没有通电来记录信息,所以理论上对于每一个纪录单位而言,它只认识0与1而已。0/1这个二进制的的单位我们称为 bit。但 bit实在太小了,所以在储存数据时每份简单的数据都会使用到8个bits 的大小来记录,因此定义出 byte这个单位,他们的关系为:1 Byte= 8 bits

        不过同样的,Byte还是太小了,在较大的容量情况下,使用byte 相当不容易判断数据的大小,举例来说,1000000 bytes这样的显示方式你能够看得出有几个零吗?所以后来就有一些常见的简化单位表示法,例如K代表1024 byte,M 代表1024K 等。而这些单位在不同的进位制下有不同的数值表示,底下就列出常见的单位与进位制对应:

        一般来说,文件容量使用的是二进制的方式,所以1GBytes的文件大小实际上为:1024x1024x1024Bytes这么大!速度单位则常使用十进制,例如1GHz就是1000x1000x1000 Hz的意思。

        那么什么是『进位』呢?以人类最常用的十进制为例,每个『位置』上面最多仅能有一个数值,这个数值不可以比9还要大!那比9还大怎办?就用『第二个位置来装一个新的1』!所以,9还是只有一个位置,10则是用了两个位置了。好了那如果是 16进位怎办?﹖由于每个位置只能出现一个数值,但是数字仅有0~9而已啊!因此16进位中,就以A代表10的意思,以B代表11的意思,所以16进位就是0-9, a, b, c, d, e,f,有没有看到,「每个位置最多还是只有一个数值而已』喔!好了,那回来谈谈二进制。

0.1.6.2 速度单位

        CPU的指令周期常使用MHz或者是GHz之类的单位,这个Hz其实就是秒分之一。而在网络传输方面,由于网络使用的是 bit为单位,因此网络常使用的单位为Mbps是 Mbits per second,亦即是每秒多少Mbit。举例来说,大家常听到的20M/5M光世代传输速度,如果转成文件容量的 byte时,其实理论最大传输值为:每秒2.5Mbyte/每秒625Kbyte 的下载/上传速度喔!

例题:
假设你今天购买了500GB的硬盘一颗,但是格式化完毕后却只剩下460GB 左右的容量,这是什么原因?
答:
因为一般硬盘制造商会使用十进制的单位,所以500GByte 代表为500*1000*1000*1000Byte之意。
转成文件的容量单位时使用二进制(1024为底),所以就成为466GB左右的容量了。硬盘厂商并非要骗人,只是因为硬盘的最小物理量为512Bytes,最小的组成单位为扇区(sector),
通常硬盘容量的计算采用『多少个sector],所以才会使用十进制来处理的。相关的硬盘信息在这
一章后面会提到的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5:七天学会基础动画网页4

backgorund-size 值与说明 length(单位像素):设置背景图片高度和宽度,第一个值设置宽度,第二个值设置高度,如果只给出一个值,第二个是设置为auto。 percentage(百分比):以父元素的百分比来设置背景图像的宽度和高度&#xff0c…

CSS技巧:实现两个div在同一行显示的方法

css如何让两个div在同一行显示 - web开发 - 亿速云 在Web开发中,经常遇到需要将多个元素水平排列在同一行的情况。其中一个常见的需求是将两个div元素放置在同一行上,使它们并排显示。在本文中,我们将介绍几种实现这一效果的CSS方法。 1. 使…

day06_菜单管理(查询菜单,添加菜单,添加子菜单,修改菜单,删除菜单,角色分配菜单,查询菜单,保存菜单,动态菜单)

文章目录 1 菜单管理1.1 表结构介绍1.2 查询菜单1.2.1 需求说明1.2.2 页面制作1.2.3 后端接口SysMenuSysMenuControllerSysMenuServiceMenuHelperSysMenuMapperSysMenuMapper.xml 1.2.4 前端对接sysMenu.jssysMenu.vue 1.3 添加菜单1.3.1 需求说明1.3.3 页面制作1.3.3 后端接口…

腾讯云安装MYSQL远程连接不上解决方案

推荐安装步骤博客,写的很详细,如果不会安装的话,可以根据安装步骤一直走。 Windows10下超详细Mysql安装_win10安装mysql-CSDN博客 修改 my.cnf或者my.ini 找到里面bind-address将bind-address 127.0.0.1设置成bind-address 0.0.0.0&#x…

AI英语学习助手-帮助建立词库和句子-极简安装(python基于Django和 OpenAI GPT API的网站程序)

AI英语学习助手-帮助建立词库和句子-极简安装(python基于Django和 OpenAI GPT API的网站程序) 学了很久的英语,但是发现还是被单词困住了,天天查句子查单词太麻烦,现在有了Chat GPT,能够很好得帮助学习英语…

CSP-202109-2-非零段划分

CSP-202109-2-非零段划分 【70分思路-暴力枚举】 这段代码的目的是在给定一个由自然数(非负整数)组成的数组后,通过选择一个适当的正整数 p,将数组中所有小于 p 的数变为 0,从而使得数组中非零段的数量达到最大。这里…

使用 gma 绘制隋唐洛阳城

背景 最近河南文旅大伙,给家乡带了一波热度,想想又是王子又是公主,着实羡慕。出门在外,还是对加很有感觉得,不过很遗憾,本人不能为家乡做出贡献,只能使用这种小伎俩,稍稍展示&#…

【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器

目录 一、网络编程 二、客户端和服务器 三、客户端和服务器的交互模式 四、TCP 和 UDP UDP socket api 的使用 1、DatagramSoket 2、DatagramPacket TCP socket api 的使用 1、ServerSocket 2、Socket 一、网络编程 本质上就是学习传输层给应用层提供的 api&#x…

ARM简介

ARM:ARM是Advanced RISC Machine的缩写,意为高级精简指令集计算机。 英国ARM公司,2016年被软银创始人孙正义斥资320亿美元收购了。现在是软银旗下的芯片设计公司,总部位于英国剑桥,专注于设计芯片,卖芯片生…

揭秘:头部房企如何借助数据分析实现稳健发展?

房地产行业是我国国民经济中的重要支柱产业之一,在房地产市场供求关系发生重大变化的当下,房企面临多重挑战。Kyligence 服务的这家头部房企把发展的重点聚焦于内生,关注内生的转化率、接管的效率以及内生毛利率的提升,引入 Kylig…

基于springboot实现保险信息网站系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现保险信息网站系统演示 摘要 随着互联网的不断发展,现在人们获取最新资讯的主要途径来源于网上新闻,当下的网上信息宣传门户网站的发展十分的迅速。而保险产品,作为当下人们非常关注的一款能够给人们带来医疗、生活、养老或…

面试笔记系列七之多线程+分布式系统基础知识点整理及常见面试题

目录 多线程 介绍一下线程的生命周期及状态? 线程的sleep、wait、join、yield如何使用? sleep与yield方法的区别在于, 进程调度算法 创建线程有哪些方式? 什么是守护线程? ThreadLocal的原理是什么,…

当大语言模型遇到AI绘画-google gemma与stable diffusion webui融合方法-矿卡40hx的AI一体机

你有想过建一台主机,又能AI聊天又能AI绘画,还可以直接把聊天内容直接画出来的机器吗? 当Google最新的大语言模型Gemma碰到stable diffusion webui会怎么样? 首先我们安装stable diffusion webui(automatic1111开源项目&#xff…

微信小程序构建npm失败解决方式

安装完所需要的依赖后,在微信开发者工具菜单栏中选择:“工具” -> “构建 npm”,但是失败。 解决方法:修改 project.config.json 开发者工具创建的项目,miniprogramRoot 默认为 miniprogram,package.js…

数据迁移DTS | 云上MySQL 数据库迁移至达梦数据库

引入 云上 MySQL 数据库 —> 向达梦国产化数据库迁移 下载&安装 达梦客户端工具 DM->可参考之前国产化专栏达梦文章 创建模式 在客户端分别依次执行以下命令脚本(这里没有通过客户端管理工具去创建达梦数据库的模式,当然也可以通过图形化界…

WordPress通过宝塔面板的入门安装教程【保姆级】

WordPress安装教程【保姆级】【宝塔面板】 前言一:安装环境二:提前准备三:域名解析四:开始安装五:安装成功 前言 此教程适合新手,即使不懂代码,也可轻松安装wordpress 一:安装环…

视频在线转换,四种方法任你选!(建议收藏)

在当今的数字时代,视频已经成为人们日常生活中不可或缺的一部分。我们通过视频分享知识、表达创造力、观看娱乐节目,甚至参与远程学习和工作。然而,随着视频格式的多样化和设备的激增,我们经常会遇到一个常见的问题:视…

Linux(CentOS)学习

一、认识Linux 1、如何修改Linux时区 2、配置固定IP 3、重启网络服务 3、小技巧快捷键 4、环境变量设置 5、Linux文件的上传和下载 6、压缩和解压 二、基础命令 1、目录命令 (1、)查看目录内容(ls) 1、ls //查看当前目录内容 2、- a //显示隐藏内容 3…

【算法】二叉搜索树的插入、删除、转换操作

1 二叉搜索树的插入操作 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能…

小程序原生 API

微信原生 API 1. API 基础 小程序开发框架提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等,几乎所有小程序的 API 都挂载在 wx 对象底下,例如:wx.c…