📄 003-006.html
字号:
<HTML>
<HEAD>
<META name=vsisbn content="1558515682"><META name=vstitle content="Java Digital Signal Processing"><META name=vsauthor content="Douglas A. Lyon"><META name=vsimprint content="M&T Books"><META name=vspublisher content="IDG Books Worldwide, Inc."><META name=vspubdate content="11/01/97"><META name=vscategory content="Web and Software Development: Programming, Scripting, and Markup Languages: Java"><TITLE>Java Digital Signal Processing:Java and Its Promise</TITLE>
<!-- HEADER --><STYLE type="text/css"> <!-- A:hover { color : Red; } --></STYLE><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<!--ISBN=1558515682//-->
<!--TITLE=Java Digital Signal Processing//-->
<!--AUTHOR=Douglas A. Lyon//-->
<!--PUBLISHER=IDG Books Worldwide, Inc.//-->
<!--IMPRINT=M & T Books//-->
<!--CHAPTER=1//-->
<!--PAGES=003-006//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="001-002.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="006-008.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<H3><A NAME="Heading3"></A><FONT COLOR="#000077">The Big Idea: WEBOS</FONT></H3>
<P>If we consider all the Web servers on the Internet as being part of a large computer system, the Web is the largest operating system in the world. In fact, the Web’s programming language is Java, and so, from this point of view, Java is an operating systems programming language. Sun plans to release Java machines that are not virtual. This means that the Java machines will be implemented in hardware. The operating system for these machines will be written in Java. People will no longer have to write cryptic C code to modify the Kernel of an operating system; they will be able to write in Java. When this happens, Java will probably spread into embedded system design until every appliance on the planet supports Java—even our toasters!
</P>
<P>Consider the telephone. When unplugged from the network, the telephone is a useless piece of plastic, not worth the $20 it costs. The value added by the telephone is the network into which it is plugged. The same may be said of embedded systems on the Internet. For example, a toaster on the Net can download operational parameters (when to turn on, for how long, etc.), and it can use the network to communicate issues regarding its state (sorry to interrupt your net surfing, but the toast is done!).</P>
<P>Java chips will greatly reduce the price of an embedded Java controller. Dedicated chips will give embedded controllers speed and price advantages over their nonspecialized hardware counterparts. Sun is targeting the consumer market with mass sales of cheap chips.</P>
<P>Some targeted devices include TV set-top boxes, cellular telephones, pagers, digital TVs, smart VCRs, PDAs, printers, copiers, etc. In short, anywhere we find an embedded computer, Sun wants that computer to run Java. Because these chips will run byte code natively, there will be no need for a just-in-time compiler. Devices may not have a display, much memory, or any network connection. As a result, the application programming interface (API) for such embedded controllers will use a minimal API called the Java Embedded API. As of this writing, there is no published standard for the Java Embedded API. See <A HREF="http://www.sun.com">http://www.sun.com</A> for more information.</P>
<P>Sun Microelectronics, the Sun semiconductor division, calls its first chip architecture Java One. Sun plans to release two families of chips: microJava and ultraJava. MicroJava is a low-cost (less than $25) chip intended to target the embedded controller market. UltraJava is a higher-cost (less than $100) chip intended to target the workstation market. At the heart of the technology is a <I>super-scalar</I> stack-based reduced instruction set computer (RISC) machine called picoJava. It is super-scalar because it implements a four-stage pipeline that enables different parts of the processor to work on four different tasks at once. It is RISC because it executes most instructions in a single clock cycle.</P>
<P>Computing in a super-scalar pipeline is like using an assembly line. Data is passed from one worker to the next, and a process is applied to it. Figure 1.1 shows a sketch of the pipeline that, when filled, will permit picoJava to fetch, decode, execute, and cache, and then write back its results [Varhol].</P>
<P><A NAME="Fig1"></A><A HREF="javascript:displayWindow('images/01-01.jpg',387,297 )"><IMG SRC="images/01-01t.jpg"></A>
<BR><A HREF="javascript:displayWindow('images/01-01.jpg',387,297)"><FONT COLOR="#000077"><B>Figure 1.1</B></FONT></A> Four-stage picoJava pipeline.</P>
<P>During the fetch operation, picoJava will load a 4-byte cache line into its processing stack. The stack consists of 64 on-chip 32-bit registers. After the on-chip storage is exceeded, RAM is used to implement the stack.
</P>
<P>In addition to using ultraJava to target the workstation market, Sun hopes to use it to penetrate the network computer market. A network computer is a stand-alone computer connected to an enterprise’s network infrastructure. The primary market consists of companies that want to centralize administration by maintaining a few servers. Such a scheme simplifies the deployment of applications by permitting them to be automatically downloaded over a network [Madany].</P>
<P>The proposed picoJava system shortens the path between the Java programs and the hardware by implementing the Java machine in hardware. This approach cuts out the <I>adapter layer</I> and uses Kona, a special operating system designed for the picoJava machine (Figure 1.2).</P>
<P><A NAME="Fig2"></A><A HREF="javascript:displayWindow('images/01-02.jpg',500,320 )"><IMG SRC="images/01-02t.jpg"></A>
<BR><A HREF="javascript:displayWindow('images/01-02.jpg',500,320)"><FONT COLOR="#000077"><B>Figure 1.2</B></FONT></A> The picoJava Kona system.</P>
<P>Keep in mind that picoJava is still in development. No silicon has been built, so no benchmarks have been run.
</P>
<H3><A NAME="Heading4"></A><FONT COLOR="#000077">Java: The Good, the Bad, and the Ugly</FONT></H3>
<P>Java is spreading through the computer science and engineering communities like wildfire, yet there is cause for caution. People are asking hard questions. Is Java suitable for engineering? Is Java suitable as a first programming language? Can Java be used throughout the computer science and engineering curricula? Is Java suitable for writing large programs? What are the drawbacks of being an early adopter of Java technology?
</P>
<P>There is a lot of hype in the media today, and as a result, objective answers to these questions are not easy to come by. In fact, Java may not be suitable for writing large programs, and there may not be enough textbooks to use Java across the curriculum. Beta software is enough of a drawback to make any early adopter of a technology cringe. Being a beta tester of a compiler is not everyone’s idea of a good time.</P>
<P>In this chapter, we attempt to balance our view of the language with a list of Java’s good points, its bad points, and yes, its ugly points. We owe it to you, the reader, to say that being an early adopter of this technology comes at a cost: the time spent reading <I>many</I> Java books, writing custom libraries, buying new software, using beta compilers, and being the first (and sometimes only) Java programmer on the block. For us, the cost has well been worth it, but you must make your own decision. Use your judgment.</P><P><BR></P>
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="001-002.html">Previous</A></TD>
<TD><A HREF="../ewtoc.html">Table of Contents</A></TD>
<TD><A HREF="006-008.html">Next</A></TD>
</TR>
</TABLE>
</CENTER>
<hr width="90%" size="1" noshade><div align="center"><font face="Verdana,sans-serif" size="1">Copyright © <a href="/reference/idgbooks00001.html">IDG Books Worldwide, Inc.</a></font></div>
<!-- all of the reference materials (books) have the footer and subfoot reveresed --><!-- reference_subfoot = footer --><!-- reference_footer = subfoot --></BODY></HTML><!-- END FOOTER -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -