计算机组成原理学习笔记-精简复习版

一、计算机系统概述

计算机系统=硬件+软件

计算机硬件的发展:

  • 第一代计算机:(使用电子管)
  • 第二代计算机:(使用晶体管)
  • 第三代计算机:(使用较小规模的集成电路)
  • 第四代计算机:(使用较大规模的集成电路)

冯诺依曼体系结构

在这里插入图片描述

主机:主存、运算器、控制器

外部设备:外存、IO设备等

在这里插入图片描述

五大部分:

<1> 输入设备,是指将外部信息以计算机能读懂的方式输入进来,如键盘,鼠标等

<2> 输出设备,就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印机。

<3> 存储器,存储器分为 主存储器(内存储器,CPU能直接访问)和 辅助存储器(外存储器,协助主存储器记忆更多的信息,辅助存储器的信息需要导入到主存储器中,才可以被CPU访问)。

主存储器的工作方式是按存储单元的地址进行存取,这种存取方式称为按地址存取方式(相联存储器既可以既可以按照地址寻址,又可以按照内容寻址,为了与传统存储器区别,又称为内容寻址的存储器!)

主存储器是由地址寄存器(MAR),数据寄存器(MDR),存储体,时序控制逻辑,地址寄存器存放访存地址,经过地址译码后找到所选的存储单元。数据寄存器,是存储器与其他部件的中介,用于暂存要从存储器读或写的信息。时序控制逻辑用于产生存储器操作所需的各种时序信号。在现代CPU,MAR和MDR是在CPU中的。

在这里插入图片描述

<4> 运算器,是计算机的运算单元,用于算术运算和逻辑运算
运算器的核心单元是算术逻辑单元(ALU)

在这里插入图片描述

<5> 控制器,控制器是计算机的指挥中心,有其指挥各部件自动协调第进行工作,现代计算机将运算器和控制器集成到一个芯片上,合成为中央处理器,简称CPU。有程序计数器(PC)、指令寄存器(IR)和控制单元(CU)。

在这里插入图片描述

一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。CPU和主存储器共同构成主机,而除主机外的其他硬件装置(外存、I/O设备等)统称为外部设备,简称外设。

CPU包含ALU、通用寄存器组GPRs、标志寄存器、控制器、指令寄存器IR、程序计数器PC、存储器地址寄存器MAR和存储器数据寄存器MDR。图中从控制器送出的虚线就是控制信号,可以控制如何修改PC以得到下一条指令的地址,可以控制ALU执行什么运算,可以控制主存是进行读操作还是写操作(读/写控制信号)。
在这里插入图片描述

CPU和主存之间通过一组总线相连,总线中有地址、控制和数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU,根据是读操作还是写操作来控制将MDR中的数据是直接送到数据线上还是将数据线上的数据接收到MDR中。

三种级别的语言

高级语言转换到汇编语言的过程叫做编译,由汇编语言转换到机器语言的过程叫做汇编,边翻译边执行的叫做解析。

机器字长、指令字长、存储字长的区别和联系是什么?

机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的长度。等于MDR的位数, 它们都必须是字节的整数倍。
数据字长:数据总线一次能传送信息的位数,它可以不等于MDR的位数。

二、数据的表示与计算

在这里插入图片描述

三、存储系统

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Cache 高速缓冲存储器

在这里插入图片描述

虚拟存储器(虚拟内存)

在这里插入图片描述

四、指令系统

在这里插入图片描述

五、中央处理器

在这里插入图片描述

六、总线

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现代计算机总线标准多为 PCIE 技术,比如PCIE4.0等

七、IO

在这里插入图片描述
网络IO和磁盘IO等外部IO的耗时都是相当大的,在写代码中应尽可能减少这类IO,并且要关注你的代码对各个硬件的影响(CPU使用率、内存使用率)等。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

FLASH 停止后 IE无法使用

WINDOWS8 WINDOWS10系统下的IE10或者IE11出现 解决方法&#xff1a;打开https://www.flash.cn/

win10 家庭版无法使用IE浏览器

升级window10&#xff08;家庭版之后&#xff09;之后打开IE浏览器&#xff0c;打开照片都提示无法使用内置管理员账户打开&#xff0c;网上查看说打开secpol.msc&#xff0c;提示系统不存在该文件&#xff0c;经过一波周折之后&#xff0c;发现了一个快速解决的方案&#xff0…

单片机基础知识 06 (中断-2)

一. 定时器中断概念 51单片机的内部有两个16位可编程的定时器/计数器&#xff0c;即定时器T0和定时器T1。 52单片机内部多一个T2定时器/计数器。 定时器/计数器的实质是加1计数器&#xff08;16位&#xff09;&#xff0c;由高8位和低8位两个寄存器组成。 TMOD是定时器/计数器…

八大排序算法 (python版本)

八大排序算法 个人学习笔记 如有问题欢迎指正交流快速排序经常考&#xff0c; 如果只掌握一个排序算法的话&#xff0c;首选快速排序算法 八大排序算法通常指的是以下八种经典排序算法&#xff1a; 1. 冒泡排序 (Bubble Sort) 使用场景&#xff1a;适用于小规模数据的排序&a…

Ubuntu 3D桌面

转自http://forum.ubuntu.org.cn/viewtopic.php?f94&t140531 [2010年8月17日更新] Ubuntu Linux 3D桌面完全教程&#xff0c;显卡驱动安装方法&#xff0c;compiz特效介绍&#xff0c;常见问题解答。 本教程的前身是一善鱼编写并发布在Ubuntu中文论坛forum.ubuntu.org.cn3…

