计算机组成原理——概述篇

计算机发展历史

电子管计算机(1946 年——1958 年)

第一台计算机为ENIAC 诞生于美国宾夕法尼亚大学

特点:

  1. 集成度小,空间占用大

  2. 功耗高,运行速度慢

  3. 操作复杂,更换程序需要接线

晶体管计算机(1958 年——1964 年)

TX-0 ,麻省理工学院

PDP-1

特点:

  1. 集成度相对较高,空间占用相对小

  2. 功耗相对较低,运行速度更快

  3. 操作相对简单,交互更加方便

贝尔实验室发明晶体管

集成电路计算机(1964 年——1970 年)

7094 计算机

1401 计算机

此时出现操作系统IBM 的System/360

特点:

  1. 计算机变得更小

  2. 功耗更快

  3. 计算速度更快

  4. 计算机具备进入千家万户的条件

超大规模集成电路计算机(1970 年——至今)

代表人物乔布斯发明apple 和apple 二代

特点:

  1. 一个芯片集成了上百万的晶体

  2. 管速度更快,体积更小,价格更低,更能被大众接受用途丰富

  3. 文本处理、表格处理、高交互的游戏与应用

计算机分类

超级计算机

特点:

  1. 功能最强,运算速度最快,存储容量最大的计算机

  2. 多用于国家高科技领域和简短技术研究

  3. 标记他们运算速度的单位是TFlop/s

大型计算机

特点:

  1. 大型机,大型主机,主机

  2. 既具有高性能,可处理大量数据与复杂的运算

  3. 在大型机市场领域,IBM 占据着很大的份额

迷你计算机

特点:

  1. 也称小型机,普通服务器

  2. 不需要特殊的空调场所

  3. 具备不错的算力,可以完成较复杂的运算

l 普通服务器已经取代了传统的大型机,成为大规模企业计算的中枢

工作站

  1. 高端的通用型计算机,提供比个人计算机更强大的性能

  2. 类似于普通的台式电脑,提及较大,但性能较强

