计算机组成的抽象以及相关技术

news2024/11/24 13:46:48

第1章 计算机抽象以及相关技术

最高端的服务器是超级计算机:几十万个处理器和太字节(terabyte)2的40次方的内存TB,成本数千万或数亿。通常写为1000000000000,万亿。

云计算接替了传统服务器称为仓储级计算机中心,可以实现Saas(软件即服务)。

首字母缩略词,随机存取存储单元,RAM(Random Access Memory),CPU中央处理单元(Central Processing Unit).

计算机体系结构中的7个伟大思想:

  • 抽象,隐藏低层细节以提供给高层一个更简单的模型。
  • 加速经常性事件,远比优化罕见情形能更好提升性能,而且更简单,需要识别经常性事件。
  • 并行,并行计算操作获得更高性能。
  • 流水线,小镇居民排成长链来运水灭火,水桶在链上快速移动,无须人员往返奔跑。
  • 预测,从预测错误中恢复代价不高,相对准确,预测并开始工作比明确结果再执行更快。
  • 存储层次,内存成本是计算机成本主要部分,速度快,容量小,最贵的存储器用于顶层,底层则是慢,容量大,价格便宜。
  • 可靠,冗余组件使系统可靠,卡车两侧都是双轮胎。

典型的应用程序有数百万行代码,依赖软件库实现异常复杂的功能,硬件只能执行极为简单的低级指令,从复杂的应用程序到原始的指令设计若干软件层次将高层次操作解释或翻译成简单的计算机指令。--抽象思想的例证

软件层次:最外层 应用软件,中间层 系统软件,底层 硬件。

系统软件中两种是必须得:操作系统,编译器。

操作系统:为了使程序更好的在计算机上运行而管理计算机资源的监控程序。

  • 处理基本的输入和输出操作。
  • 分配外存和内存。
  • 为多个应用提供共享计算机资源的服务。
  • 主要有Windows,Linux,iOS,Andrioid.

编译器:把高级语言,C、C++、Java等编写的程序翻译成硬件能执行的指令的程序。

从高级语言到硬件语言:电子硬件中电信号最简单的是通和断,表示二进制位,0或1,信息的基本组成单位。

指令:计算机硬件能够理解并遵从的命令,数字既表示指令又表示数据,第一代程序员直接使用二进制数与计算机通信,

非常乏味,后面发明了助记符,符合人类思维方式,起初手工翻译成二进制,过程繁琐,后设计出汇编器自动翻译对应二进制。

例如 add A,B

汇编器:将指令由助记符形式翻译成二进制形式的程序。

汇编程序将该符号翻译成1001010100101110,该指令告诉计算机将A和B两个数相加。

汇编语言:以助记符形式表示机器指令。

机器语言:以二进制形式表示机器指令。

高级程序语言以及编译器大大提高了软件的生产率,由一些单词和代数符号组成,可以由编译器转换为汇编语言。

  • 可以使程序员用更自然的语言来思考,程序看起来更像文字而不是密码表,可以按用途设计,Fortran为科学计算设计,Cobol为商业数据操作设计,Lisp是为了符号操作设计。
  • 提高了程序员的效率。
  • 提高了程序相对于计算机的独立性,因为编译器和汇编程序能将高级语言翻译成任何计算机的二进制指令,例如Java跨平台。

打开机箱盖学习其中的硬件,任何一台计算机的基础硬件都有相同功能:输入数据,输出数据,处理数据和存储数据。

*重点记忆

组成计算机的5个经典部件:输入,输出,存储器,运算器,控制器。(后两个合称为处理器)

显示器

液晶显示:一种显示技术,用液体聚合物薄层的带电或者不带电来使能或阻止光线的传输。

动态矩阵显示:一种液晶显示技术,使用晶体管控制单个像素上光线的传输。

像素:图像由像素矩阵组成,表示成二进制位的矩阵,称为位图。典型大小,1024*768,2048*1536。

彩色显示器使用8位表示红绿蓝三原色,每个像素24位,可以显示2^24中颜色,1600多万种颜色。#aabbcc

