Table of Contents
CS501 HANDOUTS PDF
CS501: Advance Computer Architecture (PDF)
The module aims to provide students with a basic knowledge of computer hardware and computer programs, with an emphasis on system design and functionality. CS501 HANDOUTS
Course Category: Computer Science/Information Technology
Distinction between Computer Architecture, Organization and design, Levels of abstraction in digital design, Perspectives of different people about computers, General operation of a stored-program digital computer, The Fetch – Execute process, Concept of an ISA, A taxonomy of computers and their instructions, Instruction set features, Addressing Modes, RISC and CISC architectures, Measures of performance, Introduction to the ISA and instruction formats, Coding examples and Hand assembly, Using Behavioral RTL to describe the SRC, Implementing Register Transfers using Digital Logic Circuits, Introduction to the ISA of the FALCON – A, FALCON-E, EAGLE and Modified EAGLE,
The Design Process, A Uni-Bus implementation for the SRC, Structural RTL for the SRC instructions, Logic Design for the 1-Bus SRC, The Control Unit, The 2-and 3-Bus Processor Designs. The Machine Reset, Machine Exceptions, Pipelining, Microprogramming, I/O interface design, Programmed I/O Interrupt driven I/O, Direct memory access (DMA), Addition, subtraction, multiplication & division for integer unit, Floating point unit, Memory organization and design, Memory hierarchy, Cache memories, Virtual memory, cs501 handouts pdf
MUST JOIN VU STUDY GROUPS
CS501: Advance Computer Architecture Handouts
Introduction to FALSIM:
FALSIM is the name of a software program that combines the FALCON-A connector and the FALCON-A template. Works under Windows XP.
This tool downloads the FALCON-A merging file with the extension (.asmfa) and analyzes it. Displays analytics results in the error log, allows the user to view the contents of the file included in the file list, and provides features to print machine code, Instruction Table, and Symbols Table in the FALCON-A list file. It also allows the user to use FALCON-A Simulator.
The FALCON-A Assembler has two main modules, 1 and 2. The 1st-pass module captures the merge file (.asmfa) and processes file contents. Create a Token Table that accompanies the maintenance of all dynamic programs, labels and data values in the data structure at the startup level. When the 1st-pass successfully completes the Symbol Table is produced as an output, using a 2nd-pass module. The failure of 1stpass is handled by the compiler using its different hosting method.
The 2nd-pass module processes the .asmfa file in order to interpret command opcodes, and register opcodes, and constants using a token table. It then generates a list file with the extension .lstfa independent without any successful or failed pass. When successful the world produces a binary file with the extension .binfa containing the program code in the assembly file.
This tool uploads the FALCON-A binary file with the extension (.binfa) and introduces its contents to different parts of the template. Allows the user to use an application locally within a timeline or to use it, line by line. It also allows the user to view registers, I / O port values, and memory content as commands go out.
The language of the machine contains all the old commands that a computer understands and can use. These are 1 and 0 character units. Machine language is a traditional computer language. Instructions in machine language are defined as the unit of letters 1 and 0. It is a very limited computer language, and does not need any additional explanation.
A collection of all the possible mechanical language commands that a computer can understand and make is called its own set of instructions. Every processor has its own unique set of instructions. Therefore, programs written for one processor will usually not work for another processor. This is not the same as programs written in high-quality, portable languages. Compiling/machine languages are often different from the processors used in them, due to differences in computer design.
As it is extremely tedious and prone to make mistakes working with the 1 and 0s alphabet unit in writing all programs, compound language is used as a metaphorical representation using keywords such as “English” called mnemonics. Pure language is the language in which each statement produces exactly one machine command, i.e. there is a link between machine commands and statements in the assembly language.
Programs written in compound language need to be translated into machine language, and the compiler makes this translation. This process of conversion is called the integration process. The merging process can be done manually as well, but it is very tedious and tends to make mistakes. A “compiler” that works on one processor and translates a compiling language program written for another processor into a machine language of another processor is called a “cross assembler”.
In large-scale projects, different people working simultaneously can create different working modules. These modules can be ‘linked’ to create a single module that can be downloaded and used. The modularity of the systems, which is made up of the step of linking in the integration language, offers the same comfort as it does in advanced languages; namely dissolution and separation of anxiety. Once the functionality of the module has been verified as correct, it can be reused in any number of other modules. The editor can focus on other parts of the program. This is a so-called “modular” method or a “top-down” method.
Debugger or Monitor:
Assembly language programs are very long and irrational, which is why they are boring and erratic. There is also the disadvantage of not having an operating system to handle operating system errors that can often crash the system, as opposed to a high-level language system, where control is smoothly restored to the operating system. In addition to operating time errors (such as zero separation), there are syntax or logical errors. Debugger, also called a “monitor”, is a computer program used to help detect these errors in the system.