计算机组成与体系结构

数据的表示

进制的转换

  • 二进制转十进制
    10100.01 = 1 ∗ 2 4 + 1 ∗ 2 2 + 1 ∗ 2 − 2 10100.01=1 *2^4+1*2^2+1*2^{-2} 10100.01=124+122+122

  • 八进制转十进制
    753 = 7 ∗ 8 2 + 5 ∗ 8 1 + 3 ∗ 8 1 = 491 753 = 7 * 8^2+5*8^1+3*8^1 = 491 753=782+581+381=491

    $$

    $$

  • 十六进制转十进制
    2 A 3 = 2 ∗ 1 6 2 + A ∗ 1 6 1 + 3 ∗ 1 6 0 = 2 ∗ 256 + 10 ∗ 16 + 3 ∗ 1 = 675 2A3 = 2*16^2+A*16^1+3*16^0 = 2*256 + 10 * 16 +3 *1 = 675 2A3=2162+A161+3160=2256+1016+31=675
    其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15

  • 十进制转二进制
    2 ∣ 94 余 0 2 ∣ 47 1 2 ∣ 23 1 2 ∣ 11 1 2 ∣ 5 1 2 ∣ 1 0 1 结果 1011110 \begin{aligned} &2|94 \quad 余 & 0 \\ &2|47 \quad & 1 \\ &2|23 \quad & 1 \\ &2|11 \quad & 1 \\ &2|5 \quad & 1 \\ &2|1 \quad & 0 \\ & \quad1 \\ 结果1011110 \end{aligned} 结果10111102∣942∣472∣232∣112∣52∣11011110

  • 二进制转八进制

    从后面开始每3位切割转十进制
    10001110 10 001 110 2 1 6 10001110 \\ 10\quad001\quad110 \\ 2\quad\quad1\quad\quad6 1000111010001110216

  • 二进制转十六进制

    从后面开始每4位切割转十进制
    10001110 1000 1110 8 E 10001110 \\ 1000 \quad 1110 \\ 8 \quad\quad\quad E 10001110100011108E

编码(原码、反码、补码、移码)

  • 原码转反码

    第一位符号位不变后面的取反
    1000 0001 原码 1111 1110 反码 1000 \quad 0001 \quad 原码\\ 1111 \quad 1110 \quad 反码 10000001原码11111110反码

  • 原码转补码

    在反码的基础上加1
    1000 0001 原码 1111 1110 + 1 反码 1111 1111 补码 1000 \quad 0001 \quad 原码\\ 1111 \quad 1110+1 \quad 反码\\ 1111 \quad 1111 \quad 补码 10000001原码11111110+1反码11111111补码

  • 原码转移码

    一般用作浮点运算中的阶码

    在补码的基础上,把首位取反
    1000 0001 原码 1111 1111 补码 0111 1111 移码 1000 \quad 0001 \quad 原码\\ 1111 \quad 1111 \quad 补码 \\ 0111 \quad 1111 \quad 移码 \\ 10000001原码11111111补码01111111移码

数值1数值-11-1
原码0000 00011000 00011000 0010
反码0000 00011111 11101111 1111
补码0000 00011111 11110000 0000
移码1000 00010111 11111000 0000

取值范围

整数
原码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) (2n11)~ 2 n − 1 − 1 2^{n-1}-1 2n11
反码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) (2n11)~ 2 n − 1 − 1 2^{n-1}-1 2n11
补码 − ( 2 n − 1 ) -(2^{n-1}) (2n1)~ 2 n − 1 − 1 2^{n-1}-1 2n11(有正0,和负0)

浮点数运算

浮点数表示:
N = M ∗ R e N=M*R^e N=MRe
其中M称为尾数,e是指数,R为基数

运算流程

  • 对阶
    1000 + 119 → 1.0 ∗ 1 0 3 + 0.119 ∗ 1 0 3 1000+119 \rightarrow 1.0*10^3 + 0.119*10^3 1000+1191.0103+0.119103

  • 尾数计算
    1 + 0.119 = 1.119 1+0.119 = 1.119 1+0.119=1.119

  • 结果格式化

    首位必须是个位数
    0.119 ∗ 1 0 3 → 1.19 ∗ 1 0 2 11.9 ∗ 10 → 1.19 ∗ 1 0 2 0.119*10^3 \rightarrow 1.19*10^2 \\ 11.9 * 10 \rightarrow 1.19 *10^2 0.1191031.1910211.9101.19102