微型计算机(最常用

特点:

  1. 又称个人计算机,是最普通的一类计算机

  2. 麻雀虽小,五脏俱全

  3. 个人计算与前面的分类无异

冯诺伊曼计算机体系

定义:将程序指令和数据一起存储的计算机设计概念结构。

历程:早起计算机固定用途程序 => 改变程序结构重新设计电路=>程序不同同时进行=>把程序指令存储变设计通用电路

组成:输入设备,存储器,运算器,控制器,输出设备

功能

  1. 能够把需要的程序和数据送至计算机中(输入设备实现

  2. 能够长期记忆程序、数据、中间结果及最终运算结果的能力(存储器

  3. 能够具备算术、逻辑运算和数据传输等数据加工处理的能力(控制器、运算器

  4. 能够按照要求将处理结果输出给用户(输出设备

输入=> 运算器+存储器+控制器=>输出CPU = 运算器+控制器

冯诺伊曼瓶颈:cpu 和 存储器分开,容易导致cpu 空转,长时间等待接受数据

计算机组成原理——概述篇

现代计算机的结构(解决冯诺伊曼瓶颈问题):

在冯诺伊曼体系机构的基础上修改解决cpu 与存储器之间的性能差异问题已存储器为核心CPU = 运算器+控制器+存储器(磁带、硬盘、内存、cpu 寄存器)

计算机组成原理——概述篇

计算机层次与编程语言

程序翻译与程序解析

设:较为高级的计算机语言 L1 ,较为低级的计算机语言L0 。

进行语言之间的转换: 程序翻译:使用高级语言L1 进行程序描述,生成一个逻辑等价的由低级语言L0 组成的程序,L0 是计算机实际执行的语言,从L1 生成L0 的过程,称为程序翻译,生成的东西即为编译器。 程序解析:使用高级语言L1 进行逻辑描述,为执行L1 需要使用L0 语言实现另外一个程序,该程序将L1 程序作为输入,每一个L1 中的程序在L0 中进行等价的逻辑转换执行,叫做程序解析,通过L0 实现的另外一个程序叫做解释器

翻译型语言:C/C++、Object-c 、Golang

解析型语言:Python 、php 、JavaScript 、lua

翻译 +解析语言:JAVA 、C#、kotlin

计算机层次

  1. 应用层

  2. 高级语言层

  3. 汇编层

  4. 操作系统层

  5. 传统机器层

  6. 微程序机器层

  7. 硬件逻辑层

硬件逻辑层

门、触发器等逻辑电路组成,属于电子工程领域

微程序机器层

编程语言是微指令集

微指令所组成的微程序直接交由硬件执行

传统机器层

编程语言是CPU 指令集(机器指令)

编程语言和硬件直接相关

不同架构的cpu 使用不同的cpu 指令集

微指令<微程序=机器指令

  • 一条机器指令对应一个微程序
  • 一个微程序对应一组微指令

操作系统层

向上提供了建议的操作界面

向下对接了指令系统,硬件管理资源

操作系统是在软件和硬件之间的适配层

汇编语言层

汇编语言可以翻译成直接执行的机器语言

完成翻译的过程的程序叫做汇编器

高级语言层高级语言为广大程序员所接受的高级语言

高级语言非常多,有几百种,常见的有C/C++,JAVA ,Python ,Golang ,Object-c

应用层:满足计算机针对某种用途而专门设计。word 、excel 、point 等等

计算机的计算单位

容量单位

在物理层面,高低电平纪录信息理论上只认识0/1 两种状态0/1 能够表示的内容太少了,需要更大的容量表示,0/1 称之为bit (比特位)字节:1Byte=8bits

计算机组成原理——概述篇

1024=2^10

问题

计算机组成原理——概述篇

网络速度

计算机组成原理——概述篇

网络常用单位Mbps100m/s = 100mbps = 100mbit/s100mbit/s = (100/8)mb/s = 12.5mb/s

这里 M 只是数量单位,Million 的意思,Mbps 指的是Million bit per second ,即每秒钟多少Million bit ,而8bits = 1Byte

CPU (中央处理器)速度

CPU 的速度一般体现位CPU 的时钟频率

CPU 的时钟频率的单位一般是赫兹

主流CPU 的时钟频率都在2gHz 以上

Hz 其实就是秒分之一(它是每秒中的周期性变动重复次数的计量)

并不是描述计算机领域所专有的单位

计算机组成原理——概述篇

计算机字符与编码集

字符编码集

ASCII 码:7bits

使用7 个bits 就可以完成表示ASCII 码

包含95 个可打印字符

33 个不可打印字符

不足

很多应该或者国家中的符号都无法表示

数学符号:+ – ×÷

计算机组成原理——概述篇

extendedASCII 码:8bits 常见数学运算符

带音标的欧洲字符其他常用符、表格符等

计算机组成原理——概述篇

中文编码集

GB2312:7000 多字符

《信息交换汉字字符集》 中国第一个编码集

收录7445 个字符

6763 个汉字和682 个其它符号 GBK:20000 多字符

《汉字内码扩展规范》向下兼容GB2312 ,向上支持国际ISO 标准21003 个汉字,支持中日韩汉字

Unicode:全世界字符,使用UTF-x 编码

Unicode 是统一的编码标准,而UTF-8 ,是实现Unicode 标准的一种编码方式。通用UTF-8 编码;Windows 系统默认使用GBK 进行编码

Original: https://www.cnblogs.com/ZhouKali/p/16160528.html
Author: Zh0uKal1
Title: 计算机组成原理——概述篇

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622184/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 分布式事务框架-Litx补偿事务框架源码解析

    前言 之前某段时间在研究分布式事务过程中,对实现原理比较感兴趣,于是去Gitee上找了几个人气比较高的分布式事务框架进行学习;其中印象深刻的有Litx,主要是因为Litx源码不多,…

    数据库 2023年6月6日
    087
  • MySQL 批量修改库、表、列的排序规则

    1.表字段修复 SELECT TABLE_SCHEMA ‘数据库’, TABLE_NAME ‘表’, COLUMN_NAME ‘字段’, CHARACTER_SET_NAME ‘原…

    数据库 2023年6月14日
    091
  • Mybatis-Spring源码分析

    Mybatis-Spring 博主技术有限,本文难免有错误的地方,如果您发现了欢迎评论私信指出,谢谢JAVA技术交流群:737698533 当我们使用mybatis和spring整…

    数据库 2023年6月16日
    084
  • MySQL实战45讲 1,2

    01 | 基础架构:一条SQL查询语句是如何执行的? Server 层 所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层负责数据的存储和提取。其架构模…

    数据库 2023年6月16日
    059
  • 代码更新提交到GIT

    1、先克隆代码到本地做备份(在需要克隆项目的的那个文件夹下使用Git Bash Here可以直接定位到当前目录,不让需要定位cd命令到目录再使用克隆命令) $ git clone …

    数据库 2023年6月11日
    082
  • mysql数据类型与表操作

    一、mysql基本认知 创建用户 create host aa identified with mysql_native_password by ”; 修改用户权限 a…

    数据库 2023年5月24日
    081
  • HTML详解

    一、初识HTML 初始基本标签代码解释 点击查看代码 <!–DOCTYPE:告诉浏览器我们要使用什么规范–> <!DOCTYPE html> <h…

    数据库 2023年6月16日
    083
  • Django中使用QQ登录

    1.返回QQ登录网址的视图 请求方式: GET /oauth/qq/authorization/?next=xxx 请求参数: 查询字符串 参数名 类型 是否必须 说明 next …

    数据库 2023年6月14日
    0102
  • 素数算法(Prime Num Algorithm)

    数学是科学的皇后,而素数可以说是数学最为核心的概念之一。围绕素数产生了很多伟大的故事,最为著名莫过于哥德巴赫猜想、素数定理和黎曼猜想(有趣的是,自牛顿以来的三个最伟大数学家,欧拉、…

    数据库 2023年6月14日
    0136
  • 2022年5月数据库排名

    数据来源:https://db-engines.com/en/ranking Original: https://www.cnblogs.com/chujian007/p/1631…

    数据库 2023年6月11日
    074
  • pm2 常用命令

    写一篇文章帮助自己记忆整理一下pm2的常用命令 先说一些废话 之前学习 Nodejs项目的时候使用了 pm2作为生产环境的进程管理工具,最近服务器崩了需要重启一些服务,发现有些命令…

    数据库 2023年6月11日
    0105
  • 栈和队列数据结构

    栈和队列都是常用的数据结构。栈的应用非常的广泛,其原理也是非常经典的。 一、栈 ①栈(stack)又名堆栈,他是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这…

    数据库 2023年6月11日
    0114
  • MySQL8.0 新特性 Hash Join

    概述&背景 MySQL一直被人诟病没有实现HashJoin,最新发布的8.0.18已经带上了这个功能,令人欣喜。有时候在想,MySQL为什么一直不支持HashJoin呢?我…

    数据库 2023年6月9日
    083
  • 计算机组成原理——组成篇

    计算机的总线 1 、总线的作用及概述 解决设备间通讯问题。 总线是为了解决不同设备之间的通信问题。 总线可以连接CPU和IO设备。 2 、总线分类:片内总线、系统总线 片内总线:连…

    数据库 2023年6月16日
    050
  • 史上最全面的mysql数据库下载安装教程(适合初学者)

    Original: https://www.cnblogs.com/chaichaichai/p/15330533.htmlAuthor: 牛仔码农Title: 史上最全面的mys…

    数据库 2023年5月24日
    082
  • 新建Github仓库并上传本地代码

    按照Github的教程 Adding a local repository to GitHub using Git 1. 创建空的Github仓库 创建远程仓库 🔗 ,注意不要勾选…

    数据库 2023年6月14日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球