High-level language computer architecture: Difference between revisions

Content deleted Content added
Dexbot (talk | contribs)
m Bot: Deprecating Template:Cite doi and some minor fixes
m Small WP:EoS WP:COPYEDITs. WP:LINK update. WP:OVERLINK cut.
Line 1:
A '''high-level language computer architecture''' (HLLCA) is a [[computer architecture]] designed to be targeted by a specific [[high-level language]], rather than the architecture being dictated by hardware considerations. It is accordingly also known astermed '''language-directed computer design,''' coined in {{harvtxt|McKeeman|1967}} and primarily used in the 1960s and 1970s. HLLCAs were popular in the 1960s and 1970s, but largely disappeared in the 1980s. This followed the dramatic failure of the [[Intel 432]] (1981) and the emergence of [[optimizing compiler]]s and [[reduced instruction set computing]] (RISC) architecture and RISC-like CISC architectures, and the later development of [[just-in-time compilation]] for HLLs. A detailed survey and critique can be found in {{harvtxt|Ditzel|Patterson|1980}}.
 
HLLCAs date almost to the beginning of HLLs, in the [[Burroughs large systems]] (1961), which was designed for [[ALGOL 60]] (1960), one of the first HLLs. The most well-known HLLCAs are the [[Lisp machine]]s of the 1970s and 1980s (for [[Lisp]], 1959). At present the most popular HLLCAs are [[Java processor]]s, for [[Java (programming language)|Java]] (1995), and these are a qualified success, being used for certain applications. A recent architecture in this vein is the [[Heterogeneous System Architecture]] (2012), whosewhich HSA Intermediate Layer (HSAIL) provides instruction set support for HLL features such as exceptions and virtual functions; this uses JIT to ensure performance.
 
==Definition==
Line 67:
 
==Alternatives==
Since the 1980s the focus of research and implementation in general-purpose computer architectures has primarily been in RISC-like architectures, typically internally register-rich [[load/store architecture]]s, with rather stable, non-language-specific ISAs, featuring multiple registers, pipelining, and more recently multicore systems, rather than language-specific ISAs. Language support has focused on compilers and their runtimes, and interpreters and their virtual machines (particularly JIT'ing ones), with little direct hardware support. For example, the current [[Objective -C]] runtime for iOS implements [[tagged pointer]]s, which it uses for type-checking and garbage collection, despite the hardware not being a tagged architecture.
 
In terms of computer architecture, the [[reduced instruction set computing]] (RISC) approach has proven very popular and successful instead, and is opposite from HLLCAs, emphasizing a very simple instruction set architecture. However, the speed advantages of RISC computers in the 1980s was primarily due to early adoption of [[on-chip cache]], rather than intrinsic advantages of RISC.
 
==See also==
Line 80:
{{refbegin}}
* {{cite | title = Language directed computer design | url = http://www.computer.org/csdl/proceedings/afips/1967/5070/00/50700413.pdf| first = William M.| last = McKeeman| conference = AFIPS '67 (Fall) Proceedings of the November 14-16, 1967, Fall Joint Computer Conference| volume = 31}}
** {{Cite journal | last = Keirstead | first = Ralph E. | date=March 1968 | title = R68-8 Language Directed Computer Design | journal = IEEE Transactions on Computers | volume = 17 | issue = 3 | pages = 298 | url = http://www.computer.org/csdl/trans/tc/1968/03/01687335.pdf | doi = 10.1109/TC.1968.229106}} – review
* {{Cite proceedings | last1 = Ditzel | first1 = David R. | last2 = Patterson | first2 = David A. | authorlink2 = David Patterson (computer scientist) | year = 1980 | title = Retrospective on High-Level Language Computer Architecture | conference = ISCA '80 Proceedings of the 7th annual symposium on Computer Architecture | pages = 97–104 | publisher = ACM | doi = 10.1145/800053.801914 | url = http://courses.cs.washington.edu/courses/cse548/05wi/files/Ditzel-Retrospective-on-HLL-Computer-Architecture.pdf | accessdate = 2014-11-18 | ref = harv}}
* ''[http://www.tkt.cs.tut.fi/kurssit/3520/K13/CH_3.pdf A Baker’s Dozen: Fallacies and Pitfalls in Processor Design]'' Grant Martin & Steve Leibson, [[Tensilica]] (early 2000s), slides 6–9