计算机系统及组成原理
文章平均质量分 86
剖析计算机系统及软硬件相关知识点。
Gene_INNOCENT
Wait for the sunrise!
展开
-
常用 linux shell 命令
【代码】常用 linux shell 命令。原创 2022-09-18 15:43:37 · 242 阅读 · 0 评论 -
操作系统课设 Nachos 实验六、七、八:Nachos 用户程序与系统调用、地址空间的扩展、系统调用 Exec() 与 Exit()
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。文章目录前言一、实验基础信息1.1 实验信息1.2 实验目的1.2.1 实验六1.2.2 实验七1.2.3 实验八1.3 实验任务1.3.1 实验六1.3.2 实验七1.3.3 实验八二、实验基本方法2.1 运行 Nachos 应用程序的方法2.2 Nachos 应用程序2.3 页表2.4 用户进程的创建与启动2.4.1 StartProcess 函数2.4.2 Instructi原创 2020-08-19 16:20:12 · 9565 阅读 · 5 评论 -
操作系统课设 Nachos 实验四、五:Nachos 的文件系统、扩展 Nachos 的文件系统
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。文章目录前言一、实验基础信息实验信息实验目的实验任务二、实验基本方法2.1 Nachos 的硬盘及文件系统2.2 Nachos 的文件系统命令2.3 两个 UNIX 命令2.4 Nachos 文件系统的删除操作2.5 DISK 文件的创建2.6 Openfile::WriteAt() 函数三、源代码及注释3.1 fstest.cc3.2 OpenFile3.3 FileSystem原创 2020-08-19 12:24:39 · 4574 阅读 · 0 评论 -
操作系统课设 Nachos 实验三:利用信号量实现线程同步
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。文章目录前言一、实验基础信息实验信息实验目的实验任务二、实验基本方法(1)信号量(2)生产者/消费者问题(3)命令行参数(4)Initialize 函数(5)SimpleThread(6)monitor/prodcons++.cc(7)Thread::Yield()(8)Thread::Sleep()(9)Thread::Finish()(10)Scheduler::ReadyTo原创 2020-08-19 12:04:08 · 3765 阅读 · 1 评论 -
操作系统课设 Nachos 实验二:Nachos 的 Makefiles
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。文章目录前言一、实验基础信息实验信息实验任务二、实验基本方法1. makefile 文件结构2. Makefile 文件3. Makefile.local 文件4. Makefile.dep 文件5. Makefile.common 文件vpath.s / .o / .cc 文件存放路径生成 nachos 可执行文件touch 命令grep 命令三、源代码及注释四、实验测试方法及结原创 2020-08-19 11:58:14 · 1693 阅读 · 0 评论 -
操作系统课设 Nachos 实验一:Nachos 系统的安装与调试
前言如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。文章目录前言一、实验基础信息实验信息实验任务二、实验基本方法常见 gdbgdbgdb 调试命令涉及的汇编内容三、源代码及注释四、实验测试方法及结果1. 安装 Nachos 系统2. gcc MIPS 交叉编译器的安装与测试(1)安装 gcc MIPS 交叉编译器(2)测试 gcc MIPS 交叉编译器(3)为什么 nachos-3.4.tar.gz 一定要安装在 /usr/loca原创 2020-08-19 11:49:47 · 5889 阅读 · 0 评论 -
计算机操作系统详细学习笔记(六):并发程序设计
文章目录六、并发程序设计6.1 并发进程6.1.1 并发程序设计6.1.2 并发程序设计6.2 临界区6.2.1 临界区概念6.2.2 临界区两个错误尝试6.2.3 TS 指令(不可行)6.2.4 临界区开关中断(不可行)6.2.5 PV 操作(信号量)6.3 进程同步6.3.1 生产者消费者问题概述6.3.2 1生产,1消费,1缓冲6.3.3 1生产,1消费,N缓冲6.3.4 N生产,N消费,N缓冲6.3.5 苹果橘子问题6.4 管程6.4.1 管程概念6.4.2 霍尔管程6.4.3 哲学家问题6.4.4原创 2020-08-17 09:45:54 · 723 阅读 · 0 评论 -
计算机操作系统详细学习笔记(五):文件管理
文章目录五、设备管理 —— 文件管理5.1 文件的概念5.1.1 文件概述5.1.2 文件分类5.1.3 文件优点5.2 文件系统及其功能5.2.1 文件系统的概念5.2.2 文件系统的功能5.2.3 文件系统的组成5.3 文件的存储5.3.1 卷和块5.3.2 顺序存取存储设备5.3.3 直接存取存储设备5.4 文件的逻辑结构5.4.1 逻辑文件概念5.4.2 流式文件5.4.3 记录式文件5.5 文件的物理结构5.5.1 物理结构概念5.5.2 顺序文件5.5.3 连接文件5.5.4 直接文件5.5.5原创 2020-08-17 09:33:14 · 859 阅读 · 0 评论 -
计算机操作系统详细学习笔记(四):设备管理 —— I/O 管理
文章目录四、设备管理 —— I/O 管理4.1 设备管理概述4.1.1 I/O 设备4.1.2 设备管理4.2 I/O 控制方式4.2.1 设备控制器4.2.2 轮询方式4.2.3 中断方式4.2.4 DMA 方式4.2.5 三类 I/O 控制方式总结4.2.6 I/O 通道4.3 总线与 I/O4.3.1 总线概述4.3.2 单总线4.3.3 传统的三级总线4.3.4 采用南北桥的多级总线4.3.5 采用 I/O 通道的多级总线4.4 I/O 软件的实现层次4.4.1 I/O 软件设计4.4.2 I/O原创 2020-08-17 09:17:06 · 1310 阅读 · 0 评论 -
计算机操作系统详细学习笔记(三):存储管理
文章目录三、存储管理3.1 存储管理的主要模式3.1.1 逻辑地址3.1.2 物理地址3.1.3 存储管理的基本模式3.2 存储管理的功能3.2.1 地址转换3.2.2 主存分配与去配3.2.3 主存空间共享3.2.4 存储保护3.2.5 主存扩充3.3 虚拟存储器的概念3.3.1 提出原因3.3.2 实现目标3.3.3 实现方法3.4 存储管理的硬件支撑3.4.1 存储器组织层次3.4.2 不同存储对象的存储层次3.4.3 存储管理的硬件支撑3.5 单连续分区存储管理3.5.1 单连续分区概念3.5.2原创 2020-08-17 08:54:19 · 992 阅读 · 0 评论 -
计算机操作系统详细学习笔记(二):处理器管理
文章目录二、处理器管理2.1 处理器与寄存器2.1.1 处理器2.1.2 寄存器2.1.3 程序状态字(PSW)2.2 指令与处理器模式2.2.1 机器指令2.2.2 指令执行过程2.2.3 特权指令与非特权指令2.2.4 处理器模式2.2.5 模式切换2.3 中断2.3.1 中断的概念2.4 中断源2.5 中断系统2.5.1 中断系统概述2.5.2 中断装置2.5.3 中断控制器2.5.4 陷阱与系统陷阱2.5.5 中断响应过程2.5.6 中断的处理2.5.7 中断系统处理流程2.6 多中断的响应与处理2原创 2020-08-17 08:37:53 · 1004 阅读 · 0 评论 -
计算机操作系统详细学习笔记(一):计算机操作系统概述
文章目录一、计算机操作系统概述1.1 计算机系统概述1.1.1 计算机发展历史1.1.2 计算机系统的组成1.2 计算机硬件系统1.2.1 计算机硬件系统的组成1.2.2 储存程序计算机1.2.3 总线及其组成1.2.4 中央处理器(CPU)1.2.5 存储器的组织层次1.2.6 外围设备及其控制1.3 计算机软件系统1.3.1 计算机软件系统的组成1.3.2 程序员的计算机系统视图1.3.3 计算机程序的执行过程1.4 计算机操作技术的发展1.4.1 计算机的手工操作1.4.2 装入程序的引进1.4.3原创 2020-08-16 09:47:09 · 2225 阅读 · 0 评论 -
计算机组成原理完整学习笔记(八):控制器设计
文章目录第八章 控制器设计8.1 组合逻辑控制器8.1.1 操作码译码8.1.2 微操作设计概述8.1.3 (1) 指令周期微操作节拍安排8.1.4 (2) 绘制操作时间表8.1.5 (3) 设计微操作命令的最简逻辑表达式8.1.6 (4) 设计微操作命令的逻辑图8.1.7 (5) 综合优化8.2 微程序控制器工作原理8.2.1 微程序设计概述8.2.2 微程序工作原理8.2.3 微程序工作流程8.2.3 微程序设计特点总结8.3 微程序控制器设计方法8.3.1 微指令的编码方式8.3.2 微指令序列地址的原创 2020-08-16 09:39:42 · 1477 阅读 · 0 评论 -
计算机组成原理完整学习笔记(七):CPU 的结构与功能
文章目录第七章 CPU 的结构与功能7.1 控制器概述7.1.1 控制器的功能7.1.2 指令周期7.1.3 机器周期7.1.4 时钟周期7.1.5 多级时序系统7.1.6 超线程技术与双核处理器7.2 指令周期的操作命令分析7.2.1 取指周期7.2.2 间址周期7.2.3 执行周期7.2.4 中断周期7.2.5 指令执行的完整分析7.3 流水线技术7.3.1 指令的二级流水7.3.2 指令的六级流水7.3.3 流水线性能7.3.4 流水线的相关问题7.3.5 提高机器速度的方法7.3.6 流水线的多发技原创 2020-08-16 09:29:50 · 808 阅读 · 0 评论 -
计算机组成原理完整学习笔记(六):指令系统
文章目录第六章 指令系统6.1 指令系统概述6.1.1 指令系统6.1.2 机器指令格式6.1.3 操作码设计举例6.1.3 指令字长6.2 操作类型6.2.1 数据传送类指令6.2.2 运算类指令6.2.3 移位指令6.2.4 转移指令6.2.5 输入输出指令6.2.6 其他指令6.3 数据寻址方式6.3.1 立即寻址6.3.2 直接寻址6.3.3 隐含寻址6.3.4 间接寻址6.3.5 寄存器寻址6.3.6 寄存器间接寻址6.3.7 基址寻址6.3.8 变址寻址6.3.9 相对寻址6.3.10 堆栈寻址原创 2020-08-16 09:16:56 · 976 阅读 · 0 评论 -
计算机组成原理完整学习笔记(五):计算方法
文章目录第五章 计算方法5.1 机器数表示方法5.1.1 数的原码表示5.1.2 数的补码表示5.1.3 数的移码表示5.1.4 各机器数表示总结5.2 定点数与浮点数5.2.1 定点数5.2.2 浮点数5.3 定点数移位和加减法运算5.3.1 定点数移位运算5.3.2 定点数加减法及溢出判断5.4 定点数乘除法运算5.4.1 定点数乘法运算5.4.2 定点数除法运算5.5 浮点数运算5.5.1 浮点加减运算步骤5.5.2 对阶5.5.3 尾数加/减运算5.5.4 尾数规格化5.5.5 舍入5.5.6 判断原创 2020-08-16 09:11:17 · 1096 阅读 · 1 评论 -
计算机组成原理完整学习笔记(四):输入输出系统
文章目录第四章 输入输出系统4.1 输入输出概述4.1.1 输入输出系统的组成4.1.2 I/O 接口4.1.3 I/O 设备编址方式4.1.4 I/O 设备与主机的连接方式4.2 程序中断方式4.2.1 中断过程4.2.2 中断源4.2.3 中断接口电路4.2.4 中断工作方式4.2.5 中断处理过程4.2.6 中断屏蔽技术4.3 DMA 工作方式4.3.1 DMA 与中断的比较4.3.2 DMA 接口4.3.3 DMA 的工作过程4.3.4 DMA 与中断方式的比较4.3.5 DMA 与主存交换数据的三原创 2020-08-16 08:56:01 · 927 阅读 · 0 评论 -
计算机组成原理完整学习笔记(三):存储器
文章目录第三章 存储器3.1 半导体存储器概述3.1.1 半导体存储芯片基本结构3.1.2 半导体芯片的译码驱动3.1.3 主存的技术指标3.1.4 存储器分类3.2 静态随机存储器(Cache)3.2.1 MOS 管3.2.2 基本单元电路3.2.3 基本单元电路举例3.3 动态随机存储器3.3.1 三管动态随机存储器3.3.2 单管动态随机存储器3.3.3 动态随机存储器缺陷3.3.4 刷新3.3.5 引脚复用技术3.4 存储器的扩展方式3.4.1 字扩展3.4.2 位扩展3.4.3 字、位扩展3.5原创 2020-08-16 08:46:00 · 901 阅读 · 2 评论 -
计算机组成原理完整学习笔记(二):系统总线
文章目录第二章 系统总线2.1 总线概述2.1.1 总线的基本概念2.1.2 系统总线2.2 总线结构2.2.1 单总线结构2.2.2 双总线结构2.2.3 三总线结构2.2.4 四总线结构2.3 总线标准2.3.1 概念2.3.2 常见总线标准2.4 总线分类2.4.1 片内总线2.4.2 系统总线2.4.3 通信总线2.5 总线特性及性能指标2.5.1 总线物理实现2.5.2 总线特性2.5.3 总线性能指标2.6 总线判优逻辑2.6.1 基础概念2.6.2 总线判优2.6.3 链式查询方式2.6.4原创 2020-08-16 08:37:57 · 747 阅读 · 0 评论 -
计算机组成原理完整学习笔记(一):计算机系统概论
文章目录第一章 计算机系统概论1.1 课程导学1.1.1 为什么要学习计组?1.1.2 如何才能学好计组?1.1.3 全书知识点概括1.1.4 本章知识点概括1.1.4 书本推荐1.2 冯·诺伊曼计算机结构1.2.1 冯·诺伊曼1.2.2 冯·诺伊曼计算机的工作原理1.2.3 冯·诺伊曼计算机的硬件结构1.2.4 冯·诺伊曼计算机的软件结构1.2.5 冯·诺伊曼计算机层次结构1.2.6 冯·诺伊曼计算机的工作过程1.2.7 主存储器的构成1.2.8 运算器的组成1.2.9 控制器的组成1.2.10 指令执行原创 2020-08-16 08:27:52 · 838 阅读 · 0 评论 -
动手设计 CPU(三)—— 微程序控制的存储器读写系统设计
一、架构设计在设计完第一个练习架构 — 微程序控制的运算器设计 之后,我们进入了第二个架构的设计过程 — 微程序控制的存储器读写系统设计,接下来我们来探讨一下如何进行实现。下图为我们将要设计的微程序控制的运算器的整体架构。根据上述的架构,我们暂用下述的指令进行设计。上述架构的整体逻辑是,uPC+CROM+uIR 选出一个指令,然后根据 XPC 与 XMAR 两个信号从数据选择器中选出 ...原创 2020-03-11 18:48:48 · 4896 阅读 · 2 评论 -
动手设计 CPU(二)—— 微程序控制的运算器
一、架构设计在正式开始设计 CPU 之前,我们需要设计两个架构来熟悉一下整个环境以及完成一些小的功能部件。两个架构分别是:微程序控制的运算器设计微程序控制的存储器读写系统设计本篇文章主要探讨如何设计第一个架构。下图即为我们将要设计的 微程序控制的运算器 的整体架构。由于我们还没有正式开始设计 CPU 的指令,因此暂时用下述的指令进行设计。至此,我们应该可以大体明白这个架构设计...原创 2020-03-11 16:43:18 · 5428 阅读 · 0 评论 -
动手设计 CPU(一)—— 各类元件功能表
本文将列举在动手设计 CPU 系列中使用到的各类元件真值表,并持续更新。74181 — ALU原创 2020-03-11 14:26:38 · 5384 阅读 · 0 评论 -
程序内存分配概述
五类内存1.栈区(stackstackstack)主要存放函数参数值、函数局部变量等。典型操作是子程序调用时,子程序不断占用栈内存,而子程序也正是利用了栈先入后出的特性实现了子程序调用的功能。栈空间从高地址向低地址延伸,是一块连续的内存空间,且是一块非共享区域。2.堆区(heapheapheap)由程序员进行申请与释放,如 newnewnew、deletedeletedelete...原创 2019-10-09 18:05:45 · 282 阅读 · 0 评论 -
计算机中十类指令寻址方式总结
数据寻址方式数据寻址有多种,需要在指令中明确指出采用哪一种寻址方式,可以专门设置一个寻址方式特征字段,或纳入地址码中。形式地址 AAA: 指令字中的地址有效地址 EAEAEA: 操作数的真实地址有效地址由形式地址根据寻址方式来确定。在大多数机器中,指令字长 = 存储字长 = 机器字长。一、立即寻址又称为立即数寻址,即指令中的形式地址部分不是一个操作数的地址,而是操作数本身,因此该...原创 2019-12-27 01:19:47 · 4963 阅读 · 0 评论 -
一次性掌握计算机中常见的六类指令
一、数据传送类指令数据传送类指令主要分为 “源地址” 和 “目的地址” 两个部分。寄存器-寄存器 MOVMOVMOV AX,BXAX, BXAX,BX寄存器-存储器 MOVMOVMOV [20],AX[20], AX[20],AX(STORESTORESTORE 指令)存储器-寄存器 MOVMOVMOV AX,[20]AX, [20]AX,[20](LOADLOADLOAD指令)存储器...原创 2019-12-27 01:03:05 · 2290 阅读 · 2 评论 -
多核、多处理器、并发、并行、超线程概念总结
多核与多处理器多核(MulticoreMulticoreMulticore)多核处理器就是指单个 CPU 中有多个可执行单元。如下图所示,单个 CPU 中有两套可执行单元。多处理器(MultiprocessorMultiprocessorMultiprocessor)多处理器系统则是一个拥有多个 CPU 的系统。每个 CPU 中也可能有多个核。如下图所示,一个系统中拥有 nn...原创 2019-12-27 00:49:25 · 3428 阅读 · 0 评论