【IT】计算机体系结构

https://edu.51cto.com/center/course/user/get-study-course

解释型语言,在计算机资源受限制的嵌入式计算机上(单片机等)效果不好,因此在嵌入式开发中,更多的还是使用c、c++这种

图片1

解释型语言:basicjava、javascript、perl、ruby、vb、c#、python 等都是解释型的,除此之外其它大部分都是编译型的

编译器

  • 一次性编译到位后即可执行、不需要运行虚拟机进行解释
  • 跨平台受限

直译型

  • 面对脚本等这类语言,脚本程序中的命令是一早编译好的可执行程序,可以直接执行

间接型解释器

  • 虚拟机,一次编译到处运行

高级语言和低级语言

机器语言和汇编语言均属于低级语言
指令语法不统一

图片2

高级语言介绍
fortran、cobol、algol、simula、lisp(函数式,最适合CPU多核的并行运算)、prolog、R语言、C系语言

图片3

图片4

图片5

编程范式1

面向对象
面向过程

编程范式2

面向过程、面向对象、函数式语言

图片10

图片6
图片7
图片8
图片9

逻辑式语言

特俗用途的语言

  • html 标记语言
  • sql 数据库查询语言
  • matlab 数值分析语言

///

《计算机体系结构》软件篇2 之编译器

汇编语言 与 汇编编译器

在这里插入图片描述

汇编编译将ASCII编码形式程序翻译为计算机指令

在这里插入图片描述

在这里插入图片描述

不同的CPU芯片 不同的机器指令 有着自己机型的汇编编译器

CPU汇编语法

在这里插入图片描述

在这里插入图片描述

汇编编译器

  • 芯片厂家提供
  • 非芯片厂商、大型公司和组织
  • 高级语言 汇编程序 计算机指令

在这里插入图片描述

词法、语法、语义分析
_sum = a[1] + a[2]
分号 ;
编译器将这句进行拆分——sum、=、a[1]、+、a[2]
分析这几个词是否符合c语言的词法规则

树形结构根据运算符优先级

C语言编译器 与 预处理

  • 预编译:头文件,进行.c文件内容扩展,为编译做准备

.h 文件的包含

  • 编译:将c语言程序翻译为计算机指令
  • 链接:将众多的机器指令文件合在一起,得到“可执行计算机指令程序”

在这里插入图片描述

链接

在这里插入图片描述

目标文件里面放的已经时计算机指令 .o 结尾 无法直接运行

可执行文件

  • 所有目标文件链接在一起
  • windows .exe
  • unix、linux .out
  • 符号统一
  • 地址重定位
    在这里插入图片描述

C语言可执行文件的格式
裸机 bin

在这里插入图片描述

编译过程

在这里插入图片描述

在这里插入图片描述

makefile

///

《计算机体系结构 - 软件篇》之 解释器、语言、算法

编译器翻译成ASCII编码的程序

解释器

  • 每翻译一句就执行一句

在这里插入图片描述

直接型、间接型解释器

直译型解释器 与 脚本程序

运行程序

  • 图形交互界面
  • 命令行命令

脚本文件中编写脚本程序,从而批量执行

2 windows下的脚本程序

直译型解释器:逐条执行

在这里插入图片描述

写入条件判断语句,然后通过输入条件,按照要求控制批量执行

脚本文件、脚本语言、脚本程序之间的关系
脚本文件容器,里面放的是脚本语言编写的脚本程序
.bat
写入条件判断语句,然后通过输入条件,按照要求控制批量执行

dir cls

在这里插入图片描述

在这里插入图片描述

3 Linux下的Shell脚本等问题

在这里插入图片描述

在这里插入图片描述

运行脚本程序就是批量的执行一批已经写好的程序

在这里插入图片描述

4 为什么需要间接型解释器

在这里插入图片描述

很多时候java c#等的程序都很大,一次性将所有字节码变为机器指令的话,非常消耗时间,如果程序庞大的话,转换的过程至少30分钟时间以上

5 为什么需要间接型解释器(虚拟机)

针对不同平台、不同的CPU、不同的操作系统

在这里插入图片描述

///

《计算机体系结构》软件篇2 之编译器

汇编语言 与 汇编编译器

图片11

汇编编译将ASCII编码形式程序翻译为计算机指令

图片12

图片13