计算机结构

计算机结构包括CPU和主存储器

CPU包括运算器和控制器

运算器:

  • 算术逻辑单元ALU:做运算的
  • 累加寄存器AC:
  • 数据缓冲寄存器DR:读写主存储器时,暂存主存储器数据
  • 状态条件寄存器PSW:存储运算过程中的标记位的

控制器

  • 程序计数器PC:存储下一条指令的位置
  • 指令寄存器IR
  • 指令译码器
  • 时序部件

体系结构分类-flynn

在这里插入图片描述

CISC与RISC

指令系统类型指令寻址方式实现方式其他
CISC(负责)数量多,使用频率差别大可变长格式支持多种微程序控制技术(微码)研制周期长
RISC(精简)数量少,使用频率接近,定长格式,大部分为单调期指令,操作寄存器,只有Load/Store操作内存支持方式少增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线优化编译。有效支持高级语言

流水线

  • 流水线周期为执行时间最长的一段;

  • 流水线计算公式:

    1条指令执行时间+(指令条数-1)流水线周期

    *理论公式: ( t 1 + t 2 + ⋯ + t k ) + ( n − 1 ) ∗ Δ t (t1+t2+ \cdots + tk)+(n-1)*\Delta t (t1+t2++tk)+(n1)Δt

    实践公式: ( k + n − 1 ) ∗ Δ t (k+n-1)*\Delta t (k+n1)Δt

  • 吞吐率计算
    T P = 指令条数 流水线执行时间 TP=\frac{指令条数}{流水线执行时间} TP=流水线执行时间指令条数

  • 加速比
    S = 不使用流水线执行时间 使用流水线执行时间 S=\frac{不使用流水线执行时间}{使用流水线执行时间} S=使用流水线执行时间不使用流水线执行时间

  • 流水线的效率
    E = n 个任务占用的时空区 k 个流水段的总的时空区 = T 0 k T k E=\frac{n个任务占用的时空区}{k个流水段的总的时空区} = \frac{T_0}{kT_k} E=k个流水段的总的时空区n个任务占用的时空区=kTkT0

层次化存储结构

在这里插入图片描述

cache

Cache的功能:提高CPU数据输入输出的速率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。

如果以代表对Cache的访问命中率, t 1 t_1 t1表示Cachel的周期时间, t 2 t_2 t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为 t 3 t_3 t3则:
t 3 = h ∗ t 1 + ( 1 − h ) ∗ t 2 t_3=h*t_1+(1-h)*t_2 t3=ht1+(1h)t2
其中,(1-h)又称为失效率(未命中率)。

局部性原理

  • 时间局部性
  • 空间局部性
  • 工作集理论:工作集是进程运行是被频繁访问的页面集合

主存

分类

  • 随机存取存储器
    • DRAM (Dynamic RAM,动态RAM)-SDRAM
    • SRAM(Static RAM,静态)
  • 只读存储器
    • MROM (Mask ROM,掩模式ROM)
    • PROM(Programmable ROM,一次可编程ROM)
    • EPROM(Erasable PROM,可擦除的PROM)
    • 闪速存储器(flash memory,闪存)

编址

在这里插入图片描述
C 7 F F F H + 1 = C 8000 H C 8000 H − A C 000 H ( 8 − C , 8 小于 C 需要往前借一位等于 16 + 8 = 24 , C = 12 ,即 24 − 12 = 12 , 所以为 C ) ( B − A = 1 ) = 1 C 000 H 1 C 000 H ÷ 2 10 = ( 1 ∗ 1 6 4 + 12 ∗ 1 6 3 ) ÷ 2 10 = ( 1 ∗ 2 4 ∗ 4 + 12 ∗ 2 4 ∗ 3 ) ÷ 2 10 = ( 2 16 + 12 ∗ 2 12 ) ÷ 2 10 = ( 2 16 − 10 + 12 ∗ 2 12 − 10 ) = ( 2 6 + 12 ∗ 2 2 ) = ( 64 + 12 ∗ 4 ) = ( 64 + 48 ) = 112 C7FFFH+1=C8000H \\ \begin{aligned} &C8000H-AC000H \\ &(8-C,8小于C需要往前借一位等于16+8=24,C=12,即24-12=12,所以为C)\\ &(B-A=1) \\ =& 1C000H \\ \end{aligned} \\ \begin{aligned} &1C000H \div 2^{10} \\ = &(1*16^4+12*16^3)\div 2^{10} \\ = &(1*2^{4*4}+12*2^{4*3})\div 2^{10} \\ = &(2^{16}+12*2^{12})\div 2^{10} \\ = &(2^{16-10}+12*2^{12-10}) \\ = &(2^{6}+12*2^{2}) \\ = &(64+12*4) \\ = &(64+48) \\ =& 112 \end{aligned} C7FFFH+1=C8000H=C8000HAC000H(8C,8小于C需要往前借一位等于16+8=24,C=12,即2412=12,所以为C)(BA=1)1C000H========1C000H÷210(1164+12163)÷210(1244+12243)÷210(216+12212)÷210(21610+1221210)(26+1222)(64+124)(64+48)112