触摸屏:采用电容感应实现。

Apple iPhone XS Max

  • IO设备包括电容式多点触控LCD显示屏、前置摄像头、后置摄像头、麦克风、耳机插孔、扬声器、加速度计、陀螺仪、WiFi网络、蓝牙网络。
  • 数据通路
  • 控制器
  • 存储器

A12芯片

6核CPU包含2个高性能ARM处理器和4个高能效ARM处理器,2.5GHz。

处理器:也叫中央处理单元(central processor unit),CPU是计算机中最活跃的部分。

集成电路:芯片,一种集成了几十个至上亿个晶体管的设备。

中央处理单元:包括数据通路和控制器,能完成数据相加、数据测试、按结果发出控制信号使I/O设备做出动作等操作。

数据通路:处理器中执行算术操作的部分。

控制器:处理器中根据程序的指令指挥数据通路、存储器和I/O设备的部分。

内存:程序运行时的存储空间,同时还存储程序运行时所需的数据。由DRAM动态随机访问存储器,承载程序的指令和数据,与串行磁带不同的是内存访问所需的时间基本相同。

高速缓存:在处理器内部使用,小而快的存储器,一般作为DRAM的缓冲(隐藏事务的安全地方),采用的是SRAM静态随机访问存储器。

改进设计的伟大思想是抽象,最重要的抽象之一是硬件和底层软件之间的接口。

指令系统体系结构(体系结构):是低层次软件和硬件之间的抽象接口,包含编写正确运行的机器语言程序所需要的全部信息,包括指令、寄存器、存储器访问和I/O等。

应用二进制接口:用户部分的指令加上应用程序员调用的操作系统的接口,定义了二进制层次可移植的计算机的标准。

实现:遵循体系结构抽象的硬件,计算机体系结构可以让计算机设计者独立的讨论功能,不必考虑具体硬件,例如我们讨论数字时钟的功能(计时、显示时间、设置闹钟),可以不涉及时钟的硬件(如石英晶体、LED显示、按钮)。

*重点

无论软硬件都可以使用抽象分成多个层次,每个较低的层次把细节对上层隐藏起来。抽象层次中的一个关键接口是指令系统结构--硬件和底层软件之间的接口,这一抽象接口使得同一软件可以由成本不同、性能也不同的实现方法来完成。

数据安全

易失性存储:类似DRAM的存储器,仅在加电时保存数据,也称为主要存储。

非易失性存储:掉电时仍可保持数据的存储器,用于存储需运行的程序,例如DVD,也称为辅助存储。

磁盘:也叫硬盘,使用磁介质材料构成的以旋转盘片为基础的非易失性二级存储设备,访问时间5~20毫秒。

闪存:非易失性半导体内存。

计算机通信

联网计算机主要优点:

  • 通信:信息可在计算机之间高速交换。
  • 资源共享:I/O设备可以通过网络共享,不必每台计算机都配备。
  • 远距离访问:用户无须在要使用计算机旁边,可远距离连接计算机。

局域网:一种用于在一定地理区域内传输数据的网络,例如一栋大楼。

广域网:一种可以跨越大陆数百公里的网络。

处理器和存储制造技术

晶体管:一种由电信号控制的简单开关。

超大规模集成电路:由数十万到百万晶体管组成的电路。

摩尔定律的放缓以及制造更小尺寸的DRAM单元难度增加给DRAM三维结构技术带来挑战。

硅:一种自然元素,是一种半导体。

半导体:一种导电性能不好的物质,导电性能介于导体铜线,铝线和绝缘体塑料,玻璃膜之间,晶体管就是半导体。

硅锭:一根由单硅晶体构成的圆棒,直径8~12in,长度12~24in,20~30cm,30~60cm。

晶圆:厚度不超过0.1in的硅锭,用于制造芯片。

缺陷:晶圆或者曝光成像过程中的一个微小的瑕疵,晶片可能因为包含这个缺陷而失效。

晶片:从晶圆中切割出来的一个单独的矩形区域,非正式的名称是芯片。

