L3 1 Elementos constitutivos de un computador
Concepts and Elements of a Processor
Introduction to Computer Structure
- The lesson begins with an overview of basic concepts and elements that constitute a processor, marking the start of Topic 3 focused on computer structure.
- The discussion will include the execution process of instructions and how processors are implemented in integrated forms.
Programming at Assembly Language Level
- Three lessons will be dedicated to programming a simple educational computer called Code 2 using assembly language.
- There will be reflections on different memory levels in computers, known as memory hierarchy, followed by an analysis of internal memory components.
Levels of Conceptual Description
Understanding Different Perspectives
- The lesson explores conceptual levels for describing a computer, starting with functional schemes and processor components.
- An analogy is drawn between understanding a car from various perspectives: as a passenger (abstract view), as a driver (complex view), or as a mechanic (detailed view).
Complexity vs. Abstraction
- As one descends through these perspectives, complexity increases while abstraction decreases; knowledge at one level does not necessitate understanding lower levels.
- This layered approach simplifies the study and design of complex systems like computers.
Hierarchical Levels in Computer Study
Pyramid Structure of Complexity
- Computers are described through various conceptual levels to facilitate their study; this includes electronic devices at the base and users at the top.
- The pyramid structure consists of several layers: electronic devices, digital logic, micro-machines, conventional machines, operational machines, symbolic machines, culminating with end-users.
Electronic Devices Level
- At the lowest level are electronic circuits made up of transistors, capacitors, and resistors where information is represented by electrical values such as voltages or currents.
Digital Logic Level
Basic Operations Representation
- The next level involves digital logic where basic operations are performed using logical gates that manipulate binary data (0's and 1's).
Circuit Implementation
- Logical gates can store and transmit data abstractly without concern for physical representations like voltage or current states.
Micro-Machine Level
Components Overview
Understanding Computer Architecture
Components of Digital Logic
- The discussion begins with the components provided for digital logic, which are essential for building systems at this level. Most circuits today are constructed as integrated circuits.
- The next level is the conventional machine level, which includes machine language and assembly language. Machine language is the only language understood by the computer processor.
Machine Language and Assembly Language
- Machine architecture is defined by the specifications of machine language instructions. Assembly language serves a similar purpose but uses different terminology to describe modules or primitives.
- An example program in machine language illustrates binary instructions, simplified into decimal notation alongside corresponding assembly code.
Operating System Level
- Above conventional machines lies the operational machine level, also known as the operating system level, acting as an interface between hardware and software.
- This layer enhances user interaction with hardware through commands from operating systems like Microsoft Windows 61, which can be invoked directly by users or applications.
Symbolic Machine Level
- The symbolic machine level is where application programmers and users operate. It consists mainly of application programs that abstract lower-level details from users.
- For instance, Excel allows users to perform calculations without needing knowledge of lower levels such as machine language or digital logic.
Complexity vs Abstraction in Computer Levels
- As one moves from higher to lower levels in computer architecture, complexity increases while abstraction grows when moving from electronic devices to symbolic machines.
- Lower levels (digital logic and micro-machine) correspond to hardware components; higher levels (machine language and symbolic machines) relate to software aspects.
Course Structure Overview
- The course will explore computers within micro-machine and conventional machine levels initially before analyzing operational machines in later topics.
- Subsequent topics will focus on programming languages and databases primarily related to symbolic machines.
Functional Units of a Computer
- A computer is structured into functional units starting with the central processing unit (CPU), which includes arithmetic/logic units and control units managing overall operations.
- Internal memory and peripherals consist of input/output devices along with memory storage; these elements form basic modules facilitated by digital logic at the micro-machine level.
Basic Elements of a Computer System
Understanding Stable Bits and Registers in Digital Logic
Concept of Stable Bits
- A stable bit is a memory element that cannot be represented by an uppercase letter, such as Z. It stores only one piece of information, typically a binary value (0 or 1), and is visually represented by a square with an input, output, and control signal.
- When the stable bit (Z) holds a value of 0 at its output while receiving a 1 at its input, the output remains unchanged until the control signal activates to store the new input.
Functionality of Registers
- The state of the stable bit can be symbolized as Z storing a value. If the input changes (e.g., from 0 to 1), it does not affect the stored value until the control signal is activated again.
- A register serves as temporary memory for data storage. Registers are commonly sized at 8, 16, 32, 64, or even up to 128 bits and consist of multiple stable bits connected in parallel with a common control signal.
- An example illustrates how data from one register (RM) can be loaded into another register (R7). This process involves connecting outputs from RM to inputs on R7.
Operation of Registers
- The values stored within registers can include binary sequences like "10100101". The output reflects these stored values unless altered by an active control signal.
- Upon activation of the clock signal, current input values are memorized and reflected in the register's output. Registers are often depicted as rectangles showing their inputs, outputs, and control signals.
Counters in Digital Circuits
- A counter circuit produces a repetitive sequence of values when controlled by an external signal. These counters change their output based on predetermined sequences upon activation.
- For instance, an ascending binary counter counts through values like "0" to "255" before resetting back to "0", demonstrating how counting operates in binary format.
Incrementing Counter Values
- When incrementing a program counter (PC), it is expressed mathematically as PC = PC + 1. This indicates that the current count increases by one unit each time it's activated.
- In visual representations, two control signals indicate whether to load new data into the counter or advance its count by one unit when activated.
Arithmetic Logic Unit (ALU)
- The ALU performs operations using two inputs: Data A and Data B. Its result appears at its output after processing these inputs based on specific operational commands received via control signals.
- Control signals dictate which operation occurs; for example, if set to '001', it may trigger addition between Data A and Data B with results displayed accordingly.
Input/Output Ports
- Input ports serve as registers that hold incoming data from peripherals like keyboards or mice. Each port has an associated address for identification purposes during data transfer processes.
Memory Architecture and Data Buses
Internal Memory Structure
- The internal memory, also known as central or main memory, is symbolized by an uppercase 'M'. It is organized into information words, with each row representing a memory word composed of 16 bits.
- Access to each memory word is facilitated through its address. An input data bus must have connections equal to the number of bits in the word; for 16-bit words, this results in a 16-line data bus.
Data and Address Buses
- The output data bus must match the bit count of each memory word. Additionally, an address bus contains 'm' bits that determine the total capacity of the memory in terms of words (2^m).
- Control signals dictate when to read or write from/to memory. Writing involves transferring content from the input bus to a specified address in memory.
Reading and Writing Mechanisms
- Reading from memory transfers content from a specified position indicated by the address bus to the output data bus. For example, if position 9 contains a value, it will appear on the output data bus.
Bus Interconnection
- A bus consists of pathways (cables/conductors) that transfer information in parallel. They can be represented visually as multiple lines or bars.
- Buses serve as interconnection paths between units and can transport addresses, data, or control signals. There are serial buses (single line) and parallel buses (multiple lines).
Physical Configuration of Buses
- In printed circuits, buses are made up of conductive tracks on insulating material. Various configurations exist for these buses within computer systems.
- All computer units typically connect via a system bus comprising three types: address buses (for positions), data buses (for actual data/instructions), and control buses (for control signals).
Processor Interaction with Memory
- The processor sends addresses to the address bus which are captured by either central memory or I/O ports for transferring instructions/data.
- Data traffic between processor, memory, and peripherals occurs over the data bus while control signals travel through the control bus.
Circuit Integration
- Integrated circuits have more pins for electrical connections than standard components; these pins correspond to lines on various buses.
- Microprocessors are installed into sockets soldered onto circuit boards using pressure methods for connectivity with other system elements.
Overview of Processor Elements
- Future lessons will cover how instructions execute sequentially within processors. A basic processor schematic includes essential components like registers.
Register Functionality
Understanding the Components of a Computer System
Temporal Register and Logical Unit Operations
- The temporal register operates with data from the bank of registers, storing results from logical unit operations.
- Stable indicators, known as flags, signal various conditions: carry (set to 1 if there's a carry), sign (set to 1 for negative results), and zero (set to 1 if the result is zero).
- An overflow flag indicates when an operation results in an overflow; additionally, a parity flag may be included to indicate even or odd bit counts.
Registers and Data Exchange
- The address register provides memory or I/O port addresses for processor access.
- The data register facilitates data exchange between the processor and memory or peripherals by holding data before it is sent out through output pins.
- All input/output data exchanges occur via the data register, ensuring efficient communication with external devices.
Control Unit Elements
- The control logic generates control signals that monitor computer operations, directing both internal components and external memory/I/O functions.
- A clock generates synchronization pulses for all elementary operations within the computer; its frequency influences processor speed.
- The instruction register holds currently executing instructions while a program counter tracks the next instruction's memory address.
Stack Management
- The stack pointer manages calls and returns from subroutines by maintaining a specific memory address.
Summary of Key Concepts