A Tip A Day [:: ATAD ::]

a fortune, two cents a day

Posts Tagged ‘computing

ATAD #17 – I/O interface

leave a comment »

Communication between the processor and other devices are enabled by an I/O interface, and the Front Side Bus (FSB) is the data transfer bus that carries information between the CPU and the Northbridge (memory controller hub) of the Motherboard.

The I/O interface must have atleast the following features

  1. Have necessary logic to interpret the device address generated by the processor.
  2. Handshaking should be implemented by the interface using appropriate commands like (BUSY,READY,WAIT) the processor can communicate with I/O device through the interface.
  3. If incase different data formated being exchanged; interface must be able to convert serial data to parallel form and vice-versa.
  4. There must be provision for generating interrupts and the corresponding type numbers for further processing by the processor if required

Further Reading: FSB, Direct Memory Access, Memory Mapped IO, Port Mapped IO

__tipped__

Written by veed

August 14, 2008 at 8:13 pm

Posted in ATAD, computing, tech

Tagged with ,

ATAD #14 – The computer architecture

leave a comment »

The conceptual computer architecture can be represented with five abstraction layers with each encompassing a particular set of functionality.

  1. Operating System (OS) and Applications
    – the software component of the computer
  2. Kernel
    – the core component of the OS that manages the system resources and is the lowest abstraction layer for programs
  3. Assember
    – converts high level language statements into machine instructions and data
  4. Firmware
    – a computer program embedded in the hardware that works specifically with that hardware
  5. Hardware
    – the physical components of the computer

This wiki article lists that Computer architecture comprises at least three main subcategories:

  • Instruction set architecture, or ISA, is the abstract image of a computing system that is seen by a machine language (or assembly language) programmer, including the instruction set, memory address modes, processor registers, and address and data formats.
  • Microarchitecture, also known as Computer organization is a lower level, more concrete and detailed, description of the system that involves how the constituent parts of the system are interconnected and how they interoperate in order to implement the ISA.[2] The size of a computer’s cache for instance, is an organizational issue that generally has nothing to do with the ISA.
  • System Design which includes all of the other hardware components within a computing system such as:
    1. system interconnects such as computer buses and switches
    2. memory controllers and hierarchies
    3. CPU off-load mechanisms such as direct memory access
    4. Issues like multi-processing.

We build hardware to make it work for us, and the essence of getting things done is to issue instructions in a language as a medium of communication. Instructions can be written in programming languages that broadly are classified in three categories, high level, assembly and machine language.

High level languages are english like, abstract and more portable across different computers. As we move from high-level languages to lower levels, the code gets harder to read and understand. Machine language that is specific to a CPU and also called native code, is a system of instructions and data directly executed by the CPU. Assembly language is a symbolic representation (using mnemonics defined by the hardware manufacturer, instructions and operands) of the numerical machine codes. The assembler is a utility used to translate machine language into the target computers’ machine code.

__tipped__

Written by veed

August 10, 2008 at 6:50 pm

Posted in ATAD, computing, tech

Tagged with , ,