【IT】计算机体系结构
https://edu.51cto.com/center/course/user/get-study-course
解释型语言,在计算机资源受限制的嵌入式计算机上(单片机等)效果不好,因此在嵌入式开发中,更多的还是使用c、c++这种
解释型语言:basicjava、javascript、perl、ruby、vb、c#、python 等都是解释型的,除此之外其它大部分都是编译型的
编译器
- 一次性编译到位后即可执行、不需要运行虚拟机进行解释
- 跨平台受限
直译型
- 面对脚本等这类语言,脚本程序中的命令是一早编译好的可执行程序,可以直接执行
间接型解释器
- 虚拟机,一次编译到处运行
高级语言和低级语言
机器语言和汇编语言均属于低级语言
指令语法不统一
高级语言介绍
fortran、cobol、algol、simula、lisp(函数式,最适合CPU多核的并行运算)、prolog、R语言、C系语言
编程范式1
面向对象
面向过程
编程范式2
面向过程、面向对象、函数式语言
逻辑式语言
特俗用途的语言
- 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
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 噪声
影响通信质量的干扰信号
人为噪声 自然噪声
14 如何防止噪声
电源不规则变化时电压起起伏伏
通过各种滤波
通过电容充放电将电压中的电压尖刺平滑掉
增加信号能量
频闭网
无线、有线中继器,补充信号能量
15 电平传输
直接传输高低电平表示二进制的 1 和 0
transistor transistor logic 晶体管-晶体管逻辑
TTL电平的电压范围
- 高电平 2v ~ 5v 表示 1
- 低电平 0v ~ 2v 表示 0
16 差分信号传输
使用两根线的信号差值表示
17 有屏蔽双绞线与无屏蔽双绞线
无线信道: 非导向传输媒体
有限信道: 导向传输媒体
18 信道 之 同轴电缆 与 光缆
optical fiber cable
19 信道的频分复用和时分复用
按照频率的不同,每个子信道只跑自己所要求频率的信号
时分复用就是在不同时间段,信道跑不同的信号
20 串行通信与并行通信回顾
并行
- 芯片内部通信
- CPU芯片内部的三大高速总线
串行
- 芯片与芯片之间
- 设备与设备之间
- 数据线少,稳定性好、速度并不会太慢
《计算机体系结构》 硬件篇5 之 通信部分
- 通信知识点结构
常见的通信
有线通信
- I2C、SPI、串口、USB、有线网络
无线通信
- WPAN:蓝牙、红外、RFID(射频识别)、zigbee
- WLAN: wifi
- WWAN:2G、2.5G、3G、4G
- LWPAN:主要用在物联网
信号、数据、信息的关系
生活中通信的例子
电子设备的通信模型
- 基带信号与载波
调制时,是如何将“基带信号”装入“载波“信号的
- 调频、调幅、调相
- 通信协议
协议
- 双方为了实现通信,一早规定号的通信规则,按照什么规则进行信息/数据的编码、发送,按照该规则接收、对数据和信息进行解码
- 0101010 -》110111010110
- 收发设备需要遵照相同的协议才能进行通信
- 现在的电子设备都是数字设备,通信协议通过编程实现
- 底层协议和高层协议
底层协议
- 调制发送、接收解调
- 控制硬件发送和接收信号
高层协议
- 数据解码、信息解码
- 对信息和数据进行编码和解码
简单通信协议
- SPI、I2C、串口等短距离
复杂通信协议
- 网络通信所使用的TCP/IP协议
- 通信总结
9.串行通信与并行通信
有线的例子
- usb、网络
- 电话通信
- 电视广播
- 单片机常用的I2C、SPI、串口
无线的例子
- wifi
- zigbee
- 蓝牙
/
《计算机体系结构》硬件篇2
- 知识点结构介绍
存储器
- 实现程序和数据存储
运算器(ALU)
- 进行算术运算和逻辑运算
控制器
- 解释理解程序指令,将程序指令转为对应的一条一条的微指令,这些微指令会控制计算机工作
- 算术、逻辑运算
- 数据的搬移, CPU的寄存器->内存,或者内存中的转移
- 计算机的详细结构
- CPU运算器1
czvs标志位
c:进位、借位标志位,有的化会设置为1 2.5v
z:标记运算结果是否为零
- CPU运算器2
v: 溢出标志位
s: 符号标志位
- CPU控制器
对指令进行译码,将指令转成微指令,控制计算机工作
组成
- 程序计数器(PC) program counter,程序最开始运行时,PC里面放的时程序第一条指令再内存中所在的地址,没运行一条指令,PC里面的地址就会加1,指向下一个指令,如果一个指令的存放需要4个字节,,pc中的地址加1,实际上是加4个字节
- 指令寄存器(IR)instruction register,临时存放从内存中取得的,即将要被解释运行的指令,指令由两部分组成
#操作码:动作
#地址码
指令译码器(ID)instruction decoder
控制存储器 MOV
- 外设与IO接口
总现与io接口,将cpu和外部设备连接在一起
三大高速总线
- 数据总线
- 地址总线
- 控制总线
- 分开并行通信
io接口也有地址、数据、控制三大线
- 串行通信,复用
- 编写驱动程序去控制io接口
- 集成在芯片内部
- 地址、数据、控制线是如何配合工作的
三态门
- 信号
- 数据的表表现方式
- 在数字电子设备中,使用数字电信号10010这个二进制数,数字电信号为2.5v 0v 0v 2.5v 0v
- 光纤中,则使用数字光信号
数字电信号使用电压表示
磁性信号使用磁性方向
计算机主要使用电信号/磁信号/光信号(光纤通信)来表现数据
- 数字电路的实现
数字电路也被称为开关电路,数字电路中的二进制也只有两个状态, 1(2.5v)、0(0v),高低平电压
电阻电路中,电压和电流是线性关系,电流一旦变化,电压随机会跟着变化,很难稳定电压
晶体管成为了实现"数字电路"的关键
- 早期电子管,但体积太大,被半导体取代
- 半导体,导电性能介于拳道体和绝缘体
- 半导体材料
#二氧化硅中参入硅、锗、砷 - 体机非常小
二极管特性
- 稳压,正向电压达到0.7v后,稳定在这个数值
- 反向截止
三极管
晶体管可以表现出数字特性,内部的工作是模拟的,电流连续变化
集成电路(集成芯片)
- 模电、数电、微机原理
《数字电路》
- 加法器:可用于实现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
【IT】计算机体系结构相关推荐
- 主存储器是现代计算机系统的数据传送中心,第2章计算机体系结构习与题答案.doc...
第2章计算机体系结构习与题答案 第二章习题 复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并 ...
- 未来计算机体系结构,华中科大金海:未来是计算机体系结构的“黄金十年” 要培养大量创新人才...
近日,华为开发者大会2021(HDC.Cloud)在深圳举行.大会以"每一个开发者都了不起"为主题,汇聚高校学者.商业领袖.技术专家等各界顶级大咖,共同探讨ICT技术的基础创新与应 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:内联汇编与宏
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:函数、字符串、浮点运算
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:指令
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:处理器、寄存器简介
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 【趋势】未来十年计算机体系结构的历史和趋势
来源:机器之心 先分享我对这篇文章的总结,或者我得到的启发: 1.DSA (Domain-Specific Architectures,特定领域的体系结构) 将成为未来十年甚至更长时间,计算机体系结构 ...
- 面向人工智能的计算机体系结构
来源:计算机研究与发展 前 言 近几年来人工智能技术的飞速发展使得其应用迅猛扩大,而传统的计算机体系结构对于面向人工智能的应用在处理速度.能耗.使用的方便性等方面有着诸多不足.随着人工智能应用的发展, ...
- 计算机体系结构:嵌入式方法_计科考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?...
考研选择专业的时候,可以看到"计算机科学与技术"是一级学科,下面还有三个二级学科,分别叫"计算机系统结构" "计算机软件与理论" " ...
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机体系结构/并行与分布计算/存储系统
计算机体系结构/并行与分布计算/存储系统 中国计算机学会推荐国际学术刊物 (计算机体系结构/并行与分布计算/存储系统) 一.A类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Tra ...
最新文章
- 使用 Inception-v3,实现图像识别(Python、C++)
- TCRP风控管理师知识点:信贷评分卡模型授信
- debian安装python3_debian上安装python3.6
- pip 和 conda 源更改
- java分数怎么保存到文件_Java如何将控制台上的结果保存到文件
- linux dd 进度条,Progress 进度条 – DDProgressHUD
- 以独占方式锁定此配置文件失败.另一个正在运行_加速用例执行最有效的方法,手把手教你如何并行地运行自动化测试...
- 建立任务程序直接执行网页(.net)
- python读取excel绘图_python之读取Excel(xls/xlsx)文件
- docker单机安装rocketmq双主双从
- Android全局变量使用
- 多种modelsim版本下载地址
- 普通人翻身的希望?揭秘“元宇宙”到底是个啥玩意!
- 大华sd集成android so库,android平台上集成大华sdk
- HD AUDIO For XP SP3 声卡修正补丁下载
- 联合办公室出租,富有办公成效
- 正好配资点评北交所成立,新基建起爆
- 年过八旬指的是多少岁
- 验证手机号码是否正确
- svg格式的图片怎么放到word中?用这3种方法轻松解决!