1 = 112 K × 16 28 × 16 K × x = 112 28 × x = 4 x x = 4 \begin{aligned} 1 &= \frac{112K \times 16}{28 \times 16K \times x} \\ & = \frac{112}{28 \times x} \\ & = \frac{4}{x} \\ & x = 4 \end{aligned} 1=28×16K×x112K×16=28×x112=x4x=4

磁盘结构与参数

存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
在这里插入图片描述

33 m s ÷ 11 = 3 m s 33ms \div 11 = 3ms 33ms÷11=3ms,得到每个物理块读取数据的时间为 3 m s 3ms 3ms,也就是说磁头从 R 0 R_0 R0开始到 R 1 R_1 R1开始,用了 3 m s 3ms 3ms读完数据到缓冲区,等缓冲区处理完,并且需要磁头再转一圈到大 R 1 R_1 R1开始处才能再读取数据。所以读完物理块1到10的数据为
( 33 m s + 3 m s ) ∗ 10 = 360 m s (33ms+3ms)*10 = 360ms (33ms+3ms)10=360ms
此时磁头到达 R 11 R_{11} R11开始处,读取数据需要 3 m s 3ms 3ms,缓冲区处理时间需要 3 m s 3ms 3ms,所以处理完11个记录的时间为
360 m s + 3 m s + 3 m s = 366 m s 360ms+3ms+3ms = 366ms 360ms+3ms+3ms=366ms

优化后的存储顺序为 R 0 , R 6 , R 1 , R 7 , R 2 , R 8 , R 3 , R 9 , R 4 , R 10 , R 5 R_{0},R_{6},R_{1},R_{7},R_{2},R_{8},R_{3},R_{9},R_{4},R_{10},R_{5} R0,R6,R1,R7,R2,R8,R3,R9,R4,R10,R5,磁头只需转两圈就可以读取完全部数据,需要时间为
33 m s ∗ 2 = 66 m s 33ms*2 = 66ms 33ms2=66ms

总线

总线通常被分成三种类型,分别是

  • 内部总线
  • 系统总线
    • 数据总线
    • 地址总线
    • 控制总线
  • 外部总线

系统可靠性分析

串联系统

在这里插入图片描述
可靠度:
R = R 1 × R 2 × ⋯ × R n R=R_1 \times R_2 \times \cdots \times R_n R=R1×R2××Rn
失效率:
λ = λ 1 × λ 2 × ⋯ × λ n \lambda = \lambda_1 \times \lambda_2 \times \cdots \times \lambda_n λ=λ1×λ2××λn

并联系统

在这里插入图片描述

可靠度:
R = 1 − ( 1 − R 1 ) × ( 1 − R 2 ) × ⋯ × ( 1 − R n ) R=1-(1-R1) \times (1-R_2) \times \cdots \times (1-R_n) R=1(1R1)×(1R2)××(1Rn)
失效率:
μ = 1 1 λ ∑ j = 1 n 1 j \mu = \frac{1}{\frac{1}{\lambda}\sum_{j=1}^n\frac{1}{j}} μ=λ1j=1nj11

模冗余系统-了解

在这里插入图片描述
R = ∑ i = n + 1 m C m j × R 0 i ( 1 − R 0 ) m − i R=\sum_{i=n+1}^mC_m^j \times R_0^i(1-R_0)^{m-i} R=i=n+1mCmj×R0i(1R0)mi

混合系统-重点

在这里插入图片描述
R × ( 1 − ( 1 − R ) 3 ) × ( 1 − ( 1 − R ) 2 ) R \times (1-(1-R)^3) \times (1-(1-R)^2) R×(1(1R)3)×(1(1R)2)

差错控制

循环校验码CRC

