一步一步学做一个CPU——2,Logisim的简单入门

本文介绍了使用Logisim创建与门电路的基本步骤,包括添加与门、输入输出引脚及连线。还提供了使用tunnel工具简化复杂设计的方法,以及添加子电路的详细流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Logisim的简单入门

先来以一个与门电路的实验,来看一下基本的操作,在Logisim中一个与门电路生成过程如下:

1.按与门的选择按钮clip_image001,添加一个与门到电路中。

2.使用clip_image002按钮添加一个输入引脚,用于设置输入电平。

3.添加一个引脚,通过属性中设置Pin的属性为输出:

clip_image004

这样得到一个输出引脚clip_image006

4.移动以上添加的元素,得到原理图:

clip_image007

注意选中clip_image008按钮,此时可以拖拽连线,那么我们把电路各部分连接如下:

clip_image009

5. 接下来通过选中clip_image010按钮就可以鼠标点击设定输入管脚上的电平为1或0了,输出引脚也会相应改变,输出结果。

当然通过左下方的属性设定,还可以设定当前选择元件的朝向,数据位数,输入端口数等参数。

clip_image012

6.另外推荐大家后面设计的时候使用一下tunnelclip_image014这个工具,代替复杂的连线,在后面复杂设计的地方,让你从蜘蛛网一样的连线中解脱出来,例如上面的电路可以这样表示:

clip_image016

图中输入,与门模块,输出三部分结构分的很清晰,tunnel的使用使我们的电路设计更加规范,类似logisim中的tunnel工具在其他原理图工具中类似的工具是经常见到的,虽然名字会有不同,用途是一样的。

7.最后是子电路添加方法,选择Project--->Add Circuit…,如下图“:

clip_image018

子电路的绘制与上面基本相同,注意的是输入输出引脚要连接Pin引脚,并设定好输入输出属性。

clip_image020

右击子电路选择Edit Circuit Appearance可以调整子电路的外观,通过拖拽将外观调整好,后面加到上层电路设计中的时候就不会显得布线拥挤了。

clip_image022 clip_image024

显然上面的要比下面的元件效果好一些。

以上描述的这些技巧与绘制规范整齐的原理图是关系密切的,后面实际应用中设计复杂电路时会突出显现出来。

 

几个关键的地方:

1,请尽量使用标准模块,如果需要建立自己的模块,请学习标准模块的设计风格。

2,请合理划分层次,清楚定义输入输出端口,尽量使定义的风格和规范保持一致。

3,请使用网络标识代替直接连线,会使你的原理图更加清晰易读。

4,为每个模块设计测试用例,用于测试和说明其使用方法。

5,这里用的软件比罗老板课上用的版本高一点,操作有细微差别。

