写在开头的话:本文意在记录(主要目的)及分享我在初学汇编的相关内容及感受
一、计算机硬件系统的基本组成
PS:冯诺依曼体系结构:1、计算机的数制采用二进制;2、计算机依照程序顺序执行;3、计算机硬件的五大部分(如上图所示)
二、内存地址空间
要点:1、CPU在操控独立的物理存储器时,把它们统一当作一个逻辑存储器看待。该逻辑存储器即内存地址空间。(如下图所示)
2、每个物理存储器在这个逻辑存储器中占有一段地址空间;CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
3、不同的计算机系统的内存地址空间分配情况往往不同。
以上为个人略觉晦涩难解的几点,可能并非为重点,但自觉还是记录为妙。
#课外扩展:类如汇编等大多数常用的程序设计语言皆是基于冯诺依曼而设计出来的,
当然也有例外,譬如主要用于人工智能领域的LISP(List Processing)和
Kenneth Iverson所开发的APL(A Programming Language)则并非基于冯诺依曼体系,
着实让人惊讶于他们的创造力及敢于突破传统追求创新的勇气和智慧。
杂谈:
文末我想谈谈自己选修汇编的理由:我在大学期间所学习的第一门与计算机相关的课程是C语言,犹记得当时听第一节课时内心是多么的迷茫。。。学了一段时间之后,虽然自认为学到了不少,但内心的迷惑却不减反增,我不明白为何计算机可以看得懂我敲出的一条条指令,我开始对计算机的底层原理产生兴趣,于是我便在网络上寻找答案,有人向我推荐《编码:隐藏在计算机软硬件背后的语言》一书,便买来看了大概十几章,书确实是本好书,从最基础的摩尔斯电码一步步深入,只是。。。由于我太懒惰,大一一年除了基本的课程稍稍认真的学了学,其他并未花费太多的课外时间在这方面,所以我也是在大一的暑假才开始读这本书。不过让我感到欣慰的是,大二上学期我的专业开设了汇编语言这门课,哪有理由不学呢!不过学了一段时间我也意识到这门课程作为一种计算机语言,并未过多涉及计算机的底层原理,但是与之前所学的C和C++相比,汇编让我理解到了计算机的运行机制。也的确助长了我继续学下去的动力,加油吧!