山顶夕景
实践出真知
展开
-
计算机组成原理-宝典
1.移码和补码的关系:同一数值的移码与补码符号位相反,其它各位相同;故0的移码和补码表示形式唯一。原创 2020-02-17 01:09:55 · 10488 阅读 · 18 评论 -
【LLM硬件】V100、A100、A800、H100参数对比
NVIDIA GPU 的核心参数:CUDA Core:CUDA Core 是 NVIDIA GPU上的计算核心单元,用于执行通用的并行计算任务,是最常看到的核心类型。NVIDIA 通常用最小的运算单元表示自己的运算能力,CUDA Core 指的是一个执行基础运算的处理元件,我们所说的 CUDA Core 数量,通常对应的是 FP32 计算单元的数量。Tensor Core:Tensor Core 是 NVIDIA Volta 架构及其后续架构(如Ampere架构)中引入的一种特殊计算单元。它们专门用于原创 2024-04-27 14:17:55 · 649 阅读 · 2 评论 -
从一道考研408大题解读Cache
文章目录一、背景引入1.1 时间和空间局部性原理1.2 几个408基础知识二、经典面试题1. 百度高性能计算研发岗(1)寄存器和cache哪个更快?cache的实现方式?主存的实现方式?区别和异同?(2)计算机体系结构?cache映射的分类和特点。(3)介绍计算机的存储架构?2. 偶数科技二面:如何增加cache命中率3. 腾讯二面项目(1)内存池实现的原理4. 科大讯飞一面C++5. 京东提前批二面三、2010年408真题(1)不用考虑用于Cache一致性维护和替换算法的控制位,数据Cache的总容量是多原创 2021-10-06 21:24:50 · 1269 阅读 · 3 评论 -
CPU访存流程深度剖析
废话不多说,先上图:1.CPU访问存储系统的整体流程(1)提供逻辑地址程序员交给CPU的是逻辑地址,要进行虚实地址转换才能找到该虚拟地址所对应的数据实际存放的位置。(2)虚实地址转换虚页号与实页号的对应关系存在页表(页表存在主存)中,比较活跃的页表项存在TLB中(TLB相当于专用于存页表项的Cache)。故转换时先查TLB,若TLB不命中,再查页表,若页表还不命中,说明该页...原创 2020-02-26 22:40:03 · 5857 阅读 · 4 评论 -
三种I/O控制方式
中断处理过程中断处理过程:----以下由中断隐指令完成---关中断。在保护现场的过程中,CPU不应相应更高级中断源的中断请求。 保存断点。断点能使正确返回到原来的程序。 引出中断服务程序。即取出中断服务程序的入口地址送入PC,分为硬件/软件查询法。---以下进入中断服务程序---保存现场和屏蔽字。现场信息指程序状态字、中断屏蔽寄存器和CPU中某些寄存器内容。 开中断。允...原创 2020-04-17 20:37:38 · 4003 阅读 · 4 评论 -
#总线#408真题大题系列
【知识回顾】(1)【真题】第一题(2009常规题):第一问:中断由数据传输率和传输单位为32位=4B知每秒传送0.5MB/4B=125K次(即每秒中断次数)。所以百分比R1=125K×(2+18)×5 / 500M=2.5%第二问:DMA和(1)同理每秒DMA次数为5MB / 5000B=1000次(即每秒DMA次数)。所以百分比R2=1000×500 / 500M=0.1%第二题(2018):第一问:定时查询第二问:中断第...原创 2020-08-20 21:50:17 · 3052 阅读 · 0 评论 -
2009年408计组数据通路大题
【题目】某计算机字长为16位,采用16位定长指令字结构,部分数据桐庐结构如下图所示。图中所有控制信号为1时表示有效,为0则无效。如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+((R1))->(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结构送入R1的内容所指向主存单元中保存。下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的.原创 2020-06-23 22:43:34 · 3708 阅读 · 6 评论 -
2010年指令大题
(1)该指令系统最多可以有多少条指令?【解析】因为OP有4位,2^4=16种操作码,即16条指令(注意这里说的多少条是指多少种)。该计算机最多有多少个通用寄存器?【解析】从指令的最右边6位和表中的Ms/Md是3位可知寻址特征和寄存器编号都是3位,即有2^3=8个通用寄存器。存储器地址寄存器MAR和存储器数据寄存器MDR至少各需要多少位?【解析】一共有128KB/2B=2^16个存储单元,即MAR为16位(这16位相当于对每个地址进行“编号”,方便寻址【基础知识】)由字长为16位(..原创 2020-07-23 17:19:39 · 2020 阅读 · 1 评论 -
2010年Cache大题
【知识回顾】(1)指令Cache和数据Cache分离后的数据Cache=标记阵列+数据(而不是只有数据);(2)【题目】某计算机的主存地址空间大小为256B,按字节编址。指令Cahce和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有2个功能相同的程序A和B,伪代码如下:假定int类型数据用32位补码表示,程序编译时,i、j和sum均分配在寄存器中,数组a按行优先存放,其首地址为320(十进制数)。(1)不用考虑用于Cach原创 2020-08-04 16:38:28 · 3296 阅读 · 2 评论 -
2011年虚实地址408大题
【知识回顾】直接映射的访存过程:(前提:完成虚实转换后)(1)根据【物理地址】的【Cache行号】找到对应的Cache行;(2)若虚拟地址的【tag】和该Cache行的tag相同,且有效位=1,则访Cache命中(3)根据【物理地址】的【块内地址】在对应的Cache行中存取信息【注意】若(2)中tag不相同或有效位=0则【访Cache不命中】,CPU从主存中读出该【物理地址】所在的一整块Cache送到对应的Cache行,将有效位置为1,并将Tag设置为地址中的高t位,同时将该地址中的内.原创 2020-08-24 16:00:35 · 1750 阅读 · 0 评论 -
2011年定点数408大题
【知识回顾】(1)【真题】第一问(无符号数加减):R1装着无符号整型变量x=134=1000 0110(2);由于y=246=255-9=1111 0110(2)【这样比128+。。逐个算更快】;把y包括符号位取反再末位+1得到【-y】=0000 1010,所以【x-y】=【x】+【-y】=1000 0110+0000 1010=(0)1001 0000,括号为加法器的进位,即R5=90H。同理x+y=R6=1000 0110+1111 0110=(1)0111 11原创 2020-08-23 20:20:29 · 1488 阅读 · 0 评论 -
2012年流水线408大题
【知识回顾】【真题】第一问:有符号数的算术右移【解析】由于513的16位为0000 0010 0000 0000,所以-513的补码为1111 1110 0000 0000,经过SHR算术右移后为第二问:流水线用时第三问:阻塞第四问:流水线-------------未完待续...原创 2020-08-29 10:31:35 · 1247 阅读 · 3 评论 -
2013年转移指令大题
【解析】因为一条指令长度为2B,又从转移目标地址公式:(PC)+2+2 × OFFSET的第一个2可以看出是按字节编址(因为这里是PC+“1”这个1是一条指令所占的存储单元个数)。题目所指的“向后跳转”是指向地址大的方向改变,由于OFFSET是8位补码,表示范围为-128~127,所以可以向后跳转127条指令。【解析】指令中C=0,Z=1,N=1,所以要检测符号标志NF,由于(2)说NF=1所以会跳转,然后不要兴奋的套公式:首先要将指令中最右边的8位(OFFSET)11100011即E3...原创 2020-07-23 19:35:15 · 1992 阅读 · 0 评论 -
2013年总线+存储器大题
【知识回顾】(1)T-CPU时钟=1/800Mns=1.25ns;总线时钟周期=1/200Ms=5ns我的答案:总线的带宽=32B/(1/200M) s 正确答案是:总线宽度为32位,总线带宽=4B×200MHz=800MB/s或4B/5ns=800MB/s(2)Cache(32B)缺失时,需要1个总线事务(3)存储周期为40ns,32位用5ns,所以一次读突发总线事务要5×(32÷4)=40ns(4)平均每条指令1.2次访存,即120次访存,Cache缺失率为5%,Cach..原创 2020-08-06 17:00:32 · 1302 阅读 · 1 评论 -
2014年指令+存储大题
某程序中有如下循环代码段“for(int i=0;i<N;i++) sum+=A[i]”,假设编译时变量sum和i分别分配在寄存器R1和R2中。常量N在寄存器R6中,数组A的首地址在寄存器R3中。程序段起始地址为0804 8100H,对应的汇编代码和机器代码如下表所示。执行上述代码的计算机M采用32位定长指令字,其中分支指令bne采用如下格式:OP为操作码,Rs为寄存器编号,OFFSET为偏移量,用补码表示。1.M的存储器编址单位是什么?【解析】已知...原创 2020-06-04 22:40:42 · 2916 阅读 · 2 评论 -
2015年数据通路大题
【知识回顾】【真题】机器字长=存储字长=指令字长=16bit计算机所需要的数据刚好能通过一次存取操作取出(16bit)第一问:可见的寄存器 暂存器作用(1)图中哪些寄存器是程序员可见的?为啥要设置暂存器T?【解析】通用寄存器R0~R3和PC。因此采用了单总线结构,若无暂存器T,则ALU的A、B端口会同时获得2个相同的数据,使数据通路不能正常工作。【注意】程序员可见即指可编程,如在可在指令中指示使用哪个通用寄存器;可通过转移指令修改PC值;可修改PSW中的中断允..原创 2020-08-30 23:27:51 · 2661 阅读 · 0 评论 -
2016年+2018年访存大题
【知识回顾】【真题】(1)求字段A~G的位数,TLB中B字段存啥信息【解析】简单板子题。页大小2^13B即页内偏移13bitA=32-13=19bit,C=24-13=11bit主存块=64B=2^6B,所以块内偏移=6bit=G物理地址拆分成EFG(分别为Tag、组号、块内偏移6bit)共24bit因为是Cache是二路组,而共64KB/(2×64B)=2^9组,所以F=9bit,E=24-F-G=24-9-6=9bit即(Tag9bit、组号9bit、块内偏移6b原创 2020-08-10 16:28:32 · 1580 阅读 · 3 评论 -
2017年计组指令+OS二表大题
【知识回顾】【真题】在按字节编址的计算机上,f1的部分源程序如下。将f1中的int都改成float,可以得到f2.int f1(unsigned n){int sum=1,power;for(unsigned i=0;i<n-1;i++){power *=2;sum += power;}return sum;}对应的机器级代码(包括指令的虚拟地址如下):其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令。(1)计算机是RISC还是CISC,why.原创 2020-08-14 15:49:04 · 2530 阅读 · 0 评论 -
2017年浮点数408大题
【题目】已知计算f(n)=的C语言函数f1如下:int f1(unsigned n){int sum=1,power;for(unsigned i=0;i<n-1;i++){power *=2;sum += power;}return sum;}将f1中的int都改成float,可得到计算f(n)的另一个函数f2。假设unsigned和int型数据都占32位,float采用IEEE754单精度标准。1.当n=0时,f1会出现死循环,为什么?若将f1中的变量i和n都定义为原创 2020-06-26 19:22:52 · 2845 阅读 · 0 评论 -
2019年指令+Cache两大题
【知识回顾】jle指令是条件转移指令——小于等于时转移call为函数调用指令返回值是根据二进制串(机器数)的解释【真题】第一问:程序分析【解析】10次。执行第16行的call指令会递归调用f1。第二问:转移指令第12行的jle指令(条件转移指令——小于等于时转移);第16行的call指令(函数调用指令);第20行的jmp指令(无条件转移指令);第30行的ret指令(子程序的返回指令),即后三条一定会跳转。【注意】第12行jle指令指当n≤1时,跳转原创 2020-08-12 17:42:19 · 1537 阅读 · 2 评论 -
原码、反码、补码&移码图解
一.编码的核心思想所有编码系统的设计,都在追求连续性和唯一性。原码,反码和补码的演化,就在不断提高整数编码的这两方面性能。二.具体解读(1)原码原码表示法是整数的一种简单的表示法,符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。bug1:存在重复0,分别为00000000和10000000bug2:存在两个间断点,分别为011111111->10000000...原创 2020-02-22 09:32:33 · 1742 阅读 · 0 评论 -
浮点数专题
浮点数加法【408真题】设浮点数的阶码和尾数均采用补码表示,且位数分别为5和7(均含2位符号位)。若X=2^7×29/32和Y=2^5×5/8,则用浮点加法计算X+Y的结果为( 发生溢出 )【解析】X的浮点数格式为00,111;00,11101(分号前为阶码,分号后为尾数)Y的浮点数格式为00,101;00, 10100(注意Y的尾数5=101,后面要填充0)对阶:阶码111比101大2,所以将Y的阶码加2变成111,尾数右移2位变成00101。 尾数相加:00,11101+00,00原创 2020-08-02 15:24:16 · 2476 阅读 · 0 评论 -
Microprogram controller
注意点:(1)直接、字段直接编码、字段间接编码、字段间接编码和混合编码都属于水平型微指令。原创 2020-07-27 20:40:49 · 920 阅读 · 0 评论 -
I/O系统
一.I/O系统概述1.1 I/O系统的组成(a)I/O软件主要任务将用户程序/数据输入主机 将运算结果输出给用户 实现输入输出系统与主机工作的协调等I/O指令机器指令的一类,反应CPU与I/O设备交换信息的各种特点(LW/SW) 一般格式通道指令对具有通道的I/O系统专门设置的指令,由通道执行,不属于CPU指令集 CPU执行了相应I/O指令后,将由通道指令来...原创 2020-04-12 12:19:11 · 1105 阅读 · 0 评论 -
Cache和主存直接映射和访存过程
PS:来源于《王道——计算机组成原理》原创 2020-04-11 00:05:16 · 1492 阅读 · 0 评论 -
海明码解题模板
海明码模板 海明码是一种多重奇偶校验码,原理是在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错位,还能指出错位的位置,为自动纠错提供依据。 根据纠错理论得 L-1=D+C且D≥C即编码最小码距L越大,其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于检错能力。例:在n=4,k=3时,求1010的海明码解:(1)确定海明码的位数...原创 2020-09-19 16:30:43 · 1694 阅读 · 0 评论 -
海明码全解读
本文转自https://blog.51cto.com/winda/1068000 part A 海明纠错码 海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。 海明码的检错、纠错基本思想是将有效信...原创 2020-03-21 21:58:37 · 1367 阅读 · 0 评论 -
【计组】基础概念
一.内存(1)机器字长/位数计算机一次能运算的二进制位,如64位,则计算机一次能运算的位数为64位。(2)单位换算一个字节=8个二进制位,1Byte(字节)=8bit(位)1KB=1024Byte=2^10B=2^10*8b(bit)B表示字节,b表示位表容量的时候(Byte):1K=2^10B 1M=2^20B 1G=2^30B表速度(带宽)的:1K=10^3...原创 2020-02-24 13:18:01 · 2674 阅读 · 0 评论 -
中央处理器
计组—中央处理器(CPU) 程序是一个指令序列 ,这个序列告诉计算机应该执行什么样的操作,在什么地方找到用来操作的数据。一旦把程序装入内存,就可以由计算机来自动完成取指令和执行指令操作。用来完成此项工作的部件称...转载 2019-08-15 02:30:01 · 1016 阅读 · 0 评论