计组-7.3 I/O控制方式
7.3 I/O控制方式详解 程序查询方式工作流程 ①CPU读取状态寄存器是否busy。 不 busy 后,CPU发送(要打印的)数据到数据缓冲寄存器。 打印机开始工作,同时把状态寄存器设置为busy。 CPU速度比打印机快很多,打印机工作的时候,计算机发送询问,重复第①步 程序查询方式有两种:独占查询。定时查询。 打印机完成后,发送ready信号,busy位清零。 CPU可以打印 下一个...
计组-7.2 I/O接口
7.2 IO接口I/O接口的结构/作用 数据缓冲:通过数据缓冲寄存器(DBR)达到主机与外设工作速度的匹配 错误或状态检测:通过状态寄存器反馈设备的各种错误,状态信息,供CPU查用 控制和定时:IO控制逻辑接受从 控制总线 发来的控制信号,时钟信号。 数据格式转换:串-并,并-串等格式转换 地址信号映射:地址译码逻辑负责,将地址信号映射到指定的IO端口 ==与主机和设备通信==: CPU和主存 – 通过==IO总线==(数据控制地址线) – 和IO接口连接 IO接口通过 – ==通信总线(电缆)== –...
计组-7.1 I/O系统
7.1 I/O系统基本概念==I/O接口 == I/O控制器 == 设备控制器== IO方式(CPU如何和I/O设备交互)a.程序查询方式 CPU等待,直到I/O设备数据准备完成。 b.程序中断方式 CPU忙别的,I/O设备准备好数据 再向CPU发送中断请求。 c. DMA方式 前言:对于快速的I/O设备(eg磁盘),每准备好一个字就给CPU发送一次中断请求,这样子会降低CPU的利用率。(DMA是块传输) DMA接口是特殊的I/O控制器,负责管理高速外设。 原理是:①主存和高速I/O设备之间有一条直接数据通路(DMA总线)。②每传一个块才给CPU发送中断请求 特点:无需打扰CPU,无需调用中断服务程序(不像程序中断方式) d.通道 前言:大型机需要接上超级多IO,如果都让CPU管理,CPU就太累了。 ==...
计组-6.2 总线周期
6.2 总线周期总线周期的四个阶段 ==申请分配阶段==:可以细分为 传输请求和总线仲裁两个阶段。 寻址阶段 ==传输阶段== 结束阶段 仲裁–...
计组-6.1 总线概述
6.1 概述基本概念 总线是一组能为多个部件 ==分时 共享== 的公共信息传送线路 总线的由来: 早期外部设备少,用的是分散连接方式 后来外部设备多,采用总线连接方式 (设计)总线的特性 总线的分类及经典结构 A.按数据传输格式串行总线: 一次发送一个位(bit) 优点:成本低(只用一根),适用于长距离传输 缺点:数据收发需要进行串行-并行转换。(eg电脑内部一次发送的数据一般是64位) attention: 串行:强调的是 *”一位一位传输”*(物理层面) 复用:强调的是 *”多个功能共享同一套线路”*(逻辑层面) 并行总线: 一次能并行发送很多个位(eg数据总线就是并行总线) 优点:总线的逻辑时序简单,电路实现容易。 缺点:布线空间大。远距离传输成本高。工作频率不能太高(or造成不同线的数据有的到了有的没到)。高频数据线干扰。 造成的问题:并行总线不一定比串行总线快 (v =...
计组-6.3 总线标准
6.3 总线标准 总线分类(根据在计算机的位置) 系统总线 局部总线 设备总线,通信总线 系统总线标准ISA EISA 局部总线标准VESA 工作频率受到CPU的控制,CPU频率越来越快,VESA总线的标准很难跟得上CPU的发展速度 PCI 最大特点:不依附于某个处理器 AGP PCI-E 最大特点是串行传输。前面的总线标准都是并行传输的。(所以布线也少了) 第二大特点是点对点传输:每个PCI-E设备都有自己独立的数据连接。(因为布线少了) 设备总线标准RS-232C SISC PCMCIA USB 最大的特点是串行传输。之前的设备总线都是并行传输。 USB每 次 只能传输1bit数据 IDE(ATA) 并行硬盘接口 SATA 串行硬盘接口 总结 趋势:并行总线 →替代→ 串行总线 实例
计组-5.6 指令流水线
5.6 指令流水线基本概念不同(指令)执行方式的总耗时 1.顺序执行方式 没有并行,一次只能执行一条指令。 总耗时=指令数n * 指令执行的总时间3t(3个阶段时间3t) =3nt 2.一次重叠方式 重叠了一个阶段的时间(第n个的最末阶段和第n+1个的最初阶段重叠) 总耗时:第一条指令all 3t,后面的(n-1)条指令都是 2t。 =(1+2n)t 3.二次重叠执行方式 重叠了两个阶段。 总耗时:第一条指令all 3t,后面的(n-1)条指令都是 t。 =(2+n)t 流水线的表示方法 指令执行过程图:分析影响流水线的因素? 时空图:分析流水线的性能 性能指标吞吐率 单位时间流水线完成的任务数量。 TP = 任务数n / 总时间Tk 加速比 不使用流水线和使用流水线所用时间的比 S = 不使用流水线T₀ /...
计组-5.7 多处理器
5.7只考选择题 多处理器的基本概念总结 前提: 并发:间隔进行 并行:同时进行 SISD 提升方法是采用指令流水线,则主存储器需要用到多模块交叉存储器 一直学的就是SISD SIMD 每一时刻只有一条指令在执行 但是一条指令可以同时并行地处理多个不同的数据 (相同的操作) MISD 现实中不存在 ==MIMD== 共享存储多处理器系统 共享主存 共享最低级的cache(egL3) ==...
计组-5.5 异常和中断机制
5.5 异常和中断机制异常:CPU内部产生的意外事件 中断:CPU外部的设备向CPU发出的中断请求 异常和中断的分类:异常: 硬故障中断 终止(Abort) 程序性异常(软件中断) 故障(Fault):在引起故障的指令启动后,执行结束前被检测到的异常事件。无法通过异常处理程序恢复故障,必须终止进程的执行。 自陷(Trap):预先安排的一种“异常”事件。 中断:可屏蔽中断 不可屏蔽中断 异常和中断的不同点: 一些异常(eg缺页溢出)是由特定指令在执行过程中发生的。而中断不和任何指令相关联,也不阻止任何指令的完成。 异常的检测由CPU自身完成。对于中断,CPU必须通过中断请求线获取中断源的信息,才能知道哪个设备发生了何种中断。 异常和中断的相应过程: 关中断 保存断点和程序状态 识别异常和中断并转到相应的处理程序 异常大多使用软件识别的方式:CPU设置一个异常状态寄存器,用于记录异常原因。 中断可以采用软件识别和硬件识别的方式:又称向量中断。
计组-5.4 微程序控制器
5.4 微程序控制器 一、基本原理==设计思路== 一条机器指令对应一个微程序 一个微程序有多条微指令(微周期,通常为一个机器周期) 一条微指令可以做多个微操作(微命令)(构成控制序列的最小单位) 基本结构CU的输入信号来源: ①译码器产生的指令信息 ②时序系统产生的节拍信号 ③执行单元的反馈信息(标志) 工作原理⭐ 一条机器指令 == 一个微程序 一条机器指令 的执行过程 = 取指微程序(入口地址一般为CM的0号单元) + 执行微程序(不同指令微程序不同) 微程序个数 = 机器指令数 + 取址,间址,中断周期的公共微程序数。 ①执行取指操作(公共) 启动取指: 机器开始运行时,自动将取指微程序入口地址(通常为CM的0号单元)送入μPC,并开始从CM中读取并执行取指微指令。 取指完成:...
计组-5.3 数据通路的功能和基本结构
5.3 数据通路的功能和基本结构CPU内部可视为:数据通路 和 控制部件...
计组-5.1 CPU的功能和基本结构
运算器 专用数据通路方式:根据指令执行过程中的数据和地址流动方向安排连接线路 内部单总线方式:将所有寄存器的输入端和输出端都连接到一条公共的通路上。 控制器 PC的位数取决于 存储器容量和指令字长(用字节编址和字编址) 字编址: == 存储器位数-log₂(指令字长字节数) ==CPU== ==四大部分:ALU,寄存器,中断系统,CU控制单元== ==本章重点:CU== 用户可见寄存器:PSW,ACC,PC,通用寄存器 用户不可见寄存器:IR,MAR,MDR,暂存寄存器,累加寄存器,移位寄存器 CPU(运算器+控制器)的功能 CPU 运算器 控制器 指令控制 对数据进行加工 取指令 操作控制 分析指令 时间控制 执行指令 数据加工 中断处理 中断处理
计组-5.0 前言
计算机与CPU组成 计算机的工作过程 第五章总览
计组-5.2 指令执行过程
指令执行过程指令周期 指令周期:CPU从主存中每取出并执行一条指令所需的全部时间 机器周期:==指令有多少步,就有几个机器周期。==分为 定长机器周期 和 不定长机器周期。又callCPU周期。 时间周期:即节拍,是CPU的最基本操作单位。 ==时间周期是出厂设定好的(主频倒数),但是不同的CPU的时间周期有长有短。== 每个指令周期内的机器数可以不等,每个机器周期内的节拍数也可以不等。 指令完整周期:取值 – (间址) – 执行 – (中断)周期。 四个工作周期都可以有CPU访存的操作。 CPU区分指令/数据的依据是:指令周期的不同阶段 指令完整周期 /...
计组-4.4 CISC和RISC
相比于CISC,RISC的特点是:(Complex / Reduced) ==极简==,速度快。 指令条数少; ==指令长度固定==,指令格式和寻址种类少;(功能性不强)(编程不方便) 只有取数/存数(LOAD/STORE)指令访问存储器,其余指令的操作均在寄存器进行; CPU中通用寄存器多; 大部分指令在一个时钟周期内完成;(指令执行时间) 以硬布线逻辑为主,不用或少用微程序控制器控制。 必须实现指令流水线控制 用优化的编译程序,生成的代码高效。
计组-4.3 指令的汇编格式
4.3 指令的汇编级别表示4.3.1-1 汇编语言中的 地址码==指令格式 = 操作码 + 地址码== ==探讨的:如何在汇编语言中指明指令的数据(操作码)存放在什么地方。(关注于地址码)== ==下一节:汇编语言指令可以对数据进行哪些处理。(关注于操作码)== 前言 高级语言→汇编语言→机器语言 汇编角度看待指令 关于寄存器 三类常见寄存器:通用寄存器,变址寄存器,堆栈寄存器 (少见的情况) 通用寄存器 可以把E去掉,用低16bit,甚至用某个低8bit。 其他寄存器固定32bit (补充) 【ebx】指的是ebx所指的主存地址 ==未指明默认32bit== 总结一表概括 4.3.1-2 汇编语言中的...
计组-4.2 指令的寻址方式
4.2 指令的寻址方式指令寻址(先)指令寻址:寻找 下一条 将要执行 ==指令== 的 ==指令地址== 程序总是根据 PC的内容 去主存取指令的。 PC的位数 取决于存储器总字数 N,按字寻址时,位数 =log2N PC可表示的范围 N 每一条指令的执行都分为:==“取指令”==,“执行指令”两个阶段。 ==PC+1是发生在 取指令 之后!== 顺序寻址:PC(程序计数器) ==+ “1”==(1指的是指令字长)【定长】 跳跃寻址:通过转移类指令实现。 数据寻址(后)==数据寻址:寻找 本条指令 的地址码指明的...
计组-4.1 指令系统
4.1 指令系统前言 指令系统是控制器部分的内容。 控制器和运算器组成了CPU。 指令集体系结构(ISA) ISA是软件和硬件之间接口的完整定义,包含了:基本数据类型,指令集,寄存器,寻址模式,储存体系,中断和异常处理及外部I/O 一台计算机所有的指令的集合构成该机的指令系统,由叫指令集。 一台计算机只能执行自己指令系统的指令,不能执行其他系统的指令。eg PC的x86架构,手机的ARM架构 ==指令的基本格式== 操作码+地址码 操作码 :给出指令/操作 地址码 :对谁操作/操作对象(给出被操作数据/指令的地址) 指令字长 – 指令长度 单字长指令,双字长指令(存取需两次访存),半字长指令(指令长度=半个机器字长) 指令分类==**A. **...
proj3(review)
3.1 Sequential Logic(逻辑时序) The Clock ⭐ Combinatorial Logic vs. Sequential Logic 3.2 Flip Flops 触发器制作允许上一步操作的芯片 ⭐ D 触发器换句话说,DFF 简单地将前一个时间周期的输入值作为当前周期的输出。𝑜𝑢𝑡(𝑡)=𝑖𝑛(𝑡−1) 时序逻辑的原理 寄存器 Bit【寄存器(也)是一种常用的时序逻辑电路】 implement show 3.3 Memory Units Memory The most basic memory element: Register ⭐ (并着排列的) RAM unit (逻辑时序的芯片) RAM / Read Logic RAM / Write Logic A family of 16-bit RAM chips 3.4 Counters (Inc 代表增量[+1]) 3.5 codepreview:DFF 1-bit register...
proj2(review)
2.1 Binary Numbers (an easy way: choose numbers from high to low) 2.2 Binary Addtion Half Adder Full Adder Multi-bit Adder Half Adder – Full Adder – Multi-bit Adder – 16-bit adder 2.3 Negative Numbers① Expression of negative numbers way1 way2: 前一半的二进制数字(0-7)用来表示正数,后一半的二进制数字(8-15)留作表示负数(eg 表示-3,16-3=13) ② Addtion in 2’s Complement -2+(-3)=-5,-5的补码就是11(1011) ③ Computing -x...
proj1(review)
1.1 Boolean Logic==The Formula == The Truth table.== So if you ‘re struggling with the formula, you can use the truth table instead. (This is a function we define. You can define other functions as desired.) ⭐Some useful equations Note that the last two equations are particularly important. Boolean Algebra can be simplified (2 ways) 1.2 Boolean...
proj6
6.1 AssemblerP5 review What we need: an Assembler 汇编器:把汇编语言,转化成机器语言的一个sofe ware(the first sofeware layer above the hard ware) A fun way to look at Assembler We already have our first computer. It is difficult to write machine language. So we can bulid our second computer(is acutally a sofeware haha), which is called Assembler ( can translate assembly language to machine language) Basic Assembler Logicbasic other We have something to deal with - the Symbols. We have two kinds of...
proj5
5.1 Elements Infomation Flows Element + 三条总线 (大概看看,具体的看后面) The Arithmetic Logic Unit data接入ALU,得到输出 输出值返回数据总线 我觉得是输出out或者回去内存? control总线 告诉ALU进行何种操作 ALU 返回告诉 Control 系统其他部分进行什么操作 当 CPU 从程序内存中获取到指令后,会对指令进行解析。对于指令中的控制信息,通过控制总线传出去(让算术逻辑单元、寄存器、内存等部件按要求操作,比如让算术逻辑单元进行加法运算等) 例如如果ALU发现某个数字大于零,他将告诉Control下一个指令的跳转以及下一个指令是什么 Address Register 寄存器储存中间结果。所以数据总线接到Register里 有的寄存器还用作地址储存器,所以register要接入地址总线 (将数字,也就是地址放入寄存器中,然后它就指定了我们想要访问的位置。) Memory Data Memory Data...
proj4
Machine Language4.1 Machine Languages : Overview 内部: 内存包括:程序内存和数据内存 硬件是固定的,软件可更改 软件变化,故计算机可做不同的事情(计算机的universality) let us see how hardware can do many things: by硬件逐个执行指令,把整个指令序列执行完放在一起,就得到了整个程序的功能。 ⭐3-Question machine language ← assembly language 我们写程序用的是高级语言,但电脑真正理解和执行的是机器语言 (其实里面的编译器是分两部的,第一步是高级语言→汇编语言,第二步是汇编语言→机器语言,now看的是part1) 第一种解释 第二种解释 next 4.2 Machine Languages : ElementsMachine Language Memory Hierarchy Registers (in...
proj3
3.1 Sequential Logic(逻辑时序) The Clock ⭐ Combinatorial Logic vs. Sequential Logic 3.2 Flip Flops 触发器制作:允许上一步操作的芯片 ⭐ D 触发器换句话说,DFF 简单地将前一个时间周期的输入值作为当前周期的输出。𝑜𝑢𝑡(𝑡)=𝑖𝑛(𝑡−1) 时序逻辑的原理 寄存器 Bit【寄存器(也)是一种常用的时序逻辑电路】 implement show 3.3 Memory Units Memory The most basic memory element: Register ⭐ (并着排列的) RAM unit (逻辑时序的芯片) RAM / Read Logic RAM / Write Logic A family of 16-bit RAM chips 3.4 Counters (Inc 代表增量[+1]) 3.5 codepreview:DFF 1-bit register...
proj2
2.1 Binary Numbers 2.2 Binary Addtion 2.3 Negative NumbersExpression of negative numbersway1 way2: 前一半的二进制数字(0-7)用来表示正数,后一半的二进制数字(8-15)留作表示负数(eg 表示-3,16-3=13) Addtion in 2’s Complement -2+(-3)=-5,-5的补码就是11(1011) Computing -x Eg算-4的二进制表达:4=100,1111-0100(1111怎么来的,令n=4(意味着用4位二进制数来表示值)) 取反码:1111-0100=1011,求补码:1011+1=1100 1100=12,就是4的补码(16-4=2) Eg 具体步骤: 2.4 ALU The Hack ALU The Hack ALU operation example zr,ng(other...
proj1
Proj11.1 Boolean Logic ⭐Some useful equations →Boolean Algebra can be 化简 (Two way : ①equations,②write down the truth table) 1.2 Boolean Function001: 理论上,任何布尔函数都可以用NotAndOr等表示出来(通过真值表选取f=1的情况)(做芯片有用) 002: (or可以通过And和Not表示) 003: 而Nand可以表示出AndNot芯片(根本的根本) 1.3 Logic Gates上一节是抽象的逻辑运算,这一节是实际的芯片/逻辑门 一个接口,可以有不同的实现 1.4 Hardware Description Language一种硬件描述语言(做硬件/芯片用的) 芯片接口 和 芯片实现 ⭐实现:用真值表看1,写出布尔函数化简,画出逻辑图 1.5 Hardware Simulation for 模拟芯片测试 way:在给定的硬件模拟器中 +...
网站语法示例
代码块的演示