芯片制造的全过程

良率:通过切分,可以只淘汰那些有瑕疵的晶片,而不必淘汰整个晶圆,合格芯片数占总芯片数的百分比。

当前工艺:10nm,7nm,实现了3nm的量产,1.8纳米研发正在推进。

性能

个人计算机用户对降低响应时间感兴趣。

数据中心对吞吐率或带宽感兴趣。

响应时间:执行时间,计算机完成某任务所需要的总时间,包括硬盘访问,内存访问,I/O活动,操作系统开销,CPU执行时间等。

吞吐率:带宽,表示单位时间内完成的任务数量。

性能的度量

CPU执行时间:执行某一任务在CPU上所花费的时间。

用户CPU时间:程序本身所花费的CPU时间。

系统CPU时间:为执行程序而花费在操作系统上的时间。

时钟周期数:也叫滴答数,为计算机一个时钟周期的时间,通常指的是处理器时钟,并在固定频率下运行。(250皮秒ps,4GHz)。

周期长度:每个时钟周期持续的时间长度。

指令平均时钟周期数(CPI):执行每条指令或程序片段所需的时钟周期平均数。

指令数:执行某程序所需的总指令总数。

基本性能公式:CPU时间=指令数xCPIx时钟周期长度

理解程序性能:

硬件或软件指标

影响什么

如何影响

算法

指令数,CPI

算法决定源程序执行指令的数目,从而也决定了CPU执行指令的数目。算法也可能通过使用较快或较慢的指令影响CPI。例如,当算法使用更多的除法运算时,将会导致CPI增大。

编程语言

指令数,CPI

编程语言显然会影响指令数,因为编程语言中的语句必须翻译为指令,从而决定了指令数。编程语言也可以影响CPI,例如,Java语言充分支持数据抽象,因此将进行间接调用,需要使用CPI较高的指令。

编译器

指令数,CPI

因为编译器决定了源程序到计算机指令的翻译过程,所以编译器的效率既影响指令数又影响CPI。编译器的角色可能十分复杂,并以多种方式影响CPI。

指令系统体系结构

指令数,CPI,时钟频率

指令系统体系结构影响CPU性能的所有三个方面,因为它影响完成 某功能所需的指令数、每条指令的周期数以及处理器的时钟频率。

现代CPU功耗已经到了极限,迫使微处理器的设计产生了巨变。

单处理器向多处理器转变,单核变多核,产生并发。

性能提升,使用Python语言编写矩阵乘法程序

for i in xrange(n):
    for j in xrange(n):
        for k in xrange(n):
            C[i][j] += A[i][k]*B[k][j]

本地没有Python环境,在谷歌浏览器中用JavaScript尝试一下

这段代码创建了两个960x960的矩阵A和B,其中的元素使用Math.random()随机生成。然后定义了multiplyMatrices函数来执行矩阵乘法。这个函数使用三层嵌套循环来完成乘法操作:外层两层分别用于遍历结果矩阵的行和列,最内层循环用于计算内积。

请注意,由于960x960矩阵乘法在大多数浏览器中运行可能需要较长时间,并且可能导致界面冻结或性能问题,实际应用中可能需要考虑优化或分块处理这种大计算。

function multiplyMatrices(a,b){
    var result = [];
    for(var i=0;i<960;i++){
        result[i]=[];
        for(var j=0;j<960;j++){
            var sum=0;
            for(var k=0;k<960;k++){
                sum+=a[i][k]*b[k][j];
            }
            result[i][j]=sum;
        }
    }
    return result;
}
console.log(new Date);
// 示例矩阵A和B
var A = new Array(960).fill(0).map(() => new Array(960).fill(0).map(() => Math.random()));
var B = new Array(960).fill(0).map(() => new Array(960).fill(0).map(() => Math.random()));
 
// 执行矩阵乘法
var result = multiplyMatrices(A, B);
console.log(result);
console.log(new Date);

大概5秒钟。

谬误与陷阱

陷阱:在改进计算机的某个方面时期望总性能的提高与改进大小成正比。

