计算机系统结构总结_Instruction Set Architecture

Textbook:
《计算机组成与设计——硬件/软件接口》    HI
《计算机体系结构——量化研究方法》           QR



这节我们来看CPU内部的一些东西。

Instruction Set Architecture

指令集是介于硬件(CPU microarchitecture / IO / ....)和软件(compiler / OS / ....)之间的一个interface。硬件(486-586-PentiumPro)和软件(Win98-WinXP)都会更新换代,但指令集很少变化(比如x86)。现在比较流行的是General-purpose register architecture,这也是我们重点学习的。早期还有stack architecture和accumulator architecture,不过已经不流行了...

Java VM:HI P89

Register

寄存器是在cpu内部的存储单元,访问简单,速度也非常快。

和前面说的cache不同,寄存器是对软件可见的(explictly managed)。比如下面的一段程序:

 1 void foo(){
 2     ....
 3 }
 4
 5 void bar(){
 6     int a,b;
 7     a=233;
 8     foo();
 9     printf("%d\n", a);
10 }

foo()和bar()都可能会用满所有的寄存器。那么在Line 8调用foo()之前,编译器就要手动把bar()当前运行时寄存器的值备份一下,等foo()结束后再还原回来。

Memory Addressing

指令可以分为以下几类:

  • Load/Store就是在内存和寄存器之间搬运数据......
  • ALU operation是用来计算的。它操作数据的主要来源是寄存器
    • 在RISC中,ALU inst只能从寄存器中读写,不能读内存地址。而在x86中一条指令最多可以读写1个内存地址

那么指令是如何进行memory addressing呢?要考虑如下几个问题:

  1. Bytes addressed。即每个地址包含多少个byte。大多数情况下是一次读一个byte(参考这张图)。也有些奇怪的机器是一次读一个word(多个bytes)
  2. Little/Big Endian
  3. Alignment。比如4bytes alignment表示每个数据的起始地址必须是4 bytes的倍数。

Addressing Mode:(PPT P6)

Control Flow Instructions

原文地址:https://www.cnblogs.com/pdev/p/11736014.html

时间: 2024-11-09 00:14:07

计算机系统结构总结_Instruction Set Architecture的相关文章

【5分钟系列】计算机系统结构的定义

1,计算机系统的层次结构 从语言角度来看,一台计算机是由软硬件组合成的,按照功能划分,可以形成多层机器级组成的层次结构. 不同层次的语言,可以使用翻译或解释技术来实现.例如 C# 语言是应用语言,在编译时会生成 IL 语言(高级语言),属于翻译(Translation 美 /tr?nz?le??n,tr?ns?le??n/ ). 在启动程序时,IL 翻译成汇编,由操作系统执行. 不断将高一级的语言转换为低一级的语言. 而解释(Interpretation 美 /?n?t??rpr??te??n/

计算机系统结构,组成和实现

计算机系统结构的定义: 计算机系统结构是其所处环境中最高层次的概念,是对计算机系统中各个机器之间界面的划分和定义,以及对各级界面上,下的功能进行分配.也称为体系结构. 计算机体系结构指的是计算机系统设计的观念和架构,描述计算机在实际中所做的设计的原则. 计算机体系结构是从程序员的角度所看到的系统的属性,是概念上的结构和功能上的行为. 例如: 功能特性指令系统及其执行模式: 数据表示:硬件直接识别和处理的数据类型 寻址技术:编址方式,寻址方式和定位方式 寄存器定义:寄存器的定义,数量和使用规则 指

计算机系统结构概述

计算机系统的多层次结构: 是从使用语言的角度,基于程序员与计算机系统对话中所采用的语言结构和语义划分. 系统结构.组成和实现三者的相互关系: 具有相同系统结构的计算机可以采用不同的组成,一种计算机组成可以采用多种不同的计算机实现: 采用不同的系统结构会使可以采用的组成技术产生差异,计算机组成也会影响系统结构. 计算机系统的设计原则: 哈夫曼压缩原理 Amdahl定律 程序访问的局部性规律 计算机系统的设计思路: 由上往下(Top-down) 由下往上(Bottom-up) 由中间开始(Middl

计算机系统结构(一)

第一章 计算机系统结构基本概念 1.1.1.计算机系统的层次结构 计算机系统是由硬件和软件组成的,按照功能划分为7个层次 0级机器有硬件实现是机器的硬件内核 1级机器有位程序(固件)实现 ,它根据各种指令的操作所需要的控制时 序,配备一套微指令,编写微程序,控制信息在个寄存器之间的传送. 2级是传统的机器语言机器.这级的机器语言是该机的指令系统.机器语言的程序员用着记得指令系统编写的程序有第一级的为程序进行解释. 3级是操作系统机器 4级是汇编语言机器.有汇编语言编写的程序首先翻译成第3级或者第

计算机系统结构

一.计算机的种类 个人计算机         Personal Computer (PC) 工作站              WorkStation (WS) 小型机              Mini Computer 中型机              Mainframe 小巨型机            Minisupercomputer 巨型机              Supercomputer 二.摩尔定律 1.集成电路芯片上所集成的电路的数目,每隔18个月就翻一番. 2.微处理器的性能

计算机系统结构之重要知识点总结2

一.名词解释 1)虚拟机:指通过软件模拟具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统 2)系统加速比:同一个任务在系统改进前花费总时间和在系统改进后花费总时间的比率 3)Amdahl定律:计算计算机系统中某个部件改进后能获得多少总性能提高的定律 4)系列机:由同一厂家生产的具有相同的系统结构,但是具有不同组成和实现的一系列不同型号的计算机 5)模拟:指用软件的方法在一台现有的计算机上实现另外一台计算机的指令集 6)仿真:指用一台现有计算机的微程序取解释实现另外一个计算机的指令

计算机系统结构1-概论

计算机系统结构-概论 考察知识点 计算机系统的层次结构 计算机系统结构.计算机组成.计算机的实现 计算机的软硬件取舍及定量设计原理 软件.应用.器件的发展对系统结构的影响 系统结构中的并行性开发及计算机系统的分类 知识难度: 每个知识点使用 ※ 号标记掌握程度和类型. ※:标识,能够记住知识点和概念: ※※:领会,需要领悟和理解,能够消化和吸收,对知识点做出正确的解释.说明.论述. ※※※:简单应用,能够运用课程中的知识点,例如计算.绘图,去分析.实现和解决一般的应用问题. ※※※※:综合应用,

计算机系统结构总结_Memory Hierarchy and Cache Optimization

Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR Ch4. Cache Optimization 本章要讨论的问题就是 How to Improve Cache Performance? 前面讲过 Average memory access time = HitTime + (MissRate * MissPenalty) 那么我们的方向就是Reduce MissRate / HitTime / MissPen

计算机系统结构总结_Multiprocessor

Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 最后一节来看看如何实现parallelism 在多处理器系统中,每个处理器(core)可能有自己专属的cache,然后多处理器共享memory.在这种情况下,当多个线程(核心)对同一个变量进行读写时,就会出现不同cache中该变量的值不一样的情况(取决于cache是write back还是write through,以及相关cacheline被evict的时间