计算机系统简述

目标

计算机世界并非如此神秘。相反,计算机是非常“确定”的一个系统,即在任何时候,在相同的方法、相同的状态下(当然还包括相同的起始条件),同样的问题必然获得相同的结果。其实,计算机并不是什么电子天才,相反,它只是一个电子傻瓜,只会精确地按照我们的要求去执行任务,它本身是没有什么心智的。事实上,计算机这样一个复杂的机体,是由一堆简单的部件,经过精心的组合而成。

本专栏强调的是理解,而不是死记硬背;强调的是软件与硬件结合,而不是软件与硬件的分别教授与学习。本着将软件硬件教学齐头并进的思路,从硬件的基本构件一直讲到软件的高级程序设计与构造,这样能够在学习过程中将软硬件融会贯通、相互印证,从而提高学习的广度、深度和效果,并为后续的计算机专业课如操作系统、计算机系统设计与结构、算法设计与分析、高可靠软件工程理论等打下基础。

最大的特点是提倡层次转换概念,即从问题开始到计算机运算出结果可分为七个层次。通过七个层次的转换,即可完成从问题到结果的转变。这七个层次及其转换是:问题到算法的转换、算法到程序设计语言的转换、程序到指令集结构(ISA)的转换、指令集结构到微观结构的转换、微观结构到电路的转换和电路到电路组件的转换。

经验与体会

为未来做准备:深入底层:系统运行的性能不仅仅取决于编写程序的水平,如果缺乏对系统底层知识的了解,则在面对一些性能问题时会一筹莫展。作为高级程序员,要编写高效率代码,仅仅掌握高级语言本身是不够的。除此之外,我们还需要了解与设备相关的知识(甚至是引脚的定义)。在高级语言编程课中,编译器这个“保护层”将计算机底层的“丑陋细节”都隐藏了。

两个反复出现的理念

一是“抽象”,二是“在脑子里不要对硬件和软件做任何区分”。

学会“抽象”能让我们站在更高的层次看问题,从而将事物的本质表现出来,而将其中的细节隐藏起来;能让我们更有效地利用时间和大脑;能让我们在分析问题时不至于陷入泥潭。此外,我们不仅要具备抽象的能力,还要具备“分解抽象”的能力,这样才能保证问题的顺利解决。这个过程有可以称为“解析”,即从抽象回到具体的过程。抽象技能相当重要,抽象的层次越高越好,它与工作效率成正比。 

硬件和软件只是计算机系统中两个组成部分的名称而已;对设计者来说,具体将计算机的某个功能划分给哪部分来实现,以及他们之间如何协同工作,原则只有一个:让计算机工作的最棒。

计算机系统简述

计算机,它是指这样一种机制,即同时在做着两方面的事情:即控制着信息的处理过程,同时也是信息处理过程的具体执行者。所谓“控制信息的处理过程”,指的是它必须决策下一个执行任务是什么,而“处理过程”的执行者,意味着他必须具备“加”、“减”、“乘”等运算能力以产生执行结果。该机制更准确的称谓是“中央处理器(Central Processing Unit,CPU)”。

而大多数人更熟悉“计算机”这个词,它包含了比处理器更多的意思。一个计算机系统由更多的部件组成,除了处理器之外,还包含键盘(用来输入命令)、鼠标(用来点击菜单)、显示器(用来显示计算机系统产生的信息)、打印机(用来打印信息的拷贝)、内存(用来临时存储信息)、磁盘和CD-ROM(用来永久存储信息及很多可以执行的程序或软件)。这些附件的部件更方便了计算机最终用户的使用。

两个非常重要的思想

第一:所有的计算机(不管是最大的还是最小的、最快的还是最慢的、最昂贵的还是最廉价的),只要给予足够的时间和内存,它们所能完成的计算任务是相同的。换句话说,最快的计算机能够完成的事情,最慢的计算机也能完成,只是更慢一些而已;而一个便宜的计算机所不能完成的事情(如果有足够内存的话),对于一个更昂贵的计算机来说,同样也是无法完成的。总之,所有的计算机能够完成相同的事情。只是有些计算机可能做的更快些,但绝不会做的更多。

第二,我们用英语或其他语言给出了一个问题,然而计算机却能通过电子运转(运行程序)来解决这个问题,太奇妙了!至于怎样把用人类语言描述的问题转换成能够影响电子运转的电压,需要一系列的、系统的转换过程。

计算机:通用计算设备

