计算机组成原理一句话

文章目录
- 计算机系统概述
- 存储系统
- 指令系统
计算机系统概述
指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。
完整的计算机系统包括,1)软件系统:程序、文档和数据;2)硬件系统:主机【运算器、控制器、主存储器】和外部设备【外存、I/O设备】。
系统软件包括,OS、DBMS、语言处理程序、分布式软件系统、网络管理系统、标准库程序、服务性程序。
机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可以值性。
存储系统
行缓冲器大小=列数*位平面数,用SDRAM实现。【举例】8个16M*8位的芯片=128MB,其中8个的8即为位平面数。
MDR位数=数据线位数=存储字长。【注】其中第一个等于号必须成立,此由硬件决定;第二个等于号通常相等。
SDRAM,不同于DRAM(异步方式),采用同步方式与CPU交换数据,将地址和控制信号都锁存起来。
DRAM需要读后再生,读后再生也具有刷新功能。但与刷新不同的是,刷新操作需要只需要给出行地址。
刷新方式分为,1)集中刷新:固定一段时间刷新,称为死时间;2)分散刷新:增加系统存取周期,前半部分用于读写,后半部分用于刷新,没有死时间;3)异步刷新:一个刷新周期内一行只刷新一次,减少了死时间。
固态硬盘基于闪存,闪存基于ROM。
固态硬盘以页为读写单位。
动态磨损均衡是在写入时自动选择较新的块。
静态磨损均衡更先进,没有数据写入时也会自动分配。
线选法,高位地址线直接连接至各个存储芯片的片选端。
译码器片选法,高位地址线通过地址译码器产生片选信号。
磁盘存储器包括,1)磁盘驱动器【即磁盘本身】;2)磁盘控制器;3)盘片。
扇区,也称块,是磁盘读/写的最小单位,也即磁盘按块存取。
磁盘高速缓存是在内存中开辟的区域。
磁盘存取时间为寻道时间、旋转时延【旋转半周】和传输时延【扇区处理时间】的加和。
磁盘调度算法可以优化寻道时间,物理结构和空闲分区的分配会影响旋转时延,传输时延和旋转时延难以从操作系统层面优化。
RAID是指将多个独立的物理磁盘组成一个独立的逻辑盘。
从RAID0到RAID5的技术分别为,0)无冗余无校验(条带化);1)镜像;2)海明码;3)位交叉;4)块交叉;5)无独立检验。
多模块存储器是一种空间并行技术,解决访存速度问题,主要分为单体多字存储器和多体并行存储器。
多体并行存储器有两种启动方式,1)轮流启动,每个模块一次读写位数等于数据总线位数;2)同时启动,所有模块一次并行读写总位数等于数据线位数。
CPU与cache之间数据交换以字为单位,而cache与主存的交换以cache块为单位。
cache访问效率等于cache全部命中所需时间/实际cache-主存访问时间。
cache映射中比较器的个数取决于一个组内有几行,就需要几个比较器。
直接映射【一行一组】,只需要一个比较器;全相联映射【整个cache是一组】,行数就是比较器个数;n路组相联【一组n行】,需要n个比较器。
指令cache和数据cache分离,是为了减少流水线冲突,在IF段使用指令cache,在MEM段使用数据cache。
cache缺失由硬件完成;缺页处理由软件完成,操作系统通过缺页异常处理程序实现;TLB缺失既可以用硬件,又可以用软件来处理。
cache中各字段的意义,标记位【指明cache行中存放的是主存哪一块的副本】、有效位【说明cache行中信息是否有效】、LRU位【记录主存块的使用情况,根据计数值选择淘汰某个块】。
指令系统
偏移寻址分为三种,1)相对寻址,地址相对PC偏移;2)基址寻址,地址相对基址偏移,基址由操作系统给出,不可变;3)变址寻址,地址相对指令中的A偏移,变址由用户指定,可变。
变址寻址,有利于处理数组问题和编制循环程序。
基址寻址有利于多道程序设计和编制浮动程序。
浮动程序是指在多道程序设计的系统中,要求每道程序存放在主存的任何位置都能正确地运行。
mov指令可以将第二个操作数复制到第一个操作数,但两个操作数不能都是内存。
imul指令是有符号乘法指令,可以是双操作数,也可以是三操作数,但是第一个操作数必须是寄存器。
RISC机器一定采用指令流水线,大部分指令在一个时钟周期内完成。
相关文章:
计算机组成原理一句话
文章目录 计算机系统概述存储系统指令系统 计算机系统概述 指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。 完整的计算机系统包括,1)软件系统:程序、文档和数据&…...
【Linux】僵尸进程和孤儿进程
一、僵尸进程 何为僵尸进程? 在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时ÿ…...
Patchcore运行过程
论文github地址:https://github.com/amazon-science/patchcore-inspection 平台:autodl云服务器 1.将下载的代码上传到autodl-tmp/PatchCore里面解压,将数据集上传path_to_mvtec_folder/mvtec里,目录结构如图 2.安装依赖 cd au…...
一小时快速入门Android GPU Inspector
本文介绍如何使用 Android GPU Inspector (AGI) 对Android 应用进行系统性能分析和帧性能分析 。面向熟悉Android图形的开发者。 待分析应用需要的前置条件 (1) 将应用设置为可调试状态 <application [...] android:debuggable"true">(2)…...
二叉树展开为链表
二叉树展开为链表 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…...
基于SpringBoot+Vue+uniapp微信小程序的教学质量评价系统的详细设计和实现
项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…...
【二刷hot100】day 4
终于有时间刷刷力扣,求实习中。。。。 目录 1.最大子数组和 2.合并区间 3.轮转数组 4.除自身以外数组的乘积 1.最大子数组和 class Solution {public int maxSubArray(int[] nums) {//就是说可以转换为计算左边的最大值,加上中间的值,…...
10.22学习
1.求余 在C语言中,求余操作是通过取模运算符 % 来实现的。取模运算符会返回两个数相除后的余数。对于正数和负数的除法,求余的结果会有所不同,但 % 运算符总是返回被除数的符号。 下面是一个简单的例子,展示如何使用 % 运…...
【不要离开你的舒适圈】:猛兽才希望你落单,亲人总让你回家,4个维度全面构建舒适圈矩阵
单打独斗的英雄时代已经落幕 抱团取暖才是社会寒冬的良策 自然界中,每个物种都占据着自己的领地和生存空间。 生态位的差异决定了它们的生存方式,一旦离开领地,失去群体的庇护,就会沦为野兽的美餐。 人类社会同样存在隐形圈层…...
OpenIPC开源FPV之Channel配置
OpenIPC开源FPV之Channel配置 1. 源由2. 现象3. 硬件3.1 模拟频点3.2 数字频点2.4GHz频段频点表格 (802.11b/g/n):5GHz频段频点表格 (802.11a/n/ac): 4. 分析5. 实验6. 参考资料 1. 源由 无线信号,传输过程中不可避免都会受到干扰。同时,由于在一个开放…...
UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程
一、如何关闭防火墙? 提示:安装软件之前,建议先 关闭防火墙和杀毒软件!!! 文章目录 一、如何关闭防火墙?二、UG NX12.0安装包三、UG NX12.0安装教程1.新建文件夹2.安装JAVA环境3.安装许可证管理…...
【C++】踏上C++学习之旅(三):“我“ 与 “引用“ 的浪漫邂逅
文章目录 前言1. "引用"的概念1.1 "引用"的语法 2. "引用"的特性3. "引用"的使用场景3.1 "引用"做参数3. 2 "引用"做返回值3.2.1 "引用"做返回值时需要注意的点 4. 常引用5. "引用"在底层的实…...
中间件之Seata
一、引言 在微服务架构日益盛行的今天,分布式事务成为了一个必须面对和解决的问题。传统的本地事务已经无法满足分布式环境下的数据一致性需求,因此分布式事务解决方案应运而生。Seata作为一款开源的分布式事务中间件,以其高性能、易用性和灵…...
MySQL 异常: “Host ‘xxx‘ is not allowed to connect to this MySQL server“
update user set host % where user root; FLUSH PRIVILEGES; 这两行代码就行...
c语言中字符串函数strlen,strcmp,strcpy,srtcat,strncpy,strncat,strncmp
1.strlen的使用和模拟实现 strlen 用来求字符串的长度,统计\0之前字符的个数。 模拟实现1:计数参数法 #include<stdio.h> #include<assert.h> size_t my_strlen(char* str) {int count0;assert(str);//assert断言是判断是字符串不能为空w…...
携程线下一面,面试内容:
面试时间:2024/9/12 • 实例方法和静态方法有什么不一样? • Java中的异常有哪几类?分别怎么使用? • 常用的集合类有哪些?比如List如何排序? • ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? • 内存溢出是怎么…...
DeepL翻译:全世界最准确的翻译
DeepL翻译是一款高质量的机器翻译工具,以下从产品描述、产品特色、适用人群、适用场景四个方面对其进行介绍: 体验地址:DeepL翻译:全世界最准确的翻译 产品描述 DeepL是一家德国公司,以其高质量的机器翻译服务而闻名…...
15分钟学Go 实战项目一:命令行工具
实战项目一:命令行工具 1. 引言 命令行工具是开发者常用的工具之一,它可以帮助用户通过命令行界面对程序进行控制和交互。在这节中,我们将创建一个简单的命令行工具,以帮助你理解Go语言的基本语法和如何处理命令行输入。在这个过…...
lesson02 作业
lesson02-01作业 小红的体重是 m 千克,她想知道自己的体重在磅(1 千克约等于 2.20462 磅)是多少 输入描述 输入一个整数表示小红的标准体重m(kg) 输出描述 输出一个整数表示转换后的磅值n 磅 示例 输入: 50 输出:…...
港大和字节提出长视频生成模型Loong,可生成具有一致外观、大运动动态和自然场景过渡的分钟级长视频。
HKU, ByteDance|⭐️ 港大和字节联合提出长视频生成模型Loong,该模型可以生成外观一致、运动动态大、场景过渡自然的分钟级长视频。选择以统一的顺序对文本标记和视频标记进行建模,并使用渐进式短到长训练方案和损失重新加权来克服长视频训练…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...
【java面试】微服务篇
【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...
