第5章 数的表示和算术电路
教材评价:
https://book.douban.com/subject/2308122/
下载地址:
http://m.wdfxw.net/Fulltext44364042.htm
这次回顾第5章:数的表示和算术电路。
无符号数的加法全加器的分解只对两个位(比特)进行加运算的电路叫做“半加器”,半加器的输出为和以及进位:
当多位(比特)数相加时,就需考虑前一位的进位,考虑如下例子:
所以完整的加法器,称为全加器,有三个输入$c_i,x_i,y_i$,其真值表,卡诺图以及电路图如下:
其中$\oplus$表示异或运算,即:
x_{1} \oplus x_{2}=\bar{x}_{1} x_{2}+x_{1} \bar{x}_{2}完整的公式如下:
\begin{aligned}
c_{i+1}&=x_{i} y_{i}+x_{i} c_{i}+y_{i} c_{i}\\
s_{i}&=x_{i} \oplus y_{i} \oplus c_{i}
\end{aligned}全加器的分解全加器可以分解为两个半加器:
行波进位加法器
有符号数负数符号——数值的表示法正数与负 ...
第4章 逻辑函数的优化
教材评价:
https://book.douban.com/subject/2308122/
下载地址:
http://m.wdfxw.net/Fulltext44364042.htm
这次回顾第4章:逻辑函数的优化。
专业术语
因子:给定的乘积项包含多个变量,每个变量可能会以原变量或者反变量的形式出现。变量(不论原变量还是反变量)的每一次出现都称为一个因子(literal)。
对于乘积项$\bar x_1 x_2$,一共有两个因子$\bar x_1, x_2$
蕴涵项:若某个乘积项能说明输入变量的取值组合可以使给定函数(输出)为$1$,则称该乘积项为该函数的蕴涵项(implicant)。
考虑如下函数:
蕴涵项为:$\bar{x}_{1} \bar{x}_{2} \bar{x}_{3},\bar{x}_{1} \bar{x}_{2} x_{3}, \bar{x}_{1} x_{2} \bar{x}_{3}, \bar{x}_{1} x_{2} x_{3},x_1x_2x_3,\bar{x}_{1} \bar{x}_{2},\bar{x}_{1} \bar{x}_{3} ...
第2章 逻辑电路入门
最近开始补充数字逻辑相关知识,选择的教材为《数字逻辑基础与Verilog设计》。
教材评价:
https://book.douban.com/subject/2308122/
下载地址:
http://m.wdfxw.net/Fulltext44364042.htm
后续会定期回顾重点章节,这次回顾第2章:逻辑门和逻辑网络。
逻辑门和逻辑网络逻辑门常用逻辑门:
逻辑网络的分析两个基本问题
分析:对已存在的逻辑网络,确认所实现的逻辑功能。
综合:设计一个新的网络,使该网络实现所要求的逻辑功能。
分析案例实现逻辑函数
f=\bar{x}_{1}+x_{1} \cdot x_{2}实现网络
真值表
时序图
简化网络注意有如下关系
\bar{x}_{1}+x_{1} \cdot x_{2}=\bar{x}_{1}+x_{2}于是得到如下简化的网络
布尔代数布尔代数公理1a. $0 \cdot 0=0$1b. $1+1=1$2a. $1 \cdot 1=1$2b. $0+0=0$3a. $0 \cdot 1=1 \cdot 0=0$3b. $1+0=0+1=1$4a. 若 $x=0, ...
The Hardware Software Interface Section 6 Arrays and Structs
课程主页:https://courses.cs.washington.edu/courses/cse351/16sp/
课程资料:
实验部分:https://github.com/vuquangtrong/HW-SW_Interface_Course
实验说明:https://courses.cs.washington.edu/courses/cse351/13sp/lab-0.html
课件:http://academictorrents.com/details/b63a566df824b39740eb9754e4fe4c0140306f4b
课程视频:https://www.bilibili.com/video/BV1Zt411s7Gg?from=search&seid=8781593976070799647
这次回顾第六部分,这部分介绍了数组和结构。
第6节:数组和结构数组分配和内存访问数组分配基本原则
T A [L];
上述声明表示数据类型为T,长度为L的数组
内存中是L*sizeof(T)个字节的连续分配区域
数组存取基本原则
T A [L];
上述声明表示 ...
Digital VLSI Design Lecture 2 Verilog
课程主页:
http://www.eng.biu.ac.il/temanad/digital-vlsi-design/
课程视频:
https://www.youtube.com/watch?reload=9&v=RbZ3BXbd6_k&list=PLZU5hLL_713x0_AV_rVbay0pWmED7992G
https://www.bilibili.com/video/BV1EA411n7VQ?from=search&seid=14545899898143497364
这次回顾第二讲,这一讲介绍了Verilog。
Verilog语法基本结构
原语:
not,and,or,etc
信号:
$4$种状态:$\text{0,1,X,Z}$
电线:不保持状态
寄存器:保持状态
可以表示总线或一组信号
```vhdlwire in1,in2;reg out;wire [7:0] data;reg [31:0] mem [0:7];//width (bits)=32,depth (words)=8
- 操作符
- 类似原语:
- $\ ...
Digital VLSI Design Lecture 1 Introduction
课程主页:
http://www.eng.biu.ac.il/temanad/digital-vlsi-design/
课程视频:
https://www.youtube.com/watch?reload=9&v=RbZ3BXbd6_k&list=PLZU5hLL_713x0_AV_rVbay0pWmED7992G
https://www.bilibili.com/video/BV1EA411n7VQ?from=search&seid=14545899898143497364
此课程是youtube上介绍芯片设计的课程,全面覆盖了芯片设计前端后端的整个流程,课程视频已搬运至b站。
这次回顾第一讲,这一讲介绍了芯片设计的整个流程。
制造一个芯片基本设计抽象芯片设计流程:
和设计计算机应用程序的类比:
系统级抽象(System Level)
高级行为的抽象算法描述
例如C语言
抽象,因为它不包含任何时间或数据的实现细节
高效地获得紧凑的执行模型作为设计初稿
整个项目难以维护,因为和实现没有关系
寄存器传输级别(Register Transfer Leve ...
The Hardware Software Interface Lab 2
课程主页:https://courses.cs.washington.edu/courses/cse351/16sp/
课程资料:
实验部分:https://github.com/vuquangtrong/HW-SW_Interface_Course
实验说明:https://courses.cs.washington.edu/courses/cse351/13sp/lab-0.html
课件:http://academictorrents.com/details/b63a566df824b39740eb9754e4fe4c0140306f4b
课程视频:https://www.bilibili.com/video/BV1Zt411s7Gg?from=search&seid=8781593976070799647
参考资料:https://www.runoob.com/cprogramming/c-function-strtol.html
https://github.com/HeLiangHIT/Hardware_Software_Interface/blob/f223721 ...
台交大信息论 Lecture 10
课程主页:https://ocw.nctu.edu.tw/course_detail-c.php?bgid=8&gid=0&nid=612&pid=973
http://shannon.cm.nctu.edu.tw/it18.htm
老师主页:http://shannon.cm.nctu.edu.tw/
课程视频:https://www.youtube.com/playlist?list=PLj6E8qlqmkFsWS54o6gNWeDGXeI7c3eUd
这次回顾第十讲,这一讲主要介绍了香农信道编码定理,对应视频17,18。
通过DMC进行数据传输的分组码
定长数据传输码给定正整数$n$和$M$,以及具有输入字母$\mathcal X$和输出字母$\mathcal Y$的离散信道,此信道的固定长度数据传输码(或块码)的块长为$n$,每个信道符号的速率为$\frac{1}{n} \log _{2} M$比特,块码用$\mathcal{C}_{n}=(n, M)$表示,由如下内容组成:
$M$个用于传输的消息的信息
编码函数
f:\{1,2, \ldots ...
Hexo博客报错(持续更新)
今天hexo写博客的时候每隔几个月都会碰到一点小错误,以后会将报错的解决方法统一更新在此处。
参考资料:https://github.com/hexojs/hexo/issues/2070
报错1报错内容:
Template render error: (unknown path) Error: expected end of comment, got end of file hexo
原因是生成了如下latex代码
$\text{%reg = Mem[address]}$
正确写法
$\%\text{reg = Mem[address]}$
之所以产生报错,是因为%在latex中是特殊字符。
报错2报错信息依然和之前相同,出错的位置代码如下:
\sum_{i=1}^{{x}-\text {lowbit}({x})}
正确代码:
\sum_{i=1}^{x-\text {lowbit ...
台交大信息论 Lecture 9
课程主页:https://ocw.nctu.edu.tw/course_detail-c.php?bgid=8&gid=0&nid=612&pid=973
http://shannon.cm.nctu.edu.tw/it18.htm
老师主页:http://shannon.cm.nctu.edu.tw/
课程视频:https://www.youtube.com/playlist?list=PLj6E8qlqmkFsWS54o6gNWeDGXeI7c3eUd
这次回顾第九讲,这一讲主要介绍了数据传输和信道容量,对应视频15,16。
可靠传输
可靠传输的定义
信息可以以任意小的错误率传输。
怎么做?
利用发送方和接收方站点之间受信道噪声影响最小的公共部分。
我们将看到,这些公共部分很可能被信道输入和信道输出之间的互信息捕获。
记号
一个数据传输系统,由如下特征描述
$W$表示传输消息。
$X^n=(X_1,\ldots, X_n)$表示信道输入符号$W$对应的码字。
$Y^n=(Y_1,\ldots, Y_n)$表示由于信道输入$X^n$而接收到的向量 ...
The Hardware Software Interface Section 5 Procedures and Stacks
课程主页:https://courses.cs.washington.edu/courses/cse351/16sp/
课程资料:
实验部分:https://github.com/vuquangtrong/HW-SW_Interface_Course
实验说明:https://courses.cs.washington.edu/courses/cse351/13sp/lab-0.html
课件:http://academictorrents.com/details/b63a566df824b39740eb9754e4fe4c0140306f4b
课程视频:https://www.bilibili.com/video/BV1Zt411s7Gg?from=search&seid=8781593976070799647
这次回顾第五部分,这部分介绍了进程和堆栈。
第5节:进程和堆栈这部分和课件略有不同,主要介绍x64体系结构。
内存中的堆栈和堆栈操作内存布局
x86-64栈
通过栈规范管理内存区域
栈顶在低地址
寄存器%rsp为最小的堆栈地址
即“顶部”元素的地址
Pus ...
The Hardware Software Interface Section 4 x86 Assembly
课程主页:https://courses.cs.washington.edu/courses/cse351/16sp/
课程资料:
实验部分:https://github.com/vuquangtrong/HW-SW_Interface_Course
实验说明:https://courses.cs.washington.edu/courses/cse351/13sp/lab-0.html
课件:http://academictorrents.com/details/b63a566df824b39740eb9754e4fe4c0140306f4b
课程视频:https://www.bilibili.com/video/BV1Zt411s7Gg?from=search&seid=8781593976070799647
这次回顾第四部分,这部分介绍了汇编码。
第4节:x86汇编编程移动指令、寄存器和操作数三种基本指令
内存与寄存器之间的数据传输
将数据从内存加载到寄存器
$\%\text{reg = Mem[address]}$
将寄存器数据存入内存
$\text{Mem[ad ...