计算机组成原理--笔记一

目录

一.计算机硬件的基本组成

        1.早期冯诺依曼机的结构

        2.现代计算机的结构

二.各个硬件的工作原理

        1.主存储器

        i. 读取数据

        ii. 写入数据

        1.1 基本组成

        2.运算器

        3.控制器


一.计算机硬件的基本组成

        1.早期冯诺依曼机的结构

        “存储程序”,将指令以二进制的形式输入到计算机的主存储器中。。。

         特点,

        · 计算机有五大部分组成。

        · 指令和数据以同等地位存于存储器中,可按地址寻访。

        · 指令和数据用二进制表示。

        · 指令由操作码和地址码组成。

        · 存储程序。

        · 以运算器为中心。(导致数据计算的效率降低)

        2.现代计算机的结构

        以存储器为主。

        CPU = 运算器 + 控制器。

        主存,即手机之类的运行内存。辅存,即手机之类的机身内存(APP下载于此)。只有使用APP是才会被调到主存中使用。

二.各个硬件的工作原理

        1.主存储器

        其中的调用过程,

        i. 读取数据

MAR -> 存储体 -> MDR

        CPU二进制命令进入MAR,转译为十进制的存储地址(MAR中存储二进制),从指定地址中获取具体的数据,存入MDR中。

        ii. 写入数据

MAR、MDR -> 存储体

        CPU将指令和待写入数据分别存入MAR和MDR中,并通过其他路线告诉主存储器,这次要进行写入操作。

        1.1 基本组成

        存储单元, 每个存储单元都可以存放一串二进制代码。

        存储字(word),存储单元中的二进制代码被称为存储字。

        存储字长,存储单元的二进制代码位数。(也是存储字所含有的位数)(一般是8k bit,即八的整数倍比特,如8 bit, 16 bit, 32 bit, 64 bit)

        存储元,即存储二进制的电子元件,每个存储元存1 bit

        ------

        MAR的位数反映存储单元的个数,如MAR为4位,那么指示的地址只有2*2*2*2种可能,即最多有2^4个存储单元。

        MDR的位数 = 存储字长,如MDR为16位,则每个存储单元可存放16bit,1个字(word)= 16bit。(易混淆,1个字节Byte = 8 bit,即 1B = 8b,1b = 1bit)

        2.运算器

        用于实现算术运算,加减乘除;用于实现逻辑运算,与或非。

        · ACC,累加器,用于存放操作数,或运算的结果。

        · MQ,乘商寄存器,在乘除运算时,用于存放操作数,或运算结果。

        · X,通用寄存器(可能会有多个),用于存放操作数。

        · ALU,算术逻辑单元,通过复杂电路实现算术运算、逻辑运算。

        3.控制器

        · CU, 控制单元,分析指令,给出控制信号。

        · IR,指令寄存器,存放当前执行的指令。

        · PC,程序计数器,存放下一条指令的地址,并具备自动加1的功能。

        一般的运行顺序,

PC(获取指令)-> IR(解析指令) -> CU(执行指令)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Blazor中Syncfusion图像编辑器组件使用方法

Blazor中Syncfusion图像编辑器组件是一个功能丰富的图像处理工具,支持多种编辑、操作和交互方式,帮助用户高效处理图像。以下是该组件的主要功能总结: 主要功能: 图像打开与保存 图像编辑器允许用户通过简单的点击操作打开支持的…

漫话架构师|什么是系统架构设计师(开篇)

~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” 关注犬余,共同进步 技术从此不孤单

CV(10)--目标检测

前言 仅记录学习过程,有问题欢迎讨论 目标检测 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别;输出的是分类类别label物体的外框(x, y, width, height)。 目标检测算法&#xff1a…

【Qt】01-了解QT

踏入QT的殿堂之路 前言一、创建工程文件1.1 步骤介绍1.2 编译介绍方法1、方法2、编译成功 二、了解框架2.1 main.cpp2.2 .Pro文件2.2.1 注释需要打井号。2.2.2 F1带你进入帮助模式2.2.3 build文件 2.3 构造函数 三、编写工程3.1 main代码3.2 结果展示 四、指定父对象4.1 main代…

【微服务justsoso-cloud系列】目录

【微服务justsoso-cloud系列】目录 1.vagrantvirtualbox实现centos7安装 2.centos7安装jdk17教程 3.Linux安装Docker教程(详解) 4.Linux安装git 5.zerotier搭建虚拟局域网,自建planet

【深度学习】关键技术-激活函数(Activation Functions)

激活函数(Activation Functions) 激活函数是神经网络的重要组成部分,它的作用是将神经元的输入信号映射到输出信号,同时引入非线性特性,使神经网络能够处理复杂问题。以下是常见激活函数的种类、公式、图形特点及其应…