<think>嗯,用户现在明确表示想从零开始习计算机原理,需要具体的习路线和资源推荐。结合之前的对话历史,用户已经了解过计算机原理的基础知识框架,现在需要更落地的习路径。 注意到用户引用了两篇网络安全相关的路线文章,但根据上下文,这可能是误引——用户真实需求仍然是计算机原理的系统习。需要特别注意避免被干扰,专注在计算机组成原理的核心内容上。 用户的习阶段判断:零基础但有一定理解力,因为前次回复中的数公式和术语用户并未表示困惑。可能具备高中以上历,但缺乏专业训练。需要强调实践性,避免纯理论劝退。 核心挑战是如何将抽象概念(如CPU流水线)转化为可感知的习模块。计划分四阶段构建习路线: 1. 先导知识补充(2-4周):重点解决数制转换和逻辑门等痛点,用模拟器降低硬件门槛 2. 核心模块突破(8-12周):按数据表示→CPU→存储→I/O的脉络推进,每个模块配经典实验 3. 系统整合(4-6周):通过开源架构分析理解模块协作 4. 延伸实践:引导向操作系统等关联领域 资源推荐需区分类型:经典教材(如CSAPP)提供深度,在线实验(Nand2Tetris)即时反馈,视频课程(Crash Course)辅助理解。特别注意推荐免费资源,因用户未提及预算。 最后生成的延展问题要承接习路线:Cache机制对应存储层习,指令周期是CPU模块核心,总线问题衔接硬件实践——这样用户在每个阶段都能找到锚点问题。</think>以下是为零基础习者设计的计算机原理系统习路线,结合理论与实践,附带优质资源推荐: --- ### **一、分阶段习路线**(共4阶段,约6-8个月) #### **阶段1:基础奠基(1-2个月)** | **习模块** | **核心内容** | **实践建议** | |--------------------|----------------------------------------------------------------------------|----------------------------------| | **计算机基础** | 冯·诺依曼体系、硬件组成(CPU/内存/I/O)、二进制/十六进制转换 | 用Windows计算器练习进制转换 | | **数字逻辑** | 布尔代数、逻辑门(AND/OR/NOT)、组合电路 | 在[Logic.ly](https://logic.ly/)在线搭建门电路 | | **数据表示** | 原码/反码/补码、IEEE 754浮点数、ASCII编码 | 用Python实现进制转换工具 | **资源推荐**: 📚 书籍:《计算机科导论》Behrouz Forouzan 🎥 视频:[Crash Course Computer Science](https://www.bilibili.com/video/BV1EW411u7th)(中文字幕) #### **阶段2:核心硬件(2-3个月)** | **习模块** | **关键概念** | |--------------------|----------------------------------------------------------------------------| | **CPU工作原理** | 寄存器(PC/IR/MAR)、指令周期(取指→译码→执行→写回)、流水线技术 | | **存储器系统** | 存储层次(Cache→RAM→磁盘)、Cache映射策略(直接/组相联)、虚拟内存机制 | | **总线与I/O** | 总线类型(数据/地址/控制)、中断处理、DMA传输 | **实践项目**: ➤ 用Logisim搭建8位CPU(实现ADD/MOV/JMP指令) ➤ 用C语言模拟Cache命中率计算(可参考[此代码模板](https://github.com/angrave/SystemProgramming)) #### **阶段3:系统整合(1-2个月)** - **指令系统**:MIPS/RISC-V指令集分析(推荐[RARS模拟器](https://github.com/TheThirdOne/rars)) - **性能优化**:CPU时间计算($ \text{CPU时间} = \text{指令数} \times \text{CPI} \times \text{时钟周期} $)[^4] - **多级存储**:深入理解局部性原理对Cache性能的影响 **资源推荐**: 📚 经典教材:《深入理解计算机系统》(CSAPP) 🔧 实验平台:[Nand2Tetris](https://www.nand2tetris.org/)(从门电路到俄罗斯方块) #### **阶段4:扩展实践(可选)** - **开源硬件**:用Verilog在FPGA上实现简单CPU(Xilinx Vivado教程) - **OS关联**:通过《操作系统导论》理解进程调度与内存管理 - **前沿探索**:RISC-V架构实践([SiFive Learn](https://learn.sifive.com/)) --- ### **二、零基础友好资源清单** | **类型** | **推荐资源** | |----------------|-----------------------------------------------------------------------------| | **入门书籍** | 《编码:隐匿在计算机软硬件背后的语言》Charles Petzold(故事化讲解硬件原理) | | **视频课程** | 王道考研-计算机组成原理([B站全集](https://www.bilibili.com/video/BV1BE411D7ii)) | | **交互实验** | [CPUlator](https://cpulator.01xz.net/)(在线模拟ARM/MIPS汇编执行) | | **工具软件** | Logisim(数字电路仿真)、Wireshark(分析网络数据流) | --- ### **三、关键习建议** 1. **先宏观后微观**:先建立“输入→处理→输出”整体框架,再深入CPU等模块细节 2. **强实践驱动**:每一个概念立即动手实验(如完浮点数后,用Python实现IEEE 754转换) 3. **关联现实案例**: - 手机卡顿时思考:是CPU瓶颈(计算密集型)还是I/O瓶颈(大量读写)? - 游戏加载慢时分析:Cache未命中?虚拟内存频繁置换? 4. **避免误区**:初期不必纠结芯片物理结构,重点理解**功能抽象**(如寄存器=临时储物柜) > 💡 **习心法**:想象自己是一行代码,从键盘输入到CPU执行再到屏幕输出,完整走一遍“生命周期”。 --- ### **四、习效果检验** 完成以下任务即达初级水平: ```markdown ✅ 手工将十进制 -12.375 转为 IEEE 754 单精度浮点 ✅ 在Logisim中搭建4位加法器(含进位) ✅ 解释一条 `MOV [AX], BX` 指令在CPU内的完整执行流程 ✅ 用Wireshark捕获一次HTTP请求,分析数据包结构 ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值