又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统
作者:安富莱电子,排版:晓宇
微信公众号:芯片之家(ID:chiphome-dy)
硬件设计:
GR8CPU是在面包板上构建功能齐全的计算机。第一个版本GR8CPU Rev2拥有600多条电线,74个集成电路和79个LED灯。它是一个8位架构,考虑了简单性和处理能力。CPU可以访问256字节的RAM,已经为其编写了功能齐全的Tic-Tac-Toe游戏。
到目前为止,正在构建第二个GR8CPU Rev3。有很多有趣的工作要做:具有65536字节的内存,改进的算法和设计更高的速度,该CPU是有史以来最复杂的面包板CPU。
最早效果:
RAM模块已完成:
设计ALU:
完成ALU设计:
视频卡设计:
完成视频输出电路:
类Unix系统设计
GR8NIX是受Unix启发的操作系统,Unix是1970年代发布的简单多用户,多任务的操作系统。基于unix的思想的现代操作系统包括Linux, MacOS和Android等。GR8CPU Rev3用汇编语言编写,内核由2000行汇编实现,5KB代码:
(1)多线程支持32个并发线程。
(2)理论上不受限制的运行程序数量。
(3)动态内存分配,当前大小最大为8 KB。
(4)真正的程序执行与位置无关(动态应用程序加载)。
但是,GR8NIX并不完美,由于硬件限制,GR8NIX无法:
(1)保护内存免受进程侵害。
(2)从尝试运行无效指令中恢复。
(3)可靠地防止进程退出后发生内存泄漏。
实现了动态内存管理后,开始文件系统的制作,实现从磁盘中加载文件:
在视频展示中,大家可以看到gr8nix变得栩栩如生,它成功加载并运行了一个Shell程序,该程序又加载并运行了大家想要的任何其他程序。
首先,Exec负责加载程序并运行它们。Exec首先进行一些完整性检查:文件是否存在?它是程序文件吗?这是有效的吗?接下来,Exec通过检查每个条目并将其偏移量添加到其长度中来查找可执行文件的长度。Exec找到的长度是这些计算出的最大长度。
此后,Exec调用thread_launch,这是一种用于准备启动线程的方法。Exec通过向过程中添加一些原始数据来完成:用户ID,指向分配的内存指针,运行的命令行以及工作目录等等。
-END-
猜你喜欢(点击下划线阅读)
如何从CPU中提炼出黄金?
CPU中的程序是怎么运行起来的
CPU为什么是方形而不是圆形的?
最 后
若觉得文章不错,转发分享,也是我们继续更新的动力。
5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等!
点击下方卡片,在公众号内回复「更多资源」,即可免费获取。
又一位纯手工打造CPU的牛人,并且汇编语言实现类Unix系统,支持文件系统相关推荐
- 太牛了,国人纯手工自制CPU,耗时半年,用了3000多个晶体管
金磊 博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一个人,到底能肝到什么程度? 最近B站上大火的一个视频,或许给了这个问题一个完美诠释: 纯!手!工!自制CPU! 这位叫做" ...
- 原创:纯手工打造CSS像素画--笨笨熊系列图标
纯手工打造CSS像素画--笨笨熊系列图标 作者:冰极峰 转载请注明出处 在cssplay网站看到有一组CSS像素画,于是也想摩仿一下,于是在网络上找到一组头像图标,看其结构比较简单,就拿它开刀吧!先看 ...
- 广工学生“纯手工”打造赛车 将出征F1赛道
转播到腾讯微博 一辆红银色流线型方程式赛车昨日亮相广东工业大学图书馆广场.这辆赛车为该校二十余名学生"纯手工"打造,本月将登陆上海国际赛车场.南都记者邹卫摄 南都讯 记者刘黎霞 实 ...
- html格子像素画,HTML_纯手工打造CSS像素画,在cssplay网站看到有一组CSS像素 - phpStudy...
纯手工打造CSS像素画 在cssplay网站看到有一组CSS像素画,于是也想摩仿一下,于是在网络上找到一组头像图标,看其结构比较简单,就拿它开刀吧!先看看预览图 图一 基本原理: 没有什么技术含量,主 ...
- IOS学习之道:使用UIButton纯手工打造的黑白快小游戏.
由于代码量比较多,有兴趣的同学可以去我的资源页进行下载. http://download.csdn.net/detail/tx874828503/8637445 // // RootViewContr ...
- 后渗透篇:纯手工打造服务器自解压shift后门【详细演示】
当你的才华 还撑不起你的野心时 那你就应该静下心来学习 目录 纯手工打造服务器自解压shift后门 0x01 介绍 0x02 实例演示 纯手工打造服务器自解压shift后门 0x01 介绍 很多时候我 ...
- 消防管件做的机器人图片_报废消防器材变身“机器人” 由消防官兵纯手工打造(图)...
原标题:报废消防器材变身"机器人" 由消防官兵纯手工打造(图) 由报废的消防零配件组成的机器人模型. 厦门网讯 (厦门日报记者林路然通讯员阙凤芳曾德猛)远看好似变形金刚,凑近还会说 ...
- 19岁「天才少年」自制CPU!1200个晶体管,纯手工打造
大家好,我是张巧龙,在推特上看到一个19岁的博主,耗时整整3年,纯手工自制1200个晶体管的CPU. 这位叫做 Sam Zeloof 的美国大学生,最终打造出1200个晶体管的CPU! 在10微米 ...
- ☆☆☆ 纯手工打造个性化的 GhostXP 系统 ☆☆☆
既然是用纯手工来制作万能克隆系统,那么能用手工做到的事情就尽量用手工来做,尽量少用自动化的功能去实现,这样不仅能够详细的了解和学习系统封装的全过程,而且还能感受到封装系统带来的无穷乐趣. 大部分内容参 ...
最新文章
- poj 1469 COURSES
- android 获取布局textview,android – 获取TextView中文本的位置
- 奖金16万!首届电子商务AI算法大赛ECAA报名开启
- 通过SQL即可让监控分析更简单更高效
- ajax获得excel文件流在前端打开_主流前端技术讲解,面试必考!
- iOS的主要框架介绍
- 不同公式等号对齐_数学公式编辑器“制作amp;套用公式模板”和“文本对齐问题”的完美解决方案...
- pytorch: torch.nn.functional.affine_grid(theta,size)
- Bresenham直线算法与画圆算法
- python+php+变量传递,将变量从php传递给python,将python传递给php
- HFSS阵列天线仿真
- 分布式消我爬取豆瓣10万短评,告诉你《复仇者联盟4》在讲什么?
- 牧码客(卢益贵):专业取名软件——吉名宝
- 手机5g什么时候普及_5G网络什么时候普及,5G手机什么时候买比较合适?
- 荣耀手机用什么蓝牙耳机好?适合荣耀手机的蓝牙耳机推荐
- centos7安装otrs
- iperf工具的安装和使用
- 《约会专家》拖车【约会宝典】总结
- android 多层json,Android json解析:根据嵌套key值逐层获取最底层数据
- 某计算机主存储器的电流如下图所示,试问:1)ROM和RAM芯片的规格是多少?(用?K*?位表示)2)ROM和RAM的容量各是多少?(用KB表示)3)ROM和RAM的地址范围是多少?))
热门文章
- complete checkbox in Fiori
- attachRouteMatched analysis
- why our extension project didn't load S3 view and controller
- scn SAP UI5 exercise - create root view
- Angular filter test
- when and where is getControllerName called
- 微服务架构中的key-value pair数据结构
- CRM Fiori my note应用的后台ABAP实现
- SAP ERP和C4C Acount和Contact的双向同步
- 当我们在UI上点add button增加新的search criteria之后,是framework做的处理把新的row render出来