计算机组成原理——基础知识

1.时钟

目前绝大多数的处理器都是被同步时序电路所驱动,目前也有Asynchronous sequential logic(异步时序逻辑),即不需要时钟信号做同步。但是这种异步逻辑电路虽然速度比同步时序电路快,然而设计起来比同步时序电路复杂的多,并且会遇到空翻现象(race condition),所以,现在绝大多数的CPU还是需要时钟做信号同步的。

2.数字系统:用离散量(高低电压表示1和0)表示所有值

3.CMOS原理

我们用晶体管作为电路导通或断开的基本开关

在计算机和大多数现代电子设备中,晶体管通常指的是 MOSFET(金属氧化物半导体场效应晶体管)。MOSFET 由源极(source)、漏极(drain)和栅极(gate)组成,通过在栅极(gate)上施加电压,可以控制从源极(source)到漏极(drain)的电流流动。

CMOS 是"Complementary Metal-Oxide-Semiconductor"的缩写,翻译为"互补金属氧化物半导体",在 CMOS 技术中,电路由 PMOS(P型金属氧化物半导体)和 NMOS(N型金属氧化物半导体)晶体管组成。

注意:电路断开是open,导通是close!!!

eg:非门的原理

eg:与非、或非门的原理,其实就是把P结、N结串并联

一、组合逻辑电路(combinational logic, cl)

二、时序逻辑电路(sequential logic, sl)

1.延迟

  • Setup Time: how long the input must be stable before the clocktrigger for proper input read(照相机按快门前人需要保持不动的时间)
  • Hold Time: how long the input must be stable after the clock triggerfor proper input read(按下快门后人仍需要保持稳定的时间)
  • "Clock-to-Q" Delay: how long it takes the output to change,measured from the clock trigger(按下快门后直到照片生成出来的时间)

2.时钟的速度限制

关键路径:电路中两个寄存器之间(包括自己到自己)延迟最大的那条电路

clk的周期必须大于关键路径的延迟

如果clk的周期小于关键路径的延迟,那么正确的输入信号还没有走完路径来到reg,下一个clk就到来了,此时reg接收到的数据是还没更新完的数据,就会产生错误。

clk的最短周期=clk1的clk to Q delay + 组合逻辑delay + clk2的setup time

clk的最大频率=1/clk的最短周期

电路的最大频率则是把每一对寄存器的最大频率都找到后取最小值

3.流水线pipelining(空间换时间)

在critical path中插入寄存器,可以把critical path缩短,从而提高clk的最大频率(类似于一群人排队递水桶和一个人搬水桶的区别)

加入新的reg后,虽然一个数据走完电路需要的的时间变长了(reg带来的延迟)、需要经历的clk数增加了,但是新旧数据切换 的时间变得大大缩短,提高了吞吐量 (计算速度本质上是要求新旧数据切换的速度,数据在电路中本身走的速度不重要)

ps:

有符号数溢出:

  • 首先,减法就是加其补码,我们只考虑加法。其次,只有正数+正数、负数+负数可能产生溢出。
  • 假设数据为n位,MSB为第n-1位,LSB为第0位,低位进位为C0,其他进位为Cn到C1,
  • 两个正数相加一定没有进位,即第n位一定为0,而一旦第n-1位为1,说明加出来一个负数,则溢出
  • 两个负数相加,第n位一定为1,而一旦第n-1位为0,说明加出来一个正数,则溢出
  • 综上,判断有符号数溢出的条件:Cn xor Cn-1(Cn和Cn-1为最高位的两个1位加法器的进位输出)

无符号数溢出

  • 假设同上

  • 无符号数加法溢出的条件:Cn == 1

  • 无符号数减法溢出的条件:Cn == 0

    证明:假设a-a,a的补码为a各位取反再加1,因此与a相加正好得到0,正好产生进位Cn=1,而如果是a-b且b>a,那么-b的补码只看n-1位到0位,当做无符号数看待,其绝对值是比-a的补码的n-1位到0位的无符号数要小的,因此 b + -b的补码 正好不会产生进位Cn

相关推荐
岑梓铭15 小时前
考研408《计算机组成原理》复习笔记,第三章(3)——多模块存储器
笔记·考研·408·计算机组成原理
夏旭泽1 个月前
计算机组成原理-总线
计算机组成原理
Thanks_ks1 个月前
计算机组成原理核心剖析:CPU、存储、I/O 与总线系统全解
计算机组成原理·计算机技术·存储系统·cpu 结构·i/o 设备·总线系统·硬件原理
apcipot_rain1 个月前
【计算机组成原理 第5版】白、戴编著 第三章多层次的存储器 题型总结2 cache部分
缓存·计算机组成原理
啊阿狸不会拉杆1 个月前
[特殊字符]《计算机组成原理》第 8 章 - CPU 的结构和功能
java·开发语言·计算机组成原理
岑梓铭1 个月前
考研408《计算机组成原理》复习笔记,第二章(3)数值数据的运算和存储(定点数计算)
笔记·考研·408·计算机组成原理
2301_801821711 个月前
实验-设计一个应用系统(计算机组成原理)
cpu·risc-v·计算机组成原理·logisim
眸生1 个月前
自制操作系统day7(获取按键编码、FIFO缓冲区、鼠标、键盘控制器(Keyboard Controller, KBC)、PS/2协议)
c语言·汇编·计算机外设·操作系统·计算机组成原理·寄存器
眸生1 个月前
至此(day1-day4)代码详解(ai辅助整理)
c语言·汇编·操作系统·计算机组成原理·显存·i/o外设
岑梓铭2 个月前
考研408《计算机组成原理》复习笔记,第二章(2)数值数据的表示(浮点数篇)
笔记·考研·408·计算机组成原理