首页 > 其他分享 >计算机体系结构-概述

计算机体系结构-概述

时间:2024-03-25 23:03:20浏览次数:18  
标签:需要 计算机 并行 指令 概述 指令集 寄存器 体系结构

研究内容

软硬之间游走,从晶体管到数电再到CPU微架构,再到指令集ISA,再到软件层的ABI和API。计算机体系结构追求从整体的角度来设计计算机,使计算机更好。
在这里插入图片描述

简而言之,计算机体系结构就是:在给定的制造工艺上,设计计算机的整体架构,以满足应用的需要。

评估标准

评估计算机好坏有几个指标:性能,成本,功耗,
完成一个任务所需要的时间可以由完成该任务需要的指令数、完成每条指令需要的拍数以及每拍需要的时间三个量相乘得到。完成任务需要的指令数与算法、编译器和指令的功能有关;
每条指令需要的拍数与编译器、指令功能、微结构设计相关;
每拍需要的时间,也就是时钟周期,与结构、电路设计、工艺等因素有关。

在指令系统确定后,结构设计需要重点考虑如何降低每条指令的平均执行周期(Cycles Per Instruction,简称CPI),或提高每个时钟周期平均执行的指令数(Instructions Per Cycle,简称IPC),这是处理器微结构研究的主要内容。

基本原则

计算机体系结构发展很快,但在发展过程中遵循一些基本原则,这些原则包括平衡性、局部性、并行性和虚拟化。

  • 平衡性:要均衡各个部件的性能,电脑性能取决于最弱的那一个环节
  • 局部性:充分利用局部性原理
  • 并行性,
    • 指令并行:流水线并行,超标量并行,10年以后指令级并行基本已经到极限了
    • 数据并行:向量运算,
    • 任务并行:多线程,多进程
  • 虚拟化:虚拟内存(内存虚拟),多线程(CPU虚拟),同时多线程(更进一步的CPU虚拟)

指令集

计算机体系结构中非常重要的一部分就使指令集,指令集是计算机软硬件之间的桥梁,指令集以下硬件负责,指令集以上,软件负责,目前常见的指令集可以分为RISC精简指令集和CISC复杂指令集两种类型,RISC的特点是指令集简单,复杂计算通过简单指令组合而成,代表作是ARM架构和RISC-V架构。CISC的特点是指令集复杂,很多常见的运算通过硬件实现,代表作是X86架构。在这里插入图片描述
影响指令集设计的主要因素有:

  • 硬件因素(半导体工艺进步等)
  • 软件因素(操作系统/编译技术,如:操作系统分为用户态和内核态,那就有必要设计状态切换指令)
  • 应用因素(应用对于计算的需求,例如当大家都在搞AI,需要浮点运算时,那就有必要设计浮点运算指令)
    指令集组成为:
  • 操作码(加减乘等)
  • 操作对象(访存地址,立即数等)

指令码可以分为四大类:

  • 运算类:ADD
  • 访存类:LOAD
  • 转移类:eg:JUMP
  • 特殊指令

处理器可以访问的地址空间分为:

  • 寄存器空间(通用寄存器,专用寄存器,控制寄存器,使用寄存器号寻址)
  • 内存空间(分为内存空间和IO空间,使用地址寻址。CISC区分IO空间和内存空间,RISC不区分二者,处理器对IO空间的访问不能经过Cache,因此在使用相同的load/store指令既访问IO空间又访问内存空间的情况下,就需要定义load/store指令访问地址的存储访问类型,用来决定该访问能否经过Cache。)

根据指令使用数据的方式,指令系统可分为堆栈型、累加器型和寄存器型。寄存器型又可以进一步分为寄存器-寄存器型(Register-Register)和寄存器-存储器型(Register-Memory)

  • 堆栈型:不需要操作数,操作数默认是堆栈,eg:PUSH A
  • 累加器型:只需要一个操作数,另一个默认是累加器,eg:LOAD A
  • 寄存器-存储器型/寄存器-寄存器型:指定两个操作数,eg: LOAD R1, A ; LOAD R1,R2;寄存器寄存器型指令更常用,便于进行优化