3.flask蓝图使用

构建一个目录结构 user_oper.py from flask import Blueprint, request, session, redirect, render_template import functools # 创建蓝图 user Blueprint(xkj, __name__)DATA_DICT {1: {"name": "张三", "age": 22, "gender": …

Python Selenium 库学习指南

Python Selenium 库学习指南 目录 Selenium 基础介绍 Selenium 是什么安装 SeleniumSelenium 的工作原理 Selenium 基本用法 启动浏览器定位元素常见操作:点击、输入、滚动 高级用法 切换窗口与标签页模拟鼠标操作与键盘输入动态加载的网页处理 等待机制 显式等待…

React第二十二章(useDebugValue)

useDebugValue useDebugValue 是一个专为开发者调试自定义 Hook 而设计的 React Hook。它允许你在 React 开发者工具中为自定义 Hook 添加自定义的调试值。 用法 const debugValue useDebugValue(value)参数说明 入参 value: 要在 React DevTools 中显示的值formatter?:…

【漏洞分析】DDOS攻防分析

0x00 UDP攻击实例 2013年12月30日,网游界发生了一起“追杀”事件。事件的主角是PhantmL0rd(这名字一看就是个玩家)和黑客组织DERP Trolling。 PhantomL0rd,人称“鬼王”,本名James Varga,某专业游戏小组的…

【 PID 算法 】PID 算法基础

一、简介 PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。也就是说,PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义,…

PyTorch使用教程(1)—PyTorch简介

PyTorch是一个开源的深度学习框架,由Facebook人工智能研究院(FAIR)于2016年开发并发布,其主要特点包括自动微分功能和动态计算图的支持,使得模型建立更加灵活‌。官网网址:https://pytorch.org。以下是关于…

Golang 设计模式

文章目录 创建型模式简单工厂模式图形接口具体图形类:圆形具体图形类:矩形工厂类定义使用简单工厂模式 抽象工厂模式1. 定义产品接口2. 定义具体产品实现类3. 定义抽象工厂接口4. 定义具体工厂实现类5. 使用抽象工厂创建对象并使用产品 创建者模式1. 定义…

PyTorch框架——基于深度学习YOLOv5神经网络水果蔬菜检测识别系统

基于深度学习YOLOv5神经网络水果蔬菜检测识别系统,其能识别的水果蔬菜有15种,# 水果的种类 names: [黑葡萄, 绿葡萄, 樱桃, 西瓜, 龙眼, 香蕉, 芒果, 菠萝, 柚子, 草莓, 苹果, 柑橘, 火龙果, 梨子, 花生, 黄瓜, 土豆, 大蒜, 茄子, 白萝卜, 辣椒, 胡萝卜,…

项目太大导致 git clone 失败

git克隆也分深浅,大项目clone可以先用浅克隆,只克隆源代码和最新的提交记录。 具体分两步: 1. 浅克隆 git clone https://github.com/google/mydemo.git --depth 1 只会克隆最新的一次提交,没有历史记录, 2. 拉取剩…

vue 纯前端导出 Excel

方法一: 1、安装"file-saver" npm i -S file-saver xlsx 2、引入 在需要导出功能的 .vue 文件中引入 import FileSaver from "file-saver"; import XLSX from "xlsx"; 3、简单示例(复制即可食用)&#x…

高斯数据库与MySQL数据库的区别

高斯数据库与MySQL数据库的区别 在当今数据驱动的时代,选择合适的数据库管理系统(DBMS)对于项目的成功至关重要。高斯数据库和MySQL作为两款广泛使用的数据库系统,各自具有独特的特点和优势,适用于不同的应用场景。本…

Mac玩Steam游戏秘籍!

Mac玩Steam游戏秘籍! 大家好!最近有不少朋友在用MacBook玩Steam游戏时遇到不支持mac的问题。别担心,我来教你如何用第三方工具Crossover来畅玩这些不支持的游戏,简单又实用! 第一步:下载Crossover 首先&…

深入剖析 Wireshark:网络协议分析的得力工具

在网络技术的广阔领域中,网络协议分析是保障网络正常运行、优化网络性能以及进行网络安全防护的关键环节。而 Wireshark 作为一款开源且功能强大的网络协议分析工具,在网络工程师、安全专家以及网络技术爱好者中广受欢迎。本文将深入介绍 Wireshark 的功…

【网络篇】IP知识

IPv4首部与IPv6首部 IPv4相对于IPv6的好处: 1.IPv6可自动配置,即使没有DHCP服务器也可以实现自动分配IP地址,实现即插即用。 2.IPv6包首部长度采用固定40字节,删除了选项字段,以及首部校验和,简化了首部…