计算机组成原理一句话

server/2024/10/23 20:10:45/

image-20241022001654657

文章目录

  • 计算机系统概述
  • 存储系统
  • 指令系统

计算机系统概述

指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。

完整的计算机系统包括,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机器一定采用指令流水线,大部分指令在一个时钟周期内完成。


http://www.ppmy.cn/server/134245.html

相关文章

计算机专业大学四年的学习路线(非常详细),零基础入门到精通,看这一篇就够了

前言 许多学子选择踏上计算机这条充满挑战与机遇的道路。但在大学四年中,如何规划自己的学习路线,才能在毕业时脱颖而出,成为行业的佼佼者呢? 第一学年:基础知识的奠基 1.1 课程安排 在大学的第一年,重…

写 R 包教程

R R 包开发 | 保姆级教程-CSDN博客 https://www.prestevez.com/post/r-package-tutorial/ 1、加载开发所需 R 包 library(usethis) library(devtools) library(roxygen2) 2、在当前工作路径创建 R 包 usethis::create_package("myRpkg") # 在当前路径创建 my…

网易面试:请设计一个高可用性的软件架构,说明设计思路

有一位粉丝留言说,他前几年面试网易的研发时,面试官问到这样一个问题:**你怎么设计一个高可用性的架构?**当时这位粉丝列举了集群、数据库主从等方面,但是没有说全,面试结果不理想。应这位粉丝的要求&#…

TCP 全连接队列与 tcpdump 抓包

TCP 相关实验 理解 listen 的第二个参数 基于刚才封装的 TcpSocket 实现以下测试代码对于服务器, listen 的第二个参数设置为 1, 并且不调用 accept test_server.cc C #include "tcp_socket.hpp" int main(int argc, char* argv[]) {if (argc ! 3) {printf("…

`RunUMAP` 函数在 Seurat 中可以使用不同的数据进行计算

RunUMAP 函数在 Seurat 中可以使用不同的数据进行计算,具体取决于您传递给它的参数。即使没有显式地运行 FindNeighbors,RunUMAP 仍然可以计算 UMAP,因为它会自动构建邻居图(neighbor graph)。以下是详细解释&#xff…

Ubuntu20.04安装MySQL 设置root远程登录权限

1、查看版本 lsb_release -a 2、安装Mysql sudo apt update sudo apt install mysql-server 2.1、 常用命令 2.1.1、查看状态 sudo systemctl status mysql 2.1.2、停止服务 sudo systemctl stop mysql sudo systemctl status mysql 2.1.3、启用服务 sudo service mysql star…

复习:React 中的 Diff 算法,原理是什么

React中的Diff算法,其原理主要用于比较新旧虚拟DOM树的差异,并生成更新补丁以最小化DOM操作。以下是React Diff算法原理的详细解释: 一、Diff算法的基本概念 Diff算法,即差异查找算法,在React中主要用于计算虚拟DOM中真正变化的部分,并只针对该部分进行原生DOM操作,而…

[申请] 准备 2024.10.20

📝 准备工作细节 具体的申请准备内容: 推荐信:选择合适的推荐人至关重要!教授与你的关系、学术匹配度、他/她的影响力都是需要考虑的因素。要问自己几个问题,比如: 哪位教授对我的工作印象深刻&#xff1…