关于体系结构:计算机体系结构|MIT6175和MIT6375学习笔记

在2023年初,达坦科技发动成立硬件设计学习社区,邀请所有有志于从事数字芯片设计的同学退出咱们的学习互助自学小组,以了解数字芯片设计的精华,强化理论知识的同时晋升实操技能,继而整体晋升设计能力。当初,实现第一期学习的同学整顿了MIT6.175和MIT6.375的要害内容以及Lab实际的学习笔记。 6.175和6.375的课程和Lab学习都有肯定的难度,要求采纳Bluespec语言实现RISC-V处理器,并反对多级流水、分支预测、缓存、异样解决、缓存一致性等性能。此外,Lab环节还波及软硬件联合开发,要求基于所实现的RISC-V处理器运行实在的RISC-V程序,并给出性能评估。心愿第一期学员(GitHub:kazutoiris )的学习笔记对想从事数字芯片设计的工程师有所帮忙。 MIT 6.175环境搭建虚拟机场景倡议应用 Ubuntu 20.04 + bsc + connectal 进行环境初始化。 ⚠️ Alma Linux/Rocky Linux/CentOS 对于 connectal 反对无限,可能会影响到前期仿真。    应用 bsvbuild.sh 能够很不便的进行仿真,而且还反对了一键波形导出等性能。    Docker 场景倡议应用 kazutoiris/connectal 镜像。在 Docker Hub 上的局部镜像应用的 bsc 是旧版,而且并没有装置 connectal。我的镜像由 Ubuntu 22.04 + bsc 2023.1 + connectal + bsvbuild.sh 四局部组成,足够满足 Lab 要求。 version: "3.9"services: connectal: image: kazutoiris/connectal:latest volumes: - .:/root network_mode: none四种 FIFO (Lab 4)Lab4 的要求是设计各种 Depth-N FIFO。可并发 FIFO 容许流水线级与级之间相互连接而不引入额定的调度束缚。一个可并发 FIFO 须要实现可并发的 enqueue 和 dequeue 办法。要实现较大深度的FIFO,须要应用循环缓冲。 ...

May 18, 2023 · 5 min · jiezi

关于体系结构:计算机体系结构圣经新版图灵奖得主扛鼎之作影响无数技术人