谬误:低利用率的计算机具有更低功耗。

谬误:面向性能的设计和面向功效的设计具有不相关的目标。

陷阱:用性能公式的一个子集去度量性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2203228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3的知识整理

1. vue3的生命周期 vue3的生命周期一般有2种形式写法&#xff0c;一种是基于vue2的options API的写法&#xff0c;一种是vue3特有的Composition API options API的生命周期 基本同vue2的生命周期基础&#xff0c;只是为了与生命周期beforeCreate和created对应&#xff0c;将bef…

餐企中场战事:高端网红退败,平价品牌向前

餐饮行业&#xff0c;风起云涌。人人都在讨论逆流与寒气的今天&#xff0c;品牌何以为战&#xff1f;步入平价时代&#xff0c;又该如何寻找制胜法宝&#xff1f; 01风浪越大&#xff0c;餐饮机会越多 如果把餐饮业的历史无限拉长&#xff0c;你会发现每个看似经济下行的节点…

Chromium 中前端HTMLDialogElement <Dialog> c++代码实现

一、HTMLDialogElement: open property Baseline Widely available The open property of the HTMLDialogElement interface is a boolean value reflecting the open HTML attribute, indicating whether the <dialog> is available for interaction. Value A boole…

CENTOS上的网络安全工具(三十)DPDK和HyperScan环境构建

一、预备知识 由于DPDK涉及到强CPU相关的优化策略&#xff0c;以及对网卡驱动栈的替换&#xff0c;所以在开始之前&#xff0c;首先需要垫补点CPU相关的概念&#xff0c;以及Linux上和网卡驱动相关的管理命令。 &#xff08;一&#xff09;CPU架构及相关概念 1. Socket、Core…

社交网络中的AI趋势:Facebook的创新探索

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的迅速发展正在深刻改变社交网络的面貌。作为全球最大的社交媒体平台之一&#xff0c;Facebook在AI领域的创新探索&#xff0c;不仅提升了用户体验&#xff0c;还推动了整个社交网络生态的演变。本文将深入探讨…

Linux操作系统分析实验-用户与内核共享内存,实验二

Linux操作系统分析实验-多线程与内核模块编程&#xff0c;实验一_实验一 多线程与内核模块编程-CSDN博客 一、实验目的 1、理解Linux进程地址空间、虚拟内存、物理内存的概念&#xff1b; 2、理解物理内存分配和回收原理。 3、利用链表实现动态内存分配。 4、了解共享内存…

VMtools安装办法解决本地与虚机拷贝

一、打开虚拟机选项-重新安装VMware Tools 二、等待虚拟机开启&#xff0c;点开运行(WinR)输入D:/setup.exe 前提正常引用虚拟机光盘介质&#xff0c;保证光驱位置处于D盘&#xff0c;下一步进行安装完成。

Golang | Leetcode Golang题解之第466题统计重复个数

题目&#xff1a; 题解&#xff1a; func getMaxRepetitions(s1 string, n1 int, s2 string, n2 int) int {n : len(s2)cnt : make([]int, n)for i : 0; i < n; i {// 如果重新给一个s1 并且s2是从第i位开始匹配 那么s2可以走多少位&#xff08;走完了就从头开始走p1, p2 :…

Jenkins pipeline语法笔记

Jenkins pipeline 简介Jenkins Pipeline 优势DSL 是什么 pipeline支持两种语法&#xff1a;声明式pipeline语法&#xff1a;Pipelineagent Pipeline 声明式语法DeclarativeenvironmentoptionsparameterstriggerstoolsinputwhenParallel Pipeline Scripted语法流程控制Declarati…

【HarmonyOS】HMRouter使用详解(三)生命周期

生命周期&#xff08;Lifecycle&#xff09; 使用HMRouter的页面跳转时&#xff0c;想实现和Navigation一样的生命周期时&#xff0c;需要通过新建生命周期类来实现对页面对某一个生命周期的监控。 新建Lifecycle类 通过继承IHMLifecycle接口实现生命周期接口的方法重写。 通过…