计算机是特别的,要学习计算机的基本原理,必须先了解计算机是怎样工作的?答案在于计算机被称为“通用计算设备(universal computational device)”。

在现代计算机出现之前,曾经出现了很多能计算的机器,其中,有些是模拟机—即机器产生的结果是用可测量的模拟量来表示的(如电压、距离等)。例如:滑动计算尺。模拟机器的缺陷主要是难以提高其精度。于是,数字机出现了,数字机(digital machine)通过一组固定的、有限的数字和字符来完成操作。如:数字手表。但计算机就不一样了。你需要告诉计算机的是“方法”和“任务”,如怎样做加法、怎样做乘法等。而假如你有新的计算任务要实现,就不需要购买或设计新机器了,所要做的唯一事情,就是在原来的计算机上增加一些新的指令或程序即可,这就是为什么我们称计算机为“通用计算设备”的原因。

通用计算的思想产生要归功于Alan Turing(阿兰·图灵)。1937年,他提出了一个大胆的设想:任何计算都可以由这样一台机器来完成,这个机器就是图灵机。他为这类机器给出了一个清晰的数学描述,但没有为之建造一台真正的机器。世界上真正可运行的数字计算机是在1946年才出现的(ENIAC—美国宾夕法尼亚大学)。在计算机领域上,有一个最高奖—图灵奖,相当于“诺贝尔奖”。

bb2b64ec78cf4ab3950f66e3a7aec80a.png

图灵机的“黑箱模型”

图灵提出:任何计算都可以通过某种图灵机来完成,我们称这个论题为“图灵论题”。虽然图灵论题从来没有被严格证明过,但众多的证据都表明它是正确的。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端实现无缝自动滚动动画

1. 前言: 前端使用HTMLCSS实现一个无缝滚动的列表效果 示例图: 2. 源码 html部分源码: <!--* Author: wangZhiyu <w3209605851163.com>* Date: 2024-07-05 23:33:20* LastEditTime: 2024-07-05 23:49:09* LastEditors: wangZhiyu <w3209605851163.com>* File…

强化学习的数学原理:时序差分算法

概述 之前第五次课时学习的 蒙特卡洛 的方法是全课程当中第一次介绍的第一种 model-free 的方法&#xff0c;而本次课的 Temporal-Difference Learning 简称 TD learning &#xff08;时序差分算法&#xff09;就是第二种 model-free 的方法。而对于 蒙特卡洛方法其是一种 non…

使用大漠插件进行京东联盟转链

由于之前开发了一套使用api转链的接口在前面几个月失效了。因为京东联盟系统升级&#xff0c;导致之前可以转的链接现在必须要升级权限才可以。但是升级条件对于我们这些自己买东西转链想省点钱的人来说基本上达不到。 所以&#xff0c;基于这种情况。我之前研究过大漠插件&am…

数据库的学习(4)