1946 年 2 月 15 日,世界上第一台通用可编程电子计算机 ENIAC 正式投入使用。ENIAC 每秒能够进行 5000 次根本算术运算,比同时代的计算机器快 1000 倍。但 ENIAC 采纳的输出进制为十进制,构造极为简单。它应用了 1.8 万根电子管,占地 140 平方米,耗电量高达 150 千瓦。2016年6月20日,德国法兰克福国内超算大会(ISC)颁布了新一期寰球超级计算机TOP500榜单,由中国国家并行计算机工程技术钻研核心研制的“神威·太湖之光”夺冠。“神威·太湖之光”是世界首台运行速度超十亿亿次的超级计算机,其峰值性能达每秒 12.5 亿亿次、继续性能为每秒9.3亿亿次。从ENIAC到“神威·太湖之光”的70年间,计算机技术获得了难以想象的倒退。现在,一款价格500元左右的手机,性能秒杀1993 年世界上最快的的电脑(售价 5000 万美元)。这种疾速倒退既得益于计算机制作技术的倒退,也得益于计算机设计的翻新。纵观计算机倒退的历史,技术始终在稳步地晋升,但体系结构的变革绝对具备肯定的周期性。在电子计算机问世后的前 25 年,两大支柱均奉献微小,使计算机性能每年大概晋升 25%。20 世纪 70 年代前期,微处理器问世。依附集成电路技术的提高,微处理器更加疾速地晋升了计算机性能——每年大概晋升 35%。也就是说,在过来的 50 年里,计算机性能的晋升大多是通过计算机体系结构的倒退实现的。而体系结构倒退的背地是摩尔定律、登纳德缩放比例定律和Amdahl定律。然而随着登纳德缩放比例定律的终结,摩尔定律的影响放缓,咱们将如何理解和学习这个畛域,能力为将来计算机技术的倒退打好最松软的根底?在此,为大家举荐这个畛域的奠基性作品《计算机体系结构:量化钻研办法(第6版)》。从1990年英文版第一版出版开始,本书就是这个畛域内最优良的学习材料,到2017年年底,第6版英文版上市,两位作者约翰• L.亨尼西(John L. Hennessy)和大卫•A.帕特森(David A. Patterson)继续写作这本书已有27载。期间,因“创始了一种设计和评估计算机体系结构的零碎、定量的办法,对微处理器行业产生了长久的影响”,两位荣获2017年图灵奖,而这本书就是他们的代表作。这是一个受到人们热切关注的畛域,计算机技术的倒退很大水平上要靠体系结构的变革,怎么形容其倒退的重要性都不为过。咱们举荐所有程序员都读读这本《计算机体系结构:量化钻研办法(第6版)》,意识了体系结构才算真正搞懂了计算机底层原理——将来体系结构的变革要靠所有程序员一起致力。详尽、经典、实战体系结构奠基作品本书次要探讨促使计算机性能在 20 世纪获得飞速增长的体系结构思维和编译器改良,导致这些巨变的起因,以及 21 世纪体系结构思维、编译器和解释器面临的挑战和富裕前景的办法。书中系统地介绍了计算机系统的设计根底、指令集系统结构、流水线和指令集并行技术、层次化存储系统与存储设备、互连网络以及多处理器零碎等重要内容。另外,本书对近些年炽热的云计算、手机客户端技术、人工智能等相干内容也有涉猎。近距离扫视组成和硬件扭转人们学习和钻研的形式十几年前,“计算机体系结构”仅仅指代指令集设计,其余方面的设计就算作“实现”,隐含之意就是,实现形式不太重要……但本书认为,真正的计算机体系结构是:设计满足指标和性能需要的组成和硬件。其中“组成”包含存储器零碎、存储器互连、外部处理器或CPU的设计等。硬件是指计算机的具体实现,包含计算机的详尽逻辑设计和封装技术。对实在零碎进行剖析揭开计算机体系结构的神秘面纱本书的外围是采纳同样的量化办法对实在零碎进行剖析,这种办法采纳的工具包含:程序的教训数据、试验和模仿。通过强调老本、性能和能耗之间的衡量以及优良的工程设计,论述那些为将来技术倒退奠定根底的基本原理。上述量化办法对过来的隐式并行计算机是无效的,咱们置信它对将来的计算机同样无效。重要概念没有时效性但此时第 6 版再及时不过体系结构利用摩尔定律和登纳德缩放比例定律,构建规模更大、并行水平更高的零碎。而摩尔定律近来因为物理限度和经济因素的独特影响而放缓,登纳德缩放比例定律于 10 年前终结,这对计算机体系结构的影响,与由单核到多核的转变一样深远。本书第 6 版全面更新,给出了最新的技术倒退、老本、示例和参考资料,同时为了跟上开源体系结构的最新倒退,书中应用的指令集体系结构更新为RISC-V。新增专用体系结构预言体系结构的“新生”人们早就晓得,与通用处理器实现计划相比,定制的畛域专用体系结构能够领有更高的性能、更低的功耗,并且须要更少的硅面积。但在过来,通用处理器的单线程性能每年晋升 40%,而与采纳最先进的规范微处理器相比,开发定制体系结构显然须要更多的工夫能力上市,从而使定制体系结构的劣势丧失殆尽。而当初,单核处理器的性能晋升速度曾经十分迟缓,这也就是说,定制体系结构的劣势在很长一段时间里都不会因通用处理器而变得过期,甚至永远不会过期。本书用一整章来介绍几种畛域的专用体系结构,并提供了实现示例。久负盛名的权威著述全面降级传承经典、更新更全 业余书评“第 6 版进行了具体更新,给出了新技术的倒退状况和参考资料。为了跟上开源体系结构的倒退,书中将指令集体系结构更新为RISC-V。”——Norman P. JouppiMIPS 架构师、Google工程师“我十分喜爱这本书,因为它是工程师写给工程师的。亨尼西和帕特森展现了数学的局限性和材料科学的可能性,并借助实在例子领导架构师通过剖析、度量和折中来构建工作零碎。新增的第 7 章‘畛域专用体系结构’介绍了许多颇有前景的办法,并预言了计算机体系结构的‘新生’。”——Cliff YoungTPU联结设计者Google工程师“《计算机体系结构:量化钻研办法》是一部经典著作,犹如美酒,历久弥醇。我在本科毕业时第一次购买了这本书,当初它依然是我常常参考的图书之一。”——James HamiltonAmazon高级副总裁兼卓越工程师“计算机体系结构始终在疾速倒退,而《计算机体系结构:量化钻研办法》紧跟它的步调,每一版都与时俱进,精确地解释和剖析了这一畛域激动人心的新思维。”——James Larus瑞士洛桑联邦理工学院传授、计算机和通信迷信系主任前微软研究院首席研究员适宜人群本书既可作为高等院校计算机专业本科生或研究生教材,也可作为从事计算机体系结构或计算机系统设计的工程技术人员的参考书。 作者介绍约翰·L. 亨尼西和大卫·A. 帕特森因“创始了一种设计和评估计算机体系结构的零碎、定量的办法,对微处理器行业产生了长久的影响”而荣获 2017 年图灵奖。本书是他们的代表性成就之一。 除了图灵奖,两位还独特取得了美国工程界最高荣誉德雷珀奖、IEEE计算机领域最高荣誉冯·诺伊曼奖、计算机体系结构畛域最高荣誉Eckert-Mauchly奖。 两位作者都入选了美国国家科学院和工程院院士,也是ACM和IEEE的会士。约翰·L. 亨尼西(John L. Hennessy) 计算机科学家、斯坦福大学传授。1981 年,领导开发了最早的RISC我的项目之一MIPS,并开办企业将产品商业化,起初公司以 3.33 亿美元被并购。2000 年~ 2016 年,负责斯坦福大学第十任校长,期间为学校筹集 130 亿美元。2018 年,开始负责Google母公司Alphabet董事长。曾负责Google、思科等公司董事会成员,因对守业圈的奉献而被称为“硅谷教父”。大卫·A. 帕特森(David A. Patterson) ...

