Maximum #39
05 мая 1997
  Amiga  

Proamizhny delirium-2 - Amiga 1200.

<b>Proamizhny delirium-2</b> - Amiga 1200.
           PROAMIZHNY delirium. PART 2-I


 (C) Odessoft

     Amiga

     05/05/1997 08:25:31


   Hi ALL!


   A small addition to the information Falcona on Amiga. In 
fact, (From my point of view) Every self-respecting user, 
hacker, etc. should at least briefly to understand the various 
platforms (PC, MAC, AMIGA, etc.)


-------------------------------------------------- -------------
              AMIGA 1200:

-------------------------------------------------- -------------
1. Description of the Amiga 1200



1.1. Sistemnye komponenty and interfeysy Amiga 1200


1.1.1. System components, the Amiga 1200 are:

 1) Microprocessor Motorola 68EC020;
 2) 2 8520 chip;
 3) 3 so-called Custom chips: Alice, Lisa, Paula;
 4) 2 ASIC-chip: Gayle and Budgie.
 5) The keyboard processor Motorola 68HC05C MPU


   If you do not take into account the memory and logic 
components, then these 9 above chips are entirely responsible 
for all the work the Amiga 1200: 


1.1.2. Interfaces Amiga 1200


  1: Parallel Bi-directional (Bi-directional) interface.

  2: Serial RS-233C interface (speed / receive transfer
     numbers up to 115 Kbps).

  3: Stereo audio output (it should be noted that when 
connecting 

     only one stereo channel, the other automatically podmeshi
     is called to it, forming a single channel).

  4: Connector for analog RGB-monitor (SVGA and Mu
     ltisync included) and monitors with TTL inputs.

  5: The yield on the composite monitor.

  6: Output RF-Modulator PAL / NTSC to connect to your TV.

  7: Connector for an external drive HD or DD (Shu
     gart-bus compatible).

  8: Two connectors for the mouse-type PC-BUS, joystick and

     etc.

  9: PCMCIA-2 - slot.
 10: The so-called TrapDoor-slot (slot configuration)
 11: Internal IDE - raz'em.
 12: Internal raz'em to connect the keyboard.


1.2.2. CPU
 --------------------------


   Architecture 32-bit microprocessor MC68020 is a modernized 
version of a family of microprocessors 32/16-bitnyh MC68000: It 
retained full compatibility of native code, 68,020 but provides 
more addressing modes, a small internal cache memory and 
supports external control device memory (Memory Management unit 
- or MMU). 


   In contrast to the 68,000 to 68,020 built a small cache and
conveyor system, which increases the speed of execution of 
programs and the register set includes several additional 
registers to support multi-tasking system. 


   Registers similar to registers 68020 68000, but the former 
allows carry out not only operations on bits, BCD

numbers, byte, word (16 bits), long words (32 bits)
but also on the quad words (64 bits).


   Eight data registers operate as 68,020 batteries
and seven address registers are involved for the base and index 
addressing. Active at any time is one of the three stack 
pointer, which is selected by setting bits in the status 
register. In the 68,020 saved in two modes - supervisor / user. 


   If, for example, CPU runs in supervisor mode, which is 
determined by setting the corresponding bit in the status 
register, and interrupt occurs, the main stack is automatically 
saved to the contents of the program counter, status register 
and the displacement vector of a special occasion. 


   Vector base register is used for placement of tables
vectors in special cases a capacity of 1 KB in any area of 
​​memory. Two register cache are used to manage cache

commands, such as its resolution or cleaning. Itself cache 
consists of 64 elements of length 64 bits each, which include 
the 32bit field tag. 


   The processor has an extensive set of addressing modes, 
including register-indirect addressing with indexing and 
scaling, as well as indirect addressing memory with pre-and 
postindeksirovaniem. Like its predecessors, with 68,020 missing 
the I / O, so they appear in the memory. 


   In the Amiga 1200 standard configuration used 68EC020 
microprocessor with a clock frequency of 14 MHz, which has a 
24-bit address bus and 32-bit data bus (ie address, only up to 
16 MB). This address space is called the address space of the 
Amiga Zorro-2: But accelerators based on more powerful 
processors, 68030, and above already allow to organize the 
address space to 4 GB (Amiga, this is called the address space 
of Zorro-3). 


   On the advantages and disadvantages of the Motorola family 
