




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,集成:MIPS微系统,计算机组成与实现,目录,概述MIPS体系结构定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,动机,有助于培养系统思维有助于深刻理解软硬件协同通过复杂的调试有助于训练思维宽度、深度和缜密程度有助于理解现代计算机系统的基本特征并行与并发增强对计算机系统的感性认识学习和掌握多种工具主动学习!,目标,ISR(),系统桥,定时器,UART,CPU(含存储器),ABCDEFGH12345678,main(),软件,硬件,PC机,多周期,支持中断,接收到主机发送的字符就产生中断,在一个ISR中,同时支持UART中断和定时中断,主程序初始化后,就循环检测UART是否有数据,并设置定时器,产生周期性定时中断,实验环境,FPGA:cpu、UART控制器x2、定时器、LED/7段数码管驱动RS-232:连接器,与FPGA实现的UART控制器连接存储器:存储代码与数据LED:适合按位显示7段数码管:适合显示完整的数字波动开关:允许简单输入,FPGA,存储器,存储器,存储器,最小实验系统FPGA+1个UART,目录,概述MIPS体系结构地址空间分配定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,地址空间分配,微系统参考了MARS的地址空间规范,实际使用空间远小于4GB现代计算机cpu地址空间远大于4GB,而且划分方案非常复杂1)虽然IM和DM分别只有4KB和8KB,但能编写小规模程序了2)ISR只有256B是肯定不够的,这里仅用于部署跳转指令256B对应64条跳转指令,也就是最多可以对应64个硬件中断,目录,概述MIPS体系结构协处理器定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,协处理器,现代cpu除了计算功能(如计算、存储访问、分支、跳转等),还包含庞杂的管理功能cpu管理(包括中断、cache、MMU等)、浮点运算等MIPS采用协处理器(Co-Processor)方案实现上述特殊功能MIPS共定义了4个CP(CP0至CP3),其中CP0是体系结构中必须实现的协处理器方案的价值使得计算与管理彼此独立,相互干扰少使得MIPS实现者可以根据具体需求灵活选择实现方案,CP0,CP0是所谓的系统控制协处理器它是MIPS的精髓之一,也是打开MIPS特权级模式的大门CP0内部包含32个特殊寄存器,我们只实现12号至15号,SR寄存器,SR包含大量的控制位,微系统仅保留与中断相关的4个寄存器位IE是全局性中断开关当软件置位IE后,CPU将不再响应外部中断IM7:2:6位中断屏蔽位,分别对应6个外部中断1-允许中断,0-禁止中断IE:全局中断使能1-允许中断;0-禁止中断EXL:异常级(用于防止中断重入)1-进入异常,不允许再中断;0-允许中断,IM7-2,IM7:2实现了中断使能的精细化管理微系统只实现IM3和IM2,分别对应UART和定时器,CAUSE寄存器,IP7:2:6位待决的中断位,分别对应6个外部中断记录当前哪些硬件中断正在有效1-有中断;0-无中断ExcCode6:2:异常编码,记录当前发生的是什么异常包括中断等在内,共计32种编码微系统最多实现3种即可,微系统只实现IP3和IP2,分别对应UART和定时器,EPC,EPC:保存中断/异常时的PC以便从中断/异常服务程序返回至被中断指令Eret是可以访问EPC的指令之一,其功能之一是将EPC写入PC,从而实现从异常(或中断)处理程序返回只受害指令,PrID,用于对公司/指令集版本等进行标识Intel处理器也有ID,CPU-Z就可以读取目前可以任意选则用一个4字节的编码值,如0 x1234_5678,名字:IntelXeonE31230v3,代号:Haswell-WS,上述名字与代号是软件根据读取的寄存器值进行相应解读,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,协处理器指令及用途,软件不能直接修改CP0寄存器,必须借助通用寄存器mfc0:读取CP0寄存器至通用寄存器SR:获取处理器的控制信息Cause:获取处理器当前所处于的状态EPC:获取被异常/中断的指令地址PRId:读取处理器ID(可以读取你的个性签名)mtc0:通用寄存器值写入CP0寄存器SR:对处理器进行控制,例如关闭中断EPC:操作系统中将用于多任务切换,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,定时概述,存在大量需要知道当前的时间或流逝了多长时间的场景使用者需要了解当前时间,例如日期:时:分:秒:毫秒:微秒应用程序(例如闹钟程序)需要等待一个固定的时间应用程序(例如视频播放软件)需要按某种时间节拍推进内部的计算工作OS调度进程的策略之一就是按时间片调度网络通信中需要为报文发送和接收设置超时计时/定时的基本思路定时器周期性的产生中断ISR读取并记录定时器的计数值在现代计算机系统中,一般是由ISR调度OS内部的相关代码完成上述及更复杂的时间管理功能,为关机后能继续计时,很多计算机系统为定时器提供了电池供电,定时器工作特性,定时器的核心是计数器,它在某个时钟驱动下不断计数,然后根据计数器的时钟频率和计数值来推算出时间一般来说,计数器具有灵活的工作特性计数模式,例如:正计数;倒计数加载模式,例如:计数结束后等待软件重置;计数结束后自动重置中断模式,例如:计数结束后不允许中断;计数结束后不允许中断,简化设计,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,串行通信基本特点,单一传输线:即传输控制信息又传输数据信息通讯协议:异步通信、同步通信传输方向:全双工、半双工、单工,串行通信基本特点,信号调制与解调计算机内部传输通常采用数字信号;计算机远程通信通常依赖公用电话网公用电话网适合传输3003400Hz的音频信号(模拟信号)直接传输二进制数据会引起高次谐波,致使二进制数据信号严重失真调制(二进制信号音频信号)与解调(音频信号数字信号)多种调制模式:ASK(振幅调制)、PSK(相移调制)、FSK(频移调制)信息检错与纠错,MODEM:调制解调器,波特率与字符速率,波特率:串行通信中的位传输速率(bps)例如,1秒钟能够传输1000个二进制位,则波特率为1000bps常见波特率:9600、19200、38400、57600、115200等字符速率:字符数/s1个字符由n位组成(字符帧)有效载荷:n位协议开销:起始位、停止位、校验位,字符帧格式,字符帧包括起始位、数据位、停止位和校验位起始位:1位;值恒为0数据位:最多为8位停止位:1、1.5或2位;值衡为1校验位:可选,字符帧发送,首先,发送1位起始位然后,将数据按从最低位到最高位的顺序逐位发送第三,发送校验位(可选)最后,发送停止位,波特率与时钟,高频时钟源与低速率传输的不匹配计算机中的时钟频率极高,动辄数十MHz串行通信的传输速率很低,按频率表示一般数KHz到数十KHz分频器:根据高频时钟产生需要的低频时钟向下计数:计数器在高频时钟驱动下,从预设值开始向下计数自动加载:当达到计数值后自动加载预设值,重新开始计数N分频假设时钟频率为f,预设值为N-1分频器可以产生频率为的周期信号波特率除数因子=1,波特率除数因子,波特率与时钟,高频时钟源与低速率传输的不匹配计算机中的时钟频率极高,动辄数十MHz串行通信的传输速率很低,按频率表示一般数KHz到数十KHz分频器:根据高频时钟产生需要的低频时钟向下计数:计数器在高频时钟驱动下,从预设值开始向下计数自动加载:当达到计数值后自动加载预设值,重新开始计数N分频假设时钟频率为f,预设值为N-1分频器可以产生频率为的周期信号波特率除数因子=波特率1,波特率除数因子,数据发送与接收1/2,发送电路发送时钟:频率与波特率相同即可移位寄存器:并行加载字符;在发送时钟驱动下逐位发送接收电路接收时钟:N倍于波特率(一般为为8倍或16倍)移位寄存器:在接收时钟驱动下在字符中间位置采样信号并接收,数据发送与接收2/2,如何找到字符的中间位置?首先,检测传输是否开始检测接收信号线是否从10一旦检测到0,则意味着一个字符开始了然后,计数N/2个周期,这样就到达了字符的中间位置从该位置开始,每N个周期采样一次,UART控制器,接口cpu侧接口;RS-232侧接口串并转换为cpu侧提供并行数据访问接口;为RS-232侧提供串行收发接口波特率生成错误检测中断MODEM连接,CPU,UART控制器,RS-232驱动电路,RxD,TxD,UART控制器,RS-232驱动电路,RxD,TxD,CPU,MiniUART基本特性,波特率:9600、19200、38400、57600及115200共5种波特率数据帧:1位起始位、8位数据位、1位停止位,无奇偶校验位中断:支持MODEM:不支持信号:RxD、TxD、GND,RS-232接口,RS-232是美国电子工业协会(EIA)等多家单位于1970年制定的RS-232有两种标准(9针或25针),常用的是9针接口RS-232(9针接口)中最常用的信号是:RxD(Receiveddata):串行接收数据TxD(Transmitteddata):串行发送数据GND:地线,CPU,UART控制器,RS-232驱动电路,RxD,TxD,UART控制器,RS-232驱动电路,RxD,TxD,CPU,短距离通信时,交叉连接两台计算机的RxD与TxD,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,CP0模块接口,设计CP0:SR,由于无用位较多,因此只定义有用位reg15:10im;regexl,ie;SR整体表示为:16b0,im,8b0,exl,ieim,ie:行为很简单if(当Wen有效,reg5:0im与reg15:10im是等价的,但后者可读性更好,设计CP0:Cause,Cause:只定义2位寄存器,在clock上升沿不断的保存外部2中断reg11:10hwint_pend;Cause整体表示为:20b0,hwint_pend,10b0,设计CP0:EPC,定义30位寄存器reg32:2epc;为什么不需要32位?,设计CP0:输出CP0寄存器,除了SR/Cause/EPC/PRId外,不用的寄存器一律输出0可以设计5选1的MUX,或者用行为描述(如样例代码)assignDOut=(Sel=12)?16b0,im,8b0,exl,ie:(Sel=13)?xxxxxxxxxxxxxxxxxxxxxxxx:(Sel=14)?EPC:(Sel=15)?PrID32b0;,数据通路与控制器,数据通路:增加cp0模块控制器Wr:mtc0指令的译码结果WrEPC与EXL_Set:多周期CPU处于INT状态的函数EXL_Clr:eret指令的译码结果,数据通路与控制器,数据通路:增加cp0模块控制器:Wr是mtc0指令的译码结果;WrEPC与EXL_Set都是多周期CPU处于INT状态的函数;EXL_Clr是eret指令的译码结果。请读者根据这些分析自行构造这些控制信号的表达式。,IM,ARD,PC,IR,A,B,EXT,01,0123,1F,012,M1,NPC,NPCIMMRAEPC,PCPC4,M2,M3,C,12,15:11,20:16,20:16,25:21,DR,15:00,25:00,AR,CP0,RD,WDAPC,EPC,IP3IP2,INT,20:16,支持设备,ADD31:0:设备的地址DI/DO31:0:设备的数据输入与输出,内部外部,ADD31:0,DO31:0,DI31:0,IM,ARD,PC,IR,A,B,EXT,01,1F,012,M1,NPC,NPCIMMRAEPC,PCPC4,M2,M3,C,12,15:11,20:16,20:16,25:21,DR,15:00,25:00,AR,CP0,RD,WDAPC,EPC,IP3IP2,INT,20:16,01234,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,设备,Cpu如何连接多个设备?,每个设备都有自己的ADD、DI、DOCpu不能为每个设备都提供一套地址/数据否则cpu设计会变得复杂,43,接口逻辑,Bridge,Bridge:类似与网络switchCPU侧:1组接口;设备侧:N组接口1组地址/写数据,N组读数据CPU读:数据汇聚CPU写:数据派发,44,CPU,桥,PrADDPrRDPrWDPrWrPrRd,ADDWD,RD1RDnCS1CS2R/W#,ADDDIDOWrRd,.,Bridge功能及内部结构,完成地址、数据转换,控制信号的产生地址读数据写数据,地址图,地址图:存储器及设备在地址空间的分布区域CPU读写设备(其实是程序员)必须知道设备地址Bridge也必须知道地址图,否则无法完成译码示例:假设设备03均需要256B的地址空间需求,Bridge的地址译码1/2,设备地址:基地址+偏移偏移:位数由空间大小决定,即log2(空间)基地址:高位部分注意:cpu读写某设备的地址空间时,发出的地址的基地址部分是不变的。变化的是偏移!,Bridge的地址译码2/2,为每个设备产生一个1位的译码变量,assignCS0=(PrAddr31:8=hA00000);assignCS3=(PrAddr31:20=hA01);,Verilog样例,assignPrRD=(CS0)?RD0:(CS1)?RD1:(CS3)?RD3:DEBUG_DEV_DATA;,常规写法,支持Debug写法,Bridge:CPU写数据,CPU的写数据信号(bridge的输入)连接至所有设备的输入(bridge的输出)直通输出,不需要再转换设备的写使能:有多少个设备,就需要多少个WeWe产生方法:f(WeCPU,设备地址译码),Verilog样例代码:assignWeDEV3=WeCPU,防止误写DM,51,问题:store指令可能写DM,也可能写设备方案:DM的最终写入信号需要增加对DM地址范围的判断信息,DM的实际写入信号=DMWr&HitDM,译码,DMWr,PC,指令存储器,寄存器堆(读),rt,rs,rd,ALU,数据存储器,NPC,扩展,imm,寄存器堆(写),寄存器堆回写增加来自设备的数据,52,无设备:RF回写数据来自DM、ALU、PC4有设备:RF回写数据来自DM、ALU、PC4、DIRF回写的选择控制信号:,PC,指令存储器,寄存器堆(读),rt,rs,rd,ALU,数据存储器,NPC,扩展,imm,寄存器堆(写),来自设备的数据,MUXWD_Sel=load指令&HitDM?DR:load指令&!HitDM?DI:cal指令?AO:PC4,很重要!没有就会出错!,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,定时器,核心是一个可以加载初值和减计数的32位计数器加载初值总线接口译码cpu写PRESET可以产生写使能微系统的定时器并没有PRESET寄存器若要支持自动加载则须设置PRESET寄存器减计数什么时候开始减计数?条件1:计数值非0条件2:CTRL的EN位为1“非0?”的功能计数值不为0:输出1计数值为0:输出0,-1,总线数据,非0?,移位使能,&,PRESET写使能,计数使能,CTRL写使能,&,INT,目录,概述MIPS体系结构协处理器指令定时概述串行通讯概述完善cpu设计通过系统桥连接设备定时器设计MiniUART设计软件开发,接口信号,系统信号:时钟CLK、复位RSTCpu侧信号:地址ADD、双向数据DI/DO、写使能Wr、中断INTRS-232侧信号:串行接收数据RxD、串行发送数据TxD,TxD,RxD,DO,DI,INT,总线接口,ADDWr,CLKRST,发送移位寄存器,功能:并行写入8位数据;数据移位寄存器位数:11位,目的在于利用寄存器值模拟停止位和起始位时钟:与发送波特率同频率即可,TxD,发送移位寄存器,DO,DI,INT,总线接口,ADDWr,CLKRST,并行写入,发送时钟,串行移位,发送控制器,核心是2个计数器发送波特率同周期信号作为发送的同步初值为10的倒计数器用来控制发送的位数,TxD,发送移位寄存器,发送控制器,波特率除数因子,波特率生成,&,“10”计数,发送移位寄存器写使能,发送移位寄存器移位使能,发送波特率同周期信号,DO,DI,INT,总线接口,ADDWr,CLKRST,需要一个使能信号来启动发送移位寄存器的加载和“10”计数器的加载当检测到写发送移位寄存器时,总线接口产生该使能,接收移位寄存器,接收移位寄存器在移位使能的控制下进行移位时钟采用系统时钟即可,接收移位寄存器,RxD,DO,DI,INT,总线接口,ADDWr,CLKRST,并行输出,串行移位,移位使能,接收控制器1/6,接收过程涉及环节较多,如:起始位的判断与确认接收各位数据停止位确认,接收移位寄存器,RxD,接收控制器,DO,DI,INT,总线接口,ADDWr,CLKRST,接收波特率除数因子,接收控制器2/6,状态机控制位周期计数器先产生半周期,然后再连续产生全周期位周期计数器sample点首先出现在半周期处之后,sample点就出现在全周期处移位使能每个全周期sample点处有效,位周期计数器,接收波特率除数因子,状态机,RxD,sample,移位使能,移位使能,接收控制器3/6,START:当状态机检测到RxD为0,则进入CHECK状态同时控制位周期计数器加载除数因子的一半CHECK:在位半周期处采样RxD,即对起始位进行确认如确认则进入BIT0,开始接收数据,START,CHECK,BIT0,RxD=0&sample=1,RxD=0,RxD=1&sample=1,RxD=1,sample=0,位周期计数器,接收波特率除数因子,sample,接收控制器4/6,BIT0-BIT7:连续采样8位数据并控制移位寄存器移位接收,位周期计数器,接收波特率除数因子,sample,接收控制器5/6,STOP:采样停止位如果RxD不是1(即不是停止位),即表明帧格式错误,则转入ERROR状态,位周期计数器,接收波特率除数因子,sample,接收控制器6/6,ERRORMiniUART仅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030盲盒经济用户留存策略及二手交易平台崛起与消费科技投资退出路径
- 2025中国国家地理科考旅行部实习生招聘备考考试试题及答案解析
- 2025辽宁检验检测认证中心部分机构招用编外人员3人备考考试题库附答案解析
- 2025年菏泽市公费医学毕业生选聘(183人)备考考试题库附答案解析
- 2025年安徽省科兴交通建设工程监理有限公司招聘8人备考模拟试题及答案解析
- 2025云南普洱西盟县国资委遴选县属国有企业兼职外部董事专家库人选备考练习试题及答案解析
- 2025江苏科投集团下属子公司招聘工作人员21人(第三批)考试模拟试题及答案解析
- 2025黑龙江齐齐哈尔市泰来县公益性岗位招聘9人备考考试题库附答案解析
- 2025内蒙古兴安盟阿尔山市银龄教师助教计划招募5人备考考试试题及答案解析
- 2025年合肥八中铭传高中教育集团翡翠湖初中招聘物理教师2名备考模拟试题及答案解析
- 2022年贵州省人民医院医护人员招聘笔试试题及答案解析
- “数学悖论”-辛普森悖论
- 医疗器械临床试验GCP三套考试题
- 车辆赠与协议模板
- 烧结岗位安全操作培训-PPT课件
- 【课件】1.2 点线传情——造型元素之点线面 课件-2021-2022学年高中美术人美版(2019)选修绘画
- 运动处方(课堂PPT)
- 物资储备与物流方案
- 财务报销流程培训PPT模板课件
- 关于加强铁路企业年金管理的指导意见
- 幼儿园体检结果分析评价表
评论
0/150
提交评论