计算机组成原理:6、高速缓冲存储器

概述 为何使用Cache CPU速度太快了 解决CPU空等问题,但是需要保证的是大多数的数据和指令都在cache中。 程序访问局部性原理 时间局部性:当前正在使用的指令和数据,在不久的将来还会被使用。那么这些数据和指令需要放到cache。 空间局部性:当前正在使用的指令或者数据的相邻的指令或者数据在不久的将来会被使用,那么把当前使用的和相邻的数据和指令放到cache。...

计算机组成原理:5、主存储器

一、概述 1、基本构成 结合上图总结一下之前的数据读取的操作 CPU在第一个时钟周期时通过地址总线发出要取数据的地址,这个地址是指的存储单元的地址。 MAR收到后,经过译码器得到指定的存储单元。 CPU在第二个时钟周期时通过控制总线讲读指令发送到主存储器 控制电路根据信令来操作读写电路 将之前得到主存储器地址...

Unity ECS:C# Job System文档总结

背景、初衷、目标 出现的背景、初衷就是:天下苦无多线程久已 当然这个说法要进一步的约束,首先unity中可以编写多线程代码,但是最大的问题是多线程中无法使用unity API,当然也无法修改component中的数据了。 目前来看似乎这个技术就是为了能够让开发者使用multithread来操作unity API和component 数据。 优势和劣势 多线程就是优势 ...

计算机组成原理:4、存储器概述

分类 按照介质 按照存取方式 存取时间与物理地址无关(随机访问) 随机存储器(RAM): 在程序执行过程中可以读写 制度存储器(ROM):在程序执行过程中只能读 存取时间与物理地址有关(串行访问) 顺序存...

计算机组成原理:3、总线

概要 总线(bus):是连接各个部件的信息传输线,是各个部件共享的传输介质。 一条总线是总是主模块向从模块发出地址和命令,但是在分离式通信时是没有从模块的。 总线解决的是什么问题? 计算机的不同模块需要用线连接起来,如果采用分散连接(两两连接)那么需要的线路太多,都设计在电路板上难度太大,而且设备的连接接口太多。 分散连接还存在一个扩展困难的问题,如果新加一个接口就要...

计算机组成原理:2、基本组成

冯·诺依曼计算机基本概念 本文中的内存结构只是课程中用到的一个特定的机器的设计,并非所有的计算机都是这样的。 现在的计算机都是程序存储计算机,也就是冯诺依曼计算机。 特点: 计算机有五大部件组成:输入、输出、控制器(CU)、运算器(ALU)、存储器(主存、辅存) 指令和数据以同等地位存于存储器中,按地址寻访。 指令和数据按照...

计算机组成原理:1、组成原理到底研究的什么

这是对哈尔滨工业大学网络课程《计算机组成原理》的笔记 计算机系统层次从程序的角度看分为下面5层: 高级语言层:Java、C、C++、C#等,需要编程成机器语言 汇编层:也需要编译成机器语言,符号语言和机器语言的指令基本是一一对应的。 操作系统:提供机器语言与编程语言的 机器语言:就是计算机所提供的语言了,根据地址从存储...

Unity人工智能游戏开发笔记

前言 本着学习一下游戏AI开发的目的看了书,总体来说本书涉及的技术比较浅显,但是胜在面面俱到,很适合没有做过AI开发的同学。 但是本书关于模糊逻辑部分非常坑,令人发指。 概要内容 FSM 有限状态机算是最简单的一种AI的实现,它的核心是状态,逻辑运算的结果表现为状态的变化。主要包含三个要点: 转换:状态间的关系 规则:触发某一状态转换 ...

开发ECS style项目的思考

概述 这篇文章是近期在学习Entitas时对于ECS的进一步思考 其中会包含在使用ECS时需要注意的一些重要原则 这些原则在使用Entitas时如何实现 这篇文章不会讲Entitas的具体代码和功能,这需要每个使用者自己去看源码和demo。 ECS的使用原则 数据驱动一切 ECS的目的就是将数据与行为进行解耦,而ECS中行为(System)的执行是依赖于数据(...

游戏设计模式读书笔记:游戏循环

游戏循环 游戏循环是一个游戏系统中最为关键的环节,可以说只要开发游戏就会用到这个模式,只不过它很多时候已经被集成到了引擎当中。在使用Unity引擎的过程中,可以体会到一个游戏中所有的表现都依赖于循环。 不同于传统软件循环中只等待输入的情况,一个游戏循环在游玩中不断运行。每一次循环,它无阻塞地处理玩家输入,更新游戏状态,渲染游戏。它追踪时间的消耗并控制游戏的速度。 有时候在某个平...