处理器体系结构

一个处理器支持的指令和指令的字节级编码称为ISA(指令集体系结构),不同的处理器”家族“都有不同的ISA。一个程序编译成一种机器上运行,就不能再另一种机器上运行。另外,同一个家族里也有许多不同类型的处理器。因此,ISA在编译器编写者和处理器设计员之间提供了一个概念抽象层,编译器编写者只需要知道允许哪些指令,以及如何编码;而处理器设计者必须建造出执行这些指令的处理器。

Y86处理器是基于顺序操作、功能正确,但有点不实用。

一、Y86指令集体系结构

Y86程序中每条指令都会读取或修改处理器状态的某些部分。Y86的处理器有8个寄存器:%eax,%ecx,%edx,%ebx,%esi,%edi,%esp,%ebp,处理器每个程序寄存器存储一个字。寄存器%esp被入栈、出栈、调用和返回指令作为栈指针。而其他寄存器没有固定的含义或固定值。有三个一位的条件码:ZF、SF、OF,保存有关最近的算术或逻辑指令造成影响的信息。程序计数器(PC)存放着当前正在执行指令的地址。存储器,从概念上说是一个很大的字节数组,保存着程序和数据。Y86程序用虚拟地址来引用存储器位置。硬件和操作系统软件结合起来将虚拟地址翻译成明数据实际存在存储器中哪个地方的实际或物理地址。


Y86程序员可见状态.jpg

二、逻辑设计和硬件控制语言HCL

在硬件设计中,电子电路被用来计算位的函数,以及在各种存储器元素中存储位。大多数现代电路设计都是用信号线上的高电压或低电压来表示不同的位值。通常的技术中,逻辑1是用1.0伏特左右的高电压表示,逻辑0是用0.0伏特左右的低电压表示。要实现一个数字系统需要三个主要的组成部分:计算位的函数的组合逻辑、存储位的存储器元素、以及控制存储器元素更新的时钟信号。

1.逻辑门

逻辑门是数字电路的基本计算元素。它们产生的输出,等于他们输入位值的某个布尔函数,AND,OR,NOT。逻辑门总是活动的,一旦一个门的输入变化了,在很短时间内,输出就会相应地变化。

2.存储器和时刻控制

组合电路从本质上来讲,不存储任何信息。相反只是简单地相应输入信号,产生等于输入的某个函数输出。为了产生时序电路,有状态并在在这个状态上进行计算的系统,引入了按位存储信息的设备。

  • 时钟寄存器存储单个位或字。
  • 随机访问存储器存储多个字,用地址选择读或该读哪个字。硬件和软件系统结合起来使处理器可以在很大的地址空间访问任意的字。

在硬件中,寄存器直接将它的输入和输出线连接到电路其他部分。在机器编程级别,寄存器代表CPU中为数不多的可寻址的字,这里的地址是寄存器ID。分别称这两类寄存器为“硬件寄存器”和”程序寄存器“。

(a) 硬件寄存器

大多数时候,寄存器保持在稳定状态(用x表示),产生的输出等于它当前状态。只要时钟是低电位,寄存器的输出状态保持不变。当时钟变成高电位,输入信号加载到寄存器,成为下一个状态y,这个状态就成为寄存器的新输出。


硬件寄存器.jpg

(b) 程序寄存器

下面展示典型的寄存器文件,寄存器文件有两个读端口(A和B),还要一个写端口(W)。这样一个多端口随机访问存储器允许同时进行多个读和写操作。在图中,电路可以读两个程序寄存器的值,同时更新第三个寄存器的状态。每个端口都有一个地址输入,表明选择哪个程序寄存器,另外还有一个数据输出或对应程序寄存器的输入值。


程序寄存器.jpg

三、硬件结构

实现所有Y86指令所需要的计算可以被组织成六个基本阶段:取指、解码、执行、访存、写回和更新PC。

  • 取指:将程序计数器寄存器作为地址,指令存储器读取一个指令的字节,增加程序计数器
  • 解码: 寄存器文件有两个读端口A和B,从这两个端口同时读寄存器值valA和valB.
  • 执行:执行阶段根据指令的类型,将算术/逻辑单元(ALU)用于不同的目的。对整数操作,它需要执行指令所指定的运算。对其他指令,它会作为一个加法器来计算增加或减少栈指针,或者有效地址,或者只是简单地加0,将一个输入传递到输出。
  • 访存:在执行访存操作时,数据存储器读出或写入一个存储字,指令和数据会根据条件码或转换码类型来计算分支信号Bch
  • 写回:寄存器文件有两个写端口,端口E用来写ALU计算出来的值,端口M用来写从数据寄存器中读出的值。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容