不同的CPU芯片 不同的机器指令 有着自己机型的汇编编译器

CPU汇编语法

图片14

图片15

汇编编译器

  • 芯片厂家提供
  • 非芯片厂商、大型公司和组织
  • 高级语言 汇编程序 计算机指令

图片16

词法、语法、语义分析
_sum = a[1] + a[2]
分号 ;
编译器将这句进行拆分——sum、=、a[1]、+、a[2]
分析这几个词是否符合c语言的词法规则

树形结构根据运算符优先级

C语言编译器 与 预处理

  • 预编译:头文件,进行.c文件内容扩展,为编译做准备

.h 文件的包含

  • 编译:将c语言程序翻译为计算机指令
  • 链接:将众多的机器指令文件合在一起,得到“可执行计算机指令程序”

图片18

链接

图片19

目标文件里面放的已经时计算机指令 .o 结尾 无法直接运行

可执行文件

  • 所有目标文件链接在一起
  • windows .exe
  • unix、linux .out
  • 符号统一
  • 地址重定位

图片20

C语言可执行文件的格式
裸机 bin

图片21

编译过程

图片22

图片23

makefile

//
UCS-2 最小分配2个字节 字码值上限65536 属于不变长存储

unicode存储格式 代表 ucs-2的存储格式

utf-8 针对万国码拉丁字符

  • 基本分配单元时单个字节
  • 变长存储

UCS-16 与 UCS-32

BMP 0组0平面

UTF-8 英文
ucs-2 utf-16 汉字

小端:little endian 简写为LE “数的高位字节”存在高地址字节空间 “数的低位字节”存在低地址字节空间
大端:big endian 简写为BE
存储0x00003D5F
0x3D5F
高地址字节空间(123):3D
低地址字节空间(122):5F

在这里插入图片描述

BOM
byte order mark
大小端序

编辑器根据类似BOM一样“头信息”来自动判断

ANSI 本地编码
GB国标码
American national standard institute

windows会给所有的这些“本地编码系统”一个编号

在这里插入图片描述

字符图形库(字模库)
设计各种字符图型
选择不同的字体就是不同的字模库

《计算机体系结构》软件篇1 之 文字编码和子模库

1 软件篇课程大纲

各种字符编码标准
ASCII、ISO 8895-1、GBK、GB18030、GB2312、BIG5

万国码
UCS2 和 UCS4 编码集
utf-8、utf-16(ucs-2)、utf-32
编辑器如何识别编码格式
ANSI是个什么编码

2 程序

编译器
解释器

计算机的程序指令都是以电信号形式存在,二进制电信号

10001101 2.5v 0v 0v 0v 2.5v 2.5v 0v 2.5v

图片1

3 字符编码与字符图型库(字模库)

‘A’<--------> 65 (01000001), 0v 2.5v 0v 0v 0v 0v 0v 2.5v

字符图形库: 存在计算机中

在这里插入图片描述

4 ASCII码

american standard code for information interchange

共涉及128个字符,每个字符对应一个编码

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5 ISO-8859-1 编码与ASCII编码的关系

由国际标准组织ISO制定
包含欧洲几乎所有国家的文字编码
将字节的所有位用上

存储时只需要一个字节就可以了

6 汉字编码

2个字节 65536个组合

在这里插入图片描述

GB2312

BIG5 繁体字编码方案

DBCS
double byte charac set

///
21 有线串行通信之 I2C通信
22 有线串行 之 SPI通信
23 有线串行 之USB通信
24 有线串行 之串口通信
25 有线串行 之网络通信

通信协议 TCP/IP
远距离传输
传输的网络信号到底是什么,需要看具体的传输介质
光纤:数字光信号 1根光纤线
同轴电缆:模拟电信号 1根线
电话线:模拟电信号、或者数字 2~4根线
普通网线(双绞线):数字的查分信号

26 无线通信概述

99%的无线通信都需要载波
xxxHZ指的时载波频率

27 WPAN介绍

wireless personal area networks
无线个人局域网
以个人为中心、覆盖面积小、10米左右
蓝牙耳机
蓝牙、红外、射频识别RFID/NFC等短距离无线通信

射频识别RFID/NFC

  • 非接触式射频识别技术
  • 饭卡、公交卡、门禁卡
  • 载波频率 125KHZ~2.54GHZ

28 WLAN介绍

