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

Posted by 蔡华的博客 on September 19, 2018

这是对哈尔滨工业大学网络课程《计算机组成原理》的笔记

  • 计算机系统层次从程序的角度看分为下面5层:
    • 高级语言层:Java、C、C++、C#等,需要编程成机器语言
    • 汇编层:也需要编译成机器语言,符号语言和机器语言的指令基本是一一对应的。
    • 操作系统:提供机器语言与编程语言的
    • 机器语言:就是计算机所提供的语言了,根据地址从存储器读取->送往控制器译码->计算器。操作有顺序要求,并非全部是并发。
    • 微指令系统:机器指令的细化,在某个时间点上可以执行的操作放到一个微指令当中,执行上有先后顺序的放到不同的微指令中。
  • 从下往上看这个层级:
    • 多个微指令构成一个微程序,微指令是由硬件直接执行的。
    • 一个微程序对应一个机器指令,用微指令解释机器指令。
    • 用机器指令解释操作系统
    • ————软硬件分割线—————
    • 用汇编程序翻译成机器语言程序
    • 用编译程序翻译成汇编语言程序
  • 实际上OS除了管理硬件、软件外。从编程的角度看OS提供了编程语言与机器语言的接口。
  • 对于在机器上编写程序的人来说,计算机组成在设计上就要提供一套微指令集给程序员,并且要定义哪些指令可以操作什么类型的数据(数据表示)。实际上在机器指令集设计的时候对于不同数据类型的相同操作可能会有不同的指令(e.g 整数和浮点数的加法运算)
  • 计算机组成原理所研究是就是硬件部分的设计,需要实现计算机体系结构所体现的属性。比如:当程序员询问有没有乘法指令?这个指令能对什么类型的数据操作?长度限制是多少?那种做计算机组成设计的人就要负责具体指令的实现。(从纯软件编程的角度说,计算机组成可以理解为一个lib,在设计的时候要确定有什么接口,接口的实现要怎么做,里面有哪些定义的数据,这些数据哪些接口理由操作、怎么操作等问题)