首页 > 其他分享 >简易计算机的搭建

简易计算机的搭建

时间:2023-12-07 10:57:38浏览次数:38  
标签:输出 架构 计算机 复用器 选择 简易 内存 寄存器 搭建

简易计算机的搭建

1、一些无关紧要的前置知识

​ 现代计算机类设备的主流架构一般有两种:一为冯诺依曼体系架构;一为哈弗架构。

​ 主流计算机采用的架构一般为冯诺依曼体系,是将程序和数据放在一起存储的架构;

​ 单片机设备一般采用哈弗架构,是将程序与数据分开存储的一种架构。

以下基本都是有关冯诺依曼架构的知识

​ 冯诺依曼架构提出计算机由四个子系统构成:存储器(寄存器、内存、硬盘)、计算单元(ALU)、控制单元(进行协调各个单元)、输入输出单元(外设)。

​ CPU(中央处理器)是由寄存器计算单元控制单元组成。

​ 一般64位机的系统为64bit.

​ CPU和内存、硬盘、外设等非CPU内部组件连接的中介为总线。总线分为 数据总线(两端组件可双向通信)、地址总线(单向)、控制总线(单向,用于传送指令)。

​ 一个机器周期:取指令 ----> 译码 ----> 执行。有流水线时,可以相较来说同时进行,比如可在译码时进行下一个周期的取指令。

​ CPU指令架构分为 CISC复杂指令集(一般 x86CPU 电脑)和 RISC精简指令集(一般 ARM的CPU 手机、单片机)。

2、复用器(选择器)

​ 复用器的作用是选择使用哪一个组件输入进来的数。

​ 最简单的复用器是输入两个二进制位,输出指定的一个。这个功能可以使用一个单刀双掷的继位器实现,控制继位器的触点选择和继位器的高低电平实现选择输出。

​ 多位的复用器可以使用几个单个复用组成。一个复用器分高低电平,低走下一层第一个复用器,高走下一层第二个复用器,如此反复可实现多位复用器。

​ 输入n个二进制位和一个选择数,选择数可以是十进制,十进制0即走第零个,以此类推。也可以将十进制拆成二进制来选择,拆成二进制时,把整个复用器看作好几个组合成的,最高位走最后一个小的二选一复用器进行次层两边的选择,依此类推。

n位复用器即2^n个输入和一个位数选择和一个输出

3、简易的计算单元(ALU)

​ 由加法器、减法器(实际计算机中没使用,这里直接用了)、与、或和两个复用器及一些输入输出构成。输入为两个操作数、一个进位数、一个选择数(选择输出哪个运算结果。截取一下这个选择数的低一位,作为加法器和减法器的进位/借位选择,不截取的话复位器要选择位数多的,造成浪费。)。输出为一个结果和一个进位/借位。

​ 我们做的ALU会把所有运算都做一遍输出选择的运算,有没有办法让它只作我们选择的运算?

4、PC计数器

​ 一个加法器和一个寄存器和几个输入输出组成。寄存器的输出传给加法器的一个操作数,同时寄存器的输出作为计数器的结果,第一次寄存器的输出为0,所以计数器从0开始计数;加法器的另一个操作数为1,进位器0;加法器的输出有两个,一个相加的结果,放进寄存器的输入,进行下次加一,另一个输出为进位,溢出后,相加结果变为零,进行第二轮的计数。寄存器有一个使能开关,和一个时钟。一次时钟周期进行一次加一计数。

5、实现一块内存

​ 使用分线器和n个寄存器即可实现一个n位寻址的存储,具体细节略。

6、带内存和寄存器的ALU

​ 只说下原理。可以对PC计数器操作实现从内存的不同地址读出数据(可以通过输入往内存中输入数据),读出数据后通过ALU与寄存器中的数相加(寄存器中初始为0),即第一次相加得到第一个数放到寄存器中,如此循环,可以实现从内存中不断读数并不断相加。

todo

标签:输出,架构,计算机,复用器,选择,简易,内存,寄存器,搭建
From: https://www.cnblogs.com/wangsiyaoa/p/17881205.html

相关文章

  • 搭建Windows风格的个人网盘,支持文档在线编辑
    这是一个Windows页面风格的个人网盘,支持普通文本、文档、表格、xmind等在线编辑,支持Windows的小组件,例如计算器、WhiteBoard、python等,其他更多功能待你来发现,也待你来开发。为什么要做这个网盘?因为现在的商用网盘收费太高,个人文件存在别人的服务器上也不安全。而现在一些开源......
  • 2023-2024 20231313《计算机基础与程序设计》第十一周学习总结
    2023-202420231313《计算机基础与程序设计》第十一周学习总结作业速达作业课程班级链接作业要求计算机基础与程序设计第十一周学习总结作业内容计算机科学概论第15,16章《C语言程序设计》第10章并完成云班课测试,计算机网络,网络拓扑,云计算,网络安全,Web,HTML,CSS,Jav......
  • Kali搭建DVWA过程(Web靶场)的问题总结
    一、kali安装谷歌拼音1.需要先获得root权限:通过su命令,输入密码2.获得权限后,安装输入法框架aptinstallfcitx3.安装Googel拼音输入法命令aptinstallfcitx-googlepinyin4.输入法安装完成后,搜索框打开Fcitx配置,将安装的Googel拼音输入法排序为第一位5.终端reboot重启,c......
  • 2023-2024-1 20231320 《计算机基础与程序设计》第十周学习总结
    2023-2024-120231320《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第十周作业)这个作业的目标<自学《计算机基础与......
  • Devops - 使用gogs搭建企业内部git服务器
    Gogs是一款极易搭建的自助Git服务,使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台。1.运行gogs的准备工作创建运行gogs应用的linux用户#创建gogs用户sudouseradd-mgogs#设定密码sudopasswdgogs配置数据库(mysql)#......
  • 【自己搭建一个:端到端的语音+大模型聊天机器人】
    概要发篇文章记录一下最近搞的语音+大模型聊天机器人的搭建过程,供交流学习。有正反馈的话会继续优化。整体架构流程注意:借传统的基于RASA的对话机器人的图一用,本博会把NLU(NaturalLanguageUnderstanding)和DialogueManagement这两个组件,用大模型来替代。组件及模型说明:用......
  • 大模型环境搭建(二)
    二:Conda安装1.下载链接:https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe2.安装完之后,要修改以下他的执行策略!点开始菜单,打开:AnacondaPowershellPrompt(miniconda3)然后输出以下内容,然后输入大写“A”回车确认:Set-ExecutionP......
  • Python基础之计算机基础
    计算机基础【一】计算机组成原理(1)什么是计算机?计算机是一种通电的智能设备,被称为电脑,拥有处理数据、执行指令的能力,是现代科技和信息社会的重要工具电脑又可以理解为通电的大脑电脑二字蕴含了人类对计算机的终极期望,希望它能真的像人脑一样去工作,实现自动化,提高工作效率,解......
  • day 01 计算机基础和环境搭建
    1.计算机基础1.1基本概念计算机的组成计算机是由多个硬件组合而成,常见的硬件有:CPU、硬盘、内存、网卡、显示器、机箱、电源...操作系统用于协调计算机的各个硬件,让硬件之间协作工作,以完成某个目标-Windows-Linux-Mac软件在安装上操作系统之后,我们会在自己电......
  • 低代码开发实践:从零开始搭建一个库存管理系统
    本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。I.引言低代码开发是一种软件开发方法论,旨在通过减少手动编写代码的工作量,加快应用程序的开发速度和交付时间。它基于图形化的界面和可视化工具,使开发者能够......