打字猴:1.700413749e+09
1700413749 计算机是怎样跑起来的 [:1700412634]
1700413750 计算机是怎样跑起来的 解释
1700413751
1700413752 初级问题:不仅是汇编语言,用C语言、Java、BASIC等编程语言编写的程序,也都需要先转换成机器语言才能被执行。机器语言有时也叫做“原生代码”(Native Code)
1700413753
1700413754 中级问题:内存中有多个数据存储单元。计算机用从0开始的编号标识每个存储单元,这些编号就是地址(Address)。I/O中的寄存器也可以用地址来标识,哪个寄存器对应哪个地址,取决于CPU和I/O之间的布线方式
1700413755
1700413756 高级问题:Flag的本意是“旗子”,这里引申为“标志”。一旦执行了算术运算、逻辑运算、比较运算等指令后,标志寄存器并不会存放运算结果的值,而是会把运算后的某些状态存储起来。例如,运算结果是否0、是否产生了负数、是否有溢出(Overflow)等
1700413757
1700413758
1700413759
1700413760
1700413761 计算机是怎样跑起来的 [:1700412635]
1700413762 计算机是怎样跑起来的 本章重点
1700413763
1700413764 本章的目标是通过编写程序使诸位亲身体验计算机的运行机制。为了达到这个目的,就需要使用一种叫做“汇编语言”的编程语言来编写程序,然后再把编好的程序通过手工作业转换成CPU可直接执行的机器语言。
1700413765
1700413766 这样的转换工作叫做“手工汇编”(Hand Assemble)。也许会有人觉得听起来就很麻烦,事实上也的确如此,但还是希望所有和计算机相关的技术人员都能亲身体验一下汇编语言和手工汇编。
1700413767
1700413768 这次体验应该能加深对计算机的理解,使诸位犹如拨云见日,找到长期困惑着自己的问题的答案,不仅能因“我能看懂程序了”而获得成就感,更能因发现“计算机原来很简单啊”而信心倍增。虽然本章的主题稍有些复杂,但笔者会放慢讲解的步伐,还请诸位努力跟上
1700413769
1700413770
1700413771
1700413772
1700413773 计算机是怎样跑起来的 [:1700412636]
1700413774 计算机是怎样跑起来的 3.1 从程序员的角度看硬件
1700413775
1700413776 为了体验手工汇编,下面我们就为在第2章制作的微型计算机编写一个程序吧。因为程序的作用是驱动硬件工作,所以在编写程序之前必须要了解微型计算机的硬件信息。然而真正需要了解的硬件信息只有以下7种(如图3.1所示),所以没有必要在编程时还总是盯着详细的电路图
1700413777
1700413778 图3.1 编写程序之前需要了解的硬件信息
1700413779
1700413780
1700413781
1700413782
1700413783 [CPU(处理器)信息]
1700413784
1700413785 CPU的种类
1700413786
1700413787 时钟信号的频率
1700413788
1700413789 [内存信息]
1700413790
1700413791 地址空间
1700413792
1700413793 每个地址中可以存储多少比特的信息
1700413794
1700413795 [I/O信息]
1700413796
1700413797 I/O的种类
1700413798
[ 上一页 ]  [ :1.700413749e+09 ]  [ 下一页 ]