October 20, 2022 · 1 min · jiezi

关于体系结构:如何做规划分享2种思维和4个方法

简介: 布局不只是高层的事。学会做布局,不仅能够让指标更聚焦,还能让咱们清晰地晓得今后要做什么、如何去做。在本篇文章中,提到了布局的2种思维模式,和作者本人在布局中用到的4个布局办法,心愿让开始做布局的你显得不那么迷茫。 作者 | 不拔起源 | 阿里技术公众号 每年每个部门都要进行布局,布局能让指标更聚焦,让咱们清晰地晓得今后咱们要做什么、如何去做。并非每个人都会参加布局中去,但须要把握布局的办法,否则让你来做布局时,你会发现很苦楚,找不到什么脉络,要么布局进去的内容都是散点,要么布局进去的太形象。 在本篇文章中,提到了布局的2种思维模式,并分享本人在布局中用到的4个布局办法,让开始做布局的你显得不那么迷茫。 一 你应该学会布局1 布局不只是高层的事布局不仅仅是高层的事,每个人都要学会布局,只是每个人布局事件的格局不一样,高层做战略规划,上面的人做战术布局。布局也是分档次的,有战略规划、部门布局、团队布局、集体布局,站在每一层中,你看到的内容是不一样的,个别都是高层布局蕴含底层布局,底层布局撑持高层布局。 有些人认为布局是主管的事,本人只有依照布局去做事就行,这是一种被动承受干活的心态,你很有可能不理解做这件事的背景是什么,要解决什么问题,深层次的指标是什么。当你的输出更多时,你所做的方案设计也就不一样了,技术选型也会不一样,架构设计也会不一样。 2 布局具备重要的意义笔者认为布局有三个重要的意义: 聚焦指标 布局的一个最为重要的作用就是让指标更清晰。团队里的人晓得要做什么,有一部分人感觉迷茫,很大水平是指标不分明,如同晓得要做什么事,又不晓得如何下手。这个指标可大可小,小的方面就是要实现一个我的项目或一个需要,大的方面就是要建设一套体系。笔者已经就有这样的切身经验,有一段时间显得十分迷茫,不晓得本人要做什么,人一迷茫就会焦虑。一旦有这样的状态,就要思考是不是指标不够清晰,指标度量是不是不够细。当指标明确之后,大家"心向一处想,劲往一处使",这样的工作状态效率是十分高的,团队的气氛也是十分好的。 洞察背地逻辑 布局进去的内容是后果,最为重要的是思考为什么要做这些事,背地的逻辑才是外围。剖析以后的现状、痛点、业界倒退情况……联合业务自身,去做一些决策、取舍。不同的人思考出发点不一样,大家在一起碰撞时,会有一些想法闪现进去,也是思维的交换。咱们做事不仅仅要懂得how,更要懂得why,当把why讲清楚之后,how也就是瓜熟蒂落的事,往往咱们的一个困惑是不晓得why。 通晓将来方向 布局有短期布局,也有长期布局,个别笔者是先思考长期布局,思考3年之后,咱们要具备怎么的能力,再回到短期上,咱们当下这个阶段要做到怎么的水平。有些事不紧急,但很重要,能够放晚一点做;有的事十分重要,又十分紧急,优先级就要进步。当咱们晓得了方向之后,即便当下没有去做一些事,也晓得未来咱们要做成什么样。以笔者的过往经验,一个团队有一两年的长远规划,团队里的成员达成共识之后,这个团队在一两年内是稳固的,因为大家晓得两年之后咱们会做成什么样,远方始终有一个指标在照亮着咱们,大家一起致力一直迫近那个指标。 二 布局的2种思维1 演绎思维布局应用的第一种思维是归纳法。这是大家最罕用的办法,个别是从现状登程,思考当下有哪些问题、业界是怎么做的,从这些输出中去演绎咱们须要去做什么。比方当下工单征询比拟多,那么就须要对工单进行分类,如演绎成产品设计问题、程序代码问题、依赖方问题、交互设计问题,针对每类问题,再去思考咱们应该要做到哪些工作。在店铺平台建设中的布局中,咱们就梳理了当下的一些痛点问题,如平台只有一些根底的能力,没有给业务方提供弱小的能力撑持,那么接下来就要增强店铺能力建设,丰盛店铺能力。 演绎思维有一个毛病就是就事论事,解决了表层的问题,比方竞品有什么,咱们没有该项能力,是不是咱们就要去做同样的事。演绎思维要配合深度思考一起做规划设计,真正挖掘出咱们当下的痛点是什么,比方一个工单,用户只会提出他遇到了什么问题,此时就要深入分析它的root cause,有的时候只须要一个清晰的提醒文案就可能解决用户的问题。 2 演绎思维布局应用的第二种思维是演绎思维。演绎思维是一种更高级的思维模式,它须要一个人对事物有十分粗浅的意识,当洞察出了底层的法则之后,再去思考咱们要做什么。个别的人并不习惯用这种思维模式,它对人的要求十分高,一旦把握之后,布局也就容易得多,很多科学家更偏差应用演绎思维。 在店铺布局中,笔者就使用了演绎的思维。比方在布局之前,笔者就思考两个问题:店铺的实质是什么、店铺要提供的商业价值是什么。当把这两个问题想分明之后,沿着价值方向去思考咱们应该要给用户提供怎么的能力,这是一步一步推导进去的。店铺的实质是一个"场",它连贯了卖家和买家。针对这两种角色,卖家最为关注的是怎么应用得好店铺,蕴含应用得爽、店铺转化好;买家最为关注的是怎么通过起码的钱、起码的工夫买到心仪的商品。沿着卖家和买家关注点,持续思考咱们怎么让卖家用得爽、用得好呢?其中一个点是咱们要晓得卖家当初有哪些不好的体验,肯定要能度量得进去,而不是定性地去剖析,当定量地度量出体验指标之后,这样就能够十分有针对性地去做一些体验优化工作。站在买家的角度,能够给买家一些优惠,让他更违心购物,这也即是咱们布局店铺营销的初衷。 三 布局的4个办法1 同类思考办法同类思考的办法是通过以后的一个点,去思考还有没有并列的事物。比方在优惠体系中,优惠券是十分常见的营销伎俩,那么就要思考,有没有与优惠券等同的营销伎俩呢?这样思路一下子就关上了,除了优惠券外,还会有积分、奖励金、卡等,这样就造成了卡、券、分、金的根底优惠体系。同类思考的办法是最简略的,也是最容易实际的,只有在现有的事物上,进一步去思考同类事物就行。它最好的特点就是丰盛能力,尤其在平台型业务建设的过程中,丰盛能力始终是一个重要的布局,当把同类的能力都补齐之后,整个平台的能力就十分丰盛。 同类思考的办法除了用在布局上,还能够用在解决具体的问题上,比方,咱们承受到一个工单:创立店铺时提醒"service error",这个提醒就是十分技术化的表白,用户基本不晓得出错的起因是什么。那么就要思考,在其它的交互流程中,是否也有相似的问题,咱们在解决问题时,不要只单点地解决问题,至多要造成一条线,解决一类的问题。 2 升维思考办法升维思考的办法是往向形象一层,屏蔽上层的实现细节,实质来讲是简化意识和晋升意识的维度。还是回到下面优惠的例子,有了优惠券、积分、奖励金这些优惠工具,内部业务零碎怎么去感知呢?不可能每次新减少一种优惠能力,还要让业务侧去感知,如交易在下单时,要扣减优惠金额,十分不好的体验是交易别离去调用优惠、奖励金零碎的接口,往后只有新减少一种优惠能力,交易扣减逻辑就要批改,显然不合乎"开闭准则"。解决这个问题就要应用到升维思考的办法,往上形象优惠计算的能力,交易、导购只用关注优惠计算接口就行,至于有多少种优惠它并不关怀。 升维思考十分有用,再比方优化卖家店铺装修体验,咱们能想到一些具体的措施:优化交互、优化流程、减少用户文档……尽管这些具体的措施对晋升卖家装修体验是有益处的,但有一个问题咱们始终没有定义分明:到底什么在影响着卖家装修体验?换句话讲,咱们须要晓得影响卖家装修体验的定量指标,只有把定量的指标找到之后,就十分有针对性去做一些体验优化的工作。 升维思考的格局比同类思考的格局要大一些,同类思考只是站在同类的维度去思考还有什么,而升维思考站在的维度更高,它能够往下拆解出不同的子项进去,如稳定性建设,它能够拆解出稳定性监控、稳定性预案、稳定性应急解决……如果说同类思考是横向思考,那么降级思考就是纵向思考,这两者联合在一起就造成了一个立体。 3 降维思考办法降维思考的办法与升维思考的办法相同,它是往下一层去思考。这种办法比拟实用于指标十分明确的场景,去思考具体要去做什么事。比方店铺营销,它相当是一个命题,店铺营销须要哪些能力去撑持,如何体系化地表达出来就十分重要。降维思考更像是一种逆向思考,指标曾经有了,怎么去推导须要哪些能力去撑持,这些能力就是须要去建设的。回到例子自身,店铺营销,至多要蕴含:店铺优惠、店铺互动、店铺投放、店铺权利履约、店铺触达,还能够往下细分去思考每块的内容,如店铺互动,须要思考有哪些不同的店铺互动类型,常见的有新人进店支付优惠券、关注店铺支付优惠券、玩游戏支付优惠券……一层层地往下细化,整个体系就搭建起来了。 如果说升维思考更适宜做平台类的建设,那么降维思考就适宜场景类的建设,一个面向形象布局,一个面向具体布局。降维思考办法也是十分有用的,比方店铺域要用到营销能力,自身底层的营销能力又是营销域负责的,那么店铺营销能做的事就是将营销能力利用到具体的场景上,如关注店铺支付积分、积分兑换装修模板……平台思维和场景思维是两个不同的思维形式,平台思维偏通用类的规划设计,更多的是使用演绎的思维,而场景思维是偏具体业务的规划设计,更多的是使用演绎的思维。 4 精专思考办法精专思考的形式是专一于特定畛域,将某一件事做到极致。比方做芯片,5nm就是一个技术挑战,在这个畛域没有足够多的钻研,是很难达到5nm的规范。精专思维利用到布局上,更多的偏差具体度量指标的晋升上,比方性能优化,RT从xx降到xx,QPS从xx晋升至xx……研发效力,研发工夫从xx降到xx,效率从xx晋升至xx……SLA从99.99%晋升至99.999%……这样的布局案例十分多,精专体现的是深度,当把根底的能力都建设得差不多之后,要么抉择更广大的空间,要么抉择做得更深,比方营销中怎么去预防资损就是一个深度问题,还有怎么去晋升研发效力上,是通过架构降级,还是流程改良,亦或是框架优化……越往底层,对业余能力的要求就十分高。 降维和精专又是从另外一个角度去思考问题,和后面两种办法形成了平面的视角。如果布局中能灵活运用这四种办法,整个布局的内容就丰盛,既有广度的内容,又有深度的内容。 四 布局办法只是一个工具1 不要过分沉迷办法办法只是一种工具,让咱们更好地去工作,但咱们不能过分去强调办法,实质上还是要回归到业务意识上,正所谓"巧妇难为无米之炊",同样的情理,对业务没有思考,空有办法也是没有用的。笔者的倡议是不同的人有不同的布局办法,真正汲取一两个人的办法之后,真正去实际,从实际中再总结出适宜本人的办法。不同的人对办法的表述不一样,实质上是大同小异的,真正把握4、5种办法就足够用了,不必贪多,把办法的原理、思路理解好了,多去实际,在实践中再去领会,多布局几次,你也就懂了。 2 深度思考业务才是邪道在上一节中也提到不要过分地沉迷于办法,深度思考业务才是邪道,个别懂一个业务是须要工夫的,要一直去思考业务的实质是什么,业务的商业价值是什么,从实质和商业价值中去寻找咱们的机会。比方笔者就花了很长时间去思考店铺的实质是什么,它的商业价值是什么,不论是业务实质还是商业价值都是简略的,如果不可能用一两句话讲清楚,很有可能你还没有深刻理解(有可能你晓得但没有表达出来)。以店铺业务为例,站在卖家的视角,店铺给卖家的商业价值就是让卖家用得爽店铺、用得好店铺,用得爽就是卖家在装修店铺的过程中,他的体验是好的,这也是人情世故,你用一个货色,用得很不通顺,你也就不想去用它;用得好就是装修进去的店铺,买家更违心在店铺里购物,即转化率要高。 在布局时,应该多关注业务,多思考业务上的痛点问题、业务的实质、这个业务的初衷是什么,所要做事的方向就会清晰一些,咱们所做的布局肯定是有目的地,解决一个痛点,解决一个难题,新减少能力……背地是有决策依据的,当把背地的思考讲清楚之后,大家的指标感、方向感就会更清晰。 五 让布局落地1 布局能看得出一个人的格局不同的人看到的问题不一样,所承受的输出信息也不一样,思维模式也不一样,因而不同的人思考的出发点不一样,他所做的布局也就不一样。有的人思考粗浅,思考周全,布局的内容十分有体系化;有的人专一于某一个畛域,一直摸索底层的问题,布局的内容十分有深度;也有的人思考的问题比拟繁多,布局的内容比拟零散…… 从布局进去的内容,能够看得出一个人的格局,这个格局或大或小,或深或浅,它间接影响着今后一段时间工作的方向。咱们更心愿有大格局的布局,就像国家有5年布局、10年布局、100年布局,能清晰地晓得咱们要驶向何方,将来是什么。布局的内容要有肯定的挑战性,去挑战一些未知区域的内容,这样也就有微小的劣势,在这个赛道上,很早就开始布局了,即便他人要追上来,也不是一两年的事。在这个畛域上放弃着领先地位。要达到这样的成果,相对不是漫无目的做进去的,肯定是很早就开始布局,一步一步走到明天才能够。 2 体系化的布局布局要体系化,而不是散点去布局,散点做事不成体系,东一榔头西一棒槌,散点布局并不能看出清晰的指标。比方在布局度量装修体验的度量指标时,它所蕴含的内容就十分多,如确定业务指标、业务指标拆解、数量埋点、接口监控、行为路径分析、问卷设计、实时反馈通道、指标相关性计算等,整个造成一个体系,从逻辑上是自洽的。不成体系的布局,往往会受他人的质疑,很显著短少一些能力撑持。 3 重点落地当有了布局之后,接下最为重要的就是把布局里的内容实现进去,咱们最为牛逼的就是一两年后把咱们当初设计的布局都实现了,那个时候是最有成就感的。咱们布局的格局要大,同时落地要实,实实在在地实现布局的内容,否则即便布局再好,最终也不会有很好的后果,阿里有一句话:"为后果买单,为过程鼓掌"。 个别PM要承当项目管理的角色,把控我的项目进度,及时发现危险并且协调资源解决问题。以咱们团队为例,会有一些专项去落实布局的内容,做好需要剖析、方案设计,每周会有我的项目周报,跟踪我的项目进度和项目风险,没有治理的我的项目,延期的危险是微小的。 原文链接本文为阿里云原创内容,未经容许不得转载。