wireless local area networks
无线本地局域网
满足家庭或者小型公司覆盖平均100米左右

wifi

  • 载波频率 2.4GHZ 或者 5GHZ
  • 可构建WALN

29 WWAN 之 1G、2G、2.5G、3G、。。。

G generation

1G

  • 只能打电话

2G

  • 电话的语音、GPRS、EDGE、GPRS、EDGE都是从GSM升级而来

3G

  • 速度快、WCDMA、CDMA2000、TD-SCDMA

4G

  • 速度更快
  • TD-LTE FDD-LTE两种制式

手机定位

  • 基站定位
  • GPS全球定位

30 1G 2G 2.5G

2G

  • GSM global system for mobile communications 全球移动通信系统
  • 载波频率:850MHZ、900MHZ、1800MHZ、M900MHZ

CMDA

  • code division multiple access
  • 码分多址技术
  • 载波频率:850/900/1700/1900/2100MHZ

31 3G、4G、GPS

11 同步通信 和 异步通信

同步通信

  • A先发一个同步脉冲,B返回脉冲信号
  • B在接收数据之前可以做事也可以等待

异步通信

  • 单片机串口(UART)
    #并无事先约定

看有没有应答机制

12 单工、半双工、全双工通信

单工 - 一发一收
半双工 - 双方不能同时
全双工 - 同时发送和接收

13 噪声

影响通信质量的干扰信号

15

人为噪声 自然噪声

14 如何防止噪声

电源不规则变化时电压起起伏伏
通过各种滤波
通过电容充放电将电压中的电压尖刺平滑掉

增加信号能量
频闭网
无线、有线中继器,补充信号能量

16

15 电平传输

直接传输高低电平表示二进制的 1 和 0
transistor transistor logic 晶体管-晶体管逻辑
TTL电平的电压范围

  • 高电平 2v ~ 5v 表示 1
  • 低电平 0v ~ 2v 表示 0

16 差分信号传输

使用两根线的信号差值表示

17 有屏蔽双绞线与无屏蔽双绞线

无线信道: 非导向传输媒体
有限信道: 导向传输媒体

17

18 信道 之 同轴电缆 与 光缆

18

optical fiber cable

19

19 信道的频分复用和时分复用

按照频率的不同,每个子信道只跑自己所要求频率的信号
时分复用就是在不同时间段,信道跑不同的信号

20 串行通信与并行通信回顾

并行

  • 芯片内部通信
  • CPU芯片内部的三大高速总线

串行

  • 芯片与芯片之间
  • 设备与设备之间
  • 数据线少,稳定性好、速度并不会太慢

《计算机体系结构》 硬件篇5 之 通信部分

  1. 通信知识点结构

常见的通信

有线通信

  • I2C、SPI、串口、USB、有线网络

无线通信

  • WPAN:蓝牙、红外、RFID(射频识别)、zigbee
  • WLAN: wifi
  • WWAN:2G、2.5G、3G、4G
  • LWPAN:主要用在物联网
  1. 信号、数据、信息的关系

  2. 生活中通信的例子

  3. 电子设备的通信模型

8

  1. 基带信号与载波

调制时,是如何将“基带信号”装入“载波“信号的

  • 调频、调幅、调相

9

  1. 通信协议

协议

  • 双方为了实现通信,一早规定号的通信规则,按照什么规则进行信息/数据的编码、发送,按照该规则接收、对数据和信息进行解码
  • 0101010 -》110111010110
  • 收发设备需要遵照相同的协议才能进行通信
  • 现在的电子设备都是数字设备,通信协议通过编程实现

图片10

  1. 底层协议和高层协议

底层协议

  • 调制发送、接收解调
  • 控制硬件发送和接收信号

高层协议

  • 数据解码、信息解码
  • 对信息和数据进行编码和解码

简单通信协议

  • SPI、I2C、串口等短距离

复杂通信协议

  • 网络通信所使用的TCP/IP协议
  1. 通信总结

11

9.串行通信与并行通信

12

13

有线的例子

  • usb、网络
  • 电话通信
  • 电视广播
  • 单片机常用的I2C、SPI、串口

无线的例子

  • wifi
  • zigbee
  • 蓝牙

/
《计算机体系结构》硬件篇2

  1. 知识点结构介绍

存储器

  • 实现程序和数据存储