of processors 68K written entire books, so here they will not 
discuss, However, I note that eight 32-bit general purpose 
registers (excluding address), the linear addressing, the 
diversity of its methods, and teams can get much more fast, 
compact and efficient code than the family of processors Intel 
x86. 


1.2.3. Memory:
 --------------------------

   Standard in the A1200 put 2 megabytes Chip-Memory on the 
motherboard, organized as 256K x 32 bit. 


   Memory in the Amiga can be of several types, for example, 
Chip, Fast, Slow etc. All of these memory types include patches 
(possibly with gaps) to the shared address space, and more the 
initial system startup are determined and its location and 
priority of use (marks autoconfiguration procedure - AUTOCONFIG 
(TM)). Priority determines the order of selection chunks of the 
operating system AmigaOS (it was she who knows memory 
allocation, and allocates the right to request its number): 
first a selection of buckets with the highest priority of use, 
followed by their exhaustion comes the turn of others. You can 
allocate memory as any, and specialized (eg, Chip, or Fast). 
Actually, we consider more in detail the types of memory and 
how they interact with components of the Amiga. 

1.2.3.1. Chip-memory.


   This - the main memory Amiga. It is the work of most channel 
DMA (video, audio, blittera, copper-coprocessor disk, sprites), 
ability to work and CPU (Priority access is regulated), but in 
this case is hardware shutdown cache. That's Chip-memory is 
placed on motherboards A1200 initially. Size and its 
organization will be listed below. 

1.2.3.2. Fast-memory.


   It's available for the CPU and DMA channels
Zorro-3: in principle, the central processor owns it 
completely, no one in that it does not interfere. 

1.2.3.3. Slow-memory.


   This memory may occur, for example, adding PCMCIAkartochki 
memory. Access to it, too, will have a CPU, but when you work 
with it off the cache, and its very performance very small.


1.2.3.4. Virtual-memory.


   Organized by the presence of a special device in the CPU 
memory management - MMU. Memory can be in the form of a file 
either on a dedicated part of the hard disk. It can be either 
fixed size or dynamically increase / decrease depending on 
demand programs. 

1.2.3.5. Other (other)-memory.


   It is this concept combines and Fast and Slow and virtual 
memory, since the division of memory on the Fast / Slow / 
Virtual / ... hardware and operating system value have only a 
priority, but the types of memory Other / Chip. 


1.2.4. Amiga work with memory.


   Standard A1200 comes with 2 MB of Chip-RAM. In fact,
good about that a little: not only is the cache of the 
processor is blocked, but the CPU has access to it by default 
with a lower priority than spetschipy. What a result get? The 
machine actually starts to "slow down" for the poor processor 
only, and does what is in queue for access rather than 
execution of commands. And what is going on with the car 
Fast-memory? Finally, the processor dayutrazognatsya in full 
force, and he almost nobody prevents: special processor 
operations in Chip-memory does not inhibit the CPU, and he 
engaged in fulfillment of the basic logic of programs is 
especially important with Given the fact that the operating 
system used on the Amiga "Preemptivny" (preemptive) or 
displacing the type of multitasking. In this case, the speed of 
the CPU tests purely by increases in two times, and in fact the 
real performance, based on multi-tasking operating system 
AmigaOS grows even more.



1.3. Fundamentals of multitasking Amiga.


   Multitasking (or multitasking) operating system is the 
ability to perform multiple tasks at one and the same time. If 
your computer has multiple processors, the problem may be 
executed in parallel, otherwise - psevdoparallelno, dividing 
among themselves the resources of one processor. Multi-tasking 
system users enjoy the Amiga for the past 10 years, while on 
other platforms yet debate: Is multitasking a useful feature

operating system.


   You are probably already familiar with multitasking, but we 
would like will explain some features of its implementation on 
computers Amiga, because it largely determines their 
opportunities. 


1.3.1. Multi-tasking on the Amiga.


   Kind of multitasking at the Amiga called preemptive 
