Organização de Computadores - Aula 04 - Programa armazenado e organizações

Organização de Computadores - Aula 04 - Programa armazenado e organizações

New Section

The discussion delves into the concept of stored programs in computers, tracing back to the early days when programming involved physical connections rather than stored instructions.

Evolution of Computer Programming

  • Initially, programming involved physically connecting wires and relays on machines like ENIAC.
  • Mathematician John von Neumann proposed the concept of stored programs, allowing instructions to be stored in memory alongside data.
  • This idea was also concurrently considered by Alan Turing, emphasizing principles for designing computers and storing programs efficiently.

Exploring Program Organization Principles

The conversation shifts towards fundamental principles governing computer program organization, crucial for efficient processing and execution.

Principles of Program Organization

  • Four key principles were established: simplicity in operations, uniformity in memory access, sequential processing by a central unit, and uniqueness of memory storage.
  • Central to these principles is the role of a control unit within processors that manages instruction sequencing and data retrieval from memory.

Fundamental Elements of Modern Computers

The focus transitions to essential components found in contemporary computers based on the Von Neumann architecture model.

Components of Modern Computers

  • Modern computers consist of memory units, input/output devices, and a processor divided into control and arithmetic logic units.
  • The processor's control unit retrieves instructions from memory for execution while the arithmetic logic unit performs calculations using an accumulator.

Interpreting Stored Programs

Delving into how interpreters manage stored programs within computers through continuous loops or state machine structures.

Interpreting Programs

New Section

In this section, the speaker discusses the process of fetching and executing instructions in a computer system.

Fetching and Decoding Instructions

  • The processor's control unit accesses memory to fetch the next instruction to be executed.
  • After fetching the instruction, decoding it is essential to determine the operands for execution.

Execution Process

  • Calculating addresses and retrieving operands are crucial steps in executing instructions.
  • Results of operations are stored in an accumulator in the Von Neumann architecture.

New Section

This part delves into the continuous loop of fetching, executing, and storing results in computer programs.

Program Execution Cycle

  • The program execution involves fetching instructions, performing necessary steps for execution, and returning to fetch subsequent instructions.

Stored Program Concept

  • The stored program concept defines how computers interact with memory, input/output devices, control units, and data flow.

New Section

Contrasting Von Neumann architecture with Harvard architecture is discussed here.

Harvard Architecture Features

  • Harvard architecture introduces separate memories for instructions and data compared to Von Neumann's single shared memory model.

Memory Organization Differences

  • In Harvard architecture, distinct memories accessed by separate buses prevent memory access bottlenecks present in Von Neumann systems.

New Section

Evolution from Von Neumann and Harvard architectures to modern computer systems is explored.

Modern Computer Architectures

  • Embedded devices often use Harvard architecture for specific tasks like digital signal processing due to its efficiency.

Processor Design Evolution

  • Contemporary processors blend aspects of both architectures to optimize performance while addressing historical limitations like memory access bottlenecks.

Detailed Overview of Processor Models

In this section, the speaker discusses different processor models, including stack-based, accumulator-based, memory-memory organization, register-memory organization, and register-register organization.

Stack-Based Model

  • The stack model involves operations like addition, subtraction, and shifting performed by a logical unit associated with the top elements of the stack.
  • Operations in this model require specific instructions to bring elements from memory to the stack for processing.

Accumulator-Based Model

  • In the accumulator model, one element comes from a special register called an accumulator while the other comes directly from memory.
  • The result produced by the logical unit is stored back in the accumulator register.

Memory-Memory Organization

  • This model considers operands directly from memory addresses without any intermediate elements between memory and the logical unit.
  • Offers flexibility in selecting operands but has slower memory access compared to registers.

Register-Memory Organization

  • Involves transferring elements from memory to registers before selecting two registers as inputs for arithmetic operations and storing results in a third register.
  • Provides flexibility without delays caused by memory access for each operation.

Register-Register Organization

  • Requires bringing two operands into registers before performing arithmetic operations and storing results back in memory.
  • Despite variable instruction counts, performance depends on cycle time rather than instruction count alone due to varying cycle times across organizations.
Video description

Curso de Engenharia de Computação Disciplina EIC-001 - Organização de Computadores Univesp - Universidade Virtual do Estado de São Paulo Professora responsável: Cíntia Borges Margi