一、题目 1、创建数据表qrade: CREATE TABLE grade(id INT NOT NULL,sex CHAR(1),firstname VARCHAR(20)NOT NULL,lastname VARCHAR(20)NOT NULL,english FLOAT,math FLOAT,chinese FLOAT ); 2、向数据表grade中插入几条数据: (3,mAllenwiiliam,88.0,92.0 95.0), (4,m,George&…

第七篇——攻谋篇:兵法第一原则——兵力原则,以多胜少

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 微观层面上&#xff0c;也有很多值得深度思考的问题 二、思路&方案 …

用ThreadLocal解决线程隔离问题

存在的以下代码所示的线程隔离问题&#xff1a; package study.用ThreadLocal解决线程隔离问题;/*线程隔离 - 在多线程并发场景下&#xff0c;每个线程的变量都应该是相互独立的线程A&#xff1a;设置&#xff08;变量1&#xff09; 获取&#xff08;变量1&#xff09;线程B&a…

瑞芯微rk356x TF卡烧写选择指定的屏幕打印烧写的过程

rk356x中TF卡烧写屏幕选择 1、开发环境2、问题描述3、解决办法4、总结5、 图片展示1、开发环境 系统:linux系统 芯片:356x 显示:多屏显示(HDMI, MIPI, LVDS, EDP) 2、问题描述 由于在多屏显示的情况下,HDMI屏在LVDS、MIPI或者EDP协同下,默认情况下,在TF卡烧录过程中…

论文润色最强最实用ChatGPT提示词指令

大家好&#xff0c;感谢关注。我是七哥&#xff0c;一个在高校里不务正业&#xff0c;折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥&#xff08;yida985&#xff09;交流&#xff0c;多多交流&#xff0c;相互成就&#xff0c;共同进步&a…

C++语言相关的常见面试题目(二)

1.vector底层实现原理 以下是 std::vector 的一般底层实现原理&#xff1a; 内存分配&#xff1a;当创建一个 std::vector 对象时&#xff0c;会分配一块初始大小的连续内存空间来存储元素。这个大小通常会随着 push_back() 操作而动态增加。 容量和大小&#xff1a;std::vec…

【Linux】进程间的通信----管道

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

妈妈带女儿美在心里

在这个充满温情与惊喜的午后&#xff0c;阳光温柔地洒落在每一个角落&#xff0c;仿佛连空气弥漫着幸福的味道。就在这样一个平凡的时刻&#xff0c;一段关于爱与成长的温馨画面&#xff0c;悄然在网络上绽放&#xff0c;引爆了无数人的心弦——#奚梦瑶2岁女儿身高#&#xff0c…

在 VS Code 中自动化 Xcode 项目编译和调试

在 VS Code 中自动化 Xcode 项目编译和调试 在日常的开发工作中&#xff0c;Xcode 是 macOS、iOS、watchOS 和 tvOS 应用程序开发的主要工具。为了提高工作效率&#xff0c;许多开发者选择在 Visual Studio Code (VS Code) 中编辑代码&#xff0c;并希望能够直接从 VS Code 启…

【vue组件库搭建06】组件库构建及npm发包

一、格式化目录结构 根据以下图片搭建组件库目录 index.js作为入口文件&#xff0c;将所有组件引入&#xff0c;并注册组件名称 import { EButton } from "./Button"; export * from "./Button"; import { ECard } from "./Card"; export * fr…

网络通信总体框架

目录 网络通信 一、网络通信的定义与基本原理 二、网络通信的组成要素 三、网络通信的应用与发展 网络体系结构 一、网络体系结构的定义与功能 二、OSI七层参考模型 三、网络体系结构的重要性 网络核心与边缘 一、网络核心 1. 定义与功能 2. 组成部分 3. 技术特点 …

昇思25天学习打卡营第19天|LSTM+CRF序列标注

概述 序列标注指给定输入序列&#xff0c;给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取&#xff0c;包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。 条件随机场&#xff08…

01:spring

文章目录 一&#xff1a;常见面试题1&#xff1a;什么是Spring框架&#xff1f;1.1&#xff1a;spring官网中文1.2&#xff1a;spring官网英文 2&#xff1a;谈谈自己对于Spring IOC和AOP的理解2.1&#xff1a;IOCSpring Bean 的生命周期主要包括以下步骤&#xff1a; 2.2&…

国产化新标杆:TiDB 助力广发银行新一代总账系统投产上线

随着全球金融市场的快速发展和数字化转型的深入推进&#xff0c;金融科技已成为推动银行业创新的核心力量。特别是在当前复杂多变的经济环境下&#xff0c;银行业务的高效运作和风险管理能力显得尤为重要。总账系统作为银行会计信息系统的核心&#xff0c;承载着记录、处理和汇…

MySQL-行级锁(行锁、间隙锁、临键锁)

文章目录 1、介绍2、查看意向锁及行锁的加锁情况3、行锁的演示3.1、普通的select语句&#xff0c;执行时&#xff0c;不会加锁3.2、select * from stu where id 1 lock in share mode;3.3、共享锁与共享锁之间兼容。3.4、共享锁与排他锁之间互斥。3.5、排它锁与排他锁之间互斥3…

离线开发(VSCode、Chrome、Element)

一、VSCode 扩展 使用能联网的电脑 A&#xff0c;在VSCode官网下载安装包 使用能联网的电脑 A&#xff0c;从扩展下载vsix扩展文件 将VSCode安装包和vsix扩展文件通过手段&#xff08;u盘&#xff0c;刻盘 等&#xff09;导入到不能联网的离线电脑 B 中 在离线电脑 B 中安装…

计算机网络之无线局域网

1.无线局域网工作方式 工作方式&#xff1a;每台PC机上有一个无线收发机&#xff08;无线网卡&#xff09;&#xff0c; 它能够向网络上的其他PC机发送和接受无线电信号。 与有线以太网相似&#xff0c;无线局域网也是打包方式发送数据的。每块网卡都有一个永久的、唯一的ID号…