GithubHelp home page GithubHelp logo

foxsen / archbase Goto Github PK

View Code? Open in Web Editor NEW
2.9K 2.9K 275.0 190.21 MB

教科书《计算机体系结构基础》(胡伟武等,第三版)的开源版本

License: Other

Makefile 3.90% TeX 68.56% CSS 0.58% C 15.49% Assembly 9.20% Dockerfile 2.26%

archbase's Issues

【提案】PDF文档目录补充

foxsen您好,机械工业提供的 精装电子版pdf 没有书签目录(只有【文前】、【正文】两项),具体见

本页-精装电子版-无书签

本页-精装电子版-无书签

以及官网上面的,也没有书签,具体见

官网-精装电子版-无书签

官网-精装电子版-无书签

目前我想做的,就是给这个 精装电子版 加下目录书签,并且把 有目录书签的版本更新到上述两个链接上

以及,这个我处理完之后,需要跟谁联系更新呢。


10.1.1节存在笔误

现代处理器采用多种微结构设计技术挖掘指令级并行性,包括指令流水线、多发射、动态调度、寄存器重命名、转移猜测等技术。指令流水线重叠执行多条不相关的指令;多发射技术允许一个时钟周期执行多条指令,类似于“多车道”;动态调度允许后续指令越过前面被阻塞的指令继续被调度执行,相当于允许“超车”;寄存器重命名主要解决RAW和WAW的假相关问题;转移猜测技术可以猜测分支指令的方向和目标,在分支指令还未执行完之前获取更多可执行指令,以减少控制相关造成的指令流水线阻塞。这方面的技术已经比较成熟。

这一段中可能存在笔误,寄存器重命名主要解决 WAR 和WAW的假相关问题,原文中写成了”寄存器重命名主要解决 RAW 和WAW的假相关问题“

4.1.4 栈帧布局 中出错

例如图4.11中的normal函数,用gcc -O2 -S编译的结果如图4.12所示。normal函数调用了一个有9个整数参数的外部函数,这样它必须有栈帧来为调用的子函数准备参数。可以看到,编译器生成了一个32字节的栈帧,把最后一个浮点参数9保存到偏移0,把返回地址$ra保存到偏移24。

其中不论是图 4.11: normal函数代码,还是图 4.12: normal函数的gcc -O2编译结果,都只有整形参数。
没有“浮点”参数。

1.3 节 计算机体系结构的发展 PDF版中渲染存在错误

  1. 工艺和计算机结构 中:
    “更多” 指的是集成电路生产工艺在相同面积下提供了更多的晶体管来满足计算机体系结构
    发展的需求。“更快” 指的是晶体管的开关速度不断提高,提高了计算机频率。“更省电” 指的是随
    着工艺进步,工作电压降低,晶体管和连线的负载电容也降低,而功耗跟电压的平方成正比,跟
    电容大小成正比。在0.13�m 工艺之前,工艺每发展一代,电压就成比例下降,例如0.35�m 工艺
    的工作电压是3.3V,0.25�m 工艺的工作电压是2.5V,0.18�m 工艺的工作电压是1.8V,0.13�m 工
    艺的工作电压是1.2V。此外,随着线宽的缩小,晶体管和连线电容也相应变小。

其中所有关于微米的符号μ都没能显示出来。PDF中直接显示为0.13m。

后面还有一处:在0.13�m 工艺之前,电压随线宽而线性下降。

请问在哪里可以找到配套的实验呢?

《计算机体系结构基础》非常赞!美中不足的就是自学者没有实验可以做,而没实验可以做的话,看完书只能留下浅浅的印象。
在自序中有提到将推出计算机体系结构实验平台和实验教材,请问是否有一个相对明确的时间点呢?
或者,如果想做相应的实验,是不是应该单独发邮件联系相关的负责人?

关于第九章的插图 9.26

\@ref(fig:chapter9-LS3A2000)是龙芯3A2000处理器的流水线示意图。

机械工业出版社提供的纸质书精排电子版上是 3A3000 的架构图,且图中右侧标识里也说明了是 3A3000 的架构图,个人认为这里笔误了。

图9.11 PC时钟周期问题

image

如上图,在第六个时钟周期的时候,此时刚好等完I0指令写回寄存器,I1指令解除阻塞,R1端正式译码从寄存器堆中把数据读出来,然后I2取出地址。

问题在于,在第七个时钟周期的时候,I2和I3也存在RAW的依赖,所以I2指令也要阻塞。可此时I2的PC已经取出,第七个时钟周期按教材讲授以及图9.10均可发现第七个时钟周期,I3在执行PC指令,而9.11却显示第七个时钟周期是I2在执行PC,请问是不是图画错了?

关于LoongArch LP64的汇编代码如何编译出来?手头无该类设备的方法?

在第4章 软硬件协同的部分,关于c语言代码对应出的汇编代码 4.1.4本书85页。
我尝试了使用 https://godbolt.org/ 发现这个比较流行的网站还没有支持LoongArch 相关的编译工具链。
相反的,这个网站已经支持了许多种编译工具链,包括x86 ,arm, RIsc-v相关的。
可能龙芯可以和这个网站团队合作一下,把LoongArch支持搞起来。

另外,手头没有实体采用LoongArch 的计算机,有无通过qemu模拟器的方法使用相关编译工具链。

help me

i am writting about y I need help I have no idea on what to do in git hub.ca pleas help me I woid hrllo gelooowdgell thanks smile hi

表2.16中的do-while示例有点难以理解

个人感觉这个例子中t2,t3寄存器的使用让我难以理解,而且似乎用不着那么多寄存器
我实现了一个版本,或许会更清晰一些 :)

//   a: $a0
// sum: $t0
//   i: $t1
test_dowhile:
 or $t0,$r0,$r0
 or $t1,$r0,$r0

.L1:
 add $t0,$t0,$t1
 add $t1,$t1,1
 blt $t1,$a0,.L1

 or $a0,$t1,$r0
 jr $ra


如果理解有误还望指教 :)

图 4.5: C程序的典型虚拟内存布局 配图有误

这个图和虚拟内存布局文不对题。这个图讲的显然是用户栈的一个函数栈帧布局,只是虚拟内存布局的其中之一。
与下面的:

C程序的典型虚拟内存布局包括如下几部分:

应用程序的代码、初始化数据和未初始化数据
堆
函数库的代码、初始化数据和未初始化数据
栈

并不相符,只是其中讲述的内容之一“栈”。

建议: 基于龙芯的工作流

建议Dockerfile, ci, cd 都能基于龙芯处理器(mips / la)

我在mips 上安装tinytex 失败

所以直接用的apt源里的 texlive-full

但是make pdf 时提示 bookdown.tex
667行 \textbackslash{}providecommand\{\textbackslash{}docline\}{[}3{]}\{\noalign{\global\setlength{\arrayrulewidth}{#1}}\arrayrulecolor[HTML]{#2}\cline{#3}\} ! Misplaced \noalign

但是编译bookdown的demo工程, bookdown-demo 是可以无错通过的。

1.2.1 导出html的格式有误

原文为:冒泡排序算法的运算复杂度为O(N*N),快速排序算法的运算复杂度为O(N*log2(N))

在html版本中,两个 * 中间的文本被解释为了斜体,而且*号也没有显示出来,建议加个转义或者直接嵌latex $O(N^2)$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.