(preemptive) prioritized "carousel." Each task has a priority 
assigned to it. The task which has the highest priority and is 
ready for implementation, will be executed. The task can be in 
one of three major states: dormant (sleeping), ready to run 
(ready), or a running (running). 

 * Finished problem at present does not use central

   processor, but expects it. Part of AmigaOS, called

   "Exec", engaged in work with problems. It keeps a sorted

   list of tasks that are ready to run. References

   sorted according to the priority of the problem, so Exec can

   easily find a ready task with highest priority.

 * Dormant task is not executed at the present time and awaits

   some event to start its work. When this event

   occurs, Exec moves inactive task list

   ready tasks.

 * Execute tasks in currently uses a central

   processor. It will be the current task until about
   izoydet one of the following three events:



 *** The problem, which has a higher priority becomes ready,

     so that Exec replaces the current task and switches to a 
more      more high on the priority of the task.


 *** Currently executing task must wait for events
     Tia, so that before she began to act and Exec switch
     is obtained to the highest on the priority of a task list 
ready      curves for execution.


 *** Currently executing task owned by the central

     processor within a certain period of time
     Meaney, called quanta, and there is another problem of 
equal 

     priority, ready to run. In this case, Exec displace
     preserves the current task and switches to the next ready

     task in the list having the same priority. This process
     process known as time-slicing or "Carousel." When

     there is a group of tasks of equal priority with respect 
to the vertices      Ny list of ready tasks, Exec will take 
place cyclically 

     them, allowing each task to use the central processes
     litter during the time slice.


   The principle of preemptive prioritized "Carousel" is based 
on these three positions. 


1.3.2. The priority principle of multi-tasking
        and cooperative multitasking.


   Priority multitasking operating system tools can be a task 
force to give the CPU to another task. Some operating systems 
have a co-operative multitasking, mainly because they are - old 
and their developers did not see a particular need for better 
multi-tasking when he developed the operating system. An 
example of such an OS can serve as MacOS. In cooperative 
multitasking operating systems, the task can manage this 
process, in other words, to fulfill others' functions. 


1.3.2.1. Priorities.


   When you run the task in AmigaOS have certain priorities.
Most user tasks have priority -1, 0 or 1: Tasks that require 
your performance to the user tasks, such as device drivers have 
priority 5: disk partitions Disk drives and have priority 10 
and the highest priority - Usually 20, has "input.device" which 
handles all input of a mouse and keyboard.



   Priority range in AmigaOS is located in the interval from
-128 To 127: Negative priorities are typically used to
tasks that require the most CPU time
they may receive, for its execution, such as rendering 
programs. As a general rule, you should not raise priority of 
any task higher than the normal 3. 


1.3.3. Different kinds of problems.


   Tasks can be divided into two categories:


   * Problems related to the exchange of information 
(transput-bound 

     tasks)

   * Problems associated with computations (compute-bound tasks)


   Transput-related tasks are spending the most time waiting 
for some event to start the run. Transput-related tasks can be 
interactive or noninteractive. An example of an interactive 
exchange of related problems - a text editor, he spends most 
time to inaction, waiting for the next keystroke. Device 
drivers - non-interactive tasks associated with the exchange. 


   Compute-related problems use so much CPU time as they can 
get. Compute-related problem can also be interactive. An 
example is a program that allows you to rotate 
three-dimensional object on the screen with the mouse. Most 
problems associated with calculations non-interactive, like the 
program to render images or compiler.



   The operating system AmigaOS tasks associated with the 
calculations of the process name (process), and the problems 
associated with the exchange of information - "tasks" (tasks). 


             Planning.


   The purpose of planning sostoit to provide good service to 
all the challenges that currently compete a computing resource, 
that is to execute commands. 


      Different tasks have different requirements.


   Personal computer like Amig'e usually has a non-interactive 
exchange of related tasks associated with the interactive 
sharing tasks and non-interactive tasks related to computing. 
Different kinds of tasks, it is obviously necessary to provide 
different working conditions:



  * A consistent response times - interactive-related

    exchange problems;

  * A small response time - non-interactive-related exchange
    dimensional problems;

  * Good performance - the tasks related to computing
    s.


   Interactive associated with the exchange problem requires 
immediate response to each event, otherwise the user will 
experience inconvenience. If this is not possible, a consistent 
response - better than a good average response. Response to a 
keystroke, which is always about 2 seconds - better than the 
answer which is an average of about 1 second, but sometimes 
takes 10 seconds or just 0:5. 


   Non-interactive exchange of related tasks require fast