运算器(ALU)

  • 进行算术运算和逻辑运算

控制器

  • 解释理解程序指令,将程序指令转为对应的一条一条的微指令,这些微指令会控制计算机工作
  • 算术、逻辑运算
  • 数据的搬移, CPU的寄存器->内存,或者内存中的转移

3

  1. 计算机的详细结构

4

  1. CPU运算器1

czvs标志位
c:进位、借位标志位,有的化会设置为1 2.5v

5

z:标记运算结果是否为零

  1. CPU运算器2

v: 溢出标志位

s: 符号标志位

  1. CPU控制器

对指令进行译码,将指令转成微指令,控制计算机工作

组成

  • 程序计数器(PC) program counter,程序最开始运行时,PC里面放的时程序第一条指令再内存中所在的地址,没运行一条指令,PC里面的地址就会加1,指向下一个指令,如果一个指令的存放需要4个字节,,pc中的地址加1,实际上是加4个字节
  • 指令寄存器(IR)instruction register,临时存放从内存中取得的,即将要被解释运行的指令,指令由两部分组成
    #操作码:动作
    #地址码

6

  • 指令译码器(ID)instruction decoder

  • 控制存储器 MOV

  1. 外设与IO接口

总现与io接口,将cpu和外部设备连接在一起

三大高速总线

  • 数据总线
  • 地址总线
  • 控制总线
  • 分开并行通信

io接口也有地址、数据、控制三大线

  • 串行通信,复用
  • 编写驱动程序去控制io接口
  • 集成在芯片内部
  1. 地址、数据、控制线是如何配合工作的

7

三态门

2

  1. 信号
  • 数据的表表现方式
  • 在数字电子设备中,使用数字电信号10010这个二进制数,数字电信号为2.5v 0v 0v 2.5v 0v
  • 光纤中,则使用数字光信号

数字电信号使用电压表示
磁性信号使用磁性方向

计算机主要使用电信号/磁信号/光信号(光纤通信)来表现数据

  1. 数字电路的实现

数字电路也被称为开关电路,数字电路中的二进制也只有两个状态, 1(2.5v)、0(0v),高低平电压

电阻电路中,电压和电流是线性关系,电流一旦变化,电压随机会跟着变化,很难稳定电压

晶体管成为了实现"数字电路"的关键

  • 早期电子管,但体积太大,被半导体取代
  • 半导体,导电性能介于拳道体和绝缘体
  • 半导体材料
    #二氧化硅中参入硅、锗、砷
  • 体机非常小

二极管特性

  • 稳压,正向电压达到0.7v后,稳定在这个数值
  • 反向截止

三极管

晶体管可以表现出数字特性,内部的工作是模拟的,电流连续变化

集成电路(集成芯片)

  1. 模电、数电、微机原理

《数字电路》

  • 加法器:可用于实现cpu算术运算单元和逻辑单元
  • A/D D/A 转换器
  • 触发器
  • 译码器

《微机原理》

  • 计算机的硬件具体是怎么工作,以及如何使用汇编程序来控制这些硬件

/
1.算数运算单元

  • CPU中专门实现算术运算
  • 只要一个加法器就可实现等等各种运算
  • 核心是加法器

逻辑运算

  • 与、或、非

逻辑运算单元

  • CPU的运算单元 = 算术运算单元 + 逻辑运算单元 + 。。。
  • 加法器既可以实现算术运算也可以实现逻辑运算

计算机与进制

早起的纸袋存储

  • 在纸袋上打孔,当光照射到纸袋上时,光线能够穿过去孔洞一边接收到时就是数据1,否则就是数据0

磁盘存储

  • 通过磁极的方向(正反)表示二进制数据

光盘存储

  • 表面凹凸表示二进制数据0/1
    在这里插入图片描述

5. 模拟电信号与数字电信号

模拟电信号

  • 直接使用电压值、或者电流值表示现实世界的各种情况
  • 连续变化

数字电信号

  • 电压、电流表示温度时存在精度问题
  • 2.5v(1)0v(0)
  • 1111(15)2.5v 2.5v 2.5v 2.5v
  • 使用高低电平组合而成二进制数
  • 需要从模拟电信号转换而来
  • 离散的
    #采样
    #采样后转为二进制表示
    在这里插入图片描述

A/D和D/A转换

  • A Analog
  • D igital
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值