计算机组成原理概述篇

简介: 计算机发展简史计算机发展的四个阶段image-20220107145623934第一个阶段:电子管计算机ENIAC集成度小,空间占用大功耗高,运行速度慢操作复杂,更换程序需要接线;

计算机发展简史

计算机发展的四个阶段

第一个阶段:电子管计算机

ENIAC

  • 集成度小,空间占用大
  • 功耗高,运行速度慢
  • 操作复杂,更换程序需要接线;

第二个阶段:晶体管计算机

TX-0/PDP-1

  • 集成度相对较高,空间占用相对小
  • 功耗相对较低,运行速度较快
  • 操作相对简单,交互更加方便

第三个阶段:集成电路计算机

  • 计算机变得更小
  • 功耗变得更低.
  • 计算速度变得更快
  • 计算机具备进入千家万户的条件

在这时期,有IBM公司推出7094和1401,他们的主打功能不同,相互无法兼容,使用商又不愿意投入两组人力。

后来迫于压力,IBM推出兼容产品System/360,这是操作系统的雏形

第四个阶段:超大规模集成电路计算机

  • 一个芯片集成了上百万的晶体管
  • 速度更快,体积更小,价格更低,更能被大众接受
  • 用途丰富:文本处理、表格处理、高交互的游戏与应用

APPLE

第五个阶段:未来的计算机

生物计算机、量子计算机

微型计算机的发展历史

受限于性能。

摩尔定律:集成电路的性能,每18-24个月就会提升一倍(现在正在失效,电路越来越复杂)

从单核到多核的发展:

计算机的分类

超级计算机

标记运算速度单位:TFLOP/S

大型计算机

去IOE行动

迷你计算机

现在都从大型机到普通服务器,现在的云服务等等都基于此

工作站

比个人电脑性能强,体积大

微型计算机

台式机,笔记本电脑

计算机的体系与结构

冯诺伊曼体系

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

要求?

  • 必须有一个存储器
  • 必须有一个控制器
  • 必须有一个运算器
  • 必须有输入设备
  • 必须有输出设备
现代计算机都是冯诺依曼机

怎么样才能具备?

  • 能够把需要的程序和数据送至计算机中
  • 能够长期记忆程序、数据、中间结果及最终运算结果的能力
  • 能够具备算术、逻辑运算和数据传送等数据加工处理的能力
  • 能够按照要求将处理结果输出给用户

冯诺依曼瓶颈

CPU和存储器速率之间的问题无法调和

现代计算机的结构

  • 现代计算机在冯诺依曼体系结构基础上进行修改
  • 解决CPU与存储设备之间的性能差异问题

这里的存储器,是指围绕CPU的更高速的设备了,不再是磁带这些

可以理解为以存储器为核心

计算机的层次与编程语言

程序翻译与程序解释

人类语言-》计算机语言

需要进行语言之间的转换

程序翻译

C/C++

程序解释

python

  • 计算机执行的指令都是L0
  • 翻译过程生成新的L0程序,解释过程不生成新的L0程序
  • 解释过程由L0编写的解释器去解释L1程序

翻译+解释

JAVA/C#

JVM虚拟机

计算机的层次与编程语言

硬件逻辑层

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

微程序机器层

  • 编程语言是微指令集
  • 微指令所组成的微程序直接交由硬件执行

传统机器层

  • 编程语言是CPU指令集(机器指令)
  • 编程语言和硬件是直接相关
  • 不同架构的CPU使用不同的CPU指令集

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

一个微程序对应一组微指令

操作系统层

  • 向上提供了简易的操作界面
  • 向下对接了指令系统,管理硬件资源
  • 操作系统层是在软件和硬件之间的适配层

汇编语言层

  • 编程语言是汇编语言
  • 汇编语言可以翻译成可直接执行的机器语言
  • 完成翻译的过程的程序就是汇编器

高级语言层

  • 编程语言为广大程序员所接受的高级语言
  • 高级语言的类别非常多由几百种
  • 常见的高级语言有: Python、 Java、 C/C++、 Golang等

应用层

  • 满足计算机针对某种用途而专门设计

计算机的计算单位

容量单位

MB、G、T

(高低电位) 0/1 又称为bit(比特位)

1B = 8bits

1KB = 1024 = 2(10)B

硬盘商一般用10进制标记容量 500G(实际容量是500∗10003/10243=465�)

