计算机组成原理第8章:CPU的结构和功能
1 CPU的结构1.1 CPU的功能CPU实质包括运算器和控制器两大部分。控制器负责协调并控制计算机各部件执行程序的指令序列,其基本功能是取指令、分析指令和执行指令。
简述CPU的功能如下:
CPU具有控制程序的顺序执行,即指令控制
产生完成每条指令所需的控制命令,即操作控制
对各种操作实施时间上的控制,即时间控制
对操作数进行算术运算和逻辑运算,即数据加工
处理中断
1.2 CPU的结构框图指令控制需要:寄存器、控制单元CU;数据加工需要:ALU;中断控制需要:中断系统。此外,还需要系统总线,即控制总线、地址总线和数据总线。
1.3 CPU的寄存器CPU的寄存器大致可分为两类:
一类属于用户可见寄存器,用户可以这类寄存器编程。
另一类属于控制和状态寄存器,用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作。
1.3.1 用户可见寄存器
通用寄存器:可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的寄存器。
数据寄存器:用于存放操作数。
地址寄存器:用于存放地址,其位数应满足最大的地址范围。
条件码寄存器:存放条件码,可作程序分支的依据 ...
编译原理第8章:语义分析和中间代码生成
1 声明语句的翻译主要任务:分析所声明$id$的性质、类型和地址,在符号表中为$id$建立一条记录。
1.1 类型表达式设有C程序片段:
1234567struct stype{ char name[8]; int score;};stype table[50];stype* p;
和stype绑定的类型表达式:record((name × array(8, char)) × (score × integer))
和table绑定的类型表达式:array(50, stype)
和p绑定的类型表达式:pointer(stype)
1.2 局部变量的存储分配对于声明语句,语义分析的主要任务就是收集标识符的类型等属性信息,并为每一个名字分配一个相对地址。
从类型表达式可以知道该类型在运行时刻所需的存储单元数量称为类型的宽度$(width)$
在编译时刻,可以使用类型的宽度为每一个名字分配一个相对地址
名字的类型和相对地址信息保存在相应的符号表记录中。
2 赋值语句翻译赋值语句的基本文法:
$S \rightarrow \mathrm{id} ...
心理学:成瘾机制
1 柯立芝效应研究发现,大多数哺乳动物在交媾之后的一段时间内,即使原有的配偶就在身边,也不再有性行为,这个阶段称为性不应期。但是,如果在雄性动物交媾之后,重新给它一个新的雌性发情对象,它的不应期会大大缩短,甚至立即又出现交媾行为。
这种动物对新异性所显示的效应,在心理学上就被叫做柯立芝效应。
对同一件事我们会很快就习惯了,并逐渐变得麻木。我把它提炼成一个思维模型,叫做习惯麻木。同时,我们又在不断的追求新鲜感,追求新的刺激。我把它提炼成一个思维模型,叫做追求新鲜。
对于同一件事情,我们每重复一次,阈值就会提高一点,需要更高的刺激才能达到跟原来一样的感觉。
2 成瘾机制
对于人类和其他哺乳类动物来讲,欲望和动机都来自一种叫做多巴胺的神经化合物。多巴胺让人脑中的奖赏机制活跃起来,让人类产生快感,它也是人们上瘾的原因,所以被称为成瘾分子。
但是多巴胺并不是一个坏东西,多巴胺可以促使你做一切有利于你的基因延续的事情,
新的事物可以刺激多巴胺,这也是为什么网络上的一些内容会刺激奖赏机制。因为鼠标一点,新的画面就出现了,随着多个同时打开的页面和无数的浏览,当一个大脑面对着它从未进化到可以处理超量 ...
编译原理第7章:语法制导翻译
第7章 语法制导翻译1 语法制导翻译概述
如何表示语义信息:为CFG中的文法符号设置语义属性,用来表示语法成分对应的语义信息。
如何计算语义属性:
文法符号的语义属性值是用与文法符号所在产生式(语法规则)相关联的语义规则来计算的
对于给定的输入串$x$ ,构建$x$的语法分析树,并利用与产生式(语法规则)相关联的语义规则来计算分析树中各结点对应的语义属性值
1.1 语法制导定义(SDD)SDD是对CFG的推广,将每个文法符号和一个语义属性集合相关联,将每个产生式和一组语义规则相关联,这些规则用于计算该产生式中各文法符号的属性值。
如果$X$是一个文法符号,$a$是$X$的一个属性,则用$X.a$表示属性$a$在某个标号为$X$的分析树结点上的值。
1.2 语法制导翻译方案(SDT)SDT是在产生式右部嵌入了程序片段的CFG,这些程序片段称为语义动作。按照惯例,语义动作放在花括号内。
一个语义动作在产生式中的位置决定了这个动作的执行时间。
1.3 SDD与SDTSDD是关于语言翻译的高层次规格说明,隐蔽了许多具体实现细节,使用户不必显式地说明翻译发生的顺序。
SDT可以看作是对S ...
论文精读3:GNN技术博客
论文题目:A Gentle Introduction to Graph Neural Networks作者:Google发表时间:2021年
1 引言神经网络已适应利用图的结构和属性。我们探索构建图神经网络所需的组件——并激发它们背后的设计选择。
图就在我们身边;现实世界的对象通常是根据它们与其他事物的联系来定义的。一组对象以及它们之间的联系自然地表达为图形。十多年来,研究人员开发了对图数据进行操作的神经网络(称为图神经网络,或 GNN)。最近的发展提高了他们的能力和表达能力。我们开始看到抗菌药物发现等领域的实际应用,例如physics simulations(物理模拟)、fake news detection(假新闻检测)、traffic prediction(交通预测)和recommendation systems(推荐系统)。
本文探讨并解释了现代图神经网络。我们将这项工作分为四个部分。首先,我们看看哪种数据最自然地表达为图,以及一些常见的示例。其次,我们探讨图与其他类型数据的不同之处,以及使用图时必须做出的一些专门选择。第三,我们构建了一个现代 GNN,从该领域历史性的建 ...
计算机组成原理第4章:存储器
1 存储器概述存储器是计算机系统中的记忆设备,用来存放程序和数据,计算机系统的运行速度在很大程度上受存储器制约。I/O与存储器直接数据交换大大提高系统性能。
1.1 存储器的分类1.1.1 按存储介质分类
1.1.2 按存取方式分类分为随机存储器、只读存储器、顺序存取存储器和直接存取存储器。
1.1.3 按在计算机中的作用分类
1.2 存储器的层次结构存储器有3个主要性能指标:速度、容量和位价。
存储器三个主要特性的关系:
存储系统层次结构主要体现在缓存—主存和主存—辅存2个存储层次上。
缓存—主存层次主要解决CPU与主存速度不匹配的问题,主存—辅存层次主要解决存储系统的容量问题。辅存的速度比主存的速度低,而且不能和CPU直接交换信息,但是容量比主存大得多,可以存放大量暂时未用到的信息,当CPU需要用到这些信息时,再将辅存的内容调入主存,供CPU直接访问。
在主存—辅存这一层次的不断发展中,逐渐形成了虚拟存储系统。
2 主存储器2.1 概述主存储器的基本组成如下:
主存和CPU之间的联系:
2.1.1 主存的技术指标2.1.1.1 存储容量存储容量:主存存放二进制 ...
2024年西交多媒体小组考核任务2
1 任务要求在Diffusers版本的StableDiffusionXL中复现Training-Free Layout Control with Cross-Attention Guidance论文(无代码)。
2 实现过程大体意思就是把两部分代码给整合在一起,主要是把一篇论文的思想复现到StableDiffusionXL中,首先得找一下StableDiffusionXL的代码在哪吧。
这里论文的主要思想是在一个文生图的基础上,不用做任何的微调和训练就能生成对应布局控制的图像,所以StableDiffusionXL的代码不用实现,直接调用一个API即可。
3 U-Net网络U-Net算法是一种用于图像分割的卷积神经网络(Convolutional Neural Network,简称CNN)架构。它由Olaf Ronneberger等人在2015年提出,主要用于解决医学图像分割的问题。
U-Net算法的特点是采用了U型的网络结构,因此得名U-Net,该网络结构具有编码器(Encoder)和解码器(Decoder)两个部分。
编码器负责逐步提取输入图像的特征并降低空间分辨率。解码器则 ...
2024年西交多媒体小组考核任务1
1 任务要求 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0
学会使用Diffusers包调用StableDiffusionXL生成图片
2 模型结构
SDXL 由一组用于潜在扩散的专家管道组成:在第一步中,基本模型用于生成(嘈杂的)潜伏物,然后使用专门用于最终去噪步骤的细化模型(可在此处获得:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/)对其进行进一步处理。请注意,基本模型可以用作独立模块。
或者,我们可以使用两阶段流水线,如下所示:首先,使用基本模型生成所需输出大小的潜伏。在第二步中,我们使用专门的高分辨率模型,并使用相同的提示将一种称为 SDEdit (https://arxiv.org/abs/2108.01073,也称为“img2img”)的技术应用于第一步中生成的潜伏物。这种技术比第一种技术稍慢,因为它需要更多的功能评估。
源代码可在 https:/ ...
论文精读2:Training-Free Layout Control with Cross-Attention Guidance
1 Abstract最近基于扩散的生成器可以从文本提示生成高质量的图像。然而,他们经常忽略指定组合空间布局的文本指令。我们提出了一种实现鲁棒布局控制的简单方法,而不需要对图像生成器进行训练或微调。我们的技术操纵模型使用的交叉注意力层来连接文本和视觉信息,并在给定的期望方向上引导生成,例如用户指定的布局。
为了确定如何最好地指导注意力,我们研究了注意力图的作用,并探索两种替代策略:前向和后向指导。我们在三个基准上彻底评估了我们的方法,并对两种策略进行了比较分析,证明了后向引导与前向引导以及先前的工作相比的优越性。我们通过将布局引导扩展到编辑真实图像布局和上下文等应用程序来进一步演示布局引导的通用性。
2 Introduction生成 AI 是过去几年出现的最具创新性的技术之一。在计算机视觉中,新的文本到图像生成方法,如DALL-E[37]、Imagen[43]和Stable Diffusion[39],已经证明机器能够生成足够高质量的图像,用于许多应用,提高专业艺术家和非专业人士的生产力。
然而,尽管取得了这一成功,但图像生成的许多实际应用,特别是在专业环境中,都需要这种方法所缺乏的高 ...
计组面经3:指令系统和CPU
1 指令流水线的基本概念1.1 流水线基本原理流水线技术是一种显著提高指令执行速度与效率的技术。方法是:指令取指完成后,不等该指令执行完毕即可取下一条指令。如果把一条指令的解释过程进一步细分,例如分成取指、译码、访存、执行和写回五个子过程,并用五个子部件分别处理这五个子过程。
这样只需在上一指令的第一子过程处理完毕进入第二子过程处理时,在第一子部件中就开始对第二条指令的第一子过程进行处理。随着时间推移,这种重叠操作最后可达到五个子部件同时对五条指令的子过程进行操作。
1.2 典型的五级流水线的数据通路
1.3 流水线方式的特点与传统的串行执行方式相比,采用流水线方式具有如下特点:
把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来执行,并依靠多个功能部件并行工作来缩短程序的执行时间。
流水线每个功能段部件后面都要有一个缓冲寄存器,或称锁存器,其作用是保存本流水段的执行结果,供给下一流水段使用。
流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。
只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。在 ...