现代指令集都有运行权限等级划分,最少也有用户态和内核态两种等级,在用户态只能使用指令集的一部分指令,还有一部分特权指令只能在内核态使用。特权指令主要包括:

  • 运行模式转换
  • 虚拟存储管理
  • 异常和中断处理
  • 控制状态寄存器

标签:需要,计算机,并行,指令,概述,指令集,寄存器,体系结构
From: https://blog.csdn.net/qq_45983373/article/details/137013659

相关文章

  • 【毕业设计选题】2024年 计算机专业毕设选题推荐合集 毕设指导
    目录前言网站开发/管理系统类小程序开发/公众号类深度学习、机器学习类算法研究方向物联网应用、嵌入式方向信息安全、网络安全大数据分析、大数据预测Matlab选题迷茫选题的重要性选题指导前言对毕设有任何疑问都可以问学长哦!    大四是整个大学期间最......
  • 人工智能和机器学习概述
    引言人工智能(AI)和机器学习(ML)是当今科技领域中最热门的话题之一。它们正在改变我们的生活方式、工作方式以及我们与世界的互动方式。在人工智能越来越被大众所听闻,技术越来越先进的今天,老猿作为一个初学者,特地准备了这篇介绍人工智能基础知识概貌介绍的文章,这篇文章本身......
  • 计算机病毒与防护
    病毒四个阶段:潜伏阶段(震网病毒)繁殖阶段(勒索病毒)触发阶段(震网病毒)执行阶段 病毒分类与命名规则病毒名称一般格式<病毒前缀>.<病毒名>.<病毒后缀>震荡波蠕虫病毒的变种bWorm.Sasser.b病毒种类:蠕虫病毒病毒名:震荡波家族病毒变种b 常见病毒类型病毒类型......
  • 关于我对于计算机专业的思考与展望
    1.回顾你过去将近3年的学习经历当初你报考的时候,是真正喜欢计算机这个专业吗?你现在后悔选择了这个专业吗?你认为你现在最喜欢的领域是什么(可以是计算机的也可以是其它领域)?我报考的时候是对计算机专业很有兴趣,所以选择了计算机专业,现在没有后悔选择了这个专业,可以通过编程实现很......
  • 加密算法概述:分类与常见算法
    码到三十五:个人主页心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得!在信息安全领域,加密技术是保护数据不被未授权访问的关键手段。Java作为一种广泛使用的编程语言,提供了丰富的加密API,支持多种加密算法。本文将介绍Java中加密算法的分类以及常见的......
  • 计算机领域热门技术词汇
    文章目录计算机领域热门技术词汇1、机器学习machinelearning2、神经网络neuralnetwork3、深度学习deeplearning4、自然语言处理naturallanguageprocessing5、计算机视觉computervision6、大数据bigdata7、数据挖掘datamining(DM)8、云计算CloudComputing9......
  • Elasticsearch:使用在本地计算机上运行的 LLM 以及 Ollama 和 Langchain 构建 RAG 应用
    无需GPU的隐私保护LLM。在本博客中,我将演示使用不同的工具Ollama构建的RAG应用程序。与本文相关的所有源代码均已发布在github上。请克隆存储库以跟随文章操作。我们可以通过如下的方式来克隆:gitclonehttps://github.com/liu-xiao-guo/ollama_es什么是 Ollam......
  • LLM - 大语言模型的指令微调(Instruction Tuning) 概述
    欢迎关注我的CSDN:https://spike.blog.csdn.net/本文地址:https://blog.csdn.net/caroline_wendy/article/details/137009993大语言模型的指令微调(InstructionTuning)是一种优化技术,通过在特定的数据集上进一步训练大型语言模型(LLMs),使其能够更好地理解和遵循人类的指......
  • 【附源码】JAVA计算机毕业设计应聘小程序(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的快速发展,互联网已经深入到人们生活的方方面面,特别是在求职招聘领域,传统的线下招聘方式已经无法满足现代社会的需求。目前,企业招聘和求......
  • 【附源码】JAVA计算机毕业设计应急信息管理及统计分析系统(springboot+mysql+开题+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化时代,应急管理面临着前所未有的挑战和机遇。随着自然灾害、事故灾难等突发事件频发,对应急信息的管理和统计分析提出了更高要求。传统的信息管......