1、年代年代事件事件公元前公元前3000年年巴比伦王国开发了算盘。巴比伦王国开发了算盘。这个装置,它使用的线(棍子)上的一列珠子表示数这个装置,它使用的线(棍子)上的一列珠子表示数字,今天仍然在远东地区的一些地方使用,用于执行计算。字,今天仍然在远东地区的一些地方使用,用于执行计算。1614-1617John Napier,苏格兰数学家,发明了对数,允许通过加来进行乘法和减进行除,苏格兰数学家,发明了对数,允许通过加来进行乘法和减进行除法。他发明了棒子或者数支,这样可以通过一种特殊的方法移动棍子来实现对法。他发明了棒子或者数支,这样可以通过一种特殊的方法移动棍子来实现对大数的乘或者除。大数的乘或者
2、除。1623Wilhelm Schickard,德国教授,发明了第一个机械式计算器,称为,德国教授,发明了第一个机械式计算器,称为“计算钟计算钟”。1630William Oughtred,英国数学家和牧师,发明了计算尺。,英国数学家和牧师,发明了计算尺。1642-1644Blaise Pascal,法国数学家,物理学家和宗教哲学家,发明了第一个机械计算器法国数学家,物理学家和宗教哲学家,发明了第一个机械计算器Pascaline.1672-1674Gottfried Wilhelm Von Leibniz,德国数学家,外交官,历史学家,法学家和微,德国数学家,外交官,历史学家,法学家和微分的发
3、明家,发明了一个称为步进式计算器的机械计算器。计算器有一个独一分的发明家,发明了一个称为步进式计算器的机械计算器。计算器有一个独一的齿轮的齿轮-莱布尼茨轮,用于机械式的乘法器。尽管没有使用这个计算器,但是该莱布尼茨轮,用于机械式的乘法器。尽管没有使用这个计算器,但是该设计对未来的机械式计算器的发展产生了深远的影响。设计对未来的机械式计算器的发展产生了深远的影响。1823-1839 Charles Babbage,英国数学家和发明家,开始在他的差分机上工作,该机器,英国数学家和发明家,开始在他的差分机上工作,该机器设计用于自动的处理对数计算。由于有大量来自政府的工作和资金,没有完成设计用于自动的
4、处理对数计算。由于有大量来自政府的工作和资金,没有完成差分机。差分机。1834年,年,Babbage开始在一个功能更强的机器上工作,称为分析机,它开始在一个功能更强的机器上工作,称为分析机,它被称为第一个通用计算机。在这个时间前的被称为第一个通用计算机。在这个时间前的100年,所要求的精确的机械齿轮,年,所要求的精确的机械齿轮,不能在时间上准确的产生,因此没有工作。所以,不能在时间上准确的产生,因此没有工作。所以,Babbage被认为是被认为是“计算机之计算机之父父”。1854George Boole,英国逻辑学家和数学家,出版了,英国逻辑学家和数学家,出版了,给出了逻辑的数学基础。,给出了逻
5、辑的数学基础。1890Herman Hollerith,美国发明家,使用打孔卡片制表用于,美国发明家,使用打孔卡片制表用于1890年的普查。年的普查。1896年,他成年,他成立了打卡机公司,最终于立了打卡机公司,最终于1924年演变成了年演变成了IBM公司。公司。1906Lee De Forest,美国物理学家,发明了三极管(,美国物理学家,发明了三极管(3个电极真空管)。直到个电极真空管)。直到1940年前,这年前,这些管子没有用于计算机中。些管子没有用于计算机中。1936Alan M.Turing,英国逻辑学家,发表了一篇论文,英国逻辑学家,发表了一篇论文On Computable Num
6、bers,说明,说明任意的计算都可以使用有限状态机实现。任意的计算都可以使用有限状态机实现。Turing 在第二次世界大战后的,英国早期的计在第二次世界大战后的,英国早期的计算机研制中扮演了重要的角色。算机研制中扮演了重要的角色。1937George Stibitz,贝尔电话实验室的一个物理学家,使用继电器建立了二进制电路,能进,贝尔电话实验室的一个物理学家,使用继电器建立了二进制电路,能进行加、减、乘和除。行加、减、乘和除。1938Konrad Zuse,德国工程师,构建了,德国工程师,构建了Z1-第一个二进制计算机器。第一个二进制计算机器。1941年,完成了年,完成了Z3-通通用的电子机械
7、式计算机器。用的电子机械式计算机器。1938Claude Shannon,基于他在,基于他在MIT的硕士论文,发表了的硕士论文,发表了A Symbolic Analysis of Relay and Switching Circuits,在该著作中,他说明了符号逻辑和二进制数学如何应用到继,在该著作中,他说明了符号逻辑和二进制数学如何应用到继电器电路中。电器电路中。1942John V.Atanasoff,爱荷华州立大学教授,完成了一个简单的电子计算机器。爱荷华州立大学教授,完成了一个简单的电子计算机器。1943IBM-Harvard Mark I-一个大的可运行的电子机械式计算器。一个大的可
8、运行的电子机械式计算器。1944-1945J.Presper Eckert和和John W.Mauchly,在宾夕法尼亚大学的电气工程摩尔学院,设计和在宾夕法尼亚大学的电气工程摩尔学院,设计和建立了建立了EMIAC。它是首个全功能的电子电子计算器。它是首个全功能的电子电子计算器。1946John von Neumann,ENIAC项目的顾问,在该工程后,写了一个很有影项目的顾问,在该工程后,写了一个很有影响力的报告,之后,在普林斯顿高等研究院开始他自己的计算机项目。响力的报告,之后,在普林斯顿高等研究院开始他自己的计算机项目。1947Walter Brattain,John Bardeen和和
9、William Schockley在贝尔实验室发明了在贝尔实验室发明了晶体管。晶体管。1948在英国,在在英国,在Manchester Mark I电子计算机上运行第一个存储程序。电子计算机上运行第一个存储程序。1951发布发布-第一个商业制造的计算机,第一个商业制造的计算机,Ferranti Mark I和和UNIVAC。1953IBM发布了一个电子计算机发布了一个电子计算机-701。1958Kack kilby,德州仪器公司的一名工程师,建立一个可移相的振荡器,作,德州仪器公司的一名工程师,建立一个可移相的振荡器,作为第一个集成电路(为第一个集成电路(Integrated Circuit,
10、IC)。)。1959Robert Noyce,1958年所建立的仙童半导体公司联合创始人,生产了第一年所建立的仙童半导体公司联合创始人,生产了第一个集成电路平面工艺。这导致实际大规模的生产可靠的集成电路。个集成电路平面工艺。这导致实际大规模的生产可靠的集成电路。1968年,年,Noyce成立了成立了Intel公司。公司。1963数字设备公司数字设备公司DEC生产了首个小型计算机。生产了首个小型计算机。1964IBM生产了生产了System/360系列电脑主机。系列电脑主机。1965 在电子杂志上,在电子杂志上,Gordon Moore预测一个集成芯片上的元件数量在每一年翻预测一个集成芯片上的元
11、件数量在每一年翻一倍。这就是著名的一倍。这就是著名的“摩尔定律摩尔定律”。在。在1975年,修改该定律,每两年翻一倍。年,修改该定律,每两年翻一倍。1969IBM的研究人员开发了第一个的研究人员开发了第一个片上可编程逻辑阵列(片上可编程逻辑阵列(Programmable logic array,PLA)。)。1971Marcian E.Hoff,Jr.,Intel公司的工程师,发明了公司的工程师,发明了第一个微处理器第一个微处理器。1975Intersil生产了第一片现场可编程逻辑阵列(生产了第一片现场可编程逻辑阵列(Field Programmable logic array,FPLA)。)
12、。1978单片存储器引入了可编程阵列逻辑(单片存储器引入了可编程阵列逻辑(Programmable Array Logic,PLA)。)。1981IBM个人电脑诞生。个人电脑诞生。美国国防部开始开发美国国防部开始开发VHDL。VHDL中的中的V表示表示VHSIC(Very High Speed Integrated Circuit,超高速集成电路,超高速集成电路),HDL代表(代表(Hardware Description Language,HDL).1983Intermetric,IBM和和TI授权开发授权开发VHDL。1984Xilinx成立,并发明了现场可编程门阵列(成立,并发明了现场可
13、编程门阵列(Field Programmable Gate Array,FPGA)。)。Gateway设计自动化公司,引入了硬件描述语言设计自动化公司,引入了硬件描述语言Verilog。1987VHDL成为成为IEEE标准(标准(IEEE 1076)。)。1990Cadence Design System收购收购Verilog。1995Verilog成为成为IEEE标准。标准。图图1.1 摩尔定律与集成电路的发展趋势摩尔定律与集成电路的发展趋势x y最小项0 0m0=x&y0 1m1=x&y1 0m2=x&y1 1m3=x&yx yz0 000 11 m1=x&y1 01 m2=x&y1 10
14、 如果关心输出为1的行,可以发现当m1或者m2为真时,输出z为真。因此,可以写z,通过简单的OR上最小项(这些最小项输出为1)。输出z可以表示为:z=m1|m2=(x&y)|(x&y)x y最小项最大项0 0m0=x&yM0=m0=x|y0 1m1=x&yM1=m1=x|y1 0m2=x&yM2=m2=x|y1 1m3=x&yM3=m3=x|y得到z的POS表达式为:z=M0&M3=(x|y)&(x|y)x3 x2 x1 x0a b c d e f gx3 x2 x1 x0a b c d e f g0 0 0 00 0 0 0 0 0 11 0 0 00 0 0 0 0 0 00 0 0 11
15、 0 0 1 1 1 11 0 0 10 0 0 0 1 0 00 0 1 00 0 1 0 0 1 01 0 1 00 0 0 1 0 0 00 0 1 10 0 0 0 1 1 01 0 1 11 1 0 0 0 0 00 1 0 01 0 0 1 1 0 01 1 0 00 1 1 0 0 0 10 1 0 10 1 0 0 1 0 01 1 0 11 0 0 0 0 1 00 1 1 00 1 0 0 0 0 01 1 1 00 1 1 0 0 0 00 1 1 10 0 0 1 1 1 11 1 1 10 1 1 1 0 0 0 该图中包含两个本源蕴含项x和y&z,其表格表示为1-和-10。下面将给出找到本源蕴含项的方法。1.如表1.3所示下面首先列出函数中所有的最小项。这些最小项以递增的顺序排列。在第一栏中划了一条线用来区分最小项里有1个1,两个1和3个1.