response to an event, because otherwise they would be too 
delayed. For example, consider the task that computes for 1 
milliseconds, and must then wait 20 milliseconds to events 
start again performed. Let this be a repeat of 1000. The result 
is that the problem will require a second computation, and 20 
seconds of waiting and the total elapsed time will be 21 
seconds. But if the task is delayed for half a second each time 
it becomes ready, it will be executed is already 521 per 
second. Small average delay would be preferable, even if some 
delays will be longer. Average Delay for 1 millisecond would 
allow the problem to end after only 22 seconds. 


   Compute-related tasks require a large amount of time
CPU, and overhead must
be minimal, that is, should minimize the number of switches 
from task to task 


   Context switch in AmigaOS is faster than
than in the more "cool" operating systems. May be publicly 
released Some context switching speed of problems for different

operating systems / computers:


    26 microseconds 25MHz Amiga 4000/040, AmigaOS 3:1

   106 microseconds 66MHz Snake, HP-UX 9: x

   128 microseconds 40MHz Viking, SunOS 4:1:3

   150 microseconds 25MHz Amiga 2000/030, AmigaOS 2:1

   210 microseconds 33MHz PC AT 486, UNIX 386BSD 0:1

   212 microseconds 50MHz RIOS, AIX 3:2


           How to distinguish different kinds of problems?


   To decide how he planned, the planner should first
distinguish the category, which owns a particular task. This
can be very difficult, because he can drift from
one category to another during its execution.


   For example, a text editor - usually related to interactive
with the exchange problem, but when the user starts the search 
and replace function, it can become an interactive task-related 
calculations. When the editor saves the text to disk, it 
becomes a non-interactive exchange of related task. This means 
that the scheduler should adapt to different Situations in the 
process of running tasks. The best planner will be the one who 
can predict the future. 


   In constructing the scheduler common approach is to 
prioritize each task and then change them in the process of its 
execution. The most simple case - the scheduler, which reduces 
the priorities, where the priority of a task decreases 
continuously During the usage of CPU time, and the scheduler 
performs first task with the highest priority. Operating 
system, called "Multics" use this type of planner and as a 
result has been found its main drawback: the heavily loaded 
system with a large number of short tasks priority to the long 
task may be reduced to such an point where it is available, or 
very little, or no CPU time.



   To avoid the problem of chronically low priority, their
need to raise some way. There are two main choices among 
methodologies for improving: 


   - Based on raising event, and

   - The aging of CPU utilization.


   Based on the event is used to increase the deliberate 
selection of interactive response on the tasks associated with 
calculations, because the priority of the problem raised by 
finding events such as keystrokes. This methodology assumes 
that the problems are, or clearly associated with the 
calculations, or clearly interactive (coupled with the 
exchange), and for which interactive tasks - are more 
important. Problem whose interactive work consumes a large 
amount of time the processor can not work very well when using 
this methodology. Scheduler of the operating system VAX / VMS 
uses exactly this way. 


   The second methodology raise the priority - the aging of CPU 
utilization. Scheduler that uses this methodology raises 
priorities, gradually forgetting past CPU usage is usually at 
an exponential rate. As a result, the scheduler, a measure of 
CPU usage is exponentially weighted average with respect to the 
lifetime problem. Simple exponential average take is not 
desirable because in this case there is an unexpected side 
effect of lifting priorities in the case when the system load 
increases. This is because under higher load each

task uses less CPU resources, so the average use of its 
falling, which causes an increase in priority. This effect 
raised the priorities "may worsen the response system under 
heavy load, because there is no problem can not accumulate a 
sufficient amount of CPU utilization, in order to lower its 
priority. Version 4:3 BSD UNIX solves this problem by making 
the rate of aging dependent on the load average, so aging 
occurs more slowly in the presence of a higher load storing the 
priorities around the same range.



1.4. ROM:

  -------------

   It is no secret that most of the operating system AmigaOS 
sewn into the ROM. And for the flexibility provided by a number 
of special points, allowing, if necessary, replace or adjust 
both small and large parts of the operating system. Minuses of 
the ROM are clear: low mobility of the system and smaller than 
the RAM, speed of execution of code. To overcome This provides 
a complete replacement of the existing ROM appropriately in the 
FAST-memory. Plus finding the system in ROM are also clear - 
linear address space allows you to see it as part of the memory 
and access it from anywhere, save space in RAM. 

    In the Amiga 1200 use:

 - 512K Kickstart V3: 0 or V3: 1 - mask ROM, organized

   as 128K x 32 bit;
 - Also supports ROM size of 1 MB (256K x 32) and 2 MB

   (512K x 32);
 - Supported the installation FLASH ROM;


