重学组成原理-概述篇

发展简史

计算机发展的四个阶段
第一个阶段1946-1957年 电子管计算机

在这里插入图片描述

  • 第二次世界大战是电子管计算机产生的催化剂
    • 英国为了解密德国海军的密文
    • 埃尼阿克ENIAC
      • 战争使用了飞机和火箭
      • 打的准则需要计算射击参数
      • 射击参数需要几千次运算才能计算起来
      • 18000多个电子管
      • 运行耗电量150千瓦
      • 重量达30吨,占地1500平方英尺
  • 不足:
    • 集成度小,空间占用大
    • 功耗高,运行速度慢
    • 操作复杂,更换程序需要接线
第二个阶段1957-1964年 晶体管计算机

贝尔实验室的三个科学家发明晶体管(跨时代的)

  1. 全世界第一台晶体管计算机TX-0 诞生于林肯实验室
  2. 全世界第一台晶体管计算机PDP-1 4k内存,每秒20 000指令 ,配备512x512的显示器
优势:
  • 集成度相对较高,空间占用相对小
  • 功耗相对较低,运行速度较快
  • 操作相对简单(一个科学家就能操作),交互更加方便(显示器)
第三个阶段1964-1980年 集成电路计算机
背景

德州仪器的工程师发明了集成电路(IC)

  1. 计算机变得更小
  2. 功耗变得更低
  3. 计算速度变得更快
    上述条件让计算机走入了寻常百姓家
第四个阶段1980-现在 超大规模集成电路计算机
  • 一个芯片集成了上百万的晶体管
  • 速度更快,体积更小,价格更低,更能被大众接受
  • 用途丰富:文本处理、表格处理、高交互的游戏与应用
  • 乔布斯的Apple和Apple二代
第五个阶段:未来计算机

以蛋白质分子作为主要原材料

生物计算机
  • 体积小,效率高
  • 不易损坏,生物级别的自动修复
  • 不受信号干扰,无热损耗
量子计算机
  • 2013.5 谷歌和NASA发布了D-Wave Two
  • 2017.5 中国科学院宣布制造出光学量子计算机
  • 2019.1 IBM展示了世界首款商业化量子计算机
  • 腾讯在2017组建了量子实验室
  • 阿里在2017年成立了达摩院
微型计算机(PC)的发展
受限于性能
  • 单核cpu
    • 1971->1973 500KHz频率的微型计算机(字长8位)
    • ->1978 高于1MHz频率(字长8位)
    • ->1985 500MHz频率(字长8位)
    • ->2000 高于1GHz频率(字长32位)
    • ->现在 2GHz频率(字长64位)
摩尔(intel 创始人)定律

集成电路的性能,每18-24个月就会提升一倍

多核CPU
  • (2005)intel奔腾系列双核CPU、AMD速龙系列
  • (2006)intel酷睿四核cpu
  • intel酷睿系列16核cpu
  • intel至强系列56核cpu

分类

超级计算机
  • 功能强大、运算速度快速,存储容量大的计算机
  • 多用于国家高科技领域和尖端技术研究
  • 标识他们运算速度的单位是TFlop/s
    • 1TFlop/s=每秒一万亿次浮点计算
大型计算机

IBM Z9

  • 又称大型机、大型主机、主机
  • 具有高性能、可处理大量数据与复杂的运算
  • 在大型机市场领域,IBM占领着很大的份额
迷你计算机 (普通服务器)
工作站
微型计算机

个人计算机,是最普通的一类计算机

体系结构

冯洛伊曼体系
概念

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

诞生背景

在这里插入图片描述

结构
  • 必须有一个存储器
  • 必须有一个控制器
  • 必须有一个运算器
  • 必须有输入设备
  • 必须有输出设备
    现代计算机都是冯洛伊曼机
作用
  • 能够把需要的程序和数据送至计算机中
  • 能够长期记忆程序、数据、中间结果及最终运算结果的能力
  • 能够具备算术、逻辑运算和数据传送等数据加工处理的能力
  • 能够按照要求将处理结果输出给用户
早期冯洛伊曼机示意图

在这里插入图片描述

缺点
  • 将cpu和存储器分开,不是一个好的选择,会导致CPU和存储器速率之间的问题无法调和(cpu速度是非常快的,但是存储器读取速度相对而言较慢)
    在这里插入图片描述
现在计算机的结构
概念

本质上还是冯洛伊曼体系中的计算机,但是在其体系结构上做了一些修改,将存储器放在了CPU内部
在这里插入图片描述
存储器指的是高速缓存L1、L2、L3、寄存器(通用寄存器、特殊寄存器、指令寄存器)

以存储器为核心的结构

层次与编程语言

程序翻译与程序解析

问题:

  • 为什么需要程序翻译与程序解析?
将人类语言解析为计算机语言,需要进行语言之间的转换
什么是程序翻译?

使用高级的计算机语言L1 编写的代码,需要通过编译器的编译之后才能运行,编译器是将高级语言的代码生成等价的低级计算机语言L0(计算机实际执行的语言),这个编译生成等价的低级语言代码的过程就是程序翻译。
在这里插入图片描述

什么是程序解析?

使用低级语言编写一个程序(jvm是有c语言编写的),用高级语言(java语言编译生成字节码文件)作为输入,执行过程中由这个程序将字节码转换为汇编指令(机器指令),由计算机执行,这个过程就叫做程序解析(从字节码文件到汇编指令)

两个的异同
  • 计算机执行的指令都是汇编指令
  • 解释过程由低级语言编写的解释器去解释高级语言的代码
程序翻译、解释分别有哪些语言

程序翻译

C/C++
Object-C
Golang

程序解释

Python
Javascript
Php

翻译 + 解释
Java : java程序 -> 字节码文件 翻译 , 字节码文件-> 机器码(汇编指令) 解释
C#

计算机的层次与相关的编程语言

层次
在这里插入图片描述
硬件逻辑层

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

微程序机器层

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

传统指令层

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

微指令 微程序 机器指令 之间的关系

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

操作系统层

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

汇编语言层

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

计算单位

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

为什么网上买的移动硬盘500G,格式化之后就只剩465G了?
硬盘商一般用10进位标识容量,(500 * 1000 * 1000 * 1000)/(1024 * 1024 * 1024)约等于465G

速度单位
网络速度

网络常用单位为(Mbps)
100M带宽 = 100Mbps = 100Mbit /s
100Mbit/s = (100/8)MB/s = 12.5MB/s

cpu速度
  • cpu速度一般体现为CPU的时钟频率
  • 时钟频率的单位一般是赫兹(Hz)
  • 主流CPU的时钟频率都在2GHz以上
  • Hz其实就是秒分之一,它是每秒钟的周期性变动重复次数的计量
  • Hz并不是描述计算机领域的专有单位
  • 2GHz = 2 * 1000 * 1000 * 1000 Hz = 每秒20亿次

字符与编码集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值