Evolution and History of Programming Languages Software/Hardware/System

1 / 33
About This Presentation
Title:

Evolution and History of Programming Languages Software/Hardware/System

Description:

Evolution and History of Programming Languages Software/Hardware/System * The Tower of Babel Genesis 11:1-7 Now the whole earth had one language and few words. –

Number of Views:1965
Avg rating:3.0/5.0
Slides: 34
Provided by: eeMutAcT
Category:

less

Transcript and Presenter's Notes

Title: Evolution and History of Programming Languages Software/Hardware/System


1
Evolution and History of Programming
LanguagesSoftware/Hardware/System
2
Software Programming Language
3
History Timeline
4
Popularity
5
The Evolution of Programming Languages
  • To build programs, people use languages that are
    similar to human language. The results are
    translated into machine code, which computers
    understand.
  • Programming languages fall into three broad
    categories

  • Machine languages
  • Assembly languages
  • Higher-level languages

6
The Evolution of Programming Languages - Machine
Languages
  • Machine languages (first-generation languages)
    are the most basic type of computer languages,
    consisting of strings of numbers the computer's
    hardware can use.
  • Different types of hardware use different machine
    code. For example, IBM computers use different
    machine language than Apple computers.

7
The Evolution of Programming Languages - Assembly
Languages
  • Assembly languages (second-generation languages)
    are only somewhat easier to work with than
    machine languages.
  • To create programs in assembly language,
    developers use cryptic English-like phrases to
    represent strings of numbers.
  • The code is then translated into object code,
    using a translator called an assembler.


8
(No Transcript)
9
The Evolution of Programming Languages -
Higher-Level Languages
  • Higher-level languages are more powerful than
    assembly language and allow the programmer to
    work in a more English-like environment.
  • Higher-level programming languages are divided
    into three "generations," each more powerful than
    the last
  • Third-generation languages
  • Fourth-generation languages
  • Fifth-generation languages

10
Higher-Level Languages - Third-Generation
Languages
  • Third-generation languages (3GLs) are the first
    to use true English-like phrasing, making them
    easier to use than previous languages.
  • 3GLs are portable, meaning the object code
    created for one type of system can be translated
    for use on a different type of system.
  • The following languages are 3GLs



FORTRAN C COBOL C BASIC Java Pascal Acti
veX
11
A Typical C Program Development Environment
  • 1. Edit
  • 2. Preprocess
  • 3. Compile
  • 4. Link
  • 5. Load
  • 6. Execute

12
Higher-Level Languages - Fourth-Generation
Languages
  • Fourth-generation languages (4GLs) are even
    easier to use than 3GLs.
  • 4GLs may use a text-based environment (like a
    3GL) or may allow the programmer to work in a
    visual environment, using graphical tools.
  • The following languages are 4GLs


Visual Basic (VB) VisualAge Authoring
environments
13
Higher-Level Languages - Fifth-Generation
Languages
  • Fifth-generation languages (5GLs) are an issue of
    debate in the programming community some
    programmers cannot agree that they even exist.
  • These high-level languages would use artificial
    intelligence to create software, making 5GLs
    extremely difficult to develop.
  • Solve problems using constraints rather than
    algorithms, used in Artificial Intelligence

14
Summary
15
Hardware Description Language
  • HDL

16
HDL
  • What and why HDL??

17
Hardware Description Language
  • Basic idea is a programming language to describe
    hardware
  • Initial purpose was to allow abstract design and
    simulation
  • Design could be verified then implemented in
    hardware
  • Now Synthesis tools allow direct implementation
    from HDL code.
  • Large improvement in designer productivity

18
HDL
  • HDL allows write-run-debug cycle for hardware
    development.
  • Similar to programming software
  • Much, much faster than design-implement-debug
  • Combined with modern Field Programmable Gate
    Array chips large complex circuits (gt100000s of
    gates) can be implemented.

19
HDLs
  • There are many different HDLs
  • Verilog HDL
  • ABEL
  • VHDL
  • VHDL is the most common
  • Large standard developed by US DoD
  • VHDL VHSIC HDL
  • VHSIC Very High Speed Integrated Circuit
  • Verilog HDL is second most common
  • Easier to use in many ways better for teaching
  • C - like syntax

20
Verilog HDL
  • Verilog constructs are use defined keywords
  • Examples and, or, wire, input output
  • One important construct is the module
  • Modules have inputs and outputs
  • Modules can be built up of Verilog primatives or
    of user defined submodules.

21
Example Simple Circuit HDL
module smpl_circuit(A,B,C,x,y) input A,B,C
output x,y wire e and g1(e,A,B) not
g2(y, C) or g3(x,e,y) endmodule
22
HDL Summary
  • Hardware Description Languages allow fast design
    and verification of digital circuits.
  • Accurate simulation and testing requires delays
    and inputs to be specified.
  • There are three different levels of abstraction
    for modelling circuits.

23
System Design Language
  • Hardware and Software
  • Co-design

24
What is Codesign?
25
Why Codesign (1) ?
26
Why Codesign (2) ?
27
Traditional Design Flow
27
28
HW/SW Codesign Flow
  • Concurrent design between hardware and software
    using
  • Co-simulation
  • Co-synthesis

28
29
Codesign Language
  • Hardware Description Language (HDL)
  • Software Description Language (SDL)
  • People know C, so how about languages built on
    C/C?
  • SystemC
  • SpecC
  • Handel-C

Has no tool support. Only useful for influencing
other languages.
Lacks CAD tool support
Proprietary Not universally available
30
SystemC History
VSIA SLD Data Types Spec (draft)
Synopsys ATG
Synopsys Fridge
31
SystemC Highlights
  • Features as a codesign language
  • Modules
  • Processes
  • Ports
  • Signals
  • Rich set of port and signal types
  • Rich set of data types
  • Clocks
  • Cycle-based simulation
  • Multiple abstraction levels
  • Communication protocols
  • Debugging support
  • Waveform tracing

32
Current System Design Methodology
C/C System Level Model
  • Problems
  • Errors in manual conversion from C to HDL
  • Disconnect between system model and HDL model
  • Multiple system tests

33
SummaryQuestions
  • Software/Hardware/System
  • Design Languages
Write a Comment
User Comments (0)
About PowerShow.com