[Crumbled]


.4. * - Standard Modes AGA:
    ---------------------------

  Name Resolution Interlace Monitor
 ------------ ----------- ---------- ----------------- - 
1024x1024 A2024 need a professional. Monitor 

   640x200 NTSC HIRES

   640x400 * NTSC HIRES Laced

   320x200 NTSC LORES

   320x400 * NTSC LORES Laced

   400x150 Multisync monitor.

   800x150 Multisync monitor.

   400x300 Multisync monitor.

   400x600 * Multisync monitor.

   800x300 Multisync monitor.

   800x600 * Multisync monitor.

   640x256 PAl HIRES

   640x512 * PAL HIRES Laced

   320x256 PAl LORES

   320x512 * PAl LORES Laced

   640x240 Multiscan LORES Multisync SVGA or

   640x480 Multiscan Multisync SVGA or

  1280x200 NTSC SHRES

  1280x256 PAL SHRES

  1280x400 * NTSC SHRES Laced

  1280x512 * PAL SHRES Laced



   AA Gayle

  ---------

   Chip AA GAYLE with small changes, save the legacy
from the Amiga 600 and is working with Alice. Function AA GAYLE
very diverse, for example, he is responsible for creating 
addresses access to the IDE interface, the generation of 
signals PCMCIA, used when the ROM, CPU and other components. 


   BUDGIE

  -------

   BUDGIE chip serves as the main element of the data paths in 
the Amiga 1200: That it provides an interface between the 
32-bit bus Data of the CPU and 32-bit bus Chip-memory

generates sampling signals RAS and CAS from the time signals 
RAS and CAS, supported by Alice. It also provides a buffer

which can be used for the external bus, or as a buffer
Data Interface PCMCIA. BUDGIE also performs many other
various functions, such as CPU clocks
on the motherboard Amiga 1200.


   The internal construction of data paths in BUDGIE very 
similar to similar to the chip BRIDGETTE (this chip provides a 
buffer and bus bridge between the data path in the Amiga 4000). 
Data can be sent to / from 32-bit port of the CPU on any of the 
half 32-bit bus Chip-RAM. Data can be transferred from

the younger half of the bus Chip-memory in its upper half to 
support 16-bit modes Amigovskih chips, as well as an IDE and 
PCMCIA. 


[Crumbled]


1.8.1. PCMCIA - slot.
 -------------------

   68-pin PCMCIA-slot of the Amiga 1200 compliant
2:0 at the interface.


   To it is possible to connect:


    1) standard PCMCIA-devices, they include: modems,

       scanners, memory cards, network cards, etc.;


    2) designed specifically for the Amiga: Controllers SCSI, 
SCSI-2 

       IDE / ATA drives and ATAPI CD-ROMs, network cards,

       ISDN-card 16-bit audio and 24-bit video card, etc.


1.8.2. Expansion Slot (Trapdoor - slot):
 ---------------------------------------

   150-pin Trapdoor-slot is specifically designed to extend the 
architecture of the Amiga. It is designed to connect cards 
FAST-memory, math co-processors, real-time clock, accelerator 
(accelerator) processors 68020, 68030, 68040, 68060, by the 
summer of 1997 will have many new cards based on processors 
PowerPC, SCSI-2 controllers, DSP-processors, network cards and 
other devices. It is interesting to note that in the case 
setting accelerator, the processor on the motherboard Amiga 
hardware is disabled and she begins to serve the video 
controller and input / output devices relative to the 
accelerator. 


   The accelerator typically installed real time clock, CPU, 
FPU, memory-based 72-pin Sims its ROM and a special slot for 
further expansion architecture, for example, to connect SCSI-2 
controller and maps Full Motion Video.






Other articles:

Version - 2 versions of the game: The Hunt for Red October-1.

Entry - Spectrum in Moscow is not dead ....

Our profile - 30 questions from the editors.

Reprinted with cont. - How to break the half-line (Part 1).

Proamizhny delirium-2 - Amiga 1200.

Advertising - Advertisements and announcements ...

List BBS - A list of running BBS.

solid jokes - How to rid your apartment of mice.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Softinka - Resident System Extensions (RSX) in ZXVGS.

В этот день...   2 May