海敏校验码

在这里插入图片描述

校验位的位置为 2 n 2^n 2n

校验位的位数和信息位的位数关系:
2 r ≥ 4 + r + 1 2^r \geq 4+r+1 2r4+r+1
其中 r r r为校验位的位数
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/596708.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.1.k8s的pod-创建,数据持久化,网络暴露,env环境变量

目录 一、Pod介绍 二、指令创建和管理Pod 三、资源清单创建pod 1.挂载hostPath存储卷 2.NFS存储卷 所有节点安装nfs k8s3编辑NFS配置文件 k8s1,k8s2节点开机挂载 编辑pod资源清单,挂载nfs 四、pod网络暴露 1.hostNetwork使用宿主机的网络 2.…

【OneAPI】贴纸生成API

OneAPI新接口发布:贴纸生成 生成一个10241024像素的贴纸。 API地址:POST https://oneapi.coderbox.cn/openapi/api/stickers 请求参数(body) 参数名类型必填含义说明prompt提示词是提示词示例:一只可爱的小狗 响应…

ZYNQ学习之Petalinux 设计流程实战

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ PetaLinux工具提供了在 Xilinx 处理系统上自定义、构建和部署嵌入式 Linux 解决方案所需的…

【ARM 嵌入式 C 常用数据结构系列 25.1 -- linux 双向链表 list_head 使用详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 内核双向链表双向链表的数据结构初始化双向链表在双向链表中添加元素遍历双向链表链表使用示例注意事项 内核双向链表 在Linux内核中&#xff0c;双向链表是一种广泛使用的数据结构&#xff0c;允许从任意节点高效地进行前向或后向…

FPGA笔试面试题目记录

1 logic utilization 题目&#xff1a;Rank the following operations from lowest utilization to highest. Assume that all variables are 32-bit integers,that the operations are implemented using LUTs ony and that the synthesiser will produce an optimal digital…

1.微服务

一、微服务是什么 微服务是一种架构风格&#xff0c;即&#xff0c;一个应用应该是一组小型服务&#xff0c;每个服务器只负责一种服务&#xff0c;服务之间可以通过 HTTP 的方式进行互通。每一个功能元素最终都是一个可独立替换和独立升级的软件单元。 可以说&#xff0c;微…

双连通分量算法

1. 连通图概念 连通图&#xff1a;无向图任意两点之间存在通路。 强连通&#xff1a;有向图&#xff08;前提&#xff09;中&#xff0c;任意两点都有至少一条通路&#xff0c;则此图为强连通图。 弱连通图&#xff1a;将有向图的有向边换成无向边得到的图是连通图&#xff0c…

Spring Cloud介绍

一、SpringCloud总体概述 Cloud Foundry Service Broker&#xff1a;通用service集成进入Cloud Foundry Cluster&#xff1a;服务集群 Consul&#xff1a;注册中心 Security&#xff1a;安全认证 Stream&#xff1a;消息队列 Stream App Starters&#xff1a;Spring Cloud Stre…

面试题——JVM老年代空间担保机制(我的想法)

这里借用一下人家的图&#xff0c;来说一下我的想法&#xff0c;嘻嘻。。。。 原文链接&#xff1a;一道面试题&#xff1a;JVM老年代空间担保机制-CSDN博客? 嗯&#xff0c;我觉得老年代担保机制的主要作用就是避免频繁触发FULL GC&#xff0c;这其实也是因为年轻代Minor GC…

自动驾驶_交通标志识别:各目标检测算法评测

自动驾驶|交通标志识别&#xff1a;各目标检测算法评测 论文题目&#xff1a;Evaluation of Deep Neural Networks for traffic sign detection systems 开源代码&#xff1a;https://github.com/aarcosg/traffic-sign-detection 附赠自动驾驶学习资料和量产经验&#xff1a;…

sharo反序列化漏洞

启动docker 服务 sudo service docker start 打开靶场 sudo docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 输入docker虚拟机地址打开靶机sharo框架 如何利用漏洞 打开工具目录在终端中打开 输入靶机地址 打开yaki监听端口可以设置为6666 返回工具填写靶机ip和端口 …

idea开发 java web 高校学籍管理系统bootstrap框架web结构java编程计算机网页

一、源码特点 java 高校学籍管理系统是一套完善的完整信息系统&#xff0c;结合java web开发和bootstrap UI框架完成本系统 &#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 前段主要技术 css jq…