速度单位

100M带宽->100M/s-》100Mbps=》100Mbit/s -》12.5MB/S

测试峰值速度只有12M每秒,这里的每秒指的是下了多少容量

CPU速度

HZ (秒分之一) 每秒中的周期性重复次数的计量

主流cpu时钟频率都在2GHZ以上

计算机的字符与编码集

字符编码集的历史

ASCII码

  • 使用7个bits就可以完全表示ASCII码
  • 包含95个可打印字符
  • 33个不可打印字符(包括控制字符)

33+95=128=27

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

Extended ASCII码

第一次对ASCI码进行扩充, 7bits => 8bits

字符编码集的国际化

  • 欧洲、中亚、东亚、拉丁美洲国家的语言多样性
  • 语言体系不一-样,不以有限字符组合的语言
  • 中国、韩国、日本等的语言最为复杂

中文编码集

GB2312

  • 《信息交换用汉字编码字符集——基本集》
  • 一共收录了7445个字符
  • 包括6763个汉字和682个其它符号

GBK

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

兼容全球的字符集: Unicode

  • Unicode: 统一码、万国码、单一码
  • Unicode定义了世界通用的符号集,UTF-*实现了编码
  • UTF-8以字节为单位对Unicode进行编码
  • Windows系统默认使用GBK编码
  • 编程推荐使用UTF-8编码
目录
相关文章
|
Web App开发 前端开发 数据库
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
542 0
小知识 .rp文件用什么打开
rp 文件可以通过 Axure8 导入打开,具体方式如下:
4576 0
小知识 .rp文件用什么打开
|
11月前
|
机器人 网络安全 数据安全/隐私保护
autMan奥特曼机器人-对接Docker版本NTQQ详细教程
本文介绍了如何在服务器上搭建NTQQ机器人,通过官方NTQQ对接各框架,实现QQ登录的稳定运行。文章提到了需要准备一台服务器和相应的软件,并详细描述了通过SSH链接服务器、创建文件夹和配置文件、编辑配置文件地址端口、运行容器等步骤。同时,文章还介绍了VNC连接的使用和配置,以及使用watchtower进行NTQQ的更新。文章总结起来就是在服务器上搭建NTQQ机器人,实现QQ登录的稳定性和自动登录功能,同时提供了更新和维护的方法。
777 3
autMan奥特曼机器人-对接Docker版本NTQQ详细教程
|
Linux 索引
linux命令—ls
`ls` 是 Linux 系统中用于列出目录内容的基础命令,功能强大且使用频率极高。它可以帮助用户查看文件、分析磁盘空间及检查权限等。常用选项如 `-l` 显示详细信息,`-a` 包含隐藏文件,`-h` 以易读格式展示大小,`-t` 按修改时间排序等。通过组合选项,可实现复杂需求,如递归遍历目录(`-R`)、显示 inode 号(`-i`)或结合正则过滤特定文件。注意权限限制、特殊字符处理及大规模目录操作可能带来的性能问题。掌握 `ls` 是高效使用 Linux 的关键一步。
|
11月前
|
弹性计算 安全 Linux
阿里云国际版ECS云服务器ping不通的原因分析
阿里云国际版ECS云服务器ping不通的原因分析
|
存储 缓存 数据处理
计算机硬件存储器中的缓冲与缓存
【8月更文挑战第2天】
619 5
|
存储 SQL 关系型数据库
(十四)全解MySQL之各方位事无巨细的剖析存储过程与触发器!
前面的MySQL系列章节中,一直在反复讲述MySQL一些偏理论、底层的知识,很少有涉及到实用技巧的分享,而在本章中则会阐述MySQL一个特别实用的功能,即MySQL的存储过程和触发器。
266 0
|
数据采集 存储 分布式计算
Hadoop生态系统中的数据质量与数据治理:Apache Atlas和Apache Falcon的作用
Hadoop生态系统中的数据质量与数据治理:Apache Atlas和Apache Falcon的作用
|
前端开发 Java 机器人
员工管理系统 2.0 橙色版(java实现版,附源码)
员工管理系统 2.0 橙色版(java实现版,附源码) 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
292 0
员工管理系统 2.0 橙色版(java实现版,附源码)
|
Arthas Java 测试技术
一次NSF FeignClient支持Apache HttpClient的优化
一次NSF FeignClient支持Apache HttpClient的优化
460 2