海明码
1.1. 求海明码位数
公式:2k >= N + K + 1,其中N为有效信息位数,K为校验码位数
1.2. 求海明码的位置
公式:校验码只能放在2n(20,21,22……)位置
例:当校验码是4位时(即K=4)校验位置分布如下表,P代表校验码,D代表信息码
码位 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
码值 | P1 | P2 | D1 | P3 | D2 | D3 | D4 | P4 | D5 | D6 | D7 | D8 |
20 | 21 | 22 | 23 |
浮点数
浮点数结构:
尾数部分 定点小数 阶码部分(定点整数)
如果浮点数的阶码 (包括 1位阶符 )用 R位的称码表示,尾数 (包括 1位数符 )用 M位的补码表示,则浮点数表示的数值范围如下。
浮点数运算
浮点数的加减法运算包括以下5个基本步骤:对阶,尾数运算、规格化处理、舍入处理、益出处理。
两个浮点数对阶的时候要把阶码小的数的尾数右移n 位,与阶码大的对齐。
乔姆斯基(chomsky)文法分类
乔姆斯基把方法分成四种类型,即0型、1型、2型和3型。
0型文法也称短语文法, 0型文法的能力相当于图灵机(Turing)。
1型文法也叫上下文有关文法,此文法对应于线性有界自动机。
2型文法也叫上下文无关文法,它对应于下推自动机。
3型文法也叫正规文法,它对应于有限状态自动机。
原码、反码、补码、移码取值范围
码制 | 定点整数 | 定点小数 |
---|---|---|
原码 | -(2n-1-1) ~ +(2n-1-1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
反码 | -(2n-1-1) ~ +(2n-1-1) | -(1-2-(n-1)) ~ +(1-2-(n-1)) |
补码 | -2n-1 ~ +(2n-1-1) | -1 ~ +(1-2-(n-1)) |
移码 | -2n-1 ~ +(2n-1-1) | -1 ~ +(1-2-(n-1)) |
知识点
CISC 是复杂指令系统计算机, RISC 是精简指令系统计算机。
RISC精简指令系统CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。
RISC(Reduced Instruction Set Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译,提高指令的执行速度,采用硬线控制逻辑,优化编译程序。
人耳能听到的声音视率范围是: 20Hz-20KHz 。低于这个区间的,叫次声波,高于这个区间的叫超声波。
亮度是指发光体(反光体)表面发光(反光)强弱的物理量。
色调指的是一幅画中画面色彩的总体倾向,是大的色彩效果。在大自然中,我们经常见到这样一种现象:不同颜色的物体或被笼罩在一片金色的阳光之中,或被笼罩在一片轻纱薄雾似的、淡蓝色的月色之中;或被秋天迷人的金黄色所笼罩;或被统一在冬季银白色的世界之中。这种在不同颜色的物体上,笼罩着某一种色彩,使不同颜色的物体都带有同一色彩倾向,这样的色彩现象就是色调。
饱和度是指色彩的鲜艳程度,也称色彩的纯度。
在编译过程中:词法分析;语法分析;语义分析;目标代码生成是必须的。
浮点数能表示的数的范围由阶码的位数决定,精度由尾数的位数决定。
解释器是一条一条的解释执行源语言。
编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。
死循环错误属于典型的语义错误,但静态的语义错误可被编译器发现,到程序真正陷入死循环说明编译器并未发现,所以属于动态语义错误。
程序设计语言的语义分为静态语义和动态语义,其中静态语义分析方法是语法制导翻译,其基本思想是将语言结构的语义以属性的形式赋予代表此结构的文法符号,而属性的计算以语义规则的形式赋予文法的产生式。
改变数字载波频率可以改变乐音的音调。
改变它的信号幅度就可以改变乐音的音高。
脚本语言通常是解释运行而非编译。
常用的中间代码的表达形式有语法树、后缀式、三地址代码。
当用户双击一个文件名时, Windows 系统通过建立的文件关联来决定使用什么程序打开该文件。
移进-归约分析——bison, 采用自底向上 (bottom-up) 的分析方法。
CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在累加器 中。
CPU(计算机硬件的中央处理单元)是值由运算单元,控制单元,寄存器组所组成的核心集成部件,这些部件之间通过芯片级总线连接。
CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。
GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
GPU是一种SIMD(Single Instruction Multiple Data)架构。MISD纯粹是一种理论模型,并没有实际意义。
I/O总线、DMA是在内存与外设间传送数据的通路。
Cache存储器用来存放主存的部分拷贝(副本)。它是按照程序的局部性原理选取出来的最常使用或不久将来仍将使用的内容。
高速缓存Cache有如下特点:它位于CPU和主存之间,由硬件实现;容量小,一般在几KB到几MB之间;速度一般比主存快5到10倍,由快速半导体存储器制成;其内容是主存内容的副本(所以Cache无法扩大主存的容量),对程序员来说是透明的;Cache既可存放程序又可存放数据。控制部分的功能是:判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对 Cache存储器寻址。未命中时,若是读取操作,则从主存中读取数据,并按照确定的替换原则把该数据写入Cache存储器中:若是写入操作,则将数据写入主存即可。
Cache系统都是由硬件实现的。
Cache冲突概率 从高到低:直接映像→组相联映像→全相联映像
全相联地址映射:主存的任意一块可以映像到 Cache 中的任意一块。
直接相联映射:主存中一块只能映像到 Cache 的一个特定的块中。
组相联的映射:各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放。即从主存的组到Cache的组之间采用直接映像方式,在两个对应的组内部采用全相联映像方式。
相联存储器是一种按存储内容来存储和访问的存储器,不属于按寻址方式划分的存储器。
在 CPU 中,获取指令并进行分析是控制单元的任务
SRAM静态的随机存储器: 静态随机存取存储器,只要供电数据就会保持,但断电数据就会消失。SRAM一般用来作为计算机中的高速缓冲存储器(Cache)。
DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 关机就会丢失数据。
ROM:所存储的数据是固定的、预先写好的。正常工作时,这些数据只能读出,不能随时写入或修改。
奇校验:如果以二进制数据中1的个数是奇数为依据,则是奇校验。
偶校验:如果以二进制数据中1的个数是偶数为依据,则是偶校验。
如果传输过程中包括校验位在内的奇数个数据位发生改变,那么奇校验位将出错表示传输过程有错误发生,但是由于没有办法确定哪一位出错,所以它不能进行错误校正。
吞吐率公式:指令条数除以流水线时间 流水线时间计算: 一条指令所需时间 +(指令条数-1)× 时间最长的指令的一段
运算器也称为算术逻辑单元(ArithmeticandLogicUnit,ALU),其主要功能是在控制器的控制下完成各种算术运算和逻辑运算。
累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据;
程序计数器PC:存储下一条要执行指令的地址
地址寄存器AR:用来保存当前CPU所访问的内存单元的地址。
指令寄存器是CPU中的关键寄存器,其内容为正在执行的指令,显然其位数取决于指令字长。
后缀式:这种表示方式把运算符写在运算对象的后面,例如把a+b写成ab+,所以也称为后缀式。算术表达式“a(b-c)+d”的后缀式是“abc-d+”。
链表中的结点空间需要程序员根据需要申请和释放,因此,数据空间应采用堆存储分配策。
磁盘容量分为格式化容量和非格式化容量
非格式化:面数(磁道数/面)内圆周长最大位密度格式化容量=面数(磁道数/面)(扇区数/道)(字节数/扇区)