20240904 华为笔试 二叉树消消乐

文章目录 题目解题思路代码BUG 代码最终代码题目 题目描述 给定原始二叉树和参照二叉树(输入的二叉树均为满二叉树,二叉树节点的值范围为[1,1000],二叉树的深度不超过1000),现对原始二叉树和参照二又树中相同层级目值相同的节点进行消除,消除规则为原始二叉树和参照二又树中…

进程概念三

1&#xff0c;运行状态R 1&#xff0c;理论&#xff1a; 在cpu中&#xff0c;有一个结构体&#xff1a;runqueue组成的一个双向链表&#xff0c;里面记录着对应的进程的代码和数据&#xff0c;存在内存中随时准备被调度&#xff0c;这种时候就叫做运行状态 2&#xff0c;why&a…

25西安电子科技大学考研预报名人数信息—公布

01报名信息直播 西安电子科技大学之前考研收集信息表现在公布&#xff0c;本次收集涉及到833、834、893&#xff08;原953&#xff09;专业&#xff0c;即计算机科学与技术学院、人工智能学院、网络与信息安全学院、卓越工程师学院 对于大家想提问的问题&#xff0c;学长学姐将…

AI智能聊天问答系统源码+AI绘画系统+图文搭建部署教程,文生图图生图,TTS语音识别输入,AI智能体,文档分析

一、前言 人工智能的快速进步吸引了全球的瞩目&#xff0c;各式AI应用如绘图、语言模型和视频处理等已在多个领域获得应用。这些技术不仅加速了科技的创新&#xff0c;也在艺术创作、内容生产和商业实践等方面显示了其巨大潜力。例如&#xff0c;AI语言模型极大提升了内容自动…

Cursor 与 DeepSeek API 的完美融合

在当今的编程领域中&#xff0c;选择合适的工具对于提高编程效率和质量至关重要。今天&#xff0c;我们将深入探讨如何将强大的 AI 辅助编程工具 Cursor 与优秀的 DeepSeek API 进行配置&#xff0c;以实现更加高效的编程体验。 一、Cursor&#xff1a;强大的 AI 辅助编程工具…

前端实现-搜索关键字标红处理

1、实现效果 2、代码实现 searchNotes(data, value) {const searchTerms = value.split( );const aData = [];for (let i = 0; i < data.length; i++) {const item = data[i];let titleMatches = true;let gaishuMatches = true;for (const term of searchTerms) {if (!ite…

Docker 的使用-01

一、Docker 设置和镜像源 1.1、设置 #查看 Docker 信息 docker version docker info#守护线程启动&#xff1a; systemctl daemon-reload 重启Docker服务&#xff1a; systemctl restart docker#关闭Docker服务 sudo systemctl stop docker#启动Docker服务 systemctl start d…

finereport制作带刷新和滚动的明细表

1、数据库查询 SELECT * FROM S订单 limit 602、配置页面内容 里面配置 订单明细 right(now(), 8) FORMAT(today(), "EEEE", "Locale.UK") today()3、时间按秒刷新 # 全页面刷新&#xff0c;则可用以下js: setInterval(“self.location.reload();”,1000…

AI 仅有大模型吗?AI Agent 究竟有多牛?

今天来和大家聊一个当下科技领域特别火爆的概念——AI Agent&#xff01; 前世界首富在其个人博客上写道&#xff1a; AI Agent&#xff08;AI智能体/助理/助手&#xff09;“将彻底改变计算机使用方式&#xff0c;并颠覆软件行业”。 他还预言“Android、iOS和Windows都是平…

喜讯!迈威通信TSN产品通过“时间敏感网络(TSN)产业链名录计划”评测,各项指标名列前茅

TSN技术&#xff0c;作为推动企业网络化与智能化转型的关键力量&#xff0c;已成为工业网络迈向下一代演进的共识方向&#xff0c;正加速重构工业网络的技术架构与产业生态。为响应这一趋势&#xff0c;工业互联网产业联盟携手中国信息通信研究院及50余家产学研用单位&#xff…