xendesktop更新计算机,XenDesktop7.12发布Win10周年更新版桌面

在上一篇XenCenter配置的资源池的基础上&#xff0c;本篇将使用该资源池作为基础环境搭建XenDesktop7.12发布Win10周年更新版桌面&#xff0c;XenDesktop7.12是上个月(2016年12月)才发布的版本&#xff0c;是目前最新版。本篇的主要内容包括&#xff1a;XenDesktop7.12安装、创…

2020网吧无盘服务器配置,云更新 2020.5.15.14195_x64 | 专业网吧维护

重点功能&#xff1a; 1.增强软件安全性 2.优化无盘启动&#xff0c;支持BIOS、UEFI、通用镜像自动适配 3.增加镜像转换工具&#xff0c;支持将BIOS或UEFI镜像转换为通用镜像 4.增加显卡纹理质量和低延迟模式的设置 其他更新&#xff1a; 5.优化显示器信息采集功能 6.优化控制台…

BM80 买卖股票的最好时机(一)

目录 1.题目描述 2.题目分析 3.编写代码 4.总结 这是牛客网上的一道题目 1.题目描述 题目链接&#xff1a;买卖股票的最好时机(一)_牛客题霸_牛客网 (nowcoder.com) 2.题目分析 我们看到这个题目中一个数组表示每一天的股价&#xff0c;那么最大利润怎么算呢&#xff0c…

MFC界面库

好东西&#xff0c;果断收藏 刚开始用C做界面的时候&#xff0c;根本不知道怎么用简陋的MFC控件做出比较美观的界面&#xff0c;后来就开始逐渐接触到BCG Xtreme ToolkitPro v15.0.1&#xff0c;Skin,等界面库&#xff0c;以及一些网友自己写的界面库&#xff0c;开始对于C软件…

android开源库合集

android开源库合集 1、阿里巴巴开源的自定义viewpager&#xff0c;支持多重动画&#xff0c;横向纵向&#xff0c;多页面显示 项目地址&#xff1a;https://github.com/alibaba/UltraViewPager 2、android版本更新功能。使用retrfit2 rxjava2 okhttp3实现多文件多线程下载&am…

10个前端动画库让你的交互更加炫酷

Animate.css animate.css 是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单。 GitHub:github.com/animate-css… Hover.css Hover.css 是一套基于 CSS3 的鼠标悬停效果和动画,这些可以非常轻松的被应用到按钮、LOGO 以及图…

VUE 常用炫酷动画库(拿来即用系列)

目录 打字机效果Vue动画库 代码示例 效果 炫酷背景动画库 代码示例 效果 打字机效果Vue动画库 npm install vue-typical 代码示例 <template><div><v-typicalclass"blink":steps"[Hello, 1000, Hello World !, 600, Hello World ! &#…

NPM酷库:lru-cache 基于内存的缓存管理

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 为了优化程序性能&#xff0c;我们常常需要奖数据缓存起来&#xff0c;根据实际情况&#xff0c;我们可以将数据存储到磁盘、数据库、redis等。 但是有时候要缓存的数据量非常小&#xff0c;或者项目规模非常小&…

NPM酷库:jsdom,纯JS实现的DOM

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 昨天认识了一个在Node.js环境下操作HTML的库 cheerio&#xff0c;cheerio实现了jQuery接口&#xff0c;用起来十分方便。为什么不直接用jQuery呢&#xff1f;因为Node.js环境中没有实现DOM对象。 jsdom 今天&…

NPM酷库:string-random,生成随机字符串

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 昨天&#xff0c;我们了解了如何使用uuid库快速生成UUID&#xff0c;UUID适用于分布式应用中ID的生成&#xff0c;因为UUID足够长&#xff0c;所以碰撞几率非常低。 此外&#xff0c;我们在很多时候不需要生成像…

NPM酷库:vm2,安全的沙箱环境

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 今天我们要了解的库是 vm2&#xff0c;则是一个Node.js 官方 vm 库的替代品&#xff0c;主要解决了安全问题。 不安全的vm 在Node.js官方标准库中有一个vm库&#xff0c;用来在V8虚拟机环境中编译执行JS代码。通…

NPM酷库:uuid,生成随机ID

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 在中心化应用中&#xff0c;数据记录的ID往往是数据库生成的自增ID&#xff0c;但是在分布式应用中&#xff0c;就会存在一些问题&#xff1a; 保存数据之前就需要给数据标识ID数据规模超级大&#xff0c;中央数…

NPM酷库:chokidar监视文件变化

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 像 webpack / grunt /gulp 等工具都提供watch模式&#xff0c;当磁盘文件变化后自动重新运行打包。今天我们要学习的chokidar就是一款专门用于文件监控的库。 Node.js 标准库 其实Node.js 标准库中提供 fs.watch…

这几十个前端炫酷库你都知道吗?

茶已备好&#xff0c;只待君来&#xff01;感谢关注 前端点线面 (>‿<&#xff09;&#xff0c;本号定期推荐原创深度好文&#xff0c;帮助每一位在前端领域打拼的伙伴们走向前列&#xff0c;此外关注我获取最前沿知识点、海量学习资料、《前端百题斩》、大量思维导图&am…

NPM酷库:ip,IP地址处理

NPM酷库&#xff0c;每天两分钟&#xff0c;了解一个流行NPM库。 今天我们来了解一个专门用来处理IP地址的库&#xff1a;ip&#xff0c;ip库能够获取本机IP地址、比较、转换、掩码/子网计算等各种和网络IP相关的操作&#xff1a; const ip require(ip);// 获取本机网卡IP ip.…