May 18, 2021 · 1 min · jiezi

计算机网络体系结构

Winter is coming相信大家近期在 php 求职中,肯定发现岗位要求越来越高了。网络也成为重点考察的技能了,如果觉得不太熟悉,这篇文章就很适合你了,新手学习、老手防身均适合在计算机网络的基本概念中,分层次的体系结构是最基本的计算机网络体系结构的形成分层相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,最初提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题比较易于研究和处理国际标准全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息,国际标准化组织 ISO 提出了 OSI。只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信现今规则最大的、覆盖全球的、基于 TCP/IP 的互联网并未使用 OSI 标准。在20世纪90年代初期,虽然整套的 OSI 国际标准已制定出来,但基于 TCP/IP 的互联网已抢先在全球相当大的范围成功地运行了,而同时却几乎找不到有厂家生产出符合 OSI 标准的商业产品。OSI 只获得了一些理论研究的成果,市场化方面则彻底失败了TCP/IP 常被称为是事实上的国际标准《PHP面试问答》 https://github.com/colinlet/P… 结合实际 PHP 面试,系统的汇总面试中的各种各样的问题,尝试提供简洁准确的答案。如果你在 PHP 面试中遇到问题,欢迎提 Issues 交流。包含网络协议、数据结构与算法、PHP、Web、MySQL、Redis、Linux、安全、设计模式、架构、自我介绍、离职原因、职业规划、准备问题等部分 如果觉得不错欢迎 star 关注,正在不断持续更新中协议与划分层次网络协议在计算机网络中要做到有条不紊地交换数据,就必须准守一些事先约定好的规则。这些规则明确了所交换的数据的格式以及有关的同步问题为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。网络协议也可简称为协议协议组成要素语法,即数据与控制信息的结构或格式语义,即需要发出何种控制信息,完成何种动作以及做出何种响应同步,即事件实现顺序的详细说明协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上的信息交换过程做出精确的解释划分层次对于非常复杂的计算机网络协议,其结构应该是层次式的分层可以带来很多好处各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间接口(即界面)所提供的服务灵活性好。当任何一层发送变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响结构上可分割开。各层都可以采用最合适的技术来实现易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明各层所要完成的功能差错控制 使相应层次对等方的通信更加可靠流量控制 发送端的发送速率必须使接收端来得及接收,不要太快分段和重装 发送端将要发送的数据块划分为更小的单位,在接收端将其还原复用和分用 发送端几个高层会话复用一条逻辑连接,数据传送结束后释放连接连接建立和释放 交换数据前先建立一条逻辑连接,数据传送结束后释放连接分层缺点有些功能会在不同的层次中重复出现,因而产生了额外开销体系结构计算机网络的各层及其协议的集合就是网络的体系结构。计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件具有五层协议的体系结构五层协议OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。TCP/IP 体系结构则不同,但它现在却得到了非常广泛的应用。TCP/IP 是一个四层的体系结构。在学习计算机网络的原理时往往采用折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚各层作用应用层:应用层协议定义的是应用进程间通信和交互的规则运输层:运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务网络层:把运输层产生的报文段或用户数据报封装成分组或包进行传送数据链路层:将网络层交下来的 IP 数据报组装成帧,并在两个相邻结点间的链路上传送物理层:利用物理媒体以比特形式传送数据小结把应用层交互的数据单元称为报文运输层主要协议:传输控制协议 TCP、用户数据报协议 UDP在 TCP/IP 体系中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报,或简称为数据报实体、协议、服务和服务访问点当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接受信息的硬件或软件进程协议是控制两个对等实体(或多个实体)进行通信的规则的集合在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的计算机网络协议特点协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的非常仔细地检查这个协议能否应付各种异常情况TCP/IP 的体系结构TCP/IP 的体系结构比较简单,只有四层应当指出,技术的发展并不是遵循严格的 OSI 分层概念。实际上现在的互联网使用的 TCP/IP 体系结构有时已经演变成为图1-23所示的那样,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层还有一种方法,就是分层次画出具体的协议表示 TCP/IP 协议族,它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的 IP 层很小,上层的各种协议都向下汇聚到一个 IP 协议中TCP/IP 协议可以为各式各样的应用提供服务,同时 TCP/IP 协议也 允许 IP 协议在各式各样的网络构成的互联网上运行。IP 协议在互联网中充当着核心的作用本文转载自 枫叶林博客 《计算机网络体系结构》,原文链接:https://blog.maplemark.cn/201… ...

April 16, 2019 · 1 min · jiezi

体系结构方案 -BI 系统的前置计算

【摘要】存在问题:BI 系统后台计算由中央分布式数据仓库(MPP)实现,性能不佳,导致交互式多维分析响应迟钝。产生的原因:中央数据仓库上挂数十个应用,计算负担太重!解决方案:数据前置计算 / 缓冲层,由应用程序直接计算,不再请求中央数据仓库。使用常规数据库实现前置计算的“烦恼”: 全量数据前置?高频数据前置?SQL 转换问题?性能问题?去乾学院看个究竟吧! 体系结构方案 -BI 系统的前置计算BI 系统的前置计算参考:数据蒋堂《BI 系统数据前置》文章。 方案附件下载: 《BI 系统的前置计算 V1.8.pdf》

January 14, 2019 · 1 min · jiezi