首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
自己动手 设计 处理器
2024-11-05
自己动手写CPU(基于FPGA与Verilog)
大三上学期开展了数字系统设计的课程,下学期便要求自己写一个单周期CPU和一个多周期CPU,既然要学,就记录一下学习的过程. CPU--中央处理器,顾名思义,是计算机中最重要的一部分,功能就是周而复始地执行指令.其实开始做这部分之前,想到CPU就觉得很麻烦,毕竟时计算机内部最重要的东西,但其实刨开来细看,也就慢慢地接受了,当然我现在也不能说是了如指掌,说简单,毕竟自己还处于学习阶段,甚至可能还没有入门.慢慢来吧,先从简单的开始,一步一个脚印,总能写成的.今天先写在具体写代码之前的思路和设计方案.
自己动手设计并实现一个linux嵌入式UI框架(设计)
看了"自己动手设计并实现一个linux嵌入式UI框架"显然没有尽兴,因为还没有看到庐山真面目,那我今天继续,先来说说,我用到了哪些知识背景.如:C语言基础知识,尤其是指针.函数指针.内存分布,linux 基础知识.如消息队列.framebuffer.多线程.多线程同步.等,数据结构.算法(如链表.队列等),window .netframework 框架设计思想,设计模式如 mvc.观察者.单例.工厂等.知识点有点多,每个知识点有机的组合在一起,形成了一个知识网,构成了一个系统.以上提到
自己动手设计并实现一个linux嵌入式UI框架
一直以来都是使用现成的UI框架,如微软的window.QT等,因为它有各种控件(如button.window.edit等)都已经封装实现好了.我们只要拿来用就是了,也一直认为它很神圣,没有深入了解它背后是如何实现的,近段时间有做这方面的项目,并且由我设计并实现的,说实在的,当时只是想找个简单易用的UI框架,QT.minigui....都被我给否了,因为团队成员都不熟,包括我,考虑到开发过程中会遇到问题不好解决,用别人写的框架就是会有这样的顾虑,一般很难领悟那么深,另外加上开发团队成员水平不一,以
QT+动手设计一个登陆窗口+布局
登陆窗口的样式如下: 这里面涉及着窗口的UI设计,重点是局部布局和整体布局, 首先在ui窗口上添加一个容器类(Widget),然后将需要添加的控件放置在容器中,进行局部布局(在进行局部布局的时候可以使用弹簧),在局部布局完毕之后,我们将局部布局好的模块再进行整体布局(同样是添加弹簧).布局应该多进行实践.
自己动手写了第三阶段的处理器——教学OpenMIPS处理器蓝图
我们会继续上传新书<自己动手写处理器>(未公布).今天是第十条.我每星期试试4 从本章開始将一步一步地实现教学版OpenMIPS处理器.本章给出了教学版OpenMIPS的系统蓝图,首先介绍了系统的设计目标,当中具体说明了OpenMIPS处理器计划实现的5级流水线. 3.2节给出了OpenMIPS处理器的接口示意图,及各个接口的作用. 3.3节简单解释了各个源码文件的作用.最后描写叙述了OpenMIPS处理器的实现方法,读者将发现本书给出的实现方法与现有书籍的方法全然不同,更加易于理解.便于实践
自己动手写处理器之第四阶段(1)——第一条指令ori的实现
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第11篇,我尽量每周四篇 第4章 第一条指令ori的实现 前面几章介绍了非常多预备知识,也描绘了即将要实现的OpenMIPS处理器的蓝图,各位读者是不是早已摩拳擦掌,迫切希望一展身手了,好吧,本章我们将实现OpenMIPS处理器的第一条指令ori,为什么选择这条指令作为我们实现的第一条指令呢?答案就两个字--简单.指令ori用来实现逻辑"或"运算,选择一条简单的指令有助于我们排除干扰.将注意力集中在流水线结构的实
自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍
将陆续上传本人写的新书<自己动手写处理器>(尚未出版).今天是第四篇.我尽量每周四篇 1.4 MIPS32指令集架构简单介绍 本书设计的处理器遵循MIPS32 Release 1架构,所以本节介绍的MIPS32指令集架构指的就是MIPS32 Release 1. 1.4.1 数据类型 指令的主要任务就是对操作数进行运算.操作数有不同的类型和长度,MIPS32提供的基本数据类型例如以下. 位(b):长度是1bit. 字节(Byte):长度是8bit. 半字(Half Word):长度是16bit
自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第三篇.我尽量每周四篇 MIPS指令集架构自上世纪80年代出现后.一直在进行着更新换代,从最初的MIPS I到MIPS V,发展到可支持扩展模块的MIPS32.MIPS64系列,再到集成代码压缩技术的microMIPS32.microMIPS64.每一个MIPS ISA都是其前一个的超集,没有不论什么遗漏,仅仅有添加新的功能. 1.MIPS Ⅰ 提供载入/存储.计算.跳转.分支.协处理及其他特殊指令.该指令集架构用于最初
自己动手写处理器之第二阶段(1)——可编程逻辑器件与PLD电路设计流程
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第五篇,我尽量每周四篇 通过上一章的介绍,读者应该知道CPU内部有一些主要的电路,比方:译码电路.运算电路.控制电路.此外另一些寄存器等.这些电路怎么实现呢?当然能够通过一大堆分立的元器件实现,实际上在2008年,美国加州的游戏开发人士Steve Chamberlin就自己制造了一款8位CPU,耗时18个月,花费1000美元,总共使用了1253条线缆,如图2-1所看到的,Steve Chamberlin为它起了一个十
自己动手写处理器之第二阶段(2)——Verilog HDL简单介绍
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第六篇.我尽量每周四篇 2.3 Verilog HDL简单介绍 本书实现的OpenMIPS处理器是使用Verilog HDL编写的,所以本章接下来的几节将介绍Verilog HDL的一些基本知识.包含语法.结构等.由于本书并非一本讲授Verilog HDL的专门书籍,所以此处介绍的内容并非Verilog HDL的所有,仅仅是一些基础知识.以及在OpenMIPS处理器实现过程中会使用到的知识. 读者假设对Verilog HDL有进一步
ARM、Intel、MIPS处理器啥区别?看完全懂了
安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小.MIPS在32位和64位嵌入式领域中历史悠久,获得了不少的成功,可目前Android的采用率在三者中最低. 总之,ARM现在是赢家而Intel是ARM的最强对手.那么ARM处理器和Intel处理器到底有何区别?为什么ARM如此受欢迎?你的智能手机或平板电脑用的是什么处理器到底重要不重要? 处理器(CPU) 中央处理器(CPU)是你
[每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章
前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章. 一.安装AD14.破解.账户注册.插件下载方法大全 链接:http://pan.baidu.com/s/1jHlgZT8 密码:lyg5 ps:此教程仅供技术交流,建议从合法途径购买软件使用权,维护软件开发者权益 具体步骤: 1.下载ISO镜像文件,用utrualISO或者好压加载镜像文件并运行
ARM、Intel、MIPS处理器啥区别?看完全懂了【转】
转自:http://news.mydrivers.com/1/472/472317.htm 安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小.MIPS在32位和64位嵌入式领域中历史悠久,获得了不少的成功,可目前Android的采用率在三者中最低. 总之,ARM现在是赢家而Intel是ARM的最强对手.那么ARM处理器和Intel处理器到底有何区别?为什么ARM如此受欢迎?你的智
[转载] TLS协议分析 与 现代加密通信协议设计
https://blog.helong.info/blog/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/?from=timeline&isappinstalled=0 最近发现密码学很有意思,刚好还和工作有点关系,就研究了一下,本文是其中一部分笔记和一些思考. 密码学理论艰深,概念繁多,本人知识水平有限,错误难免,如果您发现错误,请务必指出,非常感谢! 本文禁止转载 本文目标: 学习鉴赏TLS协议的设计,透彻理解原理和重
苹果教你六招:设计优秀的icon
在iOS 7测试版发布后,网上开始出现大量关于iOS 7设计的资源.在WWDC期间,苹果曾为开发者举办了多场主题演讲,其中有一场是苹果UX布道师Mike Stern的精彩演讲-- 优秀iOS设计最佳实践指南.这是 Mike Stern(国外) 写的一篇文章! 这篇演说的第一部分提到了什么是苹果眼中的优秀应用设计,接着他列举了设计应用图标时应该考虑的六个重要元素. 首先 Mike Stern 解释了 UI 和应用图标的重要性:用户并不会根据你使用了多少技术,或是整合了多少 API,或是你使用的代码
自己动手,写一个分布式系统(附c#代码示例)
分布式系统有很多成熟的解决方案.如:微软的WCF.WCF太过于复杂,配置也麻烦.其实可以自己动手设计一个小的分布式系统.系统的原理完全在自己掌握之中,可以根据业务随机而变.这里展示远程调用最核心最基本的处理逻辑,其实远程调用并不复杂神秘. 分布式系统其实是数据流的交换.数据必须快速的从一段传送到另一端,否则系统性能就大打折扣.对于.net,本人设计一个非常优化易于使用的网络库(EasyNetMessage).使用该库,不需要关心底层细节,所有处理对象是string.byte:发送时,不需要处理分
高级设计总监的设计方法论——5W1H需求分析法 KANO模型分析法
本期开始进入设计方法论的学习,大湿自己也是边学边分享,算是巩固一遍吧: 另外这些理论基本都是交叉结合来应用于工作中,我们学习理论但不要拘泥于理论的框架中,掌握后要灵活运用一点- 这些理论一部分来自于我所在设计团队分享会的内容,是总监和同事们的经验总结: 另一部分来自大湿工作开始,在各大UED团队网站.大牛设计师博客.各类设计理论书籍中的知识. 有朋友可能有疑问:你写的东西,那个XXX也写过,你这个和XX的好像啊,抄的吗… 说实话从2011年UI行业爆发增长,到如今的稳定阶段,行业已经形成了一套近
4款APP原型设计工具助你搞定移动应用设计!
随着信息化社会的不断发展,不仅手机迭代更新的速度飞快,就连手机里的App 也层出不穷.作为一名UI/UX设计师或产品经理,如何才能设计一款出色的移动App?光有好的创意是不够的,你还需要一款正确的App原型设计工具来表达你的设计! 不少设计新手和产品小白在选择原型工具前,早已经被网上五花八门的原型设计案例看得眼花缭乱,无从下手.实际上,大多数案例都是这些工具作为教程或炫技使用的.通常,有经验的设计师或产品经理在挑选App原型设计工具时都会从以下这些方面进行考虑: l 是否支持多终端演示(随时随
架构设计:系统间通信(34)——被神化的ESB(上)
1.概述 从本篇文章开始,我们将花一到两篇的篇幅介绍ESB(企业服务总线)技术的基本概念,为读者们理清多个和ESB技术有关名词.我们还将在其中为读者阐述什么情况下应该使用ESB技术.接下来,为了加深读者对ESB技术的直观理解,我们将利用Apache Camel一起搭建一个ESB技术的服务实现,虽然这个示例不能把目前主流的ESB服务实现中所有功能模块都保罗进来,但至少可以让读者看到ESB技术核心服务完整的工作方式. 2.为什么需要ESB 2-1.ESB与SOA 2-1-1.SOA SOA(Serv
ARM系列处理器和架构
从一只ARM到另一只ARM! ARM处理器和架构 当前可用的处理器 ARM1 ARM2 ARM3 ARM4和5 ARM6 ARM7 ARM8 强壮有力的ARM ARM9 ARM10 ARM架构 v1 -ARM1. v2 -ARM2. v2as -ARM3和ARM250. v3 -ARM6,ARM7,ARM8和护身符1. v3M- 各种ARM6.7和8变体. v4 -StrongARM,ARM9. v5 -ARM10. VFP1 -ARM10(的某些变体). Thumb(T型). 长乘法指令(M个
[计算机、网络相关历史]unix简史
本文2001年由台湾“网络农夫”所写,其人生平不祥,此文受鸟哥大力推崇,两人应该相识.文章写得很不错,应该是查了很多资料整理而成的,美中不足的是好多语句不通顺,国考语文绝对不及格,哈哈. 0.我的准备: 0.1.批处理系统和分时系统: 批处理系统,又名批处理操作系统.批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行.这种采用批量处理作业技术的操作系统称为批处理操作系统.批处理操作系统分为单道批处理系统和多道批处理系统.批处理操作系统不具有交互性,它是为了提高CPU的
热门专题
vue框架如何做一个星座配对页面
springboot 获取自定义长度的环境变量
scrapy crawl运行没反应,也不报错
单片机iocc2530小灯泡摁三次在亮
C# 控制另外一个程序显示或者隐藏
ansible present是默认安装吗
deepwalk时间复杂度
itext在表格里设置段落间距失效
linq查询返回里面有列表字段的类型
python 求曲面极值点
win7桌面ADmin
dup jvm指令是什么意思
spring 从环境变量取参数
SciTE Script Editor 在哪里
tp5.0 多个or条件查询
linux copy文件
vue $on 监听事件有两次回调
MySQL启动命令 skip-grant-tables
安卓app直接调用浏览器
express 上传文件