Maximum #39
05 мая 1997 |
|
Proamizhny delirium-2 - 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:
Similar articles:
В этот день... 21 November