cpu设计-->机器结构决定的基本动作

由各种电子设备组织到一起,就形成了一种叫做机器的东西。本质上说,CPU 就是一种机器。机器的动作不像人那么复杂,因而总是可以划分出它的最简单动作。这种最简单的动作,我们不妨称之为基本动作。从图 3 1的结构我们可以看到,数据和地址信号可以通过总线BUS进行双向传递,控制信号一般只能由控制器Control向其他部件传输,只有少数的标志信号,如累加器da为0标志线zf,累加器da为负数的标志线nf等,是通过专线向控制器传输的,它们直接影响控制器Control的控制信号的输出。CPU向外输出数据必需通过特定的寄存器,数据只有进入输出寄存器out,才能向外界传输出。这个机器不论进行一次运算,还是进行一次数据传输,任何一个变化,都是一个动作。如果这个动作不能再划分出组成它的动作来,那么就是一个基本动作。CPU的每一个基本动作完成之后,我们就称之进入了一种基本状态。对于一个机器来说,基本状态是不能够划分的。

根据图 3-1实际结构,我们可以归纳出它的一些基本动作:

  1. pc+1;
  2. mar+1;
  3. da+1或da-1;
  4. irom送control;
  5. control分析出来的指令地址送pc;
  6. da送A;
  7. dram送da;
  8. dram送B;
  9. dram送out;

……

你完全可以自己去寻找图 3 1这个结构的其他基本动作。这个结构有没有不能实现的动作?当然有。例如,“将da的值写入irom”对于这个结构就是不能够完成的动作。

总之,CPU这种机器从一种基本状态变化到另一种基本状态,就是一个基本动作。研究一种固定机器结构的基本动作,才能够进而组织这个机器结构所能够完成的一些功能,从而找到完成某一方面任务的基本方法。

时间: 2024-10-04 19:34:37

cpu设计-->机器结构决定的基本动作的相关文章

cpu设计-->将基本动作组织成指令

将连接好的器件结构的基本动作进行适当地组织,就可以完成一些稍微复杂一点的功能,这些功能用特定的名称表达出来,就是我们所说的指令. 我们想设计一个数据通过指令给出,能够完成算术运算,并能将运算结果送到寄存器out输出的CPU.根据这个任务目标的需要,我们可以对图 3-1的结构设计出下面一些基本功能指令. (1)将dram的数取出送到da: (2)将dram的数取出送到out输出: (3)将dram的数与da的数相加,结果放在da: (4)将dram的数与da的数相减,结果放在da: (5)将dra

cpu设计-->cpu指令设计与全程逻辑分析

CPU指令设计,除了命名之外,更重要的是分析出指令如何才能够实现.对于图 3 1的CPU结构,如果指令是预先放到irom里的,那么,指令执行时要一条一条地从irom取出来,放到ir指令寄存器中,提供给control进行分析执行.每一条指令如何转变成机器动作,CPU的设计者必须认真地进行分析和规划.这一过程叫指令全程动作分析,简称指令全程分析. 我们针对图 3-1的结构,可以尝试设计一些用符号表示的汇编指令,然后对这些汇编指令如何实现,进行细致地分析.汇编指令的二进制数表示就是机器指令.汇编指令和

算法初级面试题05——哈希函数/表、生成多个哈希函数、哈希扩容、利用哈希分流找出大文件的重复内容、设计RandomPool结构、布隆过滤器、一致性哈希、并查集、岛问题

今天主要讨论:哈希函数.哈希表.布隆过滤器.一致性哈希.并查集的介绍和应用. 题目一 认识哈希函数和哈希表 1.输入无限大 2.输出有限的S集合 3.输入什么就输出什么 4.会发生哈希碰撞 5.会均匀分布,哈希函数的离散性,打乱输入规律 public class Code_01_HashMap { public static void main(String[] args) { HashMap<String, String> map = new HashMap<>(); map.p

CSS基础(1) - 设计代码结构

本章内容: 设计代码结构 有意义的文档的重要性 命名约定 什么时候使用ID和类名 微格式 HTML CSS的不同版本 文档类型 DOCTYPE切换和浏览器模式 1.类名区分大小写 2.类名的过度依赖 3.DIV和SPAN DIV是有语义的代表division.他可以将文档分为几个有意义的区域. SPAN 可以将行内元素分组 4.微格式 概念:源自网络 微格式按照某种已有的被广泛应用的标准,通过对内容块的语义标记,可以让外部应用程序.聚合程序和搜索引擎能够做以 下事情: 在爬取Web内容时,能够更

CPU的硬件结构和汇编语言

(已更正) 这个问题包括CPU的硬件结构和汇编语言的范畴. 这里梳理一下. 首先, 题主"李建国"自问自答的部分说的是正确的, CPU的指令集是软件与CPU这两个层级之间的接口, 而CPU自己, 就是对于这一套CPU指令集的"实例化". 无论处于上层的软件多么的高级, 想要在CPU执行, 就必须被翻译成"机器码", 翻译这个工作由编译器来执行. 编译器在这个过程中, 要经过"编译", "汇编", "

基于模型机的Micro cpu设计

第一章    模型机基本结构 由功能分析, 本次组成原理实验中设计的模型机包含下面这些部件:算术逻辑运算部件(ALU).程序计数器(PC).指令寄存器(IR).存储器(RAM).时序和微程序控制部件.模型机的数据通路为单总线结构,总线宽度为8位. 第二章    设计思想 1.基于状态机的模型机 如图1所示,整体模型机的设计采用了状态机的思想,将cpu的取指令.指令译码.指令执行所对应的操作拆分到各个状态中,并由此设计模型机的微操作. 图1 - 时钟控制信号状态机模型示意图 2.周期.节拍.脉冲制

多周期CPU设计

------更新一下bug(测试代码有毒)------- 和单周期CPU的设计相同,都是为了实现一系列的指令功能,但需要指出的是何为多周期(注意与前面写道的单周期的区别,这也是设计的关键之处) 多周期CPU指的是将整个CPU的执行过程分成几个阶段,每个阶段用一个时钟去完成,然后开始下一条指令的执行,而每种指令执行时所用的时钟数不尽相同,这就是所谓的多周期CPU. 理解完多周期与单周期的区别后,开始我们的多周期CPU设计之路(可以随时对应单周期的设计,注意联系与区别). 需要设计的指令及格式如下:

哈希算法简单回顾 + 设计RandomPool结构

哈希回顾 比较重要的性质: 不可逆:当你知道x的HASH值,无法求出x: 无冲突:当你知道x,无法求出一个y, 使x与y的HASH值相同 1 # 哈希特征: 2 # 1.输入无限 3 # 2.输出有穷 4 # 3.输入相同==>输出必相同 5 # 4.可能存在不同的输入结果输出一样 ==> 哈希碰撞 6 # 5.输入样本够大,在输出样本上几乎均匀分布 ==> 散列 7 # md 5 桶结构 hashcode模n ===> 在0--n-1上均匀分布 8 9 # 设计RandomPoo

java建站系统开发教程系列之设计表结构

java建站系统开发教程系列之设计表结构 根据需求设计表结构如下: SET FOREIGN_KEY_CHECKS=0; -- Table structure for tbl_articles -- ---------------------------- DROP TABLE IF EXISTS tbl_articles; CREATE TABLE tbl_articles ( id int(11) NOT NULL AUTO_INCREMENT, cid